|
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM. |
DRMBK
Control Block Contents
DRMBK DSECT
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.
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
Last updated on 5 Jun 2001 at 13:25:05 EDT.
Copyright IBM Corporation, 1990, 2001