Name | Synopsis | Description | Return Values | Errors | Context | Attributes | See Also
#include <sys/atomic.h> uint8_t atomic_swap_8(volatile uint8_t *target, uint8_t newval);
uchar_t atomic_swap_uchar(volatile uchar_t *target, uchar_t newval);
uint16_t atomic_swap_16(volatile uint16_t *target, uint16_t newval);
ushort_t atomic_swap_ushort(volatile ushort_t *target, ushort_t newval);
uint32_t atomic_swap_32(volatile uint32_t *target, uint32_t newval);
uint_t atomic_swap_uint(volatile uint_t *target, uint_t newval);
ulong_t atomic_swap_ulong(volatile ulong_t *target, ulong_t newval);
uint64_t atomic_swap_64(volatile uint64_t *target, uint64_t newval);
void *atomic_swap_ptr(volatile void *target, void *newval);
These functions enable a swap operation to occur atomically. The value stored in target is replaced with newval. The old value is returned by the function.
These functions return the old of *target.
No errors are defined.
These functions can be called from user, interrupt, or kernel context.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE |
ATTRIBUTE VALUE |
---|---|
Interface Stability |
Committed |
atomic_add(9F), atomic_and(9F), atomic_bits(9F), atomic_dec(9F), atomic_inc(9F), atomic_or(9F), atomic_cas(9F), membar_ops(9F), attributes(5), atomic_ops(3C)
Name | Synopsis | Description | Return Values | Errors | Context | Attributes | See Also