shm_open(2)shm_open(2)NAMEshm_open - create/open a shared memory object
SYNOPSISDESCRIPTION
The system call establishes a connection between a shared memory object
and a file descriptor. It creates an open file description that correā
sponds to the shared memory object and returns a file descriptor that
refers to that open file description. This file descriptor (which is
the lowest numbered file descriptor not currently open for that
process) is used by other functions to refer to that shared memory
object.
The name argument points to the shared memory object name, and must
conform to the general construction rules for a pathname.
The oflag argument is the bitwise inclusive OR of the flags listed
under and (these flags are defined in the header file
The new file descriptor has the flag set, and consequently does not
remain open across system calls.
Read-Write Flags
The value of oflag must be composed by taking the inclusive OR of
exactly one of the following flags:
Open for read access only.
Open for read and write access.
General Flags
Any combination of the following flags may also be used in setting the
value of oflag.
If the shared memory object exists, this flag will have no
effect, except as
noted under below. Otherwise the shared memory
object is created; the shared memory object's
user ID is set to the effective user ID of the
process; the shared memory object's group ID is
set to the effective group ID of the process.
The shared memory object's permission bits is set
to the value of the mode argument except those
set in the file mode creation mask of the
process. The new shared memory object will have
a size of zero.
If and are set in oflag and the named shared memory
object exists, will fail. The flag is ignored if
is not set in oflag.
If the shared memory object exists, and it is successfully
opened for reading
and writing set in oflag), the object will be
truncated to zero length. The mode and owner
shall remain unchanged by this function call.
RETURN VALUE
returns the following values:
n Successful completion. n is the lowest numbered unused
file descriptor for the process.
Failure.
is set to indicate the error.
ERRORS
If fails, is set to one of the following values:
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 it is
denied, or is specified and write permission is
denied.
The and are set in oflag and the named shared memory
object already exists.
The operation was interrupted by a signal.
The operation is not supported for the given name.
Too many file descriptors are currently in use by this process.
The length of the
name string exceeds or the length of a (pathname)
component of the name string exceeds while is in
effect.
Too many shared memory objects are currently open in the system.
The flag is not set in oflag and the named shared
memory object does not exist.
There are insufficient resources for the creation of the new
shared memory
object.
is not supported by the implementation.
SEE ALSOshm_unlink(2), close(2), mmap(2), munmap(2), privileges(5).
STANDARDS CONFORMANCEshm_open(2)