Copyright Digital Equipment Corp. All rights reserved.

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 whose
   protection is to be changed. The inadr argument is the address of
   a 2-longword array containing, in order, the starting and ending
   process virtual addresses.

   Addresses are adjusted up or down to fall on CPU-specific page
   boundaries. 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, the
   protection is changed for a single page.
 

retadr

   OpenVMS usage:address_range
   type:         longword (unsigned)
   access:       write only
   mechanism:    by reference-array reference or descriptor
   Starting and ending virtual addresses of the range of pages whose
   protection was actually changed by $SETPRT. 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 the protection is being changed, $SETPRT
   writes into retadr the range of pages that were successfully
   changed before the error occurred. If no pages were affected
   before the error occurred, $SETPRT writes the value -1 into each
   longword of the 2-longword array.
 

acmode

   OpenVMS usage:access_mode
   type:         longword (unsigned)
   access:       read only
   mechanism:    by value
   Access mode associated with the call to $SETPRT. The acmode
   argument is a longword containing the access mode. The $PSLDEF
   macro defines symbols for the access modes.

   The $SETPRT service uses whichever of the following two access
   modes is least privileged: (1)  the access mode specified by
   acmode or (2)  the access mode of the caller. To change the
   protection of any page in the specified range, the resultant
   access mode must be equal to or more privileged than the access
   mode of the owner of that page.
 

prot

   OpenVMS usage:page_protection
   type:         longword (unsigned)
   access:       read only
   mechanism:    by value
   Page protection to be assigned to the specified pages. The prot
   argument is a longword value containing the protection code. Only
   bits 0 to 3 are used; bits 4 to 31 are ignored.

   The $PRTDEF macro defines the following symbolic names for the
   protection codes:

   Symbol        Description

   PRT$C_NA      No access
   PRT$C_KR      Kernel read only
   PRT$C_KW      Kernel write
   PRT$C_ER      Executive read only
   PRT$C_EW      Executive write
   PRT$C_SR      Supervisor read only
   PRT$C_SW      Supervisor write
   PRT$C_UR      User read only
   PRT$C_UW      User write
   PRT$C_ERKW    Executive read; kernel write
   PRT$C_SRKW    Supervisor read; kernel write
   PRT$C_SREW    Supervisor read; executive write
   PRT$C_URKW    User read; kernel write
   PRT$C_UREW    User read; executive write
   PRT$C_URSW    User read; supervisor write

   OpenVMS Alpha and Integrity server systems convert PRT$C_NA to
   the next highest protection, kernel-read.

   If you specify the protection as the value 0, the protection
   defaults to kernel read only.
 

prvprt

   OpenVMS usage:page_protection
   type:         byte (unsigned)
   access:       write only
   mechanism:    by reference
   Protection previously assigned to the last page in the range.
   The prvprt argument is the address of a byte into which $SETPRT
   writes the protection of this page. The prvprt argument is useful
   only when protection for a single page is being changed.