Programming Interface Information: This information is NOT intended to be
used as Programming Interfaces of z/VM.

LABK

Prolog
Control Block Contents
LABK DSECT
Storage Layout
Cross Reference

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.

 

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.
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' Caller is LONGREG
          ..1. ....      ICRELONG       X'20' Callee is LONGREG
          ...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
          ...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          |///////////////////////////|
*     +---------------------------+---------------------------+
*
*** 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

This information is based on z/VM V3R1.0.
Last updated on 4 Apr 2001 at 09:38:14 EDT.
Copyright IBM Corporation, 1990, 2001