The <sys/mman.h> header shall define the following symbolic constants for use as protection options:
PROT_EXEC Page can be executed.
PROT_NONE Page cannot be accessed.
PROT_READ Page can be read.
PROT_WRITE Page can be written.
The <sys/mman.h> header shall define the following symbolic constants for use as flag options:
MAP_FIXED Interpret addr exactly.
MAP_PRIVATE Changes are private.
MAP_SHARED Share changes.
The <sys/mman.h> header shall define the following symbolic constants for the msync() function:
MS_ASYNC Perform asynchronous writes.
MS_INVALIDATE Invalidate mappings.
MS_SYNC Perform synchronous writes.
The <sys/mman.h> header shall define the following symbolic constants for the mlockall() function:
MCL_CURRENT Lock currently mapped pages.
MCL_FUTURE Lock pages that become mapped.
The <sys/mman.h> header shall define the symbolic constant MAP_FAILED which shall have type void* and
shall be used to indicate a failure from the mmap() function .
If the Advisory Information option is supported, the <sys/mman.h> header shall define symbolic constants
for the advice argument to the posix_madvise() function as follows:
POSIX_MADV_DONTNEED
The application expects that it will not access the specified range in the near future.
POSIX_MADV_NORMAL
The application has no advice to give on its behavior with respect to the specified range. It is
the default characteristic if no advice is given for a range of memory.
POSIX_MADV_RANDOM
The application expects to access the specified range in a random order.
POSIX_MADV_SEQUENTIAL
The application expects to access the specified range sequentially from lower addresses to higher
addresses.
POSIX_MADV_WILLNEED
The application expects to access the specified range in the near future.
The <sys/mman.h> header shall define the following symbolic constants for use as flags for the
posix_typed_mem_open() function:
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.
The <sys/mman.h> header shall define the mode_t, off_t, and size_t types as described in <sys_types.h>.
The <sys/mman.h> header shall define the posix_typed_mem_info structure, which shall include at least the
following member:
size_t posix_tmi_length Maximum length which may be allocated
from a typed memory object.
The following shall be declared as functions and may also be defined as macros. Function prototypes shall
be provided.
int mlock(const void *, size_t);
int mlockall(int);
void *mmap(void *, size_t, int, int, int, off_t);
int mprotect(void *, size_t, int);
int msync(void *, size_t, int);
int munlock(const void *, size_t);
int munlockall(void);
int munmap(void *, size_t);
int posix_madvise(void *, size_t, int);
int posix_mem_offset(const void *restrict, size_t, off_t *restrict,
size_t *restrict, int *restrict);
int posix_typed_mem_get_info(int, struct posix_typed_mem_info *);
int posix_typed_mem_open(const char *, int, int);
int shm_open(const char *, int, mode_t);
int shm_unlink(const char *);
Thefollowingsectionsareinformative.