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)