ATOMIC_SWAP(9F) Kernel Functions for Drivers ATOMIC_SWAP(9F)
NAME
atomic_swap, atomic_swap_8, atomic_swap_uchar, atomic_swap_16,
atomic_swap_ushort, atomic_swap_32, atomic_swap_uint,
atomic_swap_ulong, atomic_swap_64, atomic_swap_ptr - atomic swap
operations
SYNOPSIS
#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);
DESCRIPTION
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.
RETURN VALUES
These functions return the old of *
target.
ERRORS
No errors are defined.
CONTEXT
These functions can be called from user, interrupt, or kernel
context.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
SEE ALSO
atomic_ops(3C),
attributes(7),
atomic_add(9F),
atomic_and(9F),
atomic_bits(9F),
atomic_cas(9F),
atomic_dec(9F),
atomic_inc(9F),
atomic_or(9F),
membar_ops(9F) January 16, 2006 ATOMIC_SWAP(9F)