*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> shm_open (3)              
Title
Content
Arch
Section
 

shm_open(3)

Contents


NAME    [Toc]    [Back]

       shm_open  -  Opens  a  shared  memory object, creating the
       object if necessary (P1003.1b)

SYNOPSIS    [Toc]    [Back]

       #include <sys/mman.h>

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


LIBRARY    [Toc]    [Back]

       Realtime Library (librt.so, librt.a)

PARAMETERS    [Toc]    [Back]

       Points to a string naming the shared memory object.  Specifies
 options that define  file  status  and  file  access
       modes.  This  argument  is  constructed  from  the bitwise
       inclusive OR of zero or more of the options defined in the
       <fcntl.h>   header  file.   Specifies  the  shared  memory
       object's permission bits. This argument is used only  when
       the shared memory object is being created.

DESCRIPTION    [Toc]    [Back]

       The  shm_open  function establishes a connection between a
       shared memory object and a file descriptor. It creates  an
       open  file  descriptor  that  refers  to the shared memory
       object and a file descriptor that refers to that open file
       descriptor.  This  file  descriptor is used by other functions
 to refer to  the  shared  memory  object.  The  name
       points to a string naming a shared memory object. The name
       can be a pathname, in which case other processes referring
       to  the  same  pathname  refer  to  the same shared memory
       object.

       When a shared memory object is created, its state and  all
       data associated with it persist until the shared memory is
       unlinked.

       The shm_open function returns a file  descriptor  that  is
       the lowest numbered file descriptor not currently open for
       that process.  File status options and  access  modes  are
       set  according  to the ooption argument. These options are
       defined in the <fcntl.h> header file and can have zero  or
       more  of  the  following  values: O_RDONLY - Open for read
       access only.  O_RDWR - Open  for  read  or  write  access.
       O_CREAT  -  Create  the shared memory if the memory object
       does not exist already.  The user ID and group ID  of  the
       shared memory object are identical to those of the calling
       process.  The shared memory object's permission  bits  are
       set  to  the  value  of mode, except those set in the file
       mode creation mask of the process.  O_EXCL -  Prevent  the
       opening  of  a  shared memory object if O_CREAT is set and
       the shared memory object already exists.  Use this  option
       only  in combination with O_CREAT.  O_TRUNC - Truncate the
       shared memory object to zero length if it is  successfully
       opened for read or write access (O_RDWR).

       The  initial  contents  of  the  shared  memory object are
       binary zeros.

RETURN VALUES    [Toc]    [Back]

       On a successful call to shm_open, a nonnegative integer is
       returned  that  represents the lowest-numbered unused file
       descriptor.  The file descriptor points to the shared memory
  object. Otherwise, -1 is returned and errno is set to
       indicate the error.

ERRORS    [Toc]    [Back]

       The shm_open function fails  under  the  following  conditions:
  Permission  to  create the shared memory object is
       denied. The shared memory object exists  and  the  permissions
  specified  by ooption are denied. O_TRUNC is specified
 and write permission is denied.  O_CREAT  and  O_EXCL
       are  set,  but  the  named  shared  memory  object already
       exists.  A signal has interrupted the shm_open  operation.
       The  shm_open  operation  is  not  supported for the given
       name.  Too many file descriptors are currently in  use  by
       this  process.   The  length  of the path argument exceeds
       PATH_MAX, or a pathname component is longer than  NAME_MAX
       while  _POSIX_NO_TRUNC is in effect.  Too many shared memory
 objects are currently open in the system.  O_CREAT  is
       not set and the named shared memory object does not exist.
       Memory space for creation of the new shared memory  object
       is insufficient.

SEE ALSO    [Toc]    [Back]

      
      
       Functions:  close(2), dup(2), exec(2), fcntl(2), fstat(2),
       mmap(2), umask(2), shm_unlink(3)

       Guide to Realtime Programming



                                                      shm_open(3)
[ Back ]
 Similar pages
Name OS Title
shm_unlink Tru64 Removes a shared memory object created by a call to the shm_open function (P1003.1b)
shm_open FreeBSD open or create a shared memory object shm_unlink -- remove a shared memory object
shm_unlink HP-UX unlink a shared memory object
shm_unlink FreeBSD remove a shared memory object
shm_unlink IRIX deletes a shared memory object
shm_open HP-UX create/open a shared memory object
shm_open IRIX establishes a connection between a shared memory object and a file descriptor
editobj IRIX opens an object definition for editing
sem_open Tru64 Opens/creates a named semaphore for use by a process (P1003.1b)
dlopen IRIX open a shared object
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service