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)

tribblix@gmail.com :: GitHub :: Privacy