tail head cat sleep
QR code linking to this page

Manual Pages  — VSLOCK

NAME

vslock, vsunlock – lock/unlock user space addresses in memory

CONTENTS

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.

VSLOCK (9) August 29, 2012

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.