GNU.WIKI: The GNU/Linux Knowledge Base

  [HOME] [PHP Manual] [HowTo] [ABS] [MAN1] [MAN2] [MAN3] [MAN4] [MAN5] [MAN6] [MAN7] [MAN8] [MAN9]

  [0-9] [Aa] [Bb] [Cc] [Dd] [Ee] [Ff] [Gg] [Hh] [Ii] [Jj] [Kk] [Ll] [Mm] [Nn] [Oo] [Pp] [Qq] [Rr] [Ss] [Tt] [Uu] [Vv] [Ww] [Xx] [Yy] [Zz]


     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>

     vslock(void *addr, size_t len);

     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]           The addr and len parameters specify a memory range
                        that wraps around the end of the machine address

     [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

  All copyrights belong to their respective owners. Other content (c) 2014-2018, GNU.WIKI. Please report site errors to
Page load time: 0.145 seconds. Last modified: November 04 2018 12:49:43.