shm_open man page on SunOS

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

shm_open(3RT)		  Realtime Library Functions		 shm_open(3RT)

NAME
       shm_open - open a shared memory object

SYNOPSIS
       cc [ flag... ] file... -lrt [ library... ]
       #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 reading,
		       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 exis‐
		       tence 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 success‐
		       fully 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 undefined.

       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 permis‐
			       sions  specified	 by  oflag  are denied, or the
			       shared memory object does not exist and permis‐
			       sion  to	 create	 the  shared  memory object is
			       denied, or O_TRUNC is specified and write  per‐
			       mission 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
			       system.

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

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

SEE ALSO
       close(2),     dup(2),	exec(2),    fcntl(2),	 mmap(2),    umask(2),
       shm_unlink(3RT),	 sysconf(3C),  fcntl.h(3HEAD),	attributes(5),	 stan‐
       dards(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.

SunOS 5.10			  28 Jun 2002			 shm_open(3RT)
[top]

List of man pages available for SunOS

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