mmap2のヘルプ・マニュアル
日本語 英語
mmap2 --help
man mmap2
MMAP2(2) Linux Programmer’s Manual MMAP2(2)
名前
mmap2 - ファイルやデバイスをメモリにマップする
書式
#include
void *mmap2(void *addr, size_t length, int prot,
int flags, int fd, off_t pgoffset);
説明
mmap2() システムコールは mmap(2) と全く同じように動作する。ただし最後の
引き数には、ファイルのオフセットを (mmap(2) が行っている、バイト単位 で
は なく) 4096 バイトを単位として指定する。これにより、32 ビットの off_t
を使うアプリケーションで (2^44 バイトまでの) 大きなファイルをマップでき
るようになる。
返り値
成功した場合、 mmap2() はマップされた領域へのポインタを返す。エラーの場
合は -1 が返されて、 errno が適切に設定される。
エラー
EFAULT ユーザ空間からデータを取得するときに問題があった。
EINVAL (ページサイズが 4096 バイトでないプラットフォームにおいて) off-
set * 4096 がシステムのページサイズの倍数ではない。
mmap2() は mmap(2) と同じエラーを返すことができる。
バージョン
mmap2() は、Linux 2.3.31 以降で使用可能である。
準拠
このシステムコールは Linux 独自である。
注意
現在では、glibc の mmap() のラッパー関数は、 mmap(2) システムコールでは
なく、このシステムコール (mmap2(2)) を起動する。
ia64 では、 offset の単位は、実際にはシステムのページサイズ で あ り 、
4096 バイトではない。
関連項目
getpagesize(2), mmap(2), mremap(2), msync(2), shm_open(3)
Linux 2008-04-22 MMAP2(2)
MMAP2(2) Linux Programmer’s Manual MMAP2(2)
NAME
mmap2 - map files or devices into memory
SYNOPSIS
#include
void *mmap2(void *addr, size_t length, int prot,
int flags, int fd, off_t pgoffset);
DESCRIPTION
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
4096-byte units (instead of bytes, as is done by mmap(2)). This
enables applications that use a 32-bit off_t to map large files (up to
2^44 bytes).
RETURN VALUE
On success, mmap2() returns a pointer to the mapped area. On error -1
is returned and errno is set appropriately.
ERRORS
EFAULT Problem with getting the data from userspace.
EINVAL (Various platforms where the page size is not 4096 bytes.) off-
set * 4096 is not a multiple of the system page size.
mmap2() can return any of the same errors as mmap(2).
VERSIONS
mmap2() is available since Linux 2.3.31.
CONFORMING TO
This system call is Linux-specific.
NOTES
Nowadays, the glibc mmap() wrapper function invokes this system call
rather than the mmap(2) system call.
On ia64, the unit for offset is actually the system page size, rather
than 4096 bytes.
SEE ALSO
getpagesize(2), mmap(2), mremap(2), msync(2), shm_open(3)
COLOPHON
This page is part of release 3.22 of the Linux man-pages project. A
description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2008-04-22 MMAP2(2)