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 V5R3.0. Last updated on 25 Jun 2007 at 16:09:00 EDT.
Copyright IBM Corporation, 1990, 2007