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

Prolog  

Control Block Contents  

LABK DSECT

Storage Layout  

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


This information is based on VM/ESA 2.4.0.
Last updated on 3 Aug 1999 at 12:07:52 EDT.
Copyright IBM Corporation, 1990, 1999