Manual Page Result
0
Command: atomic_sub_int | Section: 9 | Source: OpenBSD | File: atomic_sub_int.9
ATOMIC_SUB_INT(9) FreeBSD Kernel Developer's Manual ATOMIC_SUB_INT(9)
NAME
atomic_sub_int, atomic_sub_int_nv, atomic_sub_long, atomic_sub_long_nv -
atomic subtraction operations
SYNOPSIS
#include <sys/atomic.h>
void
atomic_sub_int(volatile unsigned int *p, unsigned int v);
unsigned int
atomic_sub_int_nv(volatile unsigned int *p, unsigned int v);
void
atomic_sub_long(volatile unsigned long *p, unsigned long v);
unsigned long
atomic_sub_long_nv(volatile unsigned long *p, unsigned long v);
DESCRIPTION
The atomic_sub set of functions provide an interface for atomically
performing sub and sub-and-fetch operations with respect to interrupts
and multiple processors in the system.
The value referenced by the pointer p is decremented by the value v.
CONTEXT
atomic_sub_int(), atomic_sub_int_nv(), atomic_sub_long(), and
atomic_sub_long_nv() can all be called during autoconf, from process
context, or from interrupt context.
RETURN VALUES
atomic_sub_int and atomic_sub_long perform the subtraction without
returning any knowledge of the value at p.
atomic_sub_int_nv and atomic_sub_long_nv return the value at p after the
subtraction was performed.
SEE ALSO
atomic_add_int(9), atomic_dec_int(9)
HISTORY
The atomic_sub functions first appeared in OpenBSD 5.5.
FreeBSD 14.1-RELEASE-p8 July 23, 2014 FreeBSD 14.1-RELEASE-p8