$TRX mapping

Table 1. Structure TRX
Offset
Dec
Offset
Hex
Type Len Name(Dim) Description
0 (0) STRUCTURE 0 TRX Beginning of the TRX DSECT
0 (0) CHARACTER 4  TRXID Eyecatcher of TRX
4 (4) ADDRESS 1  TRXVRSN Version field of the TRX
4 (4) X'3' 0  TRXVRNUM "3" Current version
5 (5) BITSTRING 1  TRXRCVRY Current recovery level
6 (6) BITSTRING 1  TRXRECNM Number of $ERRORs issued
7 (7) BITSTRING 1  TRXFLAG1 Flag byte 1
      1... ....  TRX1SSI "B'10000000'" TRX represents ESTAE established by $SSIBEGN
      .1.. ....  TRX1ESTA "B'01000000'" TRX represents ESTAE established by $ESTAE
      ..1. ....  TRX1ESTE "B'00100000'" Associated ESTAE is established
      ...1 ....  TRX1RCVY "B'00010000'" In use by RECOVERY - If this bit is on when cancel, percolated
      .... 1...  TRX1PERC "B'00001000'" Percolation required - this flag is for use by $ESTAE recovery exits
      .... .1..  TRX1NDMP "B'00000100'" Suppress dump
      .... ..1.  TRX1RECY "B'00000010'" This is temporary recovery TRX
8 (8) ADDRESS 4  TRXRECAD Address of recovery exit
12 (C) ADDRESS 4  TRXRADDR Retry address vector - 2 byte cnt followed by 4 byte addrs
16 (10) ADDRESS 4  TRXTOKEN ESTAE token for this ESTAE
20 (14) ADDRESS 4  TRXPREV Address of previous TRX
24 (18) ADDRESS 4  TRXTRE Address of TRE for this TRX
28 (1C) ADDRESS 4  TRXUSER1 User field 1
32 (20) ADDRESS 4  TRXUSER2 User field 2
         Next comes a caller address array. This is a 25x16 byte
         array, with header fields, used to save the addresses
         of the caller of a routine which issues a $SAVE macro.
         This array is used to determine the sequence of calls
         both for dump analysis, as well as for the $HASP088
         message, in the (unlikely?) event that the JES2 Main
         Task blows up while executing code in the user
         environment.
36 (24) ADDRESS 4  TRXNEXTN Entry in caller addr array
36 (24) X'19' 0  TRXNUMEN "25" Number of entries in array
36 (24) X'10' 0  TRXCLRLN "L'TRXCLRAR" Length of a single entry
36 (24) X'0' 0  TRXCLRAD "0,4,C'A'" Address of caller of routine
36 (24) X'4' 0  TRXCLRNM "4,4,C'A'" Address of called routine name
36 (24) X'8' 0  TRXCLRLS "8,4,C'F'" Linkage stack pointer
36 (24) X'C' 0  TRXCLREX "12,1,C'X'" Exit number
40 (28) BITSTRING 16  TRXCLRAR(0) Caller array
40 (28) X'28' 0  TRXESTAE "TRXCLRAR,16*TRXNUMEN" Work area for ESTAEX
         Up to 32 bytes of debugging data (for example, a
         textual footprint) can be stored in field TRXTRACK.
         The RECOVERY routine in HASCLINK records the contents
         of this field in the variable recording area (VRA).
         The actual length of the data must be set in field
         TRXLOGLN.
440 (1B8) CHARACTER 32  TRXTRACK Area for debugging data
472 (1D8) SIGNED 2  TRXTRACL(0) Length of debugging data
472 (1D8) SIGNED 1  TRXLOGWK Upper byte of length (0)
473 (1D9) SIGNED 1  TRXLOGLN Length of data (0-32)
474 (1DA) BITSTRING 2 Reserved
476 (1DC) SIGNED 4  TRXLSAD Linkage stack address TRX was created
         Registers are saved when the $ESTAE is established in
         the user environment.
480 (1E0) SIGNED 4  TRXGRSAV(16) Low half general registers at time of $ESTAE invocation
544 (220) SIGNED 4  TRXGRHSV(16) High half general registers at time of $ESTAE invocation
608 (260) SIGNED 4  TRXARSAV(16) Access register save area at time of $ESTAE invocation
672 (2A0) SIGNED 4  TRXECBTR ECB used to WAIT forever
672 (2A0) X'2A4' 0  TRXLEN "*-TRX"
Table 2. Cross Reference for $TRX
Name Offset Hex Tag
TRX 0
TRXARSAV 260
TRXCLRAD 24 0
TRXCLRAR 28
TRXCLREX 24 C
TRXCLRLN 24 10
TRXCLRLS 24 8
TRXCLRNM 24 4
TRXECBTR 2A0
TRXESTAE 28 28
TRXFLAG1 7
TRXGRHSV 220
TRXGRSAV 1E0
TRXID 0 E3D9E740
TRXLEN 2A0 2A4
TRXLOGLN 1D9
TRXLOGWK 1D8 0
TRXLSAD 1DC
TRXNEXTN 24
TRXNUMEN 24 19
TRXPREV 14
TRXRADDR C
TRXRCVRY 5
TRXRECAD 8
TRXRECNM 6
TRXTOKEN 10
TRXTRACK 1B8
TRXTRACL 1D8
TRXTRE 18
TRXUSER1 1C
TRXUSER2 20
TRXVRNUM 4 3
TRXVRSN 4
TRX1ESTA 7 40
TRX1ESTE 7 20
TRX1NDMP 7 4
TRX1PERC 7 8
TRX1RCVY 7 10
TRX1RECY 7 2
TRX1SSI 7 80