wut  v1.7.0
Wii U Toolchain
atomic.h
Go to the documentation of this file.
1 #pragma once
2 #include <wut.h>
3 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 BOOL
17 OSCompareAndSwapAtomic(volatile uint32_t *ptr,
18  uint32_t compare,
19  uint32_t value);
20 
21 BOOL
22 OSCompareAndSwapAtomicEx(volatile uint32_t *ptr,
23  uint32_t compare,
24  uint32_t value,
25  uint32_t *old);
26 
27 uint32_t
28 OSSwapAtomic(volatile uint32_t *ptr,
29  uint32_t value);
30 
31 int32_t
32 OSAddAtomic(volatile int32_t *ptr,
33  int32_t value);
34 
35 uint32_t
36 OSAndAtomic(volatile uint32_t *ptr,
37  uint32_t value);
38 
39 uint32_t
40 OSOrAtomic(volatile uint32_t *ptr,
41  uint32_t value);
42 
43 uint32_t
44 OSXorAtomic(volatile uint32_t *ptr,
45  uint32_t value);
46 
47 BOOL
48 OSTestAndClearAtomic(volatile uint32_t *ptr,
49  uint32_t bit);
50 
51 BOOL
52 OSTestAndSetAtomic(volatile uint32_t *ptr,
53  uint32_t bit);
54 
55 #ifdef __cplusplus
56 }
57 #endif
58 
uint32_t OSAndAtomic(volatile uint32_t *ptr, uint32_t value)
BOOL OSCompareAndSwapAtomic(volatile uint32_t *ptr, uint32_t compare, uint32_t value)
BOOL OSCompareAndSwapAtomicEx(volatile uint32_t *ptr, uint32_t compare, uint32_t value, uint32_t *old)
int32_t OSAddAtomic(volatile int32_t *ptr, int32_t value)
BOOL OSTestAndSetAtomic(volatile uint32_t *ptr, uint32_t bit)
BOOL OSTestAndClearAtomic(volatile uint32_t *ptr, uint32_t bit)
uint32_t OSSwapAtomic(volatile uint32_t *ptr, uint32_t value)
uint32_t OSOrAtomic(volatile uint32_t *ptr, uint32_t value)
uint32_t OSXorAtomic(volatile uint32_t *ptr, uint32_t value)
int32_t BOOL
Definition: wut_types.h:7