plock - Locks a process' text and/or data segments in memory
int opr) ;
opr Specifies one of the following operations:
PROCLOCK Locks the text and data segments into memory.
TXTLOCK Locks the text segment into memory.
DATLOCK Locks the data segment into memory.
UNLOCK Removes locks.
The plock() function locks or unlocks a process' text segments, data seg-
ments, or both in physical memory. When locked, the physical pages con-
taining the text or data segment will not be paged out. It is an error to
lock a segment that is already locked.
The caller must have superuser privilege to use the plock() function.
Note that memory acquired subsequent to a plock() function may or may not
be locked in memory, depending on the specific acquisition method. Memory
acquired using the brk() function (or the sbrk() function) is locked if the
data segment was locked. Memory acquired via the mmap() or vm_allocate()
functions will not be locked.
Upon successful completion, a value of 0 (zero) is returned to the calling
process. Otherwise, a value of -1 is returned and errno is set to indi-
cate the error.
If the plock() function fails, errno may be set to one of the following
[EPERM] The caller does not have appropriate privilege.
[EAGAIN] There are insufficient resources to perform the operation.
[EINVAL] The opr parameter is PROCLOCK, but the text segment or the data
segment is already locked.
[EINVAL] The opr parameter is TXTLOCK, but the text segment is already
[EINVAL] The opr parameter is DATLOCK, but the data segment is already
[EINVAL] The opr parameter is UNLOCK, but neither the text segment nor the
data segment is locked.
Functions: brk(2), mmap(2)