Programming Interface Information:
This information is NOT
intended to be
used as Programming Interfaces of VM/ESA. It is to be used for diagnosis only. |
LABK
Cross Reference (Contains links to field and bit definitions)
LABK Prolog
NAME : HCPLABK DESCRIPTION: Map the Load Anchor Block DSECT : LABK STATUS : VM/ESA Version 2, Release 1.0 LOCATED BY : DLUBK.DLULABK LABK.LABFWD ESDBK.ESDBLABK CREATED BY : HCPCLO while processing CPXLOAD command DELETED BY : HCPCLO while processing CPXLOAD command REFERENCES : HCPICRBK - Indirect Call Request Block HCPSYMTB - Symbol Table Entry SERIALIZED : The Load Anchor Block is used to control CPXLOAD operations. CPXLOAD and CPXUNLOAD are serialized by the DLUBK.DLUCPXLK lock.
LABK Control Block Content
LABK DSECT
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure LABK Map the Load Anchor Block 0000 0 Dbl-Word 8 LABUSRD1 Reserved for non-IBM use 0008 8 Dbl-Word 8 LABUSRD2 Reserved for non-IBM use 0010 16 Signed 4 LABUSRF1 Reserved for non-IBM use 0014 20 Signed 4 LABUSRF2 Reserved for non-IBM use 0018 24 Signed 2 LABUSRH1 Reserved for non-IBM use 001A 26 Signed 2 LABUSRH2 Reserved for non-IBM use 001C 28 Bitstring 1 LABUSRX1 Reserved for non-IBM use 001D 29 Bitstring 1 LABUSRX2 Reserved for non-IBM use 001E 30 Bitstring 1 LABUSRX3 Reserved for non-IBM use 001F 31 Bitstring 1 LABUSRX4 Reserved for non-IBM use 0020 32 Character 32 LABFID (0) File being loaded 0020 32 Character 8 LABFIDFN File name to start loading 0028 40 Character 8 LABFIDFT File type to start loading 0030 48 Signed 2 LABFIDFM File mode to start loading 0032 50 Signed 2 * Reserved for future IBM use 0034 52 Address 4 * Reserved for future IBM use 0038 56 Character 8 LABFIDMB Member to start loading 0040 64 Address 4 LABFWD Address of the next LABK on the DLULABK chain of successful CPXLOAD operations 0044 68 Address 4 LABCTLEP Address of control ep for TYPE=DIRECT 0048 72 Character 8 LABID ID string for the CPXLOAD operation. This ID string is used in the CPXUNLOAD command to identify this CPXLOAD request. The format of LABID is explained in the descriptions of LABIDH and LABIDL. 0050 80 Character 16 LABCTL The control epname to call during CPXLOAD processing and before CPXUNLOAD processing. This field is defined like ICRBK 0060 96 Address 4 * (0) -(ICRSIZE*8)))) IEV075 will result if ICRSIZE*8 NE *-LAB CTL @P3714FM 0060 96 Dbl-Word 8 LABTOD TOD clock value when the CPXLOAD operation was initiated. 0068 104 Character 8 LABUID Userid (SYSTEM if performed by SYSTEM CONFIG processing) who initiated the CPXLOAD operation 0070 112 Address 4 LABBUFAD Address of I/O buffer. LABBUFAD points to GSDDATA in a GSDBK. Use the contents of LABBUFAD, back up by the value (GSDDATA-GSDBK), and that gives the base address of the GSDBK for passing to HCPSCCFG for parsing. LABBUFAD and LABBUFSZ are copied to their corresponding DRBK fields for each call to HCPZIGET. 0074 116 Address 4 LABBUFSZ Length of I/O buffer, in bytes 0078 120 Signed 4 * Reserved for future IBM use 007C 124 Address 4 LABDRBK Address of DRBK for loading file DRBBUFAD points to GSDDATA in a GSDBK. Use the contents of DRBBUFAD, back up by the value (GSDDATA-GSDBK), and that gives the base address of the GSDBK for passing to HCPSCCFG for parsing. 0080 128 Signed 4 LABMAXID Largest ESDID since last END. If the number of pages gotten for ESDID pointers (indicated by LABESDP#) can't hold this many ESDIDs, then more pages will be obtained. 0084 132 Signed 4 LABMSGNO Error message for HCPCONSL 0088 136 Signed 4 LABRC Final return code 008C 140 Address 4 LABGSDQ Address of 1st GSDBK in chain of error message GSDBKs 0090 144 Address 4 LABGSDQE Address of end GSDBK in chain of error message GSDBKs 0094 148 Address 4 LABWORDP Address of token causing error 0098 152 Signed 4 LABWORDL Length of token causing error 009C 156 Address 4 LABSUBTX Address of substitution text The length of the LABSYMTB field for BLOCKMAP is 20 00A0 160 Bitstring 0 LABSYMTB SYMTB entry when locating an external symbol during ad-con relocation. 00B4 180 Address 4 * (0) B)))) IEV075 will result if L'LABSYMTB NE 20 @P3714FM 00B4 180 Address 4 * Reserved for future IBM use 00B8 184 Address 4 LABESDQ1 Address of chain of ESDBKs built during processing of the present portion of TEXT stmts. 00BC 188 Address 4 LABESDQ2 Address of chain of ESDBKs built during processing of the prior portions of TEXT stmts. 00C0 192 Signed 4 * Reserved for future IBM use 00C4 196 Address 4 LABLDQ Address of chain of LD entries 00C8 200 Address 4 LABCHGQ Address of chain of CHGBKs 00CC 204 Address 4 LABRLDQ Address of chain of RLDBKs 00D0 208 Signed 4 * Reserved for future IBM use 00D4 212 Signed 2 * Reserved for future IBM use 00D6 214 Signed 2 LABESDP# How many pages for LABESDP 00D8 216 Address 4 LABESDP@ Pointer to 1 or more frames of 1024 addresses each, where the n-th pointer (n starts at 0) is the address of the ESDBK for ESDID n. If the ESDID exceeds 1023, then multiple contiguous frames will be obtained to contain all defined ESDIDs. But, 1023 should be enough for all but the must unusual situations. 00DC 220 Signed 4 LAB2PST Start record number for any required 2nd pass. To start the second pass, processing for the .END statement will place this value minus 1 into DRBRECNO of the top DRBK. Hence, the file that started the CSECT must be the same file that ends the CSECT, else DRBRECNO will point to some strange place in a different file. 00E0 224 Signed 4 LABUPBSZ UPB value from .UPB card 00E4 228 Address 4 LABESD0L Addr of ESDBK of 0 length Bit definitions in LABK.LABBF should match the bit definitions in LRBK.LRBBF. This is because these fields are frequently moved from one control block to the other. 00E8 232 Bitstring 4 LABBF (0) Flags 00E8 232 Bitstring 1 LABBF0 Options ...1 .... ICRESTA X'10' callee uses static savearea .... 1... ICRRMP X'08' caller MP capable .... .1.. ICRERES X'04' callee Resident .... ..1. ICREMP X'02' callee MP capable .... ...1 ICRTRC X'01' issue TRACE instruction 00E9 233 Bitstring 1 LABBF1 Flags EQU X'80' EQU X'40' EQU X'20' ...1 .... LABBF1TX X'10' TEXT record encountered .... 1... LABBF12P X'08' 2nd pass required .... .1.. LABBF1OC X'04' Outside CSECT .... ..1. LABBF1LT X'02' LDT, or eof, has occurred .... ...1 LABBF1ZZ X'01' fatal error 00EA 234 Bitstring 1 LABBF2 Options copied from LRBK.LRBBF2. These options would typically be from CPXLOAD, but anybody could allocate a Load Request Block (LRBK) and set LRBK.LRBBF2 bits as desired. 1... .... LRBBF2LT X'80' LET option .1.. .... LRBBF2NL X'40' NOLET option ..1. .... LRBBF2DL X'20' DELAY option ...1 .... LRBBF2ND X'10' NODELAY option .... 1... LRBBF2MP X'08' MP option .... .1.. LRBBF2UP X'04' NONMP option 00EB 235 Bitstring 1 LABBF3 Options copied from LRBK.LRBBF3. These options would typically be from CPXLOAD, but anybody could allocate a Load Request Block (LRBK) and set LRBK.LRBBF3 bits as desired. .1.. .... LRBBF3SY X'40' SYNC specified ..1. .... LRBBF3LK X'20' LOCK specified ...1 .... LRBBF3NL X'10' NOLOCK specified .... 1... LRBBF3CN X'08' CONTROL specified .... .1.. LRBBF3NC X'04' NOCONTROL specified .... ..1. LRBBF3PE X'02' PERMANENT specified .... ...1 LRBBF3TE X'01' TEMPORARY specified 00EC 236 Character 1 LABPAD Pad character (from .PAD) 00ED 237 Signed 1 LABPASSN In pass number 'n' 00EE 238 Bitstring 1 LABBF4 Options from the OPTIONS directive. These options are the actual values from LRBK.LRBBF2 if specified, or from the OPTIONS statement otherwise. LRBK.LRBBF2 bits will not be changed by anything on the OPTIONS statement. 1... .... LRBBF2LT X'80' LET option .1.. .... LRBBF2NL X'40' NOLET option ..1. .... LRBBF2DL X'20' DELAY option ...1 .... LRBBF2ND X'10' NODELAY option .... 1... LRBBF2MP X'08' MP option .... .1.. LRBBF2UP X'04' NONMP option 00EF 239 Bitstring 1 LABBF5 Options from the OPTIONS directive. These options are the actual values from LRBK.LRBBF3 if specified, or from the OPTIONS statement otherwise. LRBK.LRBBF3 bits will not be changed by anything on the OPTIONS statement. .1.. .... LRBBF3SY X'40' SYNC specified ..1. .... LRBBF3LK X'20' LOCK specified ...1 .... LRBBF3NL X'10' NOLOCK specified .... 1... LRBBF3CN X'08' CONTROL specified .... .1.. LRBBF3NC X'04' NOCONTROL specified .... ..1. LRBBF3PE X'02' PERMANENT specified .... ...1 LRBBF3TE X'01' TEMPORARY specified 00F0 240 Address 4 LABBASSD ESDBK addr of current base SD or PC 00F4 244 Signed 4 * Reserved for future IBM use 00F8 248 Dbl-Word 8 LAB$END (0) The end 0048 72 Signed 4 LABIDH If the ID was assigned by CPXLOAD, then this high order word of the ID field LABID will be binary zero. If the ID was assigned by the user, then this high order word of the ID field LABID will be the first 4 characters of the ID. 004C 76 Signed 4 LABIDL If the ID was assigned by CPXLOAD, then this low order word of the ID field LABID will be the binary ID value. If the ID was assigned by the user, then this low order word of the ID field LABID will be the second 4 characters of the ID.
LABK Storage Layout
*** LABK - Map the Load Anchor Block * * +-------------------------------------------------------+ * 0 | LABUSRD1 | * +-------------------------------------------------------+ * 8 | LABUSRD2 | * +---------------------------+---------------------------+ * 10 | LABUSRF1 | LABUSRF2 | * +-------------+-------------+------+------+------+------+ * 18 | LABUSRH1 | LABUSRH2 |:USRX1|:USRX2|:USRX3|:USRX4| * +-------------+-------------+------+------+------+------+ * 20 | LABFIDFN | * +-------------------------------------------------------+ * 28 | LABFIDFT | * +-------------+-------------+---------------------------+ * 30 | LABFIDFM |/////////////|///////////////////////////| * +-------------+-------------+---------------------------+ * 38 | LABFIDMB | * +---------------------------+---------------------------+ * 40 | LABFWD | LABCTLEP | * +---------------------------+---------------------------+ * 48 | LABID | * +-------------------------------------------------------+ * 50 | LABCTL | * | | * +-------------------------------------------------------+ * 60 | LABTOD | * +-------------------------------------------------------+ * 68 | LABUID | * +---------------------------+---------------------------+ * 70 | LABBUFAD | LABBUFSZ | * +---------------------------+---------------------------+ * 78 |///////////////////////////| LABDRBK | * +---------------------------+---------------------------+ * 80 | LABMAXID | LABMSGNO | * +---------------------------+---------------------------+ * 88 | LABRC | LABGSDQ | * +---------------------------+---------------------------+ * 90 | LABGSDQE | LABWORDP | * +---------------------------+---------------------------+ * 98 | LABWORDL | LABSUBTX | * +---------------------------+---------------------------+ * A0 | | * = LABSYMTB = * | +---------------------------+ * B0 | |///////////////////////////| * +---------------------------+---------------------------+ * B8 | LABESDQ1 | LABESDQ2 | * +---------------------------+---------------------------+ * C0 |///////////////////////////| LABLDQ | * +---------------------------+---------------------------+ * C8 | LABCHGQ | LABRLDQ | * +---------------------------+-------------+-------------+ * D0 |///////////////////////////|/////////////| LABESDP# | * +---------------------------+-------------+-------------+ * D8 | LABESDP@ | LAB2PST | * +---------------------------+---------------------------+ * E0 | LABUPBSZ | LABESD0L | * +------+------+------+------+------+------+------+------+ * E8 |LABBF0|LABBF1|LABBF2|LABBF3|LABPAD|:PASSN|LABBF4|LABBF5| * +------+------+------+------+------+------+------+------+ * F0 | LABBASSD |///////////////////////////| * +---------------------------+---------------------------+ * F8 | | * = LAB$END = * | | * +-------------------------------------------------------+ * *** LABK - Map the Load Anchor Block *** Overlay for LABID in LABK * * +---------------------------+---------------------------+ * 48 | LABIDH | LABIDL | * +---------------------------+---------------------------+ * 50 * *** Overlay for LABID in LABK
LABK Cross Reference
(contains links to field and bit definitions)Symbol Dspl Value -------------- ---- -----ICREMP 00E8 02
ICRERES 00E8 04
ICRESTA 00E8 10
ICRRMP 00E8 08
ICRTRC 00E8 01
LAB$END 00F8
LABBASSD 00F0
LABBF 00E8
LABBF0 00E8
LABBF1 00E9
LABBF1LT 00E9 02
LABBF1OC 00E9 04
LABBF1TX 00E9 10
LABBF1ZZ 00E9 01
LABBF12P 00E9 08
LABBF2 00EA
LABBF3 00EB
LABBF4 00EE
LABBF5 00EF
LABBUFAD 0070
LABBUFSZ 0074
LABCHGQ 00C8
LABCTL 0050
LABCTLEP 0044
LABDRBK 007C
LABESDP# 00D6
LABESDP@ 00D8
LABESDQ1 00B8
LABESDQ2 00BC
LABESD0L 00E4
LABFID 0020
LABFIDFM 0030
LABFIDFN 0020
LABFIDFT 0028
LABFIDMB 0038
LABFWD 0040
LABGSDQ 008C
LABGSDQE 0090
LABID 0048
LABIDH 0048
LABIDL 004C
LABLDQ 00C4
LABMAXID 0080
LABMSGNO 0084
LABPAD 00EC
LABPASSN 00ED
LABRC 0088
LABRLDQ 00CC
LABSUBTX 009C
LABSYMTB 00A0
LABTOD 0060
LABUID 0068
LABUPBSZ 00E0
LABUSRD1 0000
LABUSRD2 0008
LABUSRF1 0010
LABUSRF2 0014
LABUSRH1 0018
LABUSRH2 001A
LABUSRX1 001C
LABUSRX2 001D
LABUSRX3 001E
LABUSRX4 001F
LABWORDL 0098
LABWORDP 0094
LAB2PST 00DC
LRBBF2DL 00EA 20
LRBBF2DL 00EE 20
LRBBF2LT 00EA 80
LRBBF2LT 00EE 80
LRBBF2MP 00EA 08
LRBBF2MP 00EE 08
LRBBF2ND 00EA 10
LRBBF2ND 00EE 10
LRBBF2NL 00EA 40
LRBBF2NL 00EE 40
LRBBF2UP 00EA 04
LRBBF2UP 00EE 04
LRBBF3CN 00EB 08
LRBBF3CN 00EF 08
LRBBF3LK 00EB 20
LRBBF3LK 00EF 20
LRBBF3NC 00EB 04
LRBBF3NC 00EF 04
LRBBF3NL 00EB 10
LRBBF3NL 00EF 10
LRBBF3PE 00EB 02
LRBBF3PE 00EF 02
LRBBF3SY 00EB 40
LRBBF3SY 00EF 40
LRBBF3TE 00EB 01
LRBBF3TE 00EF 01
Last updated on 3 Aug 1999 at 12:07:52 EDT.
Copyright IBM Corporation, 1990, 1999