mmap2 - map files or devices into memory
Standard C library (libc
, -lc
)
#include <sys/mman.h> /* Definition of MAP_* and PROT_* constants */
#include <sys/syscall.h> /* Definition of SYS_* constants */
#include <unistd.h>
void *syscall(SYS_mmap2, unsigned long addr, unsigned long length,
unsigned long prot, unsigned long flags,
unsigned long fd, unsigned long pgoffset);
This is probably not the system call that you are interested in; instead, see mmap(2), which describes the glibc wrapper function that invokes this system call.
The mmap2() system call provides the same interface
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).
On success, mmap2() returns a pointer to the mapped
area. On error, -1 is returned and errno
is set to indicate the
error.
Linux.
Linux 2.3.31.
getpagesize(2), mmap(2), mremap(2), msync(2), shm_open(3)