Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
VSLOCK(9)              FreeBSD 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
     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.

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.

     [EFAULT]           Some portion of the indicated address range is not
                        allocated.  There was an error faulting/mapping a
                        page.

FreeBSD 11.0-PRERELEASE         August 29, 2012        FreeBSD 11.0-PRERELEASE

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=vslock&sektion=9&manpath=FreeBSD+10.0-RELEASE>

home | help