Programming Interface Information: This page documents intended Programming Interfaces that allow the customer to write programs to obtain the services of z/VM.

#### VMCMHDR

Prolog

Control Block Contents
VMCMHDR DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### VMCMHDR Prolog

     NAME       : VMCMHDR
     DESCRIPTION: VMCF COMMUNICATION MESSAGE HEADER
     DSECT      : VMCMHDR
     FUNCTION   : VMCMHDR PROVIDES INFORMATION TO IDENTIFY THE SPECIAL
                  VMCF EXTERNAL INTERRUPTS.
     LOCATED BY : XMCMHDR   FIELD IN MODULE HCPRET
                  RECVMCHA  FIELD IN MODULE HCPREC
                  VMCVADA   FIELD IN VMCBLOCK
                  VMCPVADA  FIELD IN VMCPARM
     CREATED BY : HCPREC (FOR CP VMCF COMMUNICATION)
                  A VIRTUAL MACHINE INVOKING VMCF
     DELETED BY : A VIRTUAL MACHINE

#### VMCMHDR Control Block Content

#### VMCMHDR DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      VMCMHDR        VMCF COMMUNICATION MESSAGE HEADER
    0000    0 Bitstring    1 VMCMSTAT       MESSAGE STATUS BYTE
              1... ....      VMCMRESP       X'80' FINAL RESPONSE INTERRUPT
              .1.. ....      VMCMRJCT       X'40' MESSAGE R ED
              ..1. ....      VMCMPRTY       X'20' PRIORITY MESSAGE
    0001    1 Bitstring    1 VMCMEFLG       DATA TRANSFER RETURN CODE
              00000001       VMC01          1 INVALID VIRTUAL ADDRESS
              00000002       VMC02          2 INVALID SUB-FUNCTION CODE
              00000003       VMC03          3 PROTOCOL VIOLATION
              00000004       VMC04          4 USER NOT AUTHORIZED (SOURCE)
              00000005       VMC05          5 USER NOT AVAILABLE
              00000006       VMC06          6 PROTECTION VIOLATION
              00000007       VMC07          7 SENDX DATA TOO LARGE
              00000008       VMC08          8 DUPLICATE MESSAGE
              00000009       VMC09          9 TARGET VM QUIESCING
              0000000A       VMC10          10 MESSAGE LIMIT EXCEEDED
              0000000B       VMC11          11 CANCEL - REPLY CANCELLED
              0000000C       VMC12          12 MESSAGE NOT FOUND
              0000000D       VMC13          13 SYNCHRONIZATION ERROR
              0000000E       VMC14          14 CANCEL - TOO LATE
              0000000F       VMC15          15 PAGING I/O ERROR
              00000010       VMC16          16 INCORRECT LENGTH
              00000011       VMC17          17 DESTRUCTIVE OVERLAP
              00000012       VMC18          18 USER NOT AUTHORIZED PRIORITY
              00000013       VMC19          19 DATA TRANSFER ERROR
              00000014       VMC20          20 CANCEL - BUSY
    0002    2 Bitstring    2 VMCMFUNC       SUB-FUNCTION CODE (ORIGINAL REQ)
              00000002       VMCMSEND       2 SEND
              00000003       VMCMSENR       3 SEND/RECV
              00000004       VMCMSENX       4 SENDX
              0000000A       VMCMIDEN       10 IDENTIFY
    0004    4 Signed       4 VMCMMID        MESSAGE IDENTIFIER
    0008    8 Dbl-Word     8 VMCMUSER       SOURCE / SINK USERID (VMUSER)
    0010   16 Signed       4 VMCMVADA       VIRTUAL BUFFER ADDRESS
    0014   20 Signed       4 VMCMLENA       MESSAGE LENGTH
    0018   24 Signed       4 VMCMVADB       VIRTUAL REPLY BUFFER ADDRESS
    001C   28 Signed       4 VMCMLENB       REPLY BUFFER LENGTH
    0020   32 Dbl-Word     8 VMCMUSE (0)    USER SUPPLIED DOUBLE-WORD
    0020   32 Signed       2 VMCMUSPC       USER SUPPLIED PROTOCOL
    0022   34 Bitstring    6 *              REST OF USER SUPPLIED DOUBLE-WORD
         THE FOLLOWING FIELD IS OPTIONAL AND EXISTS ONLY IN THE CASE OF SENDX
         PROTOCOL.
    0028   40 Character    1 VMCMBUF (0)    START OF VARIABLE LENGTH DATA
              00000028       VMCMLEN        (*-VMCMHDR) LENGTH OF VMCMHDR
                                            (BYTES)
         GENERAL VM COMMUNICATION EQUATES
              00000032       VMCSMAX        50 MAXIMUM ACTIVE MESSAGE LIMIT
              00004001       VMCXCODE       X'4001' VMCF EXTERNAL INTERRUPT
                                            CODE
              .... ...1      VMCXMASK       X'0001' VMCF CR0 EXTERNAL
                                            INTERRUPT MASK

#### VMCMHDR Storage Layout

    *** VMCMHDR - VMCF COMMUNICATION MESSAGE HEADER
    *
    *     +------+------+-------------+---------------------------+
    *   0 |:MSTAT|:MEFLG|  VMCMFUNC   |         VMCMMID           |
    *     +------+------+-------------+---------------------------+
    *   8 |                       VMCMUSER                        |
    *     +---------------------------+---------------------------+
    *  10 |         VMCMVADA          |         VMCMLENA          |
    *     +---------------------------+---------------------------+
    *  18 |         VMCMVADB          |         VMCMLENB          |
    *     +-------------+-------------+---------------------------+
    *  20 |  VMCMUSPC   |/////////////////////////////////////////|
    *     +-------------+-----------------------------------------+
    *
    *** VMCMHDR - VMCF COMMUNICATION MESSAGE HEADER

#### VMCMHDR Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    VMCMBUF        0028
    VMCMEFLG       0001
    VMCMFUNC       0002
    VMCMIDEN       0002 0000000A
    VMCMLEN        0028 00000028
    VMCMLENA       0014
    VMCMLENB       001C
    VMCMMID        0004
    VMCMPRTY       0000 20
    VMCMRESP       0000 80
    VMCMRJCT       0000 40
    VMCMSEND       0002 00000002
    VMCMSENR       0002 00000003
    VMCMSENX       0002 00000004
    VMCMSTAT       0000
    VMCMUSE        0020
    VMCMUSER       0008
    VMCMUSPC       0020
    VMCMVADA       0010
    VMCMVADB       0018
    VMCSMAX        0028 00000032
    VMCXCODE       0028 00004001
    VMCXMASK       0028 01
    VMC01          0001 00000001
    VMC02          0001 00000002
    VMC03          0001 00000003
    VMC04          0001 00000004
    VMC05          0001 00000005
    VMC06          0001 00000006
    VMC07          0001 00000007
    VMC08          0001 00000008
    VMC09          0001 00000009
    VMC10          0001 0000000A
    VMC11          0001 0000000B
    VMC12          0001 0000000C
    VMC13          0001 0000000D
    VMC14          0001 0000000E
    VMC15          0001 0000000F
    VMC16          0001 00000010
    VMC17          0001 00000011
    VMC18          0001 00000012
    VMC19          0001 00000013
    VMC20          0001 00000014

This information is based on z/VM V4R3.0. Last updated on 30 Apr 2002 at 18:38:17 EDT.
Copyright IBM Corporation, 1990, 2002