tail head cat sleep
QR code linking to this page

manページ  — MPROTECT

名称

mprotect – ページの保護属性を制御する

内容

ライブラリ

Standard C Library (libc, -lc)

書式

#include <sys/mman.h>

int
mprotect(const void *addr, size_t len, int prot);

解説

mprotect() システムコールは指定のページが保護属性 prot を持つように変更します。 すべての場合においてページ単位での保護属性を保証するわけではありません。 保護属性変更の細かさはリージョン全体と同じ大きさかもしれません。 リージョンは struct vm_map_entry の start (開始) と end (終了) のアドレスで定義される仮想アドレス空間です。

現在、以下の OR をとって組み合わせることが可能な保護ビットが知られています。

PROT_NONE 全く保護しません。
PROT_READ ページは読取り可能です。
PROT_WRITE
  ページは書込み可能です。
PROT_EXEC ページは実行可能です。

戻り値

The mprotect function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

エラー

mprotect() システムコールは次の場合に処理を失敗します:
[EINVAL]
  addr 引数と len 引数で指定している仮想アドレス範囲は有効ではありません。
[EACCES]
  呼び出しプロセスは prot 引数によって指定される値に保護属性を変更することを許可されていません。

関連項目

madvise(2), mincore(2), msync(2), munmap(2)

歴史

mprotect() システムコールは BSD 4.4 ではじめて登場しました。

MPROTECT (2) June 9, 1993

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.