atomic Reference
File
lib/system/include/system/atomic.h
Date
Wednesday, June 25, 2014
Tasks
System_Atomic_Add32
int32_t System_Atomic_Add32(
int32_t amount,
volatile int32_t *value );
System_Atomic_Add64
int64_t System_Atomic_Add64(
int64_t amount,
volatile int64_t *value );
System_Atomic_And32
int32_t System_Atomic_And32(
uint32_t mask,
volatile uint32_t *value );
System_Atomic_CompareAndSwap16
bool System_Atomic_CompareAndSwap16(
int16_t oldValue,
int16_t newValue,
volatile int16_t *value );
System_Atomic_CompareAndSwap32
bool System_Atomic_CompareAndSwap32(
int32_t oldValue,
int32_t newValue,
volatile int32_t *value );
System_Atomic_CompareAndSwap64
bool System_Atomic_CompareAndSwap64(
int64_t oldValue,
int64_t newValue,
volatile int64_t *value );
System_Atomic_CompareAndSwap8
bool System_Atomic_CompareAndSwap8(
int8_t oldValue,
int8_t newValue,
volatile int8_t *value );
System_Atomic_CompareAndSwapChar
bool System_Atomic_CompareAndSwapChar(
char oldValue,
char newValue,
volatile char *value );
System_Atomic_CompareAndSwapInt
bool System_Atomic_CompareAndSwapInt(
int oldValue,
int newValue,
volatile int *value );
System_Atomic_CompareAndSwapLong
bool System_Atomic_CompareAndSwapLong(
long oldValue,
long newValue,
volatile long *value );
System_Atomic_CompareAndSwapPtr
bool System_Atomic_CompareAndSwapPtr(
void *oldValue,
void *newValue,
void *volatile * value );
System_Atomic_CompareAndSwapShort
bool System_Atomic_CompareAndSwapShort(
short oldValue,
short newValue,
volatile short *value );
System_Atomic_Decrement32
int32_t System_Atomic_Decrement32(
volatile int32_t *value );
System_Atomic_Decrement64
int64_t System_Atomic_Decrement64(
volatile int64_t *value );
System_Atomic_Increment32
int32_t System_Atomic_Increment32(
volatile int32_t *value );
System_Atomic_Increment64
int64_t System_Atomic_Increment64(
volatile int64_t *value );
System_Atomic_MemoryBarrier
void System_Atomic_MemoryBarrier(
void );
System_Atomic_Or32
int32_t System_Atomic_Or32(
uint32_t mask,
volatile uint32_t *value );
System_Atomic_SpinLockLock
void System_Atomic_SpinLockLock(
System_Atomic_SpinLock *lock );
System_Atomic_SpinLockTry
bool System_Atomic_SpinLockTry(
System_Atomic_SpinLock *lock );
System_Atomic_SpinLockUnlock
void System_Atomic_SpinLockUnlock(
System_Atomic_SpinLock *lock );
System_Atomic_TestAndClear
bool System_Atomic_TestAndClear(
uint32_t n,
volatile void *address );
System_Atomic_TestAndSet
bool System_Atomic_TestAndSet(
uint32_t n,
volatile void *address );
System_Atomic_Xor32
int32_t System_Atomic_Xor32(
uint32_t mask,
volatile uint32_t *value );
Types
System_Atomic_SpinLock
typedef int32_t System_Atomic_SpinLock;
Macros
__XEOS_LIB_SYSTEM_ATOMIC_H__
#define __XEOS_LIB_SYSTEM_ATOMIC_H__