tail head cat sleep
QR code linking to this page

manページ  — KERNACC

名称

kernacc, useracc – メモリ領域がアクセス可能か否かの調査

内容

書式

#include <sys/param.h>
#include <sys/proc.h>
#include <vm/vm.h>
#include <vm/vm_extern.h>

int
kernacc(void *addr, int len, int rw);

int
useracc(void *addr, int len, int rw);

解説

kernacc() および useracc() 関数は、 addr および len によって与えられる仮想アドレス範囲で、 rw で指定された操作のタイプが許可されるかどうかを調査します。 rw の指定可能な値は、 VM_PROT_READ, VM_PROT_WRITE および VM_PROT_EXECUTE の論理合成値です。 kernacc() はカーネルアドレス空間の中のアドレスを調べ、一方 useracc()addr をユーザ空間のアドレス表現とみなします。 この操作に使用されるプロセスコンテキストは大域変数 curproc から得られます。

戻り値

どちらの関数も、 rw によって指定されるタイプのアクセスが許可されている場合には、 ブール値 true を返します。 そうでない場合には、ブール値 false が返されます。

バグ

useracc() への引数として、プロセスへのポインタが渡されるべきです。

KERNACC (9) June 16, 1996

tail head cat sleep
QR code linking to this page


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