HELPLIB.HLB  —  System Services, $SETSTK
    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.
Close Help