VMS Help
System Services, $ULKPAG
*Conan The Librarian
|
Unlocks pages that were previously locked in memory by the Lock
Pages in Memory ($LCKPAG) service. Locked pages are automatically
unlocked and deleted at image exit.
Format
SYS$ULKPAG inadr ,[retadr] ,[acmode]
C Prototype
int sys$ulkpag (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 pages to be
unlocked. 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. If the
starting and ending virtual addresses are the same, a single page
is unlocked.
If more than one page is being unlocked and you need to determine
specifically which pages had been previously unlocked, you should
unlock the pages one at a time, that is, one page per call
to $ULKPAG. The condition value returned by $ULKPAG indicates
whether the page was previously unlocked.
retadr
OpenVMS usage:address_range
type: longword (unsigned)
access: write only
mechanism: by reference-array reference or descriptor
Starting and ending process virtual addresses of the pages
actually unlocked by $ULKPAG. The retadr argument is the address
of a 2-longword array containing, in order, the starting and
ending process virtual addresses.
If an error occurs while multiple pages are being unlocked,
retadr specifies those pages that were successfully unlocked
before the error occurred. If no pages were successfully
unlocked, both longwords in the retadr array contain the value
-1.
acmode
OpenVMS usage:access_mode
type: longword (unsigned)
access: read only
mechanism: by value
Access mode on behalf of which the request is being made. The
acmode argument is a longword containing the access mode. The
$PSLDEF macro defines the symbols for the four access modes.
The most privileged access mode used is the access mode of the
caller. To unlock any specified page, the resultant access mode
must be equal to or more privileged than the access mode of the
owner of that page.