OpenBSD manual page server

Manual Page Search Parameters
ATOMIC_INC_INT(9) Kernel Developer's Manual ATOMIC_INC_INT(9)

atomic_inc_int, atomic_inc_int_nv, atomic_inc_long, atomic_inc_long_nvatomic increment operations

#include <sys/atomic.h>

void
atomic_inc_int(volatile unsigned int *p);

unsigned int
atomic_inc_int_nv(volatile unsigned int *p);

void
atomic_inc_long(volatile unsigned long *p );

unsigned long
atomic_inc_long_nv(volatile unsigned long *p);

The atomic_inc set of functions provide an interface for atomically performing increment and increment-and-fetch operations with respect to interrupts and multiple processors in the system.

The value referenced by the pointer p is incremented by 1.

atomic_inc_int(), atomic_inc_int_nv(), atomic_inc_long(), and atomic_inc_long_nv() can all be called during autoconf, from process context, or from interrupt context.

atomic_inc_int and atomic_inc_long perform the increment without returning any knowledge of the value at p.

atomic_inc_int_nv and atomic_inc_long_nv return the value at p after the increment was performed.

atomic_add_int(9), atomic_dec_int(9)

The atomic_inc functions first appeared in NetBSD 5.0 and OpenBSD 5.5.

February 13, 2014 OpenBSD-current