GNU/Linux |
CentOS 5.4 |
|
![]() |
mmap64(3) |
![]() |
mmap2 − map files or devices into memory
#include <sys/mman.h>
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 4kB units (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.
EFAULT |
Problem with getting the data from userspace. |
This system call is Linux specific.
Glibc does not provide a wrapper for this system call; call it using syscall(2).
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)
![]() |
mmap64(3) | ![]() |