.\" Added description of mmap2
.\" Modified, 2004-11-25, mtk -- removed stray #endif in prototype
.\"
-.TH MMAP2 2 2012-04-16 "Linux" "Linux Programmer's Manual"
+.TH MMAP2 2 2017-09-15 "Linux" "Linux Programmer's Manual"
.SH NAME
mmap2 \- map files or devices into memory
.SH SYNOPSIS
.nf
.B #include <sys/mman.h>
-.sp
+.PP
.BI "void *mmap2(void *" addr ", size_t " length ", int " prot ,
.BI " int " flags ", int " fd ", off_t " pgoffset );
.fi
.SH DESCRIPTION
-This is probably not the system call you are interested; instead, see
+This is probably not the system call that you are interested in; instead, see
.BR mmap (2),
which describes the glibc wrapper function that invokes this system call.
-
+.PP
The
.BR mmap2 ()
system call provides the same interface as
On success,
.BR mmap2 ()
returns a pointer to the mapped area.
-On error \-1 is returned and
+On error, \-1 is returned and
.I errno
is set appropriately.
.SH ERRORS
.TP
.B EINVAL
(Various platforms where the page size is not 4096 bytes.)
-.I offset * 4096
+.I "offset\ *\ 4096"
is not a multiple of the system page size.
.PP
.BR mmap2 ()
.SH CONFORMING TO
This system call is Linux-specific.
.SH NOTES
-Nowadays, the glibc
+On architectures where this system call is present,
+the glibc
.BR mmap ()
wrapper function invokes this system call rather than the
.BR mmap (2)
system call.
-
+.PP
+This system call does not exist on x86-64.
+.PP
On ia64, the unit for
.I offset
is actually the system page size, rather than 4096 bytes.
-.\" ia64 can have page sizes ranging from 4kB to 64kB.
+.\" ia64 can have page sizes ranging from 4 kB to 64 kB.
.\" On cris, it looks like the unit might also be the page size,
.\" which is 8192 bytes. -- mtk, June 2007
.SH SEE ALSO