Man page - mmap2(2)

Packages contains this manual

Available languages:

en fr ja ru ro de

Manual

MMAP2

名 前
書 式
説 明
返 り 値
エ ラ ー
バ ー ジ ョ ン
準 拠
注 意
関 連 項 目
こ の 文 書 に つ い て

名 前

mmap2 - フ ァ イ ル や デ バ イ ス を メ モ リ ー に マ ッ プ す る

書 式

#include <sys/mman.h>

void *mmap2(void * addr , size_t length , int prot ,
int
flags , int fd , off_t pgoffset );

説 明

こ れ は お そ ら く あ な た が 興 味 の あ る シ ス テ ム コ ー ル で は な い だ ろ う 。 代 わ り に mmap (2) を 見 る と よ い 。 そ の ペ ー ジ に は こ の シ ス テ ム コ ー ル を 起 動 す る glibc の ラ ッ パ ー 関 数 に つ い て の 説 明 が あ る 。

mmap2 () シ ス テ ム コ ー ル は mmap (2) と 同 じ イ ン タ ー フ ェ ー ス を 提 供 す る 。 た だ し 、 最 後 の 引 数 に は 、 フ ァ イ ル の オ フ セ ッ ト を ( mmap (2) が 行 っ て い る 、 バ イ ト 単 位 で は な く ) 4096 バ イ ト を 単 位 と し て 指 定 す る 。 こ れ に よ り 、 32 ビ ッ ト の off_t を 使 う ア プ リ ケ ー シ ョ ン で (2ˆ44 バ イ ト ま で の ) 大 き な フ ァ イ ル を マ ッ プ で き る よ う に な る 。

返 り 値

成 功 し た 場 合 、 mmap2 () は マ ッ プ さ れ た 領 域 へ の ポ イ ン タ ー を 返 す 。 エ ラ ー の 場 合 は -1 が 返 さ れ て 、 errno が 適 切 に 設 定 さ れ る 。

エ ラ ー

EFAULT

ユ ー ザ ー 空 間 か ら デ ー タ を 取 得 す る と き に 問 題 が あ っ た 。

EINVAL

(ペ ー ジ サ イ ズ が 4096 バ イ ト で な い プ ラ ッ ト フ ォ ー ム に お い て ) offset * 4096 が シ ス テ ム の ペ ー ジ サ イ ズ の 倍 数 で は な い 。

mmap2 () は mmap (2) に 載 っ て い る エ ラ ー を 返 す こ と も あ る 。

バ ー ジ ョ ン

mmap2 () は 、 Linux 2.3.31 以 降 で 使 用 可 能 で あ る 。

準 拠

こ の シ ス テ ム コ ー ル は Linux 独 自 で あ る 。

注 意

こ の シ ス テ ム コ ー ル が 存 在 す る ア ー キ テ ク チ ャ ー で は 、 glibc の mmap () の ラ ッ パ ー 関 数 は 、 mmap (2) シ ス テ ム コ ー ル で は な く 、 こ の シ ス テ ム コ ー ル ( mmap2 (2)) を 起 動 す る 。

こ の シ ス テ ム コ ー ル は x86-64 に は 存 在 し な い 。

ia64 で は 、 offset の 単 位 は 、 実 際 に は シ ス テ ム の ペ ー ジ サ イ ズ で あ り 、 4096 バ イ ト で は な い 。

関 連 項 目

getpagesize (2), mmap (2), mremap (2), msync (2), shm_open (3)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 5.10 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は https://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。