User Tools

Site Tools


solaris:atomic_and.3c

atomic_and


NAME

atomic_and, atomic_and_8, atomic_and_uchar, atomic_and_16, atomic_and_ushort, atomic_and_32, atomic_and_uint, atomic_and_ulong, atomic_and_64, atomic_and_8_nv, atomic_and_uchar_nv, atomic_and_16_nv, atomic_and_ushort_nv, atomic_and_32_nv, atomic_and_uint_nv, atomic_and_ulong_nv, atomic_and_64_nv - atomic AND operations

SYNOPSIS

#include <atomic.h>

void atomic_and_8(volatile uint8_t *target, uint8_t bits);

void atomic_and_uchar(volatile uchar_t *target, uchar_t bits);

void atomic_and_16(volatile uint16_t *target, uint16_t bits);

void atomic_and_ushort(volatile ushort_t *target, ushort_t bits);

void atomic_and_32(volatile uint32_t *target, uint32_t bits);

void atomic_and_uint(volatile uint_t *target, uint_t bits);

void atomic_and_ulong(volatile ulong_t *target, ulong_t bits);

void atomic_and_64(volatile uint64_t *target, uint64_t bits);

uint8_t atomic_and_8_nv(volatile uint8_t *target, uint8_t bits);

uchar_t atomic_and_uchar_nv(volatile uchar_t *target, uchar_t bits);

uint16_t atomic_and_16_nv(volatile uint16_t *target, uint16_t bits);

ushort_t atomic_and_ushort_nv(volatile ushort_t *target, ushort_t bits);

uint32_t atomic_and_32_nv(volatile uint32_t *target, uint32_t bits);

uint_t atomic_and_uint_nv(volatile uint_t *target, uint_t bits);

ulong_t atomic_and_ulong_nv(volatile ulong_t *target, ulong_t bits);

uint64_t atomic_and_64_nv(volatile uint64_t *target, uint64_t bits);

DESCRIPTION

These functions enable the bitwise AND of bits to the value stored in target to occur in an atomic manner.

RETURN VALUES

The *_nv() variants of these functions return the new value of target.

ERRORS

No errors are defined.

ATTRIBUTES

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

SEE ALSO

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

NOTES

The *_nv() variants are substantially more expensive on some platforms than the versions that do not return values. Do not use them unless you need to know the new value atomically.


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