TUX: Penguin Power!
Linux| Perl| PHP| Webserv| Databases| Sysadmin| Programming| Filesystems| Java| Webprog

Make Tux happy: Link to us!


SYNOPSIS
       #include <sys/mman.h>

       int posix_typed_mem_open(const char *name, int oflag, int tflag);


DESCRIPTION
       The   posix_typed_mem_open()  function  shall  establish  a  connection
       between the typed memory object specified by the string pointed  to  by
       name  and  a  file descriptor. It shall create an open file description
       that refers to the typed 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 typed memory object. It is unspecified
       whether  the  name  appears  in the file system and is visible to other
       functions that take pathnames as arguments.  The  name  argument  shall
       conform  to  the construction rules for a pathname. If name begins with
       the slash character, then processes calling posix_typed_mem_open() with
       the  same value of name shall refer to the same typed memory object. If
       name does not begin with the slash character, the effect is implementa-
       tion-defined.  The  interpretation  of  slash characters other than the
       leading slash character in name is implementation-defined.

       Each typed memory object supported in a system shall be identified by a
       name  which  specifies  not  only its associated typed memory pool, but
       also the path or port by which it is accessed. That is, the same  typed
       memory  pool  accessed  via  several different ports shall have several
       different corresponding names. The binding between names and typed mem-
       ory  objects is established in an implementation-defined manner. Unlike
       shared memory objects, there is no way within IEEE Std 1003.1-2001  for
       a program to create a typed memory object.

       The  value of tflag shall determine how the typed memory object behaves
       when subsequently mapped by calls to mmap(). At most, one of  the  fol-
       lowing flags defined in <sys/mman.h> may be specified:

       POSIX_TYPED_MEM_ALLOCATE
              Allocate on mmap().

       POSIX_TYPED_MEM_ALLOCATE_CONTIG
              Allocate contiguously on mmap().

       POSIX_TYPED_MEM_MAP_ALLOCATABLE
              Map on mmap(), without affecting allocatability.


       If  tflag  has  the flag POSIX_TYPED_MEM_ALLOCATE specified, any subse-
       quent call to mmap() using the returned file descriptor shall result in
       allocation  and mapping of typed memory from the specified typed memory
       pool. The allocated memory may be a contiguous  previously  unallocated
       area  of  the  typed  memory  pool or several non-contiguous previously
       unallocated areas (mapped  to  a  contiguous  portion  of  the  process
       address  space).  If tflag has the flag POSIX_TYPED_MEM_ALLOCATE_CONTIG
       specified, any subsequent  call  to  mmap()  using  the  returned  file
       object  leaves each byte of the mapped area unallocated if it was unal-
       located prior to the mapping or allocated if it was allocated prior  to
       the    mapping.    The    appropriate    privilege   to   specify   the
       POSIX_TYPED_MEM_MAP_ALLOCATABLE flag is implementation-defined.

       If successful, posix_typed_mem_open() shall return  a  file  descriptor
       for the typed memory 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 shall 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
       shall be cleared.

       The behavior of msync(), ftruncate(), and  all  file  operations  other
       than  mmap(),  posix_mem_offset(), posix_typed_mem_get_info(), fstat(),
       dup(), dup2(), and close(), is unspecified when passed a file  descrip-
       tor connected to a typed memory object by this function.

       The file status flags of the open file description shall be set accord-
       ing to the value of oflag. Applications shall specify  exactly  one  of
       the  three  access  mode  values  described  below  and  defined in the
       <fcntl.h> header, as the value of oflag.

       O_RDONLY
              Open for read access only.

       O_WRONLY
              Open for write access only.

       O_RDWR Open for read or write access.


RETURN VALUE
       Upon successful completion, the posix_typed_mem_open()  function  shall
       return  a  non-negative integer representing the lowest numbered unused
       file descriptor. Otherwise, it shall return -1 and set errno  to  indi-
       cate the error.

ERRORS
       The posix_typed_mem_open() function shall fail if:

       EACCES The  typed memory object exists and the permissions specified by
              oflag are denied.

       EINTR  The posix_typed_mem_open() operation was interrupted by  a  sig-
              nal.

       EINVAL The  flags  specified  in  tflag  are  invalid (more than one of
              POSIX_TYPED_MEM_ALLOCATE,  POSIX_TYPED_MEM_ALLOCATE_CONTIG,   or
              POSIX_TYPED_MEM_MAP_ALLOCATABLE is specified).

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

       ENAMETOOLONG

EXAMPLES
       None.

APPLICATION USAGE
       None.

RATIONALE
       None.

FUTURE DIRECTIONS
       None.

SEE ALSO
       close()  ,  dup() , exec() , fcntl() , fstat() , ftruncate() , mmap() ,
       msync() , posix_mem_offset() , posix_typed_mem_get_info() ,  umask()  ,
       the   Base   Definitions  volume  of  IEEE Std 1003.1-2001,  <fcntl.h>,
       <sys/mman.h>

COPYRIGHT
       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),  The  Open  Group  Base
       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute of
       Electrical and Electronics Engineers, Inc and The Open  Group.  In  the
       event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard
       is  the  referee document. The original Standard can be obtained online
       at http://www.opengroup.org/unix/online.html .



Find all the song lyrics here: Lyrics Now!