MPROTECT(2) FreeBSD システムコールマニュアル MPROTECT(2)
名称
mprotect − ページの保護属性を制御する |
ライブラリ
標準 C ライブラリ (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
全く保護しません。 戻り値 |
関数 mprotect() は、処理が成功すると値 0 を返します。そうでない場合、値 -1 が返され、グローバル変数 errno が設定されてエラーを示します。 |
エラー
mprotect() システムコールは次の場合に処理を失敗します: |
[EINVAL]
addr 引数と len 引数で指定している仮想アドレス範囲は有 効ではありません。 [EACCES] 関連項目 |
歴史
mprotect() システムコールは 4.4BSD ではじめて登場しました。 FreeBSD 10.0 June 9, 1993 FreeBSD 10.0 |