![]() Chapter Contents |
![]() Previous |
![]() Next |
SAS/C Software: Changes and Enhancements, Release 6.50 |
The program invocation exit is invoked using standard IBM linkage conventions. Any registers used by the routine should be saved (the standard save area addressed by register 13 can be used for this) and restored on exit. You should write the exit so that it can be entered in AMODE 31; however, it always starts in the same addressing mode as the remote debugger's first load module.
When the program invocation exit receives control, register 1 points to the following parameter block.
Offset | Description |
---|---|
0 | Address of null-terminated string for the
_DB_COMM environment variable value. This value indicates the debugger communications access method and will be "APPC", "TCPIP", or the
"TCPIP_xxx" variant. |
4 | Address of null-terminated string for the
_DB_HOST (TCP/IP) or
_DB_LU (APPC) environment variable value. |
8 | Address of null-terminated string for the
_DB_PORT (TCP/IP) or
_DB_TP (APPC) environment variable value. |
12 | Address of area mapped by C
struct RDBG_RUNOPTS or assembler
RDBGOPTS DSECT . |
16 | Address of the value from CRABUSR1 (CRAB user word1). |
20 | Address of the value from CRABUSR2 (CRAB user word2). |
24 | Address of the value from CRABUSR3 (CRAB user word3). |
28 | Address of the value from CRABTUSR (CRAB user word4). |
Offset 12
addresses the area mapped by the
RDBGOPTS DSECT
shown in RDBGOPTS DSECT Mapping . This DSECT is created from the runtime options specified
when
SASCDBG
is invoked, and provides access to the name of the program to be debugged, its runtime arguments, and the program invocation method (
fork
,
oeattach
,
ATTACH
, manual).
RDBGOPTS DSECT Mapping SPACE 3 RDBGOPTS DSECT RDBBPNAM DS A Address of program name to be invoked RDBGARGS DS A Address of runtime arguments passed to program * DS XL2 --Reserved RDBGOPTF DS XL1 Option flag RDBGSUPD EQU X'01' Suppress automatic =D runtime arg insertion RDBGDBTN EQU X'02' Intercept OpenEdition Terminal I/O * RDBGINVM DS XL1 Request invocation method for program RDBGMANU EQU X'00' Manual invocation RDBGFORK EQU X'01 Via OpenEdition fork and exec services RDBGOEAT EQU X'02' Via OpenEdition/TSO OEATTACH service RDBGATTA EQU X'03' Via MVS ATTACH * DS 0D RDBGOLEN EQU *-RDBGOPTS Length of DSECT
Offsets 16, 20, 24, and 28 address CRAB user words one through four, respectively. The CRAB user words are the remote debugger's CRAB, since the program being debugged has not yet received control. You can modify the CRAB user words by replacing the values in the parameter block. When the program invocation exit returns, the new values will be copied into the debugger's CRAB.
You can also modify other information in the
RDBGOPTS DSECT
to affect later debugger invocation processing.
The program invocation exit must return one of the values described in section Return Codes . These return codes are used by exit routines written in both assembly language and C.
![]() Chapter Contents |
![]() Previous |
![]() Next |
![]() Top of Page |
Copyright © Mon Mar 9 09:11:22 EST 1998 by SAS Institute Inc., Cary, NC, USA. All rights reserved.