mmap2(2) System Calls Manual mmap2(2) mmap2 - C (libc, -lc) #include /* Definition of MAP_* and PROT_* constants */ #include /* Definition of SYS_* constants */ #include void *syscall(SYS_mmap2, unsigned long addr, unsigned long length, unsigned long prot, unsigned long flags, unsigned long fd, unsigned long pgoffset); , ; mmap(2), glibc, . 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. EFAULT . EINVAL ( , 4096 .) offset * 4096 . mmap2() mmap(2). , , glibc mmap() mmap(2). x86-64. ia64 offset , 4096 . Linux. Linux 2.3.31. getpagesize(2), mmap(2), mremap(2), msync(2), shm_open(3) () aereiae , Alexey , Azamat Hackimov , Dmitriy S. Seregin , Dmitry Bolkhovskikh , ITriskTI , Max Is , Yuri Kozlov , , Kirill Rekhov ; GNU (GNU General Public License - GPL, 3 ) , - . - , , () () () <>. Linux 6.9.1 2 2024 . mmap2(2)