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 V5R2.0. Last updated on 12 Apr 2006 at 16:59:07 EDT.
Copyright IBM Corporation, 1990, 2005