DRMBK - 32-bit CP - V4R4.0

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

#### DRMBK

Prolog

Control Block Contents
DRMBK DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### DRMBK Prolog

     NAME       : HCPDRMBK
     DESCRIPTION: Delayed Response Message Block
     DSECT      : DRMBK
     FUNCTION   : To keep track of an expected delayed response to a
                  CP command.
     LOCATED BY : Pointer (SDMDRMQF) in the Storage Device Management
                  Common Data Area
     CREATED BY : HCPDRMAQ - Allocate and Queue a DRMBK
                  HCPDRMFQ - Allocate & Queue a freestyle DRMBK
     DELETED BY : HCPDRMDQ - Dequeue and Release a DRMBK
     Comments   : - There are essentially two versions of this block:
                  * When DRM_StyleGDM is on, the command is one of the
                  "Generic Device Management" commands.  It has the
                  command entry table address and was built by
                  a "generic" routine.
                  * When DRM_StyleFree is on, the command and command
                  processor are more freestyle.  The command
                  substitution data for the delayed responses is all
                  stored in the block itself.  Only the userid and
                  RDEV are still essential for
                  QUERY PENDING COMMANDS processing.

#### DRMBK Control Block Content

#### DRMBK DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      DRMBK          Delayed Response Message Block
         This section is Common to all Commands.
    0000    0 Bitstring    1 DRMCOMMON (0)  Start of the Common Area
    0000    0 Address      4 DRMNEXT        Pointer to the next
                                            Delayed-Response Message Block
    0004    4 Address      4 DRMPREV        Pointer to the previous
                                            Delayed-Response Message Block
    0008    8 Character    3 DRMBKID        Identifies the storage area as a
                                            DRMBK block
    000B   11 Bitstring    1 DRMBFLAG       Processing flags
              1... ....      DRM_StyleGDM   X'80' Indicates command is
                                            managed as a Generic Device
                                            Management command.
              .1.. ....      DRM_StyleFree  X'40' Indicates command is a
                                            freestyle command.
              ..1. ....      DRM_FlashCopy  X'20' Indicates command is a
                                            FlashCopy command.
    000C   12 Character    8 DRMUSER        Userid of the user issuing the
                                            command that resulted in a
                                            delayed response
    0014   20 Address      4 DRMRDEV        Pointer to the RDEV that the
                                            Delayed Response is expected from
    0018   24 Bitstring    1 DRM_STYLE_DEPENDENT (0)
                                            Start of the style dependent
                                            area.
         Format of style dependent area when DRM_StyleGDM = 1. The block will be
         a fixed size equal to length(DRMCOMMON)+length(DRMGDM).
    0018   24 Bitstring    1 DRMGDM (0)     Start of DRMGDM
    0018   24 Address      4 DRMSRDV        Pointer to the secondary device
                                            RDEV
    001C   28 Address      4 DRMFRDV        Pointer to the failed secondary
                                            device RDEV when DUPLEX ON is
                                            issued to replace the device
    0020   32 Signed       2 DRMVLDLN       Length of VOLID
    0022   34 Character    6 DRMVOLID       Volume identification label
    0028   40 Address      4 DRMCMTB        Pointer to command table entry
                                            VCS holding command that resulted
                                            in delayed response message
    002C   44 Signed       2 DRMCMDLN       Length of Command VCS
    002E   46 Character   20 DRMCMD         The command VCS holding command
                                            options
    0042   66 Signed       2 DRMOPTLN       Length of Option VCS
    0044   68 Character   20 DRMOPT         The options
    0058   88 Bitstring    1 DRMSCP         Command scope Size of a fixed GDM
                                            DRMBK in double words.
              0000000C       DRMGDMSIZE     ((*-DRMGDM)+(DRM_STYLE_DEPENDENT-
                                            DRMBK)+7)/8
         Format of style dependent area when DRM_StyleFree = 1. DRMBK will be a
         variable size block. The block will be a variable length equal to
         length(DRMCOMMON)+length(DRMSUBSIZE)+value of DRMSUBSIZE
    0018   24 Bitstring    1 DRMFREE (0)    Start of DRMFREE
    0018   24 Signed       2 DRMSUBSIZE     Size of the substitution data.
    001A   26 Bitstring    1 DRMFREEDATA (0)
                                            Start of the Substitution data.
    001A   26 Bitstring    9 DRMWITHUSERID  Substitution data with userid.
    0023   35 Bitstring    1 DRMSUBDATA (0) Substitution data without userid.
         Constants for the DRMBK.
              00000014       DRMVCSMAX      20 Max size of a VCS. A change to
                                            this, and you must change
                                            assembler lengths manually.
         DRMGDMSIZE defined inline.
              00C4D9D4       DRMID          C'DRM' Identifier for a DRMBK

#### DRMBK Storage Layout

    *** DRMBK - Delayed Response Message Block
    *
    *     +---------------------------+---------------------------+
    *   0 |         DRMNEXT           |         DRMPREV           |
    *     +--------------------+------+---------------------------+
    *   8 |      DRMBKID       |:BFLAG|         DRMUSER-          |
    *     +--------------------+------+---------------------------+
    *  10 |          -(00C)           |         DRMRDEV           |
    *     +---------------------------+---------------------------+
    *
    *** DRMBK - Delayed Response Message Block

    *** Overlay for DRM_STYLE_DEPENDENT in DRMBK
    *
    *     +---------------------------+---------------------------+
    *  18 |         DRMSRDV           |         DRMFRDV           |
    *     +-------------+-------------+---------------------------+
    *  20 |  DRMVLDLN   |                DRMVOLID                 |
    *     +-------------+-------------+-------------+-------------+
    *  28 |         DRMCMTB           |  DRMCMDLN   |             |
    *     +---------------------------+-------------+             |
    *  30 |                                                       |
    *     =                        DRMCMD                         =
    *     |             +-------------+---------------------------+
    *  40 |             |  DRMOPTLN   |                           |
    *     +-------------+-------------+                           |
    *     |                        DRMOPT                         |
    *     |                                                       |
    *     +------+------------------------------------------------+
    *  58 |DRMSCP| 59
    *     +------+
    *
    *** Overlay for DRM_STYLE_DEPENDENT in DRMBK

    *** Overlay for DRM_STYLE_DEPENDENT in DRMBK
    *
    *     +-------------+-----------------------------------------+
    *  18 | DRMSUBSIZE  |             DRMWITHUSERID               |
    *     +-------------+      +----------------------------------+
    *     |                    |
    *     +--------------------+
    *
    *** Overlay for DRM_STYLE_DEPENDENT in DRMBK

#### DRMBK Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    DRM_FlashCopy  000B 20
    DRM_StyleFree  000B 40
    DRM_StyleGDM   000B 80
    DRM_STYLE_DEPENDENT
                   0018
    DRMBFLAG       000B
    DRMBKID        0008
    DRMCMD         002E
    DRMCMDLN       002C
    DRMCMTB        0028
    DRMCOMMON      0000
    DRMFRDV        001C
    DRMFREE        0018
    DRMFREEDATA    001A
    DRMGDM         0018
    DRMGDMSIZE     0058 0000000C
    DRMID          0023 00C4D9D4
    DRMNEXT        0000
    DRMOPT         0044
    DRMOPTLN       0042
    DRMPREV        0004
    DRMRDEV        0014
    DRMSCP         0058
    DRMSRDV        0018
    DRMSUBDATA     0023
    DRMSUBSIZE     0018
    DRMUSER        000C
    DRMVCSMAX      0023 00000014
    DRMVLDLN       0020
    DRMVOLID       0022
    DRMWITHUSERID  001A

This information is based on z/VM V4R4.0. Last updated on 29 Jul 2003 at 15:28:14 EDT.
Copyright IBM Corporation, 1990, 2003