VSLOCK(9) | Kernel Developer's Manual | VSLOCK(9) |
vslock
, vsunlock
— lock/unlock user space addresses in
memory
#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);
The
vslock
()
and
vsunlock
()
functions respectively lock and unlock a range of addresses belonging to the
currently running process into memory. 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 operation is taken from the global variable
curproc.
The vslock
() function will return 0 on
success, otherwise it will return one of the errors listed below.
The vslock
() function will fail if:
EINVAL
]ENOMEM
]EFAULT
]August 29, 2012 | Debian |