User Tools

Site Tools


solaris:atomic_swap.3c

atomic_swap


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 <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.

ATTRIBUTES

See attributes(7) for descriptions of the following attributes:

SEE ALSO

atomic_add(3C), atomic_and(3C), atomic_bits(3C), atomic_cas(3C), atomic_dec(3C), atomic_inc(3C), atomic_or(3C), membar_ops(3C), attributes(7), atomic_ops(9F)


solaris/atomic_swap.3c.txt · Last modified: 2023/07/19 08:58 by A User Not Logged in