summaryrefslogtreecommitdiff
path: root/static/openbsd/man9/atomic_sub_int.9
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 14:02:27 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 14:02:27 -0400
commit6d8bdc65446a704d0750217efd05532fc641ea7d (patch)
tree8ae6d698b3c9801750a8b117b3842fb369872a3a /static/openbsd/man9/atomic_sub_int.9
parent2f467bd7ff8f8db0dafa40426166491d7f57f368 (diff)
docs: OpenBSD Man Pages Added
Diffstat (limited to 'static/openbsd/man9/atomic_sub_int.9')
-rw-r--r--static/openbsd/man9/atomic_sub_int.971
1 files changed, 71 insertions, 0 deletions
diff --git a/static/openbsd/man9/atomic_sub_int.9 b/static/openbsd/man9/atomic_sub_int.9
new file mode 100644
index 00000000..2ae116cd
--- /dev/null
+++ b/static/openbsd/man9/atomic_sub_int.9
@@ -0,0 +1,71 @@
+.\" $OpenBSD: atomic_sub_int.9,v 1.6 2014/07/23 08:07:35 guenther Exp $
+.\"
+.\" Copyright (c) 2014 David Gwynne <dlg@openbsd.org>
+.\" All rights reserved.
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.Dd $Mdocdate: July 23 2014 $
+.Dt ATOMIC_SUB_INT 9
+.Os
+.Sh NAME
+.Nm atomic_sub_int ,
+.Nm atomic_sub_int_nv ,
+.Nm atomic_sub_long ,
+.Nm atomic_sub_long_nv
+.Nd atomic subtraction operations
+.Sh SYNOPSIS
+.In sys/atomic.h
+.Ft void
+.Fn atomic_sub_int "volatile unsigned int *p" "unsigned int v"
+.Ft unsigned int
+.Fn atomic_sub_int_nv "volatile unsigned int *p" "unsigned int v"
+.Ft void
+.Fn atomic_sub_long "volatile unsigned long *p" "unsigned long v"
+.Ft unsigned long
+.Fn atomic_sub_long_nv "volatile unsigned long *p" "unsigned long v"
+.Sh 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.
+.Pp
+The value referenced by the pointer
+.Fa p
+is decremented by the value
+.Fa v .
+.Sh CONTEXT
+.Fn atomic_sub_int ,
+.Fn atomic_sub_int_nv ,
+.Fn atomic_sub_long ,
+and
+.Fn atomic_sub_long_nv
+can all be called during autoconf, from process context, or from interrupt context.
+.Sh RETURN VALUES
+.Nm atomic_sub_int
+and
+.Nm atomic_sub_long
+perform the subtraction without returning any knowledge of the value at
+.Fa p .
+.Pp
+.Nm atomic_sub_int_nv
+and
+.Nm atomic_sub_long_nv
+return the value at
+.Fa p
+after the subtraction was performed.
+.Sh SEE ALSO
+.Xr atomic_add_int 9 ,
+.Xr atomic_dec_int 9
+.Sh HISTORY
+The atomic_sub functions first appeared in
+.Ox 5.5 .