$BERT mapping

Table 1. Structure BERT
Offset
Dec
Offset
Hex
Type Len Name(Dim) Description
0 (0) STRUCTURE 0 BERT , Block Extension Reuse Table
0 (0) X'1' 0  BERTVERS "1" BERT version number
0 (0) BITSTRING 4  BRTWALLY(0) Composite of TYPE and CB
0 (0) BITSTRING 1  BRTTYPE Control block type
0 (0) X'0' 0  BRTINT "$DGBINT" Internal control block
0 (0) X'1' 0  BRTJQE "$DGBJQE" JQE extension
0 (0) X'2' 0  BRTCAT "$DGBCAT" Class attribute table
0 (0) X'3' 0  BRTWSCQ "$DGBWSCQ" WLM service class queue
      1111 1111  BRTFREE "X'FF'" Free BERT
1 (1) BITSTRING 3  BRTCB Related control block index
4 (4) BITSTRING 1  BRTSEQ Sequence number
5 (5) BITSTRING 3  BRTNEXT Next BERT in CB chain
8 (8) BITSTRING 2 Reserved for future use
8 (8) X'A' 0  BRTPRLEN "*-BERT" Length of BERT prefix
10 (A) BITSTRING 54  BRTDATA Data area for BERTIEs
10 (A) X'40' 0  BRTLEN "*-BERT" Total size of a BERT
         Special wally values for internal BERTs used by the
         DOGBERT service internally.
      .... ....  BRTWYDYN "X'00000000'" Wally for dynamic heads (BRTPBERT.BRTNEXT chain)
10 (A) BITSTRING 0  BRTWYNAM "X'00001000'" Named internal CBs header (BRTPINTH chain)
10 (A) BITSTRING 0  BRTWYNIB "X'00800000'" Named internal CBs combined with CB number
Table 2. Structure BERTIE
Offset
Dec
Offset
Hex
Type Len Name(Dim) Description
0 (0) STRUCTURE 0 BERTIE , BERT information element
0 (0) BITSTRING 1  BRTIID Section identifier
      1111 111.  BRTIICNT "X'FE'" Continued in next BERT
      1111 1111  BRTIIEND "X'FF'" End of BERTIEs
1 (1) BITSTRING 1  BRTILEN Length of BERTIE data (does not include this prefix)
1 (1) X'2' 0  BRTIPLEN "*-BERTIE" Prefix area length
2 (2) BITSTRING 1  BRTIDATA(0) Start of actual data
Table 3. Structure BERTI0
Offset
Dec
Offset
Hex
Type Len Name(Dim) Description
0 (0) STRUCTURE 0 BERTI0 , Type 0 BERTIE
0 (0) BITSTRING 1  BRT0LOCK Lock byte (QSESIBSY value)
1 (1) BITSTRING 1  BRT0FLG0 Type 0 flag byte
      1111 ....  BRT0USEQ "B'11110000'" Update sequence counter (4 bit count)
1 (1) X'2' 0  BRT0LEN1 "*-BERTI0" Minimum type 0 BERTIE
2 (2) BITSTRING 1  BRT0FLAG General flags for chaining
3 (3) BITSTRING 3  BRT0NXT1 1st CB chain field
6 (6) BITSTRING 3  BRT0NXT2 2nd CB chain field
9 (9) BITSTRING 1  BRT0KEY(0) Search key
9 (9) X'9' 0  BRT0LEN2 "*-BERTI0" Size with search key (plus key len)
Table 4. Structure BRTPREF
Offset
Dec
Offset
Hex
Type Len Name(Dim) Description
0 (0) STRUCTURE 0 BRTPREF , BERT CTENT prefix area
0 (0) BITSTRING 10  BRTPBERT Start with a standard prefix
10 (A) SIGNED 2  BRTPLEN Size of BERT prefix
12 (C) SIGNED 4  BRTPFREE Index of 1st free BERT
16 (10) SIGNED 4  BRTPFNUM Number of free BERTs
20 (14) SIGNED 4  BRTPMAP BERT token for NAME to ID map
24 (18) BITSTRING 1  BRTPMXTY Max known BERT type
25 (19) BITSTRING 3 Reserved for future use
28 (1C) SIGNED 4   (2) Reserved for future use
         BERT queue heads. There is one per entry even if
         they are not used. These must be in the same order
         as the ID number of control blocks.
28 (1C) X'0' 0  BRTPQHED "0,4,C'F'" Queue head part of entry
28 (1C) X'4' 0  BRTPQHNM "4,4,C'F'" Number of elements on queue
28 (1C) X'8' 0  BRTPQHDL "8"
36 (24) SIGNED 4  BRTPQHDS(0) --+ Start of queue heads
36 (24) SIGNED 4  BRTPJQE | First JQE BERT (not used)
40 (28) SIGNED 4  BRTPJQEN | Number of JQEs (not used)
44 (2C) SIGNED 4  BRTPCAT | First CAT BERT
48 (30) SIGNED 4  BRTPCATN | Number of CATs defined
52 (34) SIGNED 4  BRTPWSCQ | First WSCQ BERT
56 (38) SIGNED 4  BRTPWSCN --+ Number of WSCQs defined
56 (38) X'3' 0  BRTPQHDN "(*-BRTPQHDS)/BRTPQHDL" Number of queue heads
56 (38) X'3' 0  BRTPQHMX "(*-BRTPQHDS)/BRTPQHDL" Max queue heads
         BRTPINTH is a pointer to a chain of BERTs that
         represents the internal named BERT pointer
         structure. Named internal BERTs each have a number
         assigned using the BERTMAP and that number indexes
         into this structure. The 0th entry in the pointer
         structure is not used.
60 (3C) SIGNED 4  BRTPINTH Named internal BERT pointer structure
60 (3C) X'40' 0  BRTPSIZE "*-BRTPREF" Size of prefix area
64 (40) ADDRESS 2   (0) Verify size
Table 5. Structure BRTMAP
Offset
Dec
Offset
Hex
Type Len Name(Dim) Description
0 (0) STRUCTURE 0 BRTMAP , BERTIE name to ID table
0 (0) CHARACTER 8  BRTMNAME Name of BERTIE (A value of all FF indicates end of table)
8 (8) BITSTRING 1  BRTMTYPE Control block type (see BRTTYPE for a list of valid values)
9 (9) BITSTRING 1  BRTMID ID assigned to this BERTIE name
10 (A) BITSTRING 2 Reserved
12 (C) SIGNED 4   (2) Reserved for future use
12 (C) X'14' 0  BRTMLEN "*-BRTMAP" Length of map entry
Table 6. Structure BRTCNT
Offset
Dec
Offset
Hex
Type Len Name(Dim) Description
0 (0) STRUCTURE 0 BRTCNT , BERT count array
0 (0) CHARACTER 8  BRTCNAME Name of BERT entry
8 (8) BITSTRING 1  BRTCID Control block type
9 (9) BITSTRING 1  BRTCFLG1 Flag bytes
      1... ....  BRTCF1DF "B'10000000'" BERTTAB found
10 (A) BITSTRING 2 Reserved
12 (C) SIGNED 4  BRTCMAIN Sequence one BERT count
16 (10) SIGNED 4  BRTCNUM Total BERT count
20 (14) ADDRESS 4  BRTCTRAN BRTRANS table pointer for CB type - main task only
20 (14) X'18' 0  BRTCLEN "*-BRTCNT" Size of an entry
20 (14) X'1800' 0  BRTCSIZE "BRTCLEN*256" Size of a full array
Table 7. Cross Reference for $BERT
Name Offset Hex Tag
BERT 0
BERTIE 0
BERTI0 0
BERTVERS 0 1
BRTCAT 0 2
BRTCB 1
BRTCFLG1 9
BRTCF1DF 9 80
BRTCID 8
BRTCLEN 14 18
BRTCMAIN C
BRTCNAME 0
BRTCNT 0
BRTCNUM 10
BRTCSIZE 14 1800
BRTCTRAN 14
BRTDATA A
BRTFREE 0 FF
BRTIDATA 2
BRTIICNT 0 FE
BRTIID 0
BRTIIEND 0 FF
BRTILEN 1
BRTINT 0 0
BRTIPLEN 1 2
BRTJQE 0 1
BRTLEN A 40
BRTMAP 0
BRTMID 9
BRTMLEN C 14
BRTMNAME 0
BRTMTYPE 8
BRTNEXT 5
BRTPBERT 0
BRTPCAT 2C
BRTPCATN 30
BRTPFNUM 10
BRTPFREE C
BRTPINTH 3C
BRTPJQE 24
BRTPJQEN 28
BRTPLEN A
BRTPMAP 14
BRTPMXTY 18
BRTPQHDL 1C 8
BRTPQHDN 38 3
BRTPQHDS 24
BRTPQHED 1C 0
BRTPQHMX 38 3
BRTPQHNM 1C 4
BRTPREF 0
BRTPRLEN 8 A
BRTPSIZE 3C 40
BRTPWSCN 38
BRTPWSCQ 34
BRTSEQ 4
BRTTYPE 0
BRTWALLY 0
BRTWSCQ 0 3
BRTWYDYN A 0
BRTWYNAM A 1000
BRTWYNIB A 800000
BRT0FLAG 2
BRT0FLG0 1
BRT0KEY 9
BRT0LEN1 1 2
BRT0LEN2 9 9
BRT0LOCK 0
BRT0NXT1 3
BRT0NXT2 6
BRT0USEQ 1 F0