KERNACC(9) FreeBSD カーネル開発者マニュアル KERNACC(9)
名称
kernacc, useracc − メモリ領域がアクセス可能か否かの調査 |
書式
#include <sys/param.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() への引数として、プロセスへのポインタが渡されるべきです。 FreeBSD 10.0 June 16, 1996 FreeBSD 10.0 |