Guardian Procedure Calls Reference Manual

LASTADDRX Procedure (Superseded by ADDRESS_DELIMIT[64]_
Procedures)
Summary
Syntax for C Programmers
Syntax for TAL Programmers
Parameter
Returned Value
Example
Summary
NOTE: This procedure cannot be called by native processes. Although this procedure is supported
for TNS processes, it should not be used for new development.
The LASTADDRX procedure allows user programs to check stack limits or parameter addresses.
LASTADDRX returns the last extended address available in the specified relative segment. A
selectable extended data segment must be currently addressable (that is, a call to USESEGMENT
must have been made for this segment). You can use LASTADDR with 16-bit addresses and
LASTADDRX with 32-bit addresses, so both the last address and the last extended address are
available to your program to check stack limits or parameter addresses.
Syntax for C Programmers
#include <cextdecs(LASTADDRX)>
__int32_t LASTADDRX ( [ short seg ] );
CEXTDECS (through the included file TNSINTH) defines 32-bit values as the typedef
__int32_t, which for TNS and TNS/R compiles is defined as long and for TNS/E compiles
is defined as int.
Syntax for TAL Programmers
last-addr := LASTADDRX ( [ seg ] ); ! i
Parameter
seg
input
INT:value
specifies the relative segment number of the segment of interest. Valid values are:
User data0
If privileged, it is system data; if not, it is user data1
Current code2
User code3
Selectable extended data segment. This value is the segment number portion (bits <0:14>) of the
segment's address.
4-1023
If this parameter is omitted, 0 is used.
LASTADDRX Procedure (Superseded by ADDRESS_DELIMIT[64]_ Procedures) 761