Locks a range of pages in the working set; if the pages are not already in the working set, it brings them in and locks them. A page locked in the working set does not become a candidate for replacement. Format SYS$LKWSET inadr ,[retadr] ,[acmode] C Prototype int sys$lkwset (struct _va_range *inadr, struct _va_range *retadr, unsigned int acmode);
1 – Arguments
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 in the working set. 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. On Alpha and Integrity server systems, if the first address in the 2-longword array is within an image mapped to your process, the entire image specified by the address is locked in the working set. Be sure to check calls to the SYS$LKWSET and SYS$LKWSET_64 system services for correct arguments. This affects only process-based code running above IPL2. Compiler and linker differences might cause your program layout to change from Alpha, resulting in incorrectly calculated starting and ending addresses for calls to SYS$LKWSET and SYS$LKWSET_64. Calling these services with incorrect arguments and then executing this code above IPL2 could cause PGFIPLHI bugchecks. Note that SYS$LKWSET and SYS$LKWSET_ 64 automatically lock linker-generated short data sections associated with code sections locked in the working set. retadr OpenVMS usage:address_range type: longword (unsigned) access: write only mechanism: by reference Starting and ending process virtual addresses of the range of pages actually locked by $LKWSET. The retadr argument is the address of a 2-longword array containing, in order, the starting and ending process virtual addresses. On Alpha and Integrity server systems, if the inadr argument specifies an address within an image mapped to your process, retadr specifies only one range of pages locked in the working set. Many ranges of pages might be locked. 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 $LKWSET 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.