VMS Help
System Services, $ADJSTK
*Conan The Librarian (sorry for the slow response - running on an old VAX)
|
|
Modifies the stack pointer for a less privileged access mode.
The operating system uses this service to modify a stack pointer
for a less privileged access mode after placing arguments on the
stack.
Format
SYS$ADJSTK [acmode] ,[adjust] ,newadr
C Prototype
int sys$adjstk (unsigned int acmode, short int adjust, void
*(*(newadr)));
acmode
OpenVMS usage:access_mode
type: longword (unsigned)
access: read only
mechanism: by value
Access mode for which the stack pointer is to be adjusted. The
acmode argument is this longword value. If not specified, the
default value 0 (kernel access mode) is used.
adjust
OpenVMS usage:word_signed
type: word (signed)
access: read only
mechanism: by value
Signed adjustment value used to modify the value specified by the
newadr argument. The adjust argument is a signed longword, which
is the adjustment value.
Only the low-order word of this argument is used. The value
specified by the low-order word is added to or subtracted
from (depending on the sign) the value specified by the newadr
argument. The result is loaded into the stack pointer for the
specified access mode.
If the adjust argument is not specified or is specified as 0, the
stack pointer is loaded with the value specified by the newadr
argument.
newadr
OpenVMS usage:address
type: longword (unsigned)
access: modify
mechanism: by reference
Value that adjust is to adjust. The newadr argument is the
address of this longword value.
The value specified by this argument is both read and written
by $ADJSTK. The $ADJSTK service reads the value specified and
adjusts it by the value of the adjust argument (if specified).
After this adjustment is made, $ADJSTK writes the adjusted value
back into the longword specified by newadr and then loads the
stack pointer with the adjusted value.
If the value specified by newadr is 0, the current value of the
stack pointer is adjusted by the value specified by adjust. This
new value is then written back into newadr, and the stack pointer
is modified.
[legal]
[privacy]
[GNU]
[policy]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.