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

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.
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_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 V3R1.0.
Last updated on 30 Mar 2001 at 07:50:42 EDT.
Copyright IBM Corporation, 1990, 2001