-.\" Hey Emacs! This file is -*- nroff -*- source.
-.\"
.\" Copyright (C) 2002, Michael Kerrisk
.\"
+.\" %%%LICENSE_START(VERBATIM)
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
.\"
.\" Modified 31 Jan 2002, Michael Kerrisk <mtk.manpages@gmail.com>
.\" 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 2014-02-25 "Linux" "Linux Programmer's Manual"
.SH NAME
mmap2 \- map files or devices into memory
.SH SYNOPSIS
.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.
This enables applications that use a 32-bit
.I off_t
to map large files (up to 2^44 bytes).
-.SH "RETURN VALUE"
+.SH RETURN VALUE
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 EFAULT
-Problem with getting the data from userspace.
+Problem with getting the data from user space.
.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 VERSIONS
.BR mmap2 ()
is available since Linux 2.3.31.
-.SH "CONFORMING TO"
+.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.
+This system call does not exist on x86-64.
+
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.
.\" On cris, it looks like the unit might also be the page size,
.\" which is 8192 bytes. -- mtk, June 2007
-.SH "SEE ALSO"
+.SH SEE ALSO
.BR getpagesize (2),
.BR mmap (2),
.BR mremap (2),
.BR msync (2),
.BR shm_open (3)
+.SH COLOPHON
+This page is part of release 3.68 of the Linux
+.I man-pages
+project.
+A description of the project,
+information about reporting bugs,
+and the latest version of this page,
+can be found at
+\%http://www.kernel.org/doc/man\-pages/.