summaryrefslogtreecommitdiff
path: root/static/netbsd/man2/semget.2
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:55:15 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:55:15 -0400
commit253e67c8b3a72b3a4757fdbc5845297628db0a4a (patch)
treeadf53b66087aa30dfbf8bf391a1dadb044c3bf4d /static/netbsd/man2/semget.2
parenta9157ce950dfe2fc30795d43b9d79b9d1bffc48b (diff)
docs: Added All NetBSD Manuals
Diffstat (limited to 'static/netbsd/man2/semget.2')
-rw-r--r--static/netbsd/man2/semget.2154
1 files changed, 154 insertions, 0 deletions
diff --git a/static/netbsd/man2/semget.2 b/static/netbsd/man2/semget.2
new file mode 100644
index 00000000..ec896fa5
--- /dev/null
+++ b/static/netbsd/man2/semget.2
@@ -0,0 +1,154 @@
+.\" $NetBSD: semget.2,v 1.19 2026/01/02 22:22:22 nia Exp $
+.\"
+.\" Copyright (c) 1995 Frank van der Linden
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd May 13, 2004
+.Dt SEMGET 2
+.Os
+.Sh NAME
+.Nm semget
+.Nd get set of semaphores
+.Sh LIBRARY
+.Lb libc
+.Sh SYNOPSIS
+.In sys/sem.h
+.Ft int
+.Fn semget "key_t key" "int nsems" "int semflg"
+.Sh DESCRIPTION
+The
+.Fn semget
+system call returns the semaphore identifier associated with
+.Fa key .
+.Pp
+A new set containing
+.Fa nsems
+semaphores is created if either
+.Fa key
+is equal to
+.Dv IPC_PRIVATE ,
+or
+.Fa key
+does not have a semaphore set associated with it and the
+.Dv IPC_CREAT
+bit is set in
+.Fa semflg .
+If both the
+.Dv IPC_CREAT
+bit and the
+.Dv IPC_EXCL
+bit are set in
+.Fa semflg ,
+and
+.Fa key
+has a semaphore set associated with it already,
+the operation will fail.
+.Pp
+If a new set of semaphores is created, the data structure associated with it
+(the
+.Va semid_ds
+structure, see
+.Xr semctl 2 )
+is initialized as follows:
+.Bl -bullet
+.It
+.Va sem_perm.cuid
+and
+.Va sem_perm.uid
+are set to the effective uid of the calling process.
+.It
+.Va sem_perm.gid
+and
+.Va sem_perm.cgid
+are set to the effective gid of the calling process.
+.It
+.Va sem_perm.mode
+is set to the lower 9 bits of
+.Fa semflg .
+.It
+.Va sem_nsems
+is set to the value of
+.Fa nsems .
+.It
+.Va sem_ctime
+is set to the current time.
+.It
+.Va sem_otime
+is set to 0.
+.El
+.Sh RETURN VALUES
+.Fn semget
+returns a non-negative semaphore identifier if successful.
+Otherwise, \-1 is returned and
+.Va errno
+is set to reflect the error.
+.Sh ERRORS
+.Bl -tag -width Er
+.It Bq Er EACCES
+The caller has no permission to access a semaphore set already associated with
+.Fa key .
+.It Bq Er EEXIST
+Both
+.Dv IPC_CREAT
+and
+.Dv IPC_EXCL
+are set in
+.Fa semflg ,
+and a semaphore set is already associated with
+.Fa key .
+.It Bq Er EINVAL
+.Va nsems
+is less than 0 or greater than the system limit for the number in a semaphore
+set.
+.Pp
+A semaphore set associated with
+.Fa key
+exists, but has fewer semaphores than the number specified in
+.Fa nsems .
+.It Bq Er ENOSPC
+A new set of semaphores could not be created because the system limit
+for the number of semaphores or the number of semaphore sets has been
+reached.
+.It Bq Er ENOENT
+.Dv IPC_CREAT
+is not set in
+.Fa semflg
+and no semaphore set associated with
+.Fa key
+was found.
+.El
+.Sh SEE ALSO
+.Xr ipcs 1 ,
+.Xr semctl 2 ,
+.Xr semop 2 ,
+.Xr ftok 3
+.Sh STANDARDS
+The
+.Nm
+system call conforms to
+.St -xsh5 .
+.Sh HISTORY
+Semaphores appeared in the first release of
+.At V .