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

#### CMPBK

Prolog

Control Block Contents
CMPBK DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### CMPBK Prolog

     NAME       : HCPCMPBK
     DESCRIPTION: Component Id Block
     DSECT      : CMPBK
     FUNCTION   : The Component Id Block is used by customers and
                  vendors as an anchor for whatever they want.
     LOCATED BY : XCTBK.XCTCMPAD
                  CMPBK.CMPFWD
     CREATED BY : HCPZXCAC, called by HCPXSERV ALLOCATE
     DELETED BY : HCPZXCDC, called by HCPXSERV DEALLOCATE
     REFERENCES : None
     SERIALIZED : Changes to the chain of CMPBKs are typically done
                  by HCPZXU under the exclusive lock XCTCMPLK.
                  Searches of the chain of CMPBKs are typically done
                  by HCPZXU under the shared lock XCTCMPLK.
                  Changes to the contents of CMPBKs are typically done
                  under the control of user code.  The CMPBKLK is
                  provided for serialization to the contents of the CMPBK.
                  Control over the CMPBKLK should be by means of the
                  HCPXSERV macro operands LOCKEXCL, LOCKSHR, etc.

#### CMPBK Control Block Content

#### CMPBK DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      CMPBK          Component Id Block
           The IBM fields should remain at the front of the block
    0000    0 Dbl-Word     8 CMPBKLK (3)    Lock word to serialize access to
                                            this CMPBK
    0018   24 Address      4 CMPFWD         Address of the next CMPBK
    001C   28 Signed       1 CMPEXTNQ       Size of extension at CMPEXTND in
                                            Number of Quad-words. The maximum
                                            allowed value for CMPEXTNQ is
                                            240, which gives a maximum size
                                            for a CMPBK of
                                        x'60' + 240*16 = 3936 bytes
                                     which allows for a little
                                     growth up to 4072 bytes.
    001D   29 Character    3 CMPID          The component Id
    0020   32 Character    8 *              Reserved for IBM use
    0028   40 Character    8 *              Reserved for IBM use
    0030   48 Character    8 *              Reserved for IBM use
    0038   56 Character    8 *              Reserved for IBM use
           The user fields should remain at the  end  of the block
    0040   64 Dbl-Word     8 CMPUSRD1       Reserved for non-IBM use
    0048   72 Dbl-Word     8 CMPUSRD2       Reserved for non-IBM use
    0050   80 Signed       4 CMPUSRF1       Reserved for non-IBM use
    0054   84 Signed       4 CMPUSRF2       Reserved for non-IBM use
    0058   88 Signed       2 CMPUSRH1       Reserved for non-IBM use
    005A   90 Signed       2 CMPUSRH2       Reserved for non-IBM use
    005C   92 Bitstring    1 CMPUSRX1       Reserved for non-IBM use
    005D   93 Bitstring    1 CMPUSRX2       Reserved for non-IBM use
    005E   94 Bitstring    1 CMPUSRX3       Reserved for non-IBM use
    005F   95 Bitstring    1 CMPUSRX4       Reserved for non-IBM use
    0060   96 Dbl-Word     8 CMPEXTND (0)   Start of variable length data The
                                            CMPBK may be extended at
                                            allocation time in units of
                                            quad-words (16 bytes)
              00000060       CMPBSIZE       *-CMPBK Size of CMPBK in bytes
              0000000C       CMPSIZE        (*-CMPBK+7)/8 Size in double
                                            words

#### CMPBK Storage Layout

    *** CMPBK - Component Id Block
    *
    *     +-------------------------------------------------------+
    *   0 |                                                       |
    *     =                       CMPBKLK                         =
    *     |                                                       |
    *     +---------------------------+------+--------------------+
    *  18 |          CMPFWD           |:EXTNQ|       CMPID        |
    *     +---------------------------+------+--------------------+
    *  20 |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    *  28 |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    *  30 |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    *  38 |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    *  40 |                       CMPUSRD1                        |
    *     +-------------------------------------------------------+
    *  48 |                       CMPUSRD2                        |
    *     +---------------------------+---------------------------+
    *  50 |         CMPUSRF1          |         CMPUSRF2          |
    *     +-------------+-------------+------+------+------+------+
    *  58 |  CMPUSRH1   |  CMPUSRH2   |:USRX1|:USRX2|:USRX3|:USRX4|
    *     +-------------+-------------+------+------+------+------+
    *
    *** CMPBK - Component Id Block

#### CMPBK Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    CMPBKLK        0000
    CMPBSIZE       0060 00000060
    CMPEXTND       0060
    CMPEXTNQ       001C
    CMPFWD         0018
    CMPID          001D
    CMPSIZE        0060 0000000C
    CMPUSRD1       0040
    CMPUSRD2       0048
    CMPUSRF1       0050
    CMPUSRF2       0054
    CMPUSRH1       0058
    CMPUSRH2       005A
    CMPUSRX1       005C
    CMPUSRX2       005D
    CMPUSRX3       005E
    CMPUSRX4       005F

This information is based on z/VM V6R1.0. Last updated on 18 Feb 2010 at 08:28:19 EDT.
Copyright IBM Corporation, 1990, 2008