Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

useracc(9) [freebsd man page]

KERNACC(9)						   BSD Kernel Developer's Manual						KERNACC(9)

NAME
kernacc, useracc -- check memory regions for accessibility SYNOPSIS
#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); DESCRIPTION
The kernacc() and useracc() functions check whether operations of the type specified in rw are permitted in the range of virtual addresses given by addr and len. The possible values of rw are any bitwise combination of VM_PROT_READ, VM_PROT_WRITE and VM_PROT_EXECUTE. kernacc() checks addresses in the kernel address space, while useracc() considers addr to represent an user space address. The process context to use for this operation is taken from the global variable curproc. RETURN VALUES
Both functions return boolean true if the type of access specified by rw is permitted. Otherwise boolean false is returned. BUGS
The process pointer should be passed in as an argument to useracc(). BSD
June 16, 1996 BSD

Check Out this Related Man Page

VSLOCK(9)						   BSD Kernel Developer's Manual						 VSLOCK(9)

NAME
vslock, vsunlock -- lock/unlock user space addresses in memory SYNOPSIS
#include <sys/param.h> #include <sys/proc.h> #include <vm/vm.h> #include <vm/vm_extern.h> int vslock(void *addr, size_t len); void vsunlock(void *addr, size_t len); DESCRIPTION
The vslock() and vsunlock() functions respectively lock and unlock a range of addresses belonging to the currently running process into mem- ory. The actual amount of memory locked is a multiple of the machine's page size. The starting page number is computed by truncating addr to the nearest preceding page boundary, and by rounding up addr + len to the next page boundary. The process context to use for this opera- tion is taken from the global variable curproc. RETURN VALUES
The vslock() function will return 0 on success, otherwise it will return one of the errors listed below. ERRORS
The vslock() function will fail if: [EINVAL] The addr and len parameters specify a memory range that wraps around the end of the machine address space. [ENOMEM] The size of the specified address range exceeds the system limit on locked memory. [ENOMEM] Locking the requested address range would cause the process to exceed its per-process locked memory limit. [EFAULT] Some portion of the indicated address range is not allocated. There was an error faulting/mapping a page. BSD
August 10, 2004 BSD
Man Page