Originální popis anglicky:
mmap2 - map files or devices into memory
Návod, kniha: Linux Programmer's Manual
#include <sys/mman.h>
#include <syscall.h>
_syscall6(void *, start, size_t, length, int,
prot, int, flags, int, fd,
off_t, pgoffset);
void * mmap2(void *start, size_t length, int
prot, int flags, int fd,
off_t pgoffset);
#endif
The function
mmap2 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.
Problem with getting the data from userspace.
The function
mmap2 is available since Linux 2.3.31. It is Linux specific,
and should be avoided in portable applications. See also the
mmap64()
function that is part of the LFS (Large File Summit).
getpagesize(2),
mmap(2),
mremap(2),
msync(2),
shm_open(2)