12 #ifndef K_API_ATOMIC_H
13 #define K_API_ATOMIC_H
110 #define kAtomic_Increment32s_(ATM) kxAtomic_Increment32s_(ATM)
111 #define kAtomic_Decrement32s_(ATM) kxAtomic_Decrement32s_(ATM)
112 #define kAtomic_Exchange32s_(ATM, VAL) kxAtomic_Exchange32s_(ATM, VAL)
113 #define kAtomic_CompareExchange32s_(ATM, OLD, VAL) kxAtomic_CompareExchange32s_(ATM, OLD, VAL)
114 #define kAtomic_Get32s_(ATM) kxAtomic_Get32s_(ATM)
115 #define kAtomic_ExchangePointer_(ATM, VAL) kxAtomic_ExchangePointer_(ATM, VAL)
116 #define kAtomic_CompareExchangePointer_(ATM, OLD, VAL) kxAtomic_CompareExchangePointer_(ATM, OLD, VAL)
120 #include <kApi/Threads/kAtomic.x.h>
kBool kAtomic_CompareExchange32s(volatile k32s *atomic, k32s oldValue, k32s value)
Conditionally exchanges the value of an atomic variable.
Represents a void pointer.
kBool kAtomic_CompareExchangePointer(volatile kPointer *atomic, kPointer oldValue, kPointer value)
Conditionally exchanges the value of an atomic variable.
k32s kAtomic_Exchange32s(volatile k32s *atomic, k32s value)
Exchanges the value of an atomic variable.
Essential API declarations.
Represents a 32-bit signed integer.
kPointer kAtomic_ExchangePointer(volatile kPointer *atomic, kPointer value)
Exchanges the value of an atomic variable.
k32s kAtomic_Get32s(volatile k32s *atomic)
Gets the current value of an atomic variable.
Represents a boolean value.
k32s kAtomic_Decrement32s(volatile k32s *atomic)
Decrements an atomic variable.
k32s kAtomic_Increment32s(volatile k32s *atomic)
Increments an atomic variable.