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

IOCM

Prolog  

Control Block Contents  
   IOCM DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


IOCM Prolog

 NAME       : HCPIOCM
 DESCRIPTION: I/O Completion Block
 DSECT      : IOCM
 FUNCTION   : Describes the completion of an I/O request.
 LOCATED BY : Pointer (VDEVAEVT) in the Virtual Device Block
              Pointer (VDEVREVT) in the Virtual Device Block
              Pointer (RDEVUSLP) in the Real Device Block
 NOTES      : Modules including this Control Block, must also
              include HCPIRBLK.
 CREATED BY : HCPAMR   - Message Read Task
              HCPSVIAP - Reflect message to VDEV
              HCPTERQS - Build IOCM for unsolicited unit check and queue
              it on RDEVUSLQ
 DELETED BY : HCPAEPPD - Purge all outstanding AEBK, AMSG and IOCM blocks
              for the Virtual Device.
              HCPAMR   - Message Read Task - only purges IOCMs on
              RDEVUSLP

 

IOCM Control Block Content


IOCM DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      IOCM           I/O Completion Block
0000    0 Address      4 IOCMNEXT       Pointer to the next IOCM Block
                                        NOTE: Field must be at same
                                        offset as 'AMSGNEXT'
0004    4 Character    4 IOCMBKID       Identifies storage area as an
                                        IOCM. NOTE: Field must be at same
                                        offset as 'AMSGBKID'
0008    8 Signed       2 IOCMSCNT       Sense data count
000A   10 Bitstring    1 IOCMFLAG       Status flag
000B   11 Character    9 *              Reserved
0014   20 Character   32 IOCMSNS        Sense data. Mapped by HCPSNSBK.
0034   52 Bitstring   64 IOCMIRB        Interruption Response Block.
                                        Mapped by HCPIRBLK
       Code for determining IOCM size in Doublewords.
          0000000F       IOCMSIZE       ((*-IOCM)+7)/8 IOCM size in
                                        Double-words.
       Code for Testing/Setting IOCMBKID
          00D6C3D4       IOCMID         C'IOCM' Used to set block
                                        identifier
       Code for Testing/Setting IOCMFLAG
          1... ....      IOCMNBST       X'80' No broadcast message
                                        indicator

 

IOCM Storage Layout

          
*** IOCM - I/O Completion Block
*
*     +---------------------------+---------------------------+
*   0 |         IOCMNEXT          |         IOCMBKID          |
*     +-------------+------+------+---------------------------+
*   8 |  IOCMSCNT   |:MFLAG|//////////////////////////////////|
*     +-------------+------+//////+---------------------------+
*     |///////////////////////////|                           |
*     +---------------------------+                           |
*  18 |                                                       |
*     =                       IOCMSNS                         =
*     |                           +---------------------------+
*     |                           |                           |
*     +---------------------------+                           |
*  38 |                                                       |
*     =                       IOCMIRB                         =
*     |                           +---------------------------+
*     |                           | 74
*     +---------------------------+
*
*** IOCM - I/O Completion Block

 

IOCM Cross Reference

Symbol         Dspl Value
-------------- ---- -----
IOCMBKID       0004
IOCMFLAG       000A
IOCMID         0034 00D6C3D4
IOCMIRB        0034
IOCMNBST       0034 80
IOCMNEXT       0000
IOCMSCNT       0008
IOCMSIZE       0034 0000000F
IOCMSNS        0014

This information is based on z/VM V5R3.0. Last updated on 25 Jun 2007 at 16:42:26 EDT.
Copyright IBM Corporation, 1990, 2007