Query: vslock
OS: linux
Section: 9
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
VSLOCK(9) BSD Kernel Developer's Manual VSLOCK(9)NAMEvslock, vsunlock -- lock/unlock user space addresses in memorySYNOPSIS#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);DESCRIPTIONThe 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 VALUESThe vslock() function will return 0 on success, otherwise it will return one of the errors listed below.ERRORSThe 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.BSDAugust 10, 2004 BSD