LABK | Back to Index page

| Prolog Control Block Contents LABK DSECT Storage Layout Cross Reference (Contains links to field and bit definitions) |
Programming Interface Information: This information is NOT intended to be used as Programming Interfaces of z/VM.

LABK Prolog | Top of page

     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 | Top of page

     LABK DSECT
    Top of page

    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 | Top of page

    *** 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 | Top of page

    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 7.2.0 Last updated on 24 Jun 2020 at 09:28:47 EDT.
Copyright IBM Corporation, 1990, 2020