Guardian Procedure Calls Reference Manual

flags
input
INT:value
is defined as:
Must be zero.<0:12>
Use extended address limits from constants.<13>
Parameter must be word-aligned.<14>
Skip the bounds test and return 0.<15>
constants
input
FIXED:value
is a set of constant values generated by XSTACKTEST.
Returned Value
INT
One of these values:
In bounds, but in a read-only segment or (on native systems only) in the system library.1
In bounds and writable.0
Out of bounds or invalid address.-1
Incorrectly aligned on word boundary.-2
Undefined flag value.-3
In bounds, but in an extensible extended data segment that cannot be extended (usually due to lack of
additional disk space for the swap file).
-4
Considerations
XBNDSTEST can perform extended address checking against either the current extended
address limit or the limit in effect at the time XSTACKTEST was called. The latter may be
specified by setting bit <13> of the flags parameter.
XBNDSTEST will normally reject all relative extended address references to the system data
segment (segment 1) as well as all absolute extended addresses. Procedures that support
privileged callers may disable these checks by either:
setting bit <15> of the flags parameter, which will disable all address checking.
calling XSTACKTEST with bit <14> of the flags parameter set, which will generate a
constants value that permits privileged mode addressing but still performs the normal
checks on other addresses.
Before the D20 RVU, these status conditions were handled differently:
An address falling in the system library area on a native system, which now causes a
status value of 1 to be returned, previously caused a status value of -1 (invalid
address) to be returned.
The condition that now causes a status value of -4 to be returned (address is in an
extensible extended data segment that cannot be extended) previously caused a status
value of -1 (invalid address) to be returned.
1522 Guardian Procedure Calls (W-Z)