summaryrefslogtreecommitdiffstats
path: root/man3p/posix_typed_mem_open.3p
diff options
context:
space:
mode:
Diffstat (limited to 'man3p/posix_typed_mem_open.3p')
-rw-r--r--man3p/posix_typed_mem_open.3p185
1 files changed, 185 insertions, 0 deletions
diff --git a/man3p/posix_typed_mem_open.3p b/man3p/posix_typed_mem_open.3p
new file mode 100644
index 000000000..170c57106
--- /dev/null
+++ b/man3p/posix_typed_mem_open.3p
@@ -0,0 +1,185 @@
+.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
+.TH "POSIX_TYPED_MEM_OPEN" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\" posix_typed_mem_open
+.SH NAME
+posix_typed_mem_open \- open a typed memory object (\fBADVANCED REALTIME\fP)
+.SH SYNOPSIS
+.LP
+\fB#include <sys/mman.h>
+.br
+.sp
+int posix_typed_mem_open(const char *\fP\fIname\fP\fB, int\fP \fIoflag\fP\fB,
+int\fP \fItflag\fP\fB); \fP
+\fB
+.br
+\fP
+.SH DESCRIPTION
+.LP
+The \fIposix_typed_mem_open\fP() function shall establish a connection
+between the typed memory object specified by the string
+pointed to by \fIname\fP 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 \fIname\fP argument shall conform to the
+construction rules for a pathname. If \fIname\fP begins with
+the slash character, then processes calling \fIposix_typed_mem_open\fP()
+with the same value of \fIname\fP shall refer to the
+same typed memory object. If \fIname\fP does not begin with the slash
+character, the effect is implementation-defined. The
+interpretation of slash characters other than the leading slash character
+in \fIname\fP is implementation-defined.
+.LP
+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 memory 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.
+.LP
+The value of \fItflag\fP shall determine how the typed memory object
+behaves when subsequently mapped by calls to \fImmap\fP(). At most,
+one of the following flags defined in \fI<sys/mman.h>\fP may be specified:
+.TP 7
+POSIX_TYPED_MEM_ALLOCATE
+Allocate on \fImmap\fP().
+.TP 7
+POSIX_TYPED_MEM_ALLOCATE_CONTIG
+Allocate contiguously on \fImmap\fP().
+.TP 7
+POSIX_TYPED_MEM_MAP_ALLOCATABLE
+Map on \fImmap\fP(), without affecting allocatability.
+.sp
+.LP
+If \fItflag\fP has the flag POSIX_TYPED_MEM_ALLOCATE specified, any
+subsequent call to \fImmap\fP() 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 \fItflag\fP has the flag POSIX_TYPED_MEM_ALLOCATE_CONTIG specified,
+any subsequent call to \fImmap\fP() using the returned file descriptor
+shall result in allocation and mapping of a single
+contiguous previously unallocated area of the typed memory pool (also
+mapped to a contiguous portion of the process address space).
+If \fItflag\fP has none of the flags POSIX_TYPED_MEM_ALLOCATE or POSIX_TYPED_MEM_ALLOCATE_CONTIG
+specified, any subsequent call to
+\fImmap\fP() using the returned file descriptor shall map an application-chosen
+area from the
+specified typed memory pool such that this mapped area becomes unavailable
+for allocation until unmapped by all processes. If
+\fItflag\fP has the flag POSIX_TYPED_MEM_MAP_ALLOCATABLE specified,
+any subsequent call to \fImmap\fP() using the returned file descriptor
+shall map an application-chosen area from the
+specified typed memory pool without an effect on the availability
+of that area for allocation; that is, mapping such an object
+leaves each byte of the mapped area unallocated if it was unallocated
+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.
+.LP
+If successful, \fIposix_typed_mem_open\fP() 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.
+.LP
+The behavior of \fImsync\fP(), \fIftruncate\fP(), and all file operations
+other than \fImmap\fP(), \fIposix_mem_offset\fP(), \fIposix_typed_mem_get_info\fP(),
+\fIfstat\fP(), \fIdup\fP(), \fIdup2\fP(), and \fIclose\fP(), is unspecified
+when passed a
+file descriptor connected to a typed memory object by this function.
+.LP
+The file status flags of the open file description shall be set according
+to the value of \fIoflag\fP. Applications shall
+specify exactly one of the three access mode values described below
+and defined in the \fI<fcntl.h>\fP header, as the value of \fIoflag\fP.
+.TP 7
+O_RDONLY
+Open for read access only.
+.TP 7
+O_WRONLY
+Open for write access only.
+.TP 7
+O_RDWR
+Open for read or write access.
+.sp
+.SH RETURN VALUE
+.LP
+Upon successful completion, the \fIposix_typed_mem_open\fP() function
+shall return a non-negative integer representing the
+lowest numbered unused file descriptor. Otherwise, it shall return
+-1 and set \fIerrno\fP to indicate the error.
+.SH ERRORS
+.LP
+The \fIposix_typed_mem_open\fP() function shall fail if:
+.TP 7
+.B EACCES
+The typed memory object exists and the permissions specified by \fIoflag\fP
+are denied.
+.TP 7
+.B EINTR
+The \fIposix_typed_mem_open\fP() operation was interrupted by a signal.
+.TP 7
+.B EINVAL
+The flags specified in \fItflag\fP are invalid (more than one of POSIX_TYPED_MEM_ALLOCATE,
+POSIX_TYPED_MEM_ALLOCATE_CONTIG, or
+POSIX_TYPED_MEM_MAP_ALLOCATABLE is specified).
+.TP 7
+.B EMFILE
+Too many file descriptors are currently in use by this process.
+.TP 7
+.B ENAMETOOLONG
+The length of the \fIname\fP argument exceeds {PATH_MAX} or a pathname
+component is longer than {NAME_MAX}.
+.TP 7
+.B ENFILE
+Too many file descriptors are currently open in the system.
+.TP 7
+.B ENOENT
+The named typed memory object does not exist.
+.TP 7
+.B EPERM
+The caller lacks the appropriate privilege to specify the flag POSIX_TYPED_MEM_MAP_ALLOCATABLE
+in argument \fItflag\fP.
+.sp
+.LP
+\fIThe following sections are informative.\fP
+.SH EXAMPLES
+.LP
+None.
+.SH APPLICATION USAGE
+.LP
+None.
+.SH RATIONALE
+.LP
+None.
+.SH FUTURE DIRECTIONS
+.LP
+None.
+.SH SEE ALSO
+.LP
+\fIclose\fP() , \fIdup\fP() , \fIexec\fP() , \fIfcntl\fP() , \fIfstat\fP()
+,
+\fIftruncate\fP() , \fImmap\fP() , \fImsync\fP() ,
+\fIposix_mem_offset\fP() , \fIposix_typed_mem_get_info\fP() , \fIumask\fP()
+, the Base
+Definitions volume of IEEE\ Std\ 1003.1-2001, \fI<fcntl.h>\fP, \fI<sys/mman.h>\fP
+.SH 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 .