Allows a process to change the size of its supervisor, executive, and kernel stacks by altering the values in the stack limit for a memory stack and base arrays held in P1 (per-process) space. Format SYS$SETSTK inadr ,[retadr] ,[acmode] C Prototype int sys$setstk (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 Range of addresses that express the stack's new limits. The inadr argument is the address of a 2-longword array containing, in order, the address of the top of the stack and the address of the base of the stack. Because stacks in P1 space expand from high to low addresses, the address of the base of the stack must be greater than the address of the top of the stack. retadr OpenVMS usage:address_range type: longword (unsigned) access: write only mechanism: by reference Range of addresses that express the stack's previous limits. The retadr argument is the address of a 2-longword array into which $SETSTK writes, in the first longword, the previous address of the top of the stack and, in the second longword, the previous address of the base of the stack. acmode OpenVMS usage:access_mode type: longword (unsigned) access: read only mechanism: by value Access mode of the stack to be altered. The acmode argument is a longword containing the access mode. The $PSLDEF macro defines symbols for the four access modes. The most privileged access mode used is the access mode of the caller. If acmode specifies user mode, $SETSTK performs no operation and returns the SS$_NORMAL condition value.