MMAP2Section: Linux Programmer's Manual (2)
Index Return to Main Contents
NAMEmmap2 - map files or devices into memory
#include <sys/mman.h> void *mmap2(void *addr, size_t length, int prot, int flags, int fd, off_t pgoffset);
DESCRIPTIONThe mmap2() system call operates in exactly the same way as mmap(2), except that the final argument specifies the offset into the file in 4096-byte units (instead of bytes, as is done by mmap(2)). This enables applications that use a 32-bit off_t to map large files (up to 2^44 bytes).
RETURN VALUEOn success, mmap2() returns a pointer to the mapped area. On error -1 is returned and errno is set appropriately.
- Problem with getting the data from userspace.
- (Various platforms where the page size is not 4096 bytes.) offset * 4096 is not a multiple of the system page size.
mmap2() can return any of the same errors as mmap(2).
VERSIONSmmap2() is available since Linux 2.3.31.
CONFORMING TOThis system call is Linux-specific.
NOTESNowadays, the glibc mmap() wrapper function invokes this system call rather than the mmap(2) system call.
SEE ALSOgetpagesize(2), mmap(2), mremap(2), msync(2), shm_open(3)
COLOPHONThis page is part of release 3.21 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.