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' DRM_StyleGDM Indicates
                                            command is managed as a Generic
                                            Device Management command.
              .1.. ....      DRM_StyleFree  X'40' DRM_StyleFree Indicates
                                            command is a freestyle command.
              ..1. ....      DRM_FlashCopy  X'20' DRM_FlashCopy 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 Address      4 DRMABPRM       Pointer to a Abort Parm list used
                                            to stack a program return call
    001C   28 Character    8 DRMABPTS       Abort Parm List Timestamp
    0024   36 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).
    0024   36 Bitstring    1 DRMGDM (0)     Start of DRMGDM
    0024   36 Address      4 DRMSRDV        Pointer to the secondary device
                                            RDEV
    0028   40 Address      4 DRMFRDV        Pointer to the failed secondary
                                            device RDEV when DUPLEX ON is
                                            issued to replace the device
    002C   44 Signed       2 DRMVLDLN       Length of VOLID
    002E   46 Character    6 DRMVOLID       Volume identification label
    0034   52 Address      4 DRMCMTB        Pointer to command table entry
                                            VCS holding command that resulted
                                            in delayed response message
    0038   56 Signed       2 DRMCMDLN       Length of Command VCS
    003A   58 Character   20 DRMCMD         The command VCS holding command
                                            options
    004E   78 Signed       2 DRMOPTLN       Length of Option VCS
    0050   80 Character   20 DRMOPT         The options
    0064  100 Bitstring    1 DRMSCP         Command scope Size of a fixed GDM
                                            DRMBK in double words.
              0000000D       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
    0024   36 Bitstring    1 DRMFREE (0)    Start of DRMFREE
    0024   36 Signed       2 DRMSUBSIZE     Size of the substitution data.
    0026   38 Bitstring    1 DRMFREEDATA (0)
                                            Start of the Substitution data.
    0026   38 Bitstring    9 DRMWITHUSERID  Substitution data with userid.
    002F   47 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           |
    *     +---------------------------+---------------------------+
    *  18 |         DRMABPRM          |        DRMABPTS-          |
    *     +---------------------------+---------------------------+
    *  20 |          -(01C)           |
    *     +---------------------------+
    *
    *** DRMBK - Delayed Response Message Block

    *** Overlay for DRM_STYLE_DEPENDENT in DRMBK
    *
    *                                 +---------------------------+
    *  20 ...                      24 |         DRMSRDV           |
    *     +---------------------------+-------------+-------------+
    *  28 |         DRMFRDV           |  DRMVLDLN   |   (02E)-    |
    *     +---------------------------+-------------+-------------+
    *  30 |        -DRMVOLID          |         DRMCMTB           |
    *     +-------------+-------------+---------------------------+
    *  38 |  DRMCMDLN   |                                         |
    *     +-------------+                                         |
    *     |                        DRMCMD                         |
    *     |                                         +-------------+
    *  48 |                                         |  DRMOPTLN   |
    *     +-----------------------------------------+-------------+
    *  50 |                                                       |
    *     =                        DRMOPT                         =
    *     |                           +------+--------------------+
    *  60 |                           |DRMSCP| 65
    *     +---------------------------+------+
    *
    *** Overlay for DRM_STYLE_DEPENDENT in DRMBK

    *** Overlay for DRM_STYLE_DEPENDENT in DRMBK
    *
    *                                 +-------------+-------------+
    *  20 ...                      24 | 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
                   0024
    DRMABPRM       0018
    DRMABPTS       001C
    DRMBFLAG       000B
    DRMBKID        0008
    DRMCMD         003A
    DRMCMDLN       0038
    DRMCMTB        0034
    DRMCOMMON      0000
    DRMFRDV        0028
    DRMFREE        0024
    DRMFREEDATA    0026
    DRMGDM         0024
    DRMGDMSIZE     0064 0000000D
    DRMID          002F 00C4D9D4
    DRMNEXT        0000
    DRMOPT         0050
    DRMOPTLN       004E
    DRMPREV        0004
    DRMRDEV        0014
    DRMSCP         0064
    DRMSRDV        0024
    DRMSUBDATA     002F
    DRMSUBSIZE     0024
    DRMUSER        000C
    DRMVCSMAX      002F 00000014
    DRMVLDLN       002C
    DRMVOLID       002E
    DRMWITHUSERID  0026

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