Current File : //usr/man/man3c/atomic_or.3c
'\" te
.\" Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights             reserved.
.TH atomic_or 3C "8 Jan 2015" "SunOS 5.11" "Standard C Library Functions"
.SH NAME
atomic_or, atomic_or_8, atomic_or_uchar, atomic_or_16, atomic_or_ushort, atomic_or_32, atomic_or_uint, atomic_or_ulong, atomic_or_64, atomic_or_8_nv, atomic_or_uchar_nv, atomic_or_16_nv, atomic_or_ushort_nv, atomic_or_32_nv, atomic_or_uint_nv, atomic_or_ulong_nv, atomic_or_64_nv \- atomic OR operations
.SH SYNOPSIS
.LP
.nf
#include <atomic.h>

\fBvoid\fR \fBatomic_or_8\fR(\fBvolatile uint8_t *\fR\fItarget\fR, \fBuint8_t\fR \fIbits\fR);
.fi

.LP
.nf
\fBvoid\fR \fBatomic_or_uchar\fR(\fBvolatile uchar_t *\fR\fItarget\fR, \fBuchar_t\fR \fIbits\fR);
.fi

.LP
.nf
\fBvoid\fR \fBatomic_or_16\fR(\fBvolatile uint16_t *\fR\fItarget\fR, \fBuint16_t\fR \fIbits\fR);
.fi

.LP
.nf
\fBvoid\fR \fBatomic_or_ushort\fR(\fBvolatile ushort_t *\fR\fItarget\fR, \fBushort_t\fR \fIbits\fR);
.fi

.LP
.nf
\fBvoid\fR \fBatomic_or_32\fR(\fBvolatile uint32_t *\fR\fItarget\fR, \fBuint32_t\fR \fIbits\fR);
.fi

.LP
.nf
\fBvoid\fR \fBatomic_or_uint\fR(\fBvolatile uint_t *\fR\fItarget\fR, \fBuint_t\fR \fIbits\fR);
.fi

.LP
.nf
\fBvoid\fR \fBatomic_or_ulong\fR(\fBvolatile ulong_t *\fR\fItarget\fR, \fBulong_t\fR \fIbits\fR);
.fi

.LP
.nf
\fBvoid\fR \fBatomic_or_64\fR(\fBvolatile uint64_t *\fR\fItarget\fR, \fBuint64_t\fR \fIbits\fR);
.fi

.LP
.nf
\fBuint8_t\fR \fBatomic_or_8_nv\fR(\fBvolatile uint8_t *\fR\fItarget\fR, \fBuint8_t\fR \fIbits\fR);
.fi

.LP
.nf
\fBuchar_t\fR \fBatomic_or_uchar_nv\fR(\fBvolatile uchar_t *\fR\fItarget\fR, \fBuchar_t\fR \fIbits\fR);
.fi

.LP
.nf
\fBuint16_t\fR \fBatomic_or_16_nv\fR(\fBvolatile uint16_t *\fR\fItarget\fR, \fBuint16_t\fR \fIbits\fR);
.fi

.LP
.nf
\fBushort_t\fR \fBatomic_or_ushort_nv\fR(\fBvolatile ushort_t *\fR\fItarget\fR, \fBushort_t\fR \fIbits\fR);
.fi

.LP
.nf
\fBuint32_t\fR \fBatomic_or_32_nv\fR(\fBvolatile uint32_t *\fR\fItarget\fR, \fBuint32_t\fR \fIbits\fR);
.fi

.LP
.nf
\fBuint_t\fR \fBatomic_or_uint_nv\fR(\fBvolatile uint_t *\fR\fItarget\fR, \fBuint_t\fR \fIbits\fR);
.fi

.LP
.nf
\fBulong_t\fR \fBatomic_or_ulong_nv\fR(\fBvolatile ulong_t *\fR\fItarget\fR, \fBulong_t\fR \fIbits\fR);
.fi

.LP
.nf
\fBuint64_t\fR \fBatomic_or_64_nv\fR(\fBvolatile uint64_t *\fR\fItarget\fR, \fBuint64_t\fR \fIbits\fR);
.fi

.SH DESCRIPTION
.sp
.LP
These functions enable the bitwise OR of \fIbits\fR to the value stored in \fItarget\fR to occur in an atomic manner.
.SH RETURN VALUES
.sp
.LP
The *\fB_nv()\fR variants of these functions return the new value of \fItarget\fR.
.SH ERRORS
.sp
.LP
No errors are defined.
.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(5) for descriptions of the following attributes:
.sp

.sp
.TS
tab() box;
cw(2.75i) |cw(2.75i) 
lw(2.75i) |lw(2.75i) 
.
ATTRIBUTE TYPEATTRIBUTE VALUE
_
Interface StabilityCommitted
_
MT-LevelMT-Safe
.TE

.SH SEE ALSO
.sp
.LP
\fBatomic_add\fR(3C), \fBatomic_and\fR(3C), \fBatomic_bits\fR(3C), \fBatomic_cas\fR(3C), \fBatomic_dec\fR(3C), \fBatomic_inc\fR(3C), \fBatomic_swap\fR(3C), \fBmembar_ops\fR(3C), \fBattributes\fR(5), \fBatomic_ops\fR(9F)
.SH NOTES
.sp
.LP
The *\fB_nv()\fR variants are substantially more expensive on some platforms than the versions that do not return values. Do not use them unless you need to know the new value \fBatomically\fR.