EN JA
VM_MAP_PROTECT(9)
VM_MAP_PROTECT(9) FreeBSD Kernel Developer's Manual VM_MAP_PROTECT(9)

名称

vm_map_protect保護ビットを仮想メモリ領域に適用する

書式

#include < sys/param.h>
#include < vm/vm.h>
#include < vm/vm_map.h>

int
vm_map_protect( vm_map_t map, vm_offset_t start, vm_offset_t end, vm_prot_t new_prot, boolean_t set_max);

解説

vm_map_protect() 関数は map から new_prot へのマップ内の startend によってバインドされたアドレス領域の保護ビットを設定します。

set_max が TRUE であるなら、 new_prot はそれぞれの基本的なエントリのために設定する新しい max_protection として取り扱われます。そうでなければ、 protection フィールドだけが影響を受けます。

範囲は、連続していなければ ならなくて、サブマップを含んでは いけません

実装に関する注

関数は vm_map_lock(9) 呼び出すことによって、継続期間中はマップ上のロックを取得します。

戻り値

vm_map_protect() 関数は保護ビットを設定することが成功したなら、 KERN_SUCCESS を返します。

範囲中でサブマップエントリに遭遇したなら、 KERN_INVALID_ARGUMENT を返します。 new_prot の値が範囲中のエントリのための max_protection を超えるなら、 KERN_PROTECTION_FAILURE を返します。

関連項目

vm_map(9)

作者

このマニュアルページは、 Bruce M Simpson <bms@spc.org>によって書かれました。
July 19, 2003 FreeBSD