summaryrefslogtreecommitdiff
path: root/static/openbsd/man9/atomic_cas_uint.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_cas_uint.9
parent2f467bd7ff8f8db0dafa40426166491d7f57f368 (diff)
docs: OpenBSD Man Pages Added
Diffstat (limited to 'static/openbsd/man9/atomic_cas_uint.9')
-rw-r--r--static/openbsd/man9/atomic_cas_uint.976
1 files changed, 76 insertions, 0 deletions
diff --git a/static/openbsd/man9/atomic_cas_uint.9 b/static/openbsd/man9/atomic_cas_uint.9
new file mode 100644
index 00000000..ab691ac3
--- /dev/null
+++ b/static/openbsd/man9/atomic_cas_uint.9
@@ -0,0 +1,76 @@
+.\" $OpenBSD: atomic_cas_uint.9,v 1.7 2019/02/06 01:35:07 dlg 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: February 6 2019 $
+.Dt ATOMIC_CAS_UINT 9
+.Os
+.Sh NAME
+.Nm atomic_cas_uint ,
+.Nm atomic_cas_ulong ,
+.Nm atomic_cas_ptr
+.Nd atomic compare-and-swap operations
+.Sh SYNOPSIS
+.In sys/atomic.h
+.Ft unsigned int
+.Fo atomic_cas_uint
+.Fa "volatile unsigned int *p"
+.Fa "unsigned int expected"
+.Fa "unsigned int new"
+.Fc
+.Ft unsigned long
+.Fo atomic_cas_ulong
+.Fa "volatile unsigned long *p"
+.Fa "unsigned long expected"
+.Fa "unsigned long new"
+.Fc
+.Ft void *
+.Fo atomic_cas_ptr
+.Fa "volatile void *p"
+.Fa "void *expected"
+.Fa "void *new"
+.Fc
+.Sh DESCRIPTION
+The atomic_cas set of functions provide an interface for atomically
+performing compare-and-swap operations with respect to interrupts
+and multiple processors in the system.
+.Pp
+The value referenced by the pointer
+.Fa p
+is compared against
+.Fa expected .
+If these values are equal then
+.Fa new
+replaces the value stored at
+.Fa p .
+.Sh CONTEXT
+.Fn atomic_cas_uint ,
+.Fn atomic_cas_ulong ,
+and
+.Fn atomic_cas_ptr
+can all be called during autoconf, from process context, or from
+interrupt context.
+.Sh RETURN VALUES
+These functions return the value at
+.Fa p
+as it was before the attempt to swap it.
+.Sh SEE ALSO
+.Xr atomic_swap_uint 9
+.Sh HISTORY
+The atomic_cas functions first appeared in
+.Nx 5.0
+and
+.Ox 5.5 .