Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
LABK
Control Block Contents
LABK DSECT
Cross Reference (Contains links to field and bit definitions)
LABK Prolog
NAME : HCPLABK DESCRIPTION: Map the Load Anchor Block DSECT : LABK 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. RELOCATION CONSIDERATIONS : None
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 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. This may be backed anywhere in storage since format 2 IDAW lists will be used. 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 20 LABSYMTB SYMTB entry when locating an external symbol during ad-con relocation. 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.. .... ICRRLONG X'40' ICRRLONG Caller is LONGREG ..1. .... ICRELONG X'20' ICRELONG Callee is LONGREG ...1 .... ICRESTA X'10' ICRESTA callee uses static savearea .... 1... ICRRMP X'08' ICRRMP caller MP capable .... .1.. ICRERES X'04' ICRERES callee Resident .... ..1. ICREMP X'02' ICREMP callee MP capable .... ...1 ICRTRC X'01' ICRTRC issue TRACE instruction 00E9 233 Bitstring 1 LABBF1 Flags ...1 .... LABBF1TX X'10' LABBF1TX TEXT record encountered .... 1... LABBF12P X'08' LABBF12P 2nd pass required .... .1.. LABBF1OC X'04' LABBF1OC Outside CSECT .... ..1. LABBF1LT X'02' LABBF1LT LDT, or eof, has occurred .... ...1 LABBF1ZZ X'01' LABBF1ZZ 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' LRBBF2LT LET option .1.. .... LRBBF2NL X'40' LRBBF2NL NOLET option ..1. .... LRBBF2DL X'20' LRBBF2DL DELAY option ...1 .... LRBBF2ND X'10' LRBBF2ND NODELAY option .... 1... LRBBF2MP X'08' LRBBF2MP MP option .... .1.. LRBBF2UP X'04' LRBBF2UP 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' LRBBF3SY SYNC specified ..1. .... LRBBF3LK X'20' LRBBF3LK LOCK specified ...1 .... LRBBF3NL X'10' LRBBF3NL NOLOCK specified .... 1... LRBBF3CN X'08' LRBBF3CN CONTROL specified .... .1.. LRBBF3NC X'04' LRBBF3NC NOCONTROL specified .... ..1. LRBBF3PE X'02' LRBBF3PE PERMANENT specified .... ...1 LRBBF3TE X'01' LRBBF3TE 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' LRBBF2LT LET option .1.. .... LRBBF2NL X'40' LRBBF2NL NOLET option ..1. .... LRBBF2DL X'20' LRBBF2DL DELAY option ...1 .... LRBBF2ND X'10' LRBBF2ND NODELAY option .... 1... LRBBF2MP X'08' LRBBF2MP MP option .... .1.. LRBBF2UP X'04' LRBBF2UP 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' LRBBF3SY SYNC specified ..1. .... LRBBF3LK X'20' LRBBF3LK LOCK specified ...1 .... LRBBF3NL X'10' LRBBF3NL NOLOCK specified .... 1... LRBBF3CN X'08' LRBBF3CN CONTROL specified .... .1.. LRBBF3NC X'04' LRBBF3NC NOCONTROL specified .... ..1. LRBBF3PE X'02' LRBBF3PE PERMANENT specified .... ...1 LRBBF3TE X'01' LRBBF3TE 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 |///////////////////////////| * +---------------------------+---------------------------+ * *** LABK - Map the Load Anchor Block *** Overlay for LABID in LABK * * +---------------------------+---------------------------+ * 48 | LABIDH | LABIDL | * +---------------------------+---------------------------+ * 50 * *** Overlay for LABID in LABK
LABK Cross Reference
Symbol Dspl Value -------------- ---- ----- ICRELONG 00E8 20 ICREMP 00E8 02 ICRERES 00E8 04 ICRESTA 00E8 10 ICRRLONG 00E8 40 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
Copyright IBM Corporation, 1990, 2011