KERNACC(9)

명칭
kernacc, useracc - 메모리 area가 액세스 가능한가 아닌가의 조사

서식
<sys/types.h> <vm/vm.h> <vm/vm_extern.h> int kernacc(caddr_t addr, int len, int rw) int useracc(caddr_t addr, int len, int rw)

해설
kernacc() 및 useracc() 함수는, addr 및 len 에 의해 주어지는 가상 주소 범위에서, rw 그리고 지정된 조작의 타입이 허가되는지 어떤지를 조사합니다. rw 의 지정 가능한 값은, VM_PROT_READ, VM_PROT_WRITE 및 VM_PROT_EXECUTE 의 논리 합성치입니다. kernacc() (은)는 커널 address 공간안의 주소를 조사해 한편 useracc() 하 addr (을)를 유저 공간의 주소 표현으로 간주합니다. 이 조작에 사용되는 프로세스 문맥은 광역 변수 curproc (으)로부터 얻을 수 있습니다.

반환값
어느 쪽의 함수도, rw 에 의해 지정되는 타입의 액세스가 허가되고 있는 경우에는, 불리언 값 true 를 돌려줍니다. 그렇지 않은 경우에는, 불리언 값 false 가 돌려주어집니다.

버그
useracc() 에의 인수로서 프로세스에의 포인터가 건네받아야 합니다.