summaryrefslogtreecommitdiffstats
path: root/man-pages-posix-2013/man0p/sys_sem.h.0p
diff options
context:
space:
mode:
Diffstat (limited to 'man-pages-posix-2013/man0p/sys_sem.h.0p')
-rw-r--r--man-pages-posix-2013/man0p/sys_sem.h.0p162
1 files changed, 162 insertions, 0 deletions
diff --git a/man-pages-posix-2013/man0p/sys_sem.h.0p b/man-pages-posix-2013/man0p/sys_sem.h.0p
new file mode 100644
index 0000000..678771a
--- /dev/null
+++ b/man-pages-posix-2013/man0p/sys_sem.h.0p
@@ -0,0 +1,162 @@
+'\" et
+.TH sys_sem.h "0P" 2013 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.SH PROLOG
+This manual page is part of the POSIX Programmer's Manual.
+The Linux implementation of this interface may differ (consult
+the corresponding Linux manual page for details of Linux behavior),
+or the interface may not be implemented on Linux.
+
+.SH NAME
+sys/sem.h
+\(em XSI semaphore facility
+.SH SYNOPSIS
+.LP
+.nf
+#include <sys/sem.h>
+.fi
+.SH DESCRIPTION
+The
+.IR <sys/sem.h>
+header shall define the following symbolic constant for use as a
+semaphore operation flag:
+.IP SEM_UNDO 12
+Set up adjust on exit entry.
+.P
+The
+.IR <sys/sem.h>
+header shall define the following symbolic constants for use as
+commands for the
+\fIsemctl\fR()
+function:
+.IP GETNCNT 12
+Get
+.IR semncnt .
+.IP GETPID 12
+Get
+.IR sempid .
+.IP GETVAL 12
+Get
+.IR semval .
+.IP GETALL 12
+Get all cases of
+.IR semval .
+.IP GETZCNT 12
+Get
+.IR semzcnt .
+.IP SETVAL 12
+Set
+.IR semval .
+.IP SETALL 12
+Set all cases of
+.IR semval .
+.P
+The
+.IR <sys/sem.h>
+header shall define the
+.BR semid_ds
+structure, which shall include the following members:
+.sp
+.RS 4
+.nf
+\fB
+struct ipc_perm sem_perm \fROperation permission structure.\fR
+unsigned short sem_nsems \fRNumber of semaphores in set.\fR
+time_t sem_otime \fRLast \fIsemop\fP\^(\|) time.\fR
+time_t sem_ctime \fRLast time changed by \fIsemctl\fP\^(\|).\fR
+.fi \fR
+.P
+.RE
+.P
+The
+.IR <sys/sem.h>
+header shall define the
+.BR pid_t ,
+.BR size_t ,
+and
+.BR time_t
+types as described in
+.IR <sys/types.h> .
+.P
+A semaphore shall be represented by an anonymous structure,
+which shall include the following members:
+.sp
+.RS 4
+.nf
+\fB
+unsigned short semval \fRSemaphore value.\fR
+pid_t sempid \fRProcess ID of last operation.\fR
+unsigned short semncnt \fRNumber of processes waiting for \fIsemval\fR
+ \fRto become greater than current value.\fR
+unsigned short semzcnt \fRNumber of processes waiting for \fIsemval\fR
+ \fRto become 0.\fR
+.fi \fR
+.P
+.RE
+.P
+The
+.IR <sys/sem.h>
+header shall define the
+.BR sembuf
+structure, which shall include the following members:
+.sp
+.RS 4
+.nf
+\fB
+unsigned short sem_num \fRSemaphore number.\fR
+short sem_op \fRSemaphore operation.\fR
+short sem_flg \fROperation flags.\fR
+.fi \fR
+.P
+.RE
+.P
+The following shall be declared as functions and may also be defined as
+macros. Function prototypes shall be provided.
+.sp
+.RS 4
+.nf
+\fB
+int semctl(int, int, int, ...);
+int semget(key_t, int, int);
+int semop(int, struct sembuf *, size_t);
+.fi \fR
+.P
+.RE
+.P
+In addition, the
+.IR <sys/sem.h>
+header shall include the
+.IR <sys/ipc.h>
+header.
+.LP
+.IR "The following sections are informative."
+.SH "APPLICATION USAGE"
+None.
+.SH RATIONALE
+None.
+.SH "FUTURE DIRECTIONS"
+None.
+.SH "SEE ALSO"
+.IR "\fB<sys_ipc.h>\fP",
+.IR "\fB<sys_types.h>\fP"
+.P
+The System Interfaces volume of POSIX.1\(hy2008,
+.IR "\fIsemctl\fR\^(\|)",
+.IR "\fIsemget\fR\^(\|)",
+.IR "\fIsemop\fR\^(\|)"
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1, 2013 Edition, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 7, Copyright (C) 2013 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group.
+(This is POSIX.1-2008 with the 2013 Technical Corrigendum 1 applied.) In the
+event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.unix.org/online.html .
+
+Any typographical or formatting errors that appear
+in this page are most likely
+to have been introduced during the conversion of the source files to
+man page format. To report such errors, see
+https://www.kernel.org/doc/man-pages/reporting_bugs.html .