wut  v1.5.0
Wii U Toolchain
Functions
Atomic Operations

These functions are used for atomically operating on 32 bit values in memory. More...

Collaboration diagram for Atomic Operations:

Functions

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)
 
uint32_t OSSwapAtomic (volatile uint32_t *ptr, uint32_t value)
 
int32_t OSAddAtomic (volatile int32_t *ptr, int32_t value)
 
uint32_t OSAndAtomic (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)
 
BOOL OSTestAndClearAtomic (volatile uint32_t *ptr, uint32_t bit)
 
BOOL OSTestAndSetAtomic (volatile uint32_t *ptr, uint32_t bit)
 

Detailed Description

These functions are used for atomically operating on 32 bit values in memory.

Function Documentation

◆ OSCompareAndSwapAtomic()

BOOL OSCompareAndSwapAtomic ( volatile uint32_t *  ptr,
uint32_t  compare,
uint32_t  value 
)

◆ OSCompareAndSwapAtomicEx()

BOOL OSCompareAndSwapAtomicEx ( volatile uint32_t *  ptr,
uint32_t  compare,
uint32_t  value,
uint32_t *  old 
)

◆ OSSwapAtomic()

uint32_t OSSwapAtomic ( volatile uint32_t *  ptr,
uint32_t  value 
)

◆ OSAddAtomic()

int32_t OSAddAtomic ( volatile int32_t *  ptr,
int32_t  value 
)

◆ OSAndAtomic()

uint32_t OSAndAtomic ( volatile uint32_t *  ptr,
uint32_t  value 
)

◆ OSOrAtomic()

uint32_t OSOrAtomic ( volatile uint32_t *  ptr,
uint32_t  value 
)

◆ OSXorAtomic()

uint32_t OSXorAtomic ( volatile uint32_t *  ptr,
uint32_t  value 
)

◆ OSTestAndClearAtomic()

BOOL OSTestAndClearAtomic ( volatile uint32_t *  ptr,
uint32_t  bit 
)

◆ OSTestAndSetAtomic()

BOOL OSTestAndSetAtomic ( volatile uint32_t *  ptr,
uint32_t  bit 
)