diff options
Diffstat (limited to '')
-rw-r--r-- | upstream/mageia-cauldron/man3p/shmget.3p | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man3p/shmget.3p b/upstream/mageia-cauldron/man3p/shmget.3p new file mode 100644 index 00000000..feed7123 --- /dev/null +++ b/upstream/mageia-cauldron/man3p/shmget.3p @@ -0,0 +1,185 @@ +'\" et +.TH SHMGET "3P" 2017 "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 +shmget +\(em get an XSI shared memory segment +.SH SYNOPSIS +.LP +.nf +#include <sys/shm.h> +.P +int shmget(key_t \fIkey\fP, size_t \fIsize\fP, int \fIshmflg\fP); +.fi +.SH DESCRIPTION +The +\fIshmget\fR() +function operates on XSI shared memory (see the Base Definitions volume of POSIX.1\(hy2017, +.IR "Section 3.346" ", " "Shared Memory Object"). +It is unspecified whether this function interoperates with the +realtime interprocess communication facilities defined in +.IR "Section 2.8" ", " "Realtime". +.P +The +\fIshmget\fR() +function shall return the shared memory identifier associated with +.IR key . +.P +A shared memory identifier, associated data structure, and shared +memory segment of at least +.IR size +bytes (see +.IR <sys/shm.h> ) +are created for +.IR key +if one of the following is true: +.IP " *" 4 +The argument +.IR key +is equal to IPC_PRIVATE. +.IP " *" 4 +The argument +.IR key +does not already have a shared memory identifier associated with it and +(\fIshmflg\fP &IPC_CREAT) is non-zero. +.P +Upon creation, the data structure associated with the new shared memory +identifier shall be initialized as follows: +.IP " *" 4 +The values of +.IR shm_perm.cuid , +.IR shm_perm.uid , +.IR shm_perm.cgid , +and +.IR shm_perm.gid +are set to the effective user ID and effective group ID, +respectively, of the calling process. +.IP " *" 4 +The low-order nine bits of +.IR shm_perm.mode +are set to the low-order nine bits of +.IR shmflg . +.IP " *" 4 +The value of +.IR shm_segsz +is set to the value of +.IR size . +.IP " *" 4 +The values of +.IR shm_lpid , +.IR shm_nattch , +.IR shm_atime , +and +.IR shm_dtime +are set to 0. +.IP " *" 4 +The value of +.IR shm_ctime +is set to the current time, as described in +.IR "Section 2.7.1" ", " "IPC General Description". +.P +When the shared memory segment is created, it shall be initialized +with all zero values. +.SH "RETURN VALUE" +Upon successful completion, +\fIshmget\fR() +shall return a non-negative integer, namely a shared memory identifier; +otherwise, it shall return \-1 and set +.IR errno +to indicate the error. +.SH ERRORS +The +\fIshmget\fR() +function shall fail if: +.TP +.BR EACCES +A shared memory identifier exists for +.IR key +but operation permission as specified by the low-order nine bits of +.IR shmflg +would not be granted; see +.IR "Section 2.7" ", " "XSI Interprocess Communication". +.TP +.BR EEXIST +A shared memory identifier exists for the argument +.IR key +but (\fIshmflg\fR &IPC_CREAT) &&(\fIshmflg\fR &IPC_EXCL) is non-zero. +.TP +.BR EINVAL +A shared memory segment is to be created and the value of size is +less than the system-imposed minimum or greater than the +system-imposed maximum. +.TP +.BR EINVAL +No shared memory segment is to be created and a shared memory +segment exists for +.IR key +but the size of the segment associated with it is less than +.IR size . +.TP +.BR ENOENT +A shared memory identifier does not exist for the argument +.IR key +and (\fIshmflg\fP &IPC_CREAT) is 0. +.TP +.BR ENOMEM +A shared memory identifier and associated shared memory segment are to +be created, but the amount of available physical memory is not +sufficient to fill the request. +.TP +.BR ENOSPC +A shared memory identifier is to be created, but the system-imposed +limit on the maximum number of allowed shared memory identifiers +system-wide would be exceeded. +.LP +.IR "The following sections are informative." +.SH EXAMPLES +None. +.SH "APPLICATION USAGE" +The POSIX Realtime Extension defines alternative interfaces for interprocess +communication. Application developers who need to use IPC should +design their applications so that modules using the IPC routines +described in +.IR "Section 2.7" ", " "XSI Interprocess Communication" +can be easily modified to use the alternative interfaces. +.SH RATIONALE +None. +.SH "FUTURE DIRECTIONS" +None. +.SH "SEE ALSO" +.IR "Section 2.7" ", " "XSI Interprocess Communication", +.IR "Section 2.8" ", " "Realtime", +.IR "\fIftok\fR\^(\|)", +.IR "\fIshmat\fR\^(\|)", +.IR "\fIshmctl\fR\^(\|)", +.IR "\fIshmdt\fR\^(\|)", +.IR "\fIshm_open\fR\^(\|)", +.IR "\fIshm_unlink\fR\^(\|)" +.P +The Base Definitions volume of POSIX.1\(hy2017, +.IR "Section 3.346" ", " "Shared Memory Object", +.IR "\fB<sys_shm.h>\fP" +.\" +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1-2017, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 7, 2018 Edition, +Copyright (C) 2018 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. +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.opengroup.org/unix/online.html . +.PP +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 . |