man.bsd.lv manual page server

Manual Page Search Parameters

ATOMIC_OR(3) Library Functions Manual ATOMIC_OR(3)

atomic_or, atomic_or_32, atomic_or_uint, atomic_or_ulong, atomic_or_64, atomic_or_32_nv, atomic_or_uint_nv, atomic_or_ulong_nv, atomic_or_64_nvatomic bitwise ‘or’ operations

#include <sys/atomic.h>

void
atomic_or_32(volatile uint32_t *ptr, uint32_t bits);

void
atomic_or_uint(volatile unsigned int *ptr, unsigned int bits);

void
atomic_or_ulong(volatile unsigned long *ptr, unsigned long bits);

void
atomic_or_64(volatile uint64_t *ptr, uint64_t bits);

uint32_t
atomic_or_32_nv(volatile uint32_t *ptr, uint32_t bits);

unsigned int
atomic_or_uint_nv(volatile unsigned int *ptr, unsigned int bits);

unsigned long
atomic_or_ulong_nv(volatile unsigned long *ptr, unsigned long bits);

uint64_t
atomic_or_64_nv(volatile uint64_t *ptr, uint64_t bits);

The atomic_or family of functions load the value of the variable referenced by ptr, perform a bitwise ‘or’ with the value bits, and store the result back to the variable referenced by ptr in an atomic fashion.

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

The 64-bit variants of these functions are available only on platforms that can support atomic 64-bit memory access. Applications can check for the availability of 64-bit atomic memory operations by testing if the pre-processor macro __HAVE_ATOMIC64_OPS is defined.

atomic_ops(3)

The atomic_or functions first appeared in NetBSD 5.0.

April 11, 2007 NetBSD-9.2