summaryrefslogtreecommitdiff
path: root/doc/posix-functions/mmap.texi
blob: 016d0d279e085308149d65c1b206dc457da85349 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
@node mmap
@section @code{mmap}
@findex mmap

POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/mmap.html}

Gnulib module: ---

Portability problems fixed by Gnulib:
@itemize
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@item
This function is missing on some platforms:
mingw, MSVC 14.
@item
On platforms where @code{off_t} is a 32-bit type, this function may not
work correctly across the entire data range of files larger than 2 GB.
The fix is to use the @code{AC_SYS_LARGEFILE} macro.
@item
To get anonymous memory, on some platforms, you can use the flags
@code{MAP_ANONYMOUS | MAP_PRIVATE} and @code{-1} instead of a file descriptor;
on others you have to use a read-only file descriptor of @file{/dev/zero}.
@item
On HP-UX, passing a non-NULL first argument, as a hint for the address (even
without @code{MAP_FIXED}), often causes @code{mmap} to fail.  Better pass NULL
in this case.
@item
On HP-UX, @code{MAP_FIXED} basically never works.  On other platforms, it depends
on the circumstances whether memory can be returned at a given address.
@end itemize