mmap2 — map files or devices into memory
#include <sys/mman.h> #include <syscall.h> #include <errno.h> _syscall6(void *, mmap2, void *, start, size_t, length, int, prot, int, flags, int, fd, off_t, pgoffset) /* Using syscall(2) may be preferable; see intro(2) */
void
*mmap2( |
void * | start, |
size_t | length, | |
int | prot, | |
int | flags, | |
int | fd, | |
off_t | pgoffset) ; |
The mmap2
() system call
operates in exactly the same way as mmap(2), except that the
final argument specifies the offset into the file in units of
the system page size (instead of bytes). This enables
applications that use a 32-bit off_t
to map larger files
(typically up to 2^44 bytes).
On success, mmap2
() returns
a pointer to the mapped area. On error −1 is returned
and errno
is set
appropriately.
mmap2
() is available since
Linux 2.3.31. It is Linux specific, and should be avoided in
portable applications. On 32-bit systems, mmap2
() is used to implement the
mmap64
() function that is part
of the LFS (Large File Summit).
getpagesize(2), mmap(2), mremap(2), msync(2), shm_open(3)
|