VMS Help
System Services, $LCKPAG
*Conan The Librarian
|
Locks a page or range of pages in memory. The specified virtual
pages are forced into the working set and then locked in memory.
A locked page is not swapped out of memory if the working set of
the process is swapped out. These pages are not candidates for
page replacement and in this sense are locked in the working set
as well.
Format
SYS$LCKPAG inadr ,[retadr] ,[acmode]
C Prototype
int sys$lckpag (struct _va_range *inadr, struct _va_range
*retadr, unsigned int acmode);
inadr
OpenVMS usage:address_range
type: longword (unsigned)
access: read only
mechanism: by reference
Starting and ending virtual addresses of the range of pages to be
locked. The inadr argument is the address of a 2-longword array
containing, in order, the starting and ending process virtual
addresses. Only the virtual page number portion of each virtual
address is used; the low-order byte-within-page bits are ignored.
retadr
OpenVMS usage:address_range
type: longword (unsigned)
access: write only
mechanism: by reference
Starting and ending process virtual addresses of the pages that
$LCKPAG actually locked. The retadr argument is the address of
a 2-longword array containing, in order, the starting and ending
process virtual addresses.
acmode
OpenVMS usage:access_mode
type: longword (unsigned)
access: read only
mechanism: by value
Access mode to be associated with the pages to be locked. The
acmode argument is a longword containing the access mode. The
$PSLDEF macro defines the four access modes.
The most privileged access mode used is the access mode of the
caller. For the $LCKPAG service to complete successfully, the
resultant access mode must be equal to or more privileged than
the access mode already associated with the pages to be locked.