vslock(9)

NAME

vslock, vsunlock - lock/unlock user space addresses in memo
ry

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 pro
cess into memory. The actual amount of memory locked is a multiple of
the machine's
page size. The starting page number is computed by truncat
ing 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 op
eration 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 fault
ing/mapping a
page.
BSD August 10, 2004
Copyright © 2010-2024 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout