shm_open man page on SmartOS

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

SHM_OPEN(3C)							  SHM_OPEN(3C)

NAME
       shm_open - open a shared memory object

SYNOPSIS
       #include <sys/mman.h>

       int shm_open(const char *name, int oflag, mode_t mode);

DESCRIPTION
       The  shm_open() function establishes a connection between a shared mem‐
       ory object and a file descriptor. It creates an open  file  description
       that  refers  to	 the  shared  memory object and a file descriptor that
       refers to that open file description. The file descriptor  is  used  by
       other  functions	 to refer to that shared memory object. The name argu‐
       ment points to a string naming a shared memory object. It  is  unspeci‐
       fied  whether  the  name	 appears  in the file system and is visible to
       other functions that take pathnames as  arguments.  The	name  argument
       conforms	 to the construction rules for a pathname. The first character
       of  name must be a slash	 (/) character and the remaining characters of
       name  cannot  include  any  slash characters.  For maximum portability,
       name should include no more than 14 characters, but this limit  is  not
       enforced.

       If successful, shm_open() returns a file descriptor for the shared mem‐
       ory object that is the lowest numbered file  descriptor	not  currently
       open  for that process. The open file description is new, and therefore
       the file descriptor does not share it with any other processes.	It  is
       unspecified  whether  the  file	offset	is  set.  The  FD_CLOEXEC file
       descriptor flag associated with the new file descriptor is set.

       The file status flags and file access modes of the open	file  descrip‐
       tion  are  according  to	 the value of oflag. The oflag argument is the
       bitwise inclusive OR of the  following  flags  defined  in  the	header
       <fcntl.h>.   Applications  specify  exactly one of the first two values
       (access modes) below in the value of oflag:

       O_RDONLY
		    Open for read access only.

       O_RDWR
		    Open for read or write access.

       Any combination of the remaining flags may be specified in the value of
       oflag:

       O_CREAT
		   If  the  shared  memory  object  exists,  this  flag has no
		   effect, except as noted under O_EXCL below.	Otherwise  the
		   shared  memory object is created; the user ID of the shared
		   memory object will be set to the effective user ID  of  the
		   process;  the  group ID of the shared memory object will be
		   set to a system default group ID or to the effective	 group
		   ID of the process. The permission bits of the shared memory
		   object will be set to the value of the mode argument except
		   those  set  in  the file mode creation mask of the process.
		   When bits in mode other than the file permission  bits  are
		   set,	 the effect is unspecified. The mode argument does not
		   affect whether the shared memory object is opened for read‐
		   ing, for writing, or for both. The shared memory object has
		   a size of zero.

       O_EXCL
		   If O_EXCL and O_CREAT are  set,  shm_open()	fails  if  the
		   shared memory object exists. The check for the existence of
		   the shared memory object and the creation of the object  if
		   it does not exist is atomic with respect to other processes
		   executing shm_open() naming the same shared	memory	object
		   with	 O_EXCL	 and O_CREAT set. If O_EXCL is set and O_CREAT
		   is not set, the result is undefined.

       O_TRUNC
		   If the shared memory object exists, and it is  successfully
		   opened  O_RDWR, the object will be truncated to zero length
		   and the mode and owner will be unchanged by	this  function
		   call.  The  result  of using O_TRUNC with O_RDONLY is unde‐
		   fined.

       When a shared memory object is created, the state of the shared	memory
       object,	including  all	data associated with the shared memory object,
       persists until the shared memory object is unlinked and all other  ref‐
       erences	are gone. It is unspecified whether the name and shared memory
       object state remain valid after a system reboot.

RETURN VALUES
       Upon successful completion, the shm_open() function returns a non-nega‐
       tive  integer  representing the lowest numbered unused file descriptor.
       Otherwise, it returns −1 and sets errno to indicate  the	 error	condi‐
       tion.

ERRORS
       The shm_open() function will fail if:

       EACCES
			The  shared  memory  object exists and the permissions
			specified by oflag are denied, or  the	shared	memory
			object	does  not  exist  and permission to create the
			shared memory object is denied, or O_TRUNC  is	speci‐
			fied and write permission is denied.

       EEXIST
			O_CREAT and O_EXCL are set and the named shared memory
			object already exists.

       EINTR
			The shm_open() operation was interrupted by a signal.

       EINVAL
			The shm_open() operation  is  not  supported  for  the
			given name.

       EMFILE
			Too many file descriptors are currently in use by this
			process.

       ENAMETOOLONG
			The length of the name string exceeds PATH_MAX,	 or  a
			pathname  component  is	 longer	 than  NAME_MAX	 while
			_POSIX_NO_TRUNC is in effect.

       ENFILE
			Too many shared memory objects are currently  open  in
			the system.

       ENOENT
			O_CREAT	 is not set and the named shared memory object
			does not exist.

       ENOSPC
			There is insufficient space for the  creation  of  the
			new shared memory object.

       ENOSYS
			The  shm_open()	 function is not supported by the sys‐
			tem.

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

       ┌────────────────────┬───────────────────┐
       │  ATTRIBUTE TYPE    │  ATTRIBUTE VALUE	│
       ├────────────────────┼───────────────────┤
       │Interface Stability │ Committed		│
       ├────────────────────┼───────────────────┤
       │MT-Level	    │ MT-Safe		│
       ├────────────────────┼───────────────────┤
       │Standard	    │ See standards(5). │
       └────────────────────┴───────────────────┘

SEE ALSO
       close(2), dup(2), exec(2), fcntl(2), mmap(2), umask(2), shm_unlink(3C),
       sysconf(3C), fcntl.h(3HEAD), attributes(5), standards(5)

NOTES
       Solaris 2.6 was the first release to support the Asynchronous Input and
       Output option. Prior to this release, this function always returned  −1
       and set errno to ENOSYS.

				  Feb 5, 2008			  SHM_OPEN(3C)
[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