SHMGET man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

SHMGET(2)							     SHMGET(2)

NAME
       shmget - get shared memory segment identifier

SYNOPSIS
       #include <sys/types.h>
       #include <sys/ipc.h>
       #include <sys/shm.h>

       int shmget(key_t key, size_t size, int shmflg);

DESCRIPTION
       The  shmget()  function returns the shared memory identifier associated
       with key.

       A shared memory identifier and associated  data	structure  and	shared
       memory  segment	of  at least size bytes (see Intro(2)) are created for
       key if one of the following are true:

	   o	  The key argument is equal to IPC_PRIVATE.

	   o	  The key argument does not already have a shared memory iden‐
		  tifier associated with it, and (shmflg&IPC_CREAT) is true.

       Upon creation, the data structure associated with the new shared memory
       identifier is initialized as follows:

	   o	  The values of	 shm_perm.cuid,	 shm_perm.uid,	shm_perm.cgid,
		  and  shm_perm.gid are set equal to the effective user ID and
		  effective group ID, respectively, of the calling process.

	   o	  The access permission bits of shm_perm.mode are set equal to
		  the access permission bits of shmflg. shm_segsz is set equal
		  to the value of size.

	   o	  The values of shm_lpid, shm_nattch shm_atime, and  shm_dtime
		  are set equal to 0.

	   o	  The shm_ctime is set equal to the current time.

       Shared memory segments must be explicitly removed after the last refer‐
       ence to them has been removed.

RETURN VALUES
       Upon successful	completion,  a	non-negative  integer  representing  a
       shared  memory  identifier  is  returned. Otherwise, −1 is returned and
       errno is set to indicate the error.

ERRORS
       The shmget() function will fail if:

       EACCES
		 A shared memory identifier exists for key but operation  per‐
		 mission  (see	Intro(2)) as specified by the low-order 9 bits
		 of shmflg would not be granted.

       EEXIST
		 A shared memory identifier exists  for	 key  but  both	 (shm‐
		 flg&IPC_CREAT) and (shmflg&IPC_EXCL) are true.

       EINVAL
		 The  size argument is less than the system-imposed minimum or
		 greater than the system-imposed maximum. See NOTES.

		 A shared memory identifier exists for key but the size of the
		 segment  associated with it is less than size and size is not
		 equal to 0.

       ENOENT
		 A shared memory identifier does not exist for key  and	 (shm‐
		 flg&IPC_CREAT) is false.

       ENOMEM
		 A  shared memory identifier and associated shared memory seg‐
		 ment are to be created but the amount of available memory  is
		 not sufficient to fill the request.

       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. See NOTES.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌────────────────────┬─────────────────┐
       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
       ├────────────────────┼─────────────────┤
       │Interface Stability │ Standard	      │
       └────────────────────┴─────────────────┘

SEE ALSO
       rctladm(1M),  Intro(2), setrctl(2), shmctl(2), shmop(2), ftok(3C), get‐
       pagesize(3C), attributes(5), standards(5)

NOTES
       The project.max-shm-memory resource control restricts the total	amount
       of  shared  memory  a  project  can  allocate.  The zone.max-shm-memory
       resource control restricts the total amount of shared memory  that  can
       be  allocated  by  a  zone. The system-imposed maximum on the size of a
       shared memory segment is therefore a  function  of  the	sizes  of  any
       other  shared  memory segments the calling project might have allocated
       that are still in use, as well as  any  other  shared  memory  segments
       allocated  and  still  in use by processes in the zone.	For accounting
       purposes, segment sizes are rounded up to the nearest multiple  of  the
       system page size. See getpagesize(3C).

       The  system-imposed limit on the number of shared memory identifiers is
       maintained  on  a  per-project  basis  using  the   project.max-shm-ids
       resource	 control.  The zone.max-shm-ids resource control restricts the
       total number of shared memory identifiers that can be  allocated	 by  a
       zone.

       See  rctladm(1M)	 and  setrctl(2)  for information about using resource
       controls.

				 Aug 14, 2006			     SHMGET(2)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net