X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/9bccf70c0258c7cac2dcb80011b2a964d884c552..593a1d5fd87cdf5b46dd5fcb84467b432cea0f91:/bsd/man/man2/shmget.2 diff --git a/bsd/man/man2/shmget.2 b/bsd/man/man2/shmget.2 index 55ad6fbdd..d6a135dce 100644 --- a/bsd/man/man2/shmget.2 +++ b/bsd/man/man2/shmget.2 @@ -37,16 +37,18 @@ .Nm shmget .Nd get shared memory area identifier .Sh SYNOPSIS -.Fd #include -.Fd #include .Fd #include .Ft int -.Fn shmget "key_t key" "int size" "int shmflg" +.Fo shmget +.Fa "key_t key" +.Fa "size_t size" +.Fa "int shmflg" +.Fc .Sh DESCRIPTION .Fn shmget returns the shared memory identifier associated with the key .Fa key . - +.Pp A shared memory segment is created if either .Fa key is equal to IPC_PRIVATE, or @@ -54,7 +56,7 @@ is equal to IPC_PRIVATE, or does not have a shared memory segment identifier associated with it, and the IPC_CREAT bit is set in .Fa shmflg. - +.Pp If a new shared memory segment is created, the data structure associated with it (the .Va shmid_ds structure, see @@ -96,30 +98,65 @@ Otherwise, -1 is returned and the global variable .Va errno is set to indicate the error. .Sh ERRORS +The +.Fn shmget +system call will fail if: .Bl -tag -width Er -.It Bq Er EACESS +.\" =========== +.It Bq Er EACCES A shared memory segment is already associated with .Fa key and the caller has no permission to access it. +.\" =========== .It Bq Er EEXIST Both IPC_CREAT and IPC_EXCL are set in .Fa shmflg , and a shared memory segment is already associated with .Fa key . -.It Bq Er ENOSPC -A new shared memory indentifier could not be created because the system limit -for the number of shared memory identifiers has been reached. +.\" =========== +.It Bq Er EINVAL +No shared memory segment is to be created, +and a shared memory segment exists for +.Fa key , +but the size of the segment associated with it +is less than +.Fa size , +which is non-zero. +.\" =========== .It Bq Er ENOENT IPC_CREAT was not set in .Fa shmflg and no shared memory segment associated with .Fa key was found. +.\" =========== .It Bq Er ENOMEM There is not enough memory left to created a shared memory segment of the requested size. +.\" =========== +.It Bq Er ENOSPC +A new shared memory identifier could not be created because the system limit +for the number of shared memory identifiers has been reached. .El +.Sh LEGACY SYNOPSIS +.Fd #include +.Fd #include +.Fd #include +.Pp +.Ft int +.br +.Fo shmget +.Fa "key_t key" +.Fa "int size" +.Fa "int shmflg" +.Fc ; +.Pp +All of these include files are necessary. +The type of +.Fa size +has changed. .Sh SEE ALSO -.Xr shmctl 2 , .Xr shmat 2 , -.Xr shmdt 2 +.Xr shmctl 2 , +.Xr shmdt 2 , +.Xr compat 5