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

MBHBK

Prolog  

Control Block Contents  
   MBHBK DSECT
   MBHBF DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


MBHBK Prolog

 NAME       : HCPMBHBK
 DESCRIPTION: ISFC Message Buffer Header Block
 DSECT      : MBHBK
 FUNCTION   :
              This structure defines the ISFC message for
              socket function calls.  The message buffer for a
              single send or receive function may be defined as
              one or more discontiguous fragments.  A message
              header (MBHBK) is a contiguous parameter list
              formed by a single MBHDR followed by an array
              of MBHBF structures.
 LOCATED BY :
              Various structures off of the SCKBK or through individual service
              usage
 CREATED BY :
              HCPKCDCB or HCPKCDCX
 DELETED BY :
              HCPKCDDB
 SERIALIZED :
              No formal serialization; Rule is that the service or the data
              transfer routine can access the MBHBK but not at the same time.
 RELOCATION CONSIDERATIONS : None
 NOTES      :
              This structure describes an ISFC message.  The
              structure includes the following sections:
              o Local processing fields.
              o Message header (MBHDR for MBHDRLN bytes).
              o Buffer Fragment List (MBHBUFCT copies of MBHBF).
              The message header (MBHDR) includes the following
              fields for every message:
              MBHPROT (halfword) protocol
              MBHFUNC (halfword) function code
              MBHPARM (fullword) optional information
              When MBHBFCT ==0 the message is contained entirely
              within the MBHDR area (MBHFUNC and MBHPARM).
              There is no associated buffer storage.
              When MBHBFCT >0 the MBHBF array contains an entry
              for each buffer fragment (MBHBUFCT indicates the
              number of buffer fragments).
              When the MBHBK is created, MBHBUFMX contains the
              maximum number of buffer fragments defined in the
              current structure.  The MBHBK owner must set
              MBHBUFCT to indicate the number of fragments active
              at the moment.

 

MBHBK Control Block Content


MBHBK DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      MBHBK          ISFC Message Buffer Header Block
      MBHBK starts with local processing fields.
        This part of the MBHBK is not transmitted to the
        destination node.
       The MBHFPNT/MBHBPNT ptrs are used in a variety of ways.
       The key is that these ptrs are not used for two purposes
       at once.
       Known uses:
       - MBRREQ_REPLY is double-linked, but not circular.
       - (Used by HCPKCDCH, HCPKCDTO, HCPKCD's TRANSMIT)
       - SCKRCVR is single-linked, not circular.
         (Used by HCPKCDMR,HCPKCDRM)
       - SCKCNRQU is double-linked, circular list.
         (Used by HCPKCDAC.)
       - SCKRXQUE is double-linked, circular list.
         (Used by HCPKCDRX, HCPKCDTO, HCPKCD's INSERT_QUEUE, REMOVE_QUEUE)
       - LNKTQ_NEXT/FIRST/LAST is single-linked, not circular
         (Used by HCPKCWTX, HCPKCWTP, HCPKWTO, HCPKCW's PROC_OUTBOUND.)
       - HCPKCCQ1 is single-linked, not circular
         (Used by HCPKCC's DISCARD_MSG)
       - Send Reply chain (MBRREQ_REPLY) is double-linked, not circular
         (Used by HCPKCDRQ, HCPNET)
       - SCKQUEBK managed by HCPQMX routines.
0000    0 Address      4 MBHFPNT        Pointer to next MBHDR
0004    4 Address      4 MBHBPNT        Pointer to previous MBHDR
0008    8 Bitstring    1 MBHMGT         Message Management flags
          1... ....      MBHSTGMT       X'80' MBHSTGMT - This MBHBK owns
                                        the buffers
          .1.. ....      MBHCLONE       X'40' MBHCLONE - This is a clone
                                        MBHBK
          ..1. ....      MBHPASST       X'20' MBHPASST - This is a
                                        passthru MBHBK
          ...1 ....      MBHMBX         X'10' MBHMBX - Use ISFC Mailbox
                                        storage
0009    9 Bitstring    1 MBHMP          Message Processing flags
          1... ....      MBHMP_INBOUND  X'80' MBHMP_INBOUND - Inbound
                                        message
          .1.. ....      MBHMP_OUTBOUND X'40' MBHMP_OUTBOUND - Outbound
                                        message
          ..1. ....      MBHMP_ERROR    X'20' MBHMP_ERROR - Error
                                        detected
          ...1 ....      MBHMP_COMPLETE X'10' MBHMP_COMPLETE - Transmit
                                        (TX) complete
          .... 1...      MBHMP_INCCW    X'08' MBHMP_INCCW - Built in CCW;
                                        can't remove
          .... .1..      MBHMP_KCWTO    X'04' MBHMP_KCWTO - Being timed
                                        out
          .... ..1.      MBHMP_RETURNED X'02' MBHMP_RETURNED - Message
                                        has been returned
000A   10 Signed       2 MBHBUFMX       MBHBUFCT maximum (this MBHBK)
000C   12 Signed       4 MBHERRNO       Error number
          00000001       MBH_INVCLASS   1 MBH_INVCLASS Invalid MBHCLASS
          00000002       MBH_NOLINK     2 MBH_NOLINK No link found
          00000003       MBH_NOSOCK     3 MBH_NOSOCK No socket found
          00000006       MBH_UNEXPECTED 6 MBH_UNEXPECTED Unexpected error
          00000007       MBH_TIMEDOUT   7 MBH_TIMEDOUT Timed out by CP -
                                        REPLY did not arrive promptly -
                                        Connection lost to target
          00000008       MBH_BREAK4KB   8 MBH_BREAK4KB A frame crosses
                                        the 4KB boundary
0010   16 Dbl-Word     8 MBHTOD0        TOD when msg was sent/recvd
0018   24 Address      4 MBHPRMBK       Pointer to MBHBK(prime)
001C   28 Signed       4 MBHCLCNT       Number of Clones
0020   32 Signed       4 MBHSNTCT       Count messages sent
0024   36 Signed       4 MBHREFCT       Reference count for MBHBK
0028   40 Address      4 MBHSCKBK       Link to local socket
002C   44 Address      4 MBHMDEBK       Pointer to MDEBK (for passthru)
0030   48 Address      4 MBHCRTAD       Creation address for debug
0034   52 Address      4 MBHFREAD       Free address for debug
0038   56 Signed       2 MBHTOCTR       Time out counter
003A   58 Signed       2 *              Reserved
003C   60 Address      4 MBHMBBK        Pointer to the MBBK
0040   64 Dbl-Word     8 *              Reserved
      MBHDR defines the message header (for transmission).
        These fields are transmitted with the message.
0048   72 Bitstring    1 MBHDR (0)
0048   72 Bitstring    1 MBHHDRLN       Header length (MBHDRLN)
0049   73 Bitstring    1 MBHFMT         Message Format
          00000001       MBHFMT01       1 MBHFMT01 ISFC MBHDR Format 1
004A   74 Signed       2 MBHBUFCT       Buffer count
004C   76 Signed       4 MBHMSGLN       Total message length
0050   80 Bitstring    1 MBHCLASS       Message Class
          00000000       MBHUNI         0 MBHUNI - Unicast to MBHNODE
          00000001       MBHBRD         1 MBHBRD - Broadcast to ISFC
                                        Collection
          00000002       MBHPLX         2 MBHPLX - Broadcast to VMPLEX
0051   81 Bitstring    1 MBHOPTNS       Options
          1... ....      MBHIMMED       X'80' MBHIMMED - Immediate mode
                                        (nonblocking)
          ..1. ....      MBHWTREP       X'20' MBHWTREP - Wait for Reply
                                        (blocking)
          ...1 ....      MBHREPLY       X'10' MBHREPLY - This is a Reply
                                        (use MBHMSGID)
0052   82 Signed       2 MBHSEQNO       Link Layer sequence number
0054   84 Signed       4 MBHMSGID       Source message ID
0058   88 Character   16 MBHDINFO (0)   General Destination Info
0058   88 Character    8 MBHDNODE       Destination NodeID
0060   96 Character    8 MBHDPORT       Destination ServiceID
0068  104 Character   16 MBHSINFO (0)   General Source Info
0068  104 Character    8 MBHSNODE       Source NodeID
0070  112 Character    8 MBHSPORT       Source ServiceID
0078  120 Signed       4 MBHDMASK       Destination MASK
007C  124 Signed       4 MBHSMASK       Source MASK
      Overlay Protocol||Function (MBHPROT||MBHFUNC).
0080  128 Bitstring    4 MBHPCFN (0)    Protocol||Function combined
      Every message has a protocol (MBHPROT).
        ISFC claims protocols 0-255.
        Other services may use 256 (x'100') or higher.
0080  128 Signed       2 MBHPROT        Message Protocol
          00000000       MBH_NOPROT     X'0000' MBH_NOPROT No protocol
          00000002       MBH_CMP        X'0002' MBH_CMP Collection
                                        Management protocol
          00000004       MBH_SOCK       X'0004' MBH_SOCK Socket protocol
      Function code is set by the message creator.
        If MBHMSGLN==0 (which implies MBHBUFCT==0) the
        message is contained entirely within function
        code (MBHFUNC) and the optional MBHPARM field.
0082  130 Signed       2 MBHFUNC        Message Function (in MBHPROT)
          00000001       MBHCMP_SEND    1 MBHCMP_SEND CMP Send
          00000002       MBHCMP_MAILBOX 2 MBHCMP_MAILBOX CMP Send for
                                        mailbox
          00000001       MBHSOCK_CNREQ  1 MBHSOCK_CNREQ Socket connection
                                        request
          00000002       MBHSOCK_CNACPT 2 MBHSOCK_CNACPT Socket
                                        connection accepted
          00000003       MBHSOCK_CLOSE  3 MBHSOCK_CLOSE Socket closed
          00000004       MBHSOCK_YES    4 MBHSOCK_YES A YES vote on
                                        HCPSOCK SEND_REPLY
          00000005       MBHSOCK_NO     5 MBHSOCK_NO A NO vote on HCPSOCK
                                        SEND_REPLY
          00000006       MBHSOCK_NODESY 6 MBHSOCK_NODESY ISFC Node Sync
                                        Services
          00000007       MBHSOCK_TIMESY 7 MBHSOCK_TIMESY ISFC Time Sync
                                        Services
          00000009       MBHSOCK_LINK   9 MBHSOCK_LINK Link Heartbeat
                                        message
          0000000A       MBHSOCK_LATE   10 MBHSOCK_LATE Late Node Sync
                                        Response
      MBHPARM is set by the message creator.
0084  132 Signed       4 MBHPARM        Message Parameter (optional)
0088  136 Signed       4 * (3)          Reserved for future use
0094  148 Bitstring    1 MBHPRIOR       Message priority
          00000000       MBHPRILO       X'00' MBHPRILO Priority 0 - Low
          00000001       MBHPRIML       X'01' MBHPRIML Priority 1 -
                                        MediumLow
          00000007       MBHPRIMD       X'07' MBHPRIMD Medium = High (for
                                        future use)
          00000007       MBHPRIHI       X'07' MBHPRIHI Priority 7 -
                                        Highest
0095  149 Bitstring    1 *              Reserved
0096  150 Signed       2 *              Reserved
          00000098       MBHDR$         * = End of MBHDR
          00000050       MBHDRLN        *-MBHDR Length of MBHDR area
      MBHBF array.
        When MBHBUFCT>0 the MBHBF array begins here.
0098  152 Bitstring    1 MBHLIST (0)    Buffer Fragment list
      End of MBHBK
          00000098       MBHBK$         * = End of MBHBK
          00000098       MBHBKLN        *-MBHBK Length of typical MBHBK
          00000013       MBHBKSZ        (MBHBKLN+7)/8 Size of typical
                                        MBHBK (dblwords)
      MBHPARM definition for Passthru data (MBHCMP_MAILBOX)
0084  132 Signed       2 MBHSEGNO       MDEBK segment (1-MBHSEGCT)
0086  134 Signed       2 MBHSEGCT       MDEBK segment count (total)
      Constants associated with MBHBK.
          00000080       MBH_BFMAX      128 Max MBHBF entries with one
                                        MBHBK
          00000898       MBH_BKMAX      MBHBKLN+(MBHBFLN*MBH_BFMAX) Max
                                        MBHBK len
      MBHBF - Buffer Fragment entry.
        When MBHBUFCT>0 the MBHBF array follows immediately
        after MBHDR (starting at MBHLIST).

MBHBF DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      MBHBF          ISFC Message Buffer Header Block
0000    0 Bitstring    1 MBHBFFLG       Buffer Flag
          1... ....      MBHBFBAD       X'80' MBHBFBAD - This buffer
                                        fragment is bad
          .1.. ....      MBHBFDNR       X'40' MBHBFDNR - Don't release
                                        this fragment
          ..1. ....      MBHBFUSR       X'20' MBHBFUSR - User Frame
          ...1 ....      MBHBFPAG       X'10' MBHBFPAG - Full page
                                        obtained
0001    1 Bitstring    1 MBHBFSTG       Buffer Storage Type (HL/HA)
          00000001       MBHBFHLS       1 MBHBFHLS Host Logical Space
          00000002       MBHBFHAS       2 MBHBFHAS Host Absolute Space
          00000003       MBHBFCFS       3 MBHBFCFS ISFC Address Space
0002    2 Bitstring    4 *              Reserved for IBM Use
0006    6 Signed       2 MBHBFLEN       Buffer Fragment Length
0008    8 Dbl-Word     8 MBHBFPTR (0)   Buffer Fragment Address
0008    8 Address      4 MBHBFPTH       Buffer Fragment - High half
000C   12 Address      4 MBHBFPTL       Buffer Fragment - Low half
          00000010       MBHBF$         * = End of MBHBF
          00000010       MBHBFLN        *-MBHBF Length of MBHBF entry
                                        (bytes)
          00000002       MBHBFSZ        (MBHBFLN+7)/8 Size of typical
                                        MBHBF (dblwords)

 

MBHBK Storage Layout

          
*** MBHBK - ISFC Message Buffer Header Block
*
*     +---------------------------+---------------------------+
*   0 |         MBHFPNT           |         MBHBPNT           |
*     +------+------+-------------+---------------------------+
*   8 |MBHMGT|MBHMP |  MBHBUFMX   |         MBHERRNO          |
*     +------+------+-------------+---------------------------+
*  10 |                       MBHTOD0                         |
*     +---------------------------+---------------------------+
*  18 |         MBHPRMBK          |         MBHCLCNT          |
*     +---------------------------+---------------------------+
*  20 |         MBHSNTCT          |         MBHREFCT          |
*     +---------------------------+---------------------------+
*  28 |         MBHSCKBK          |         MBHMDEBK          |
*     +---------------------------+---------------------------+
*  30 |         MBHCRTAD          |         MBHFREAD          |
*     +-------------+-------------+---------------------------+
*  38 |  MBHTOCTR   |/////////////|         MBHMBBK           |
*     +-------------+-------------+---------------------------+
*  40 |///////////////////////////////////////////////////////|
*     +------+------+-------------+---------------------------+
*  48 |:HDRLN|MBHFMT|  MBHBUFCT   |         MBHMSGLN          |
*     +------+------+-------------+---------------------------+
*  50 |:CLASS|:OPTNS|  MBHSEQNO   |         MBHMSGID          |
*     +------+------+-------------+---------------------------+
*  58 |                       MBHDNODE                        |
*     +-------------------------------------------------------+
*  60 |                       MBHDPORT                        |
*     +-------------------------------------------------------+
*  68 |                       MBHSNODE                        |
*     +-------------------------------------------------------+
*  70 |                       MBHSPORT                        |
*     +---------------------------+---------------------------+
*  78 |         MBHDMASK          |         MBHSMASK          |
*     +-------------+-------------+---------------------------+
*  80 |  MBHPROT    |  MBHFUNC    |         MBHPARM           |
*     +-------------+-------------+---------------------------+
*  88 |///////////////////////////////////////////////////////|
*     |///////////////////////////+------+------+-------------+
*  90 |///////////////////////////|:PRIOR|//////|/////////////|
*     +---------------------------+------+------+-------------+
*
*** MBHBK - ISFC Message Buffer Header Block
          
*** Overlay for MBHPARM in MBHBK
*
*                                 +-------------+-------------+
*  80 ...                      84 |  MBHSEGNO   |  MBHSEGCT   |
*                                 +-------------+-------------+
*  88
*
*** Overlay for MBHPARM in MBHBK
          
*** MBHBF - ISFC Message Buffer Header Block
*
*     +------+------+---------------------------+-------------+
*   0 |:BFFLG|:BFSTG|///////////////////////////|  MBHBFLEN   |
*     +------+------+-------------+-------------+-------------+
*   8 |         MBHBFPTH          |         MBHBFPTL          |
*     +---------------------------+---------------------------+
*  10
*
*** MBHBF - ISFC Message Buffer Header Block

 

MBHBK Cross Reference

Symbol         Dspl Value
-------------- ---- -----
MBH_BFMAX      0086 00000080
MBH_BKMAX      0086 00000898
MBH_BREAK4KB   000C 00000008
MBH_CMP        0080 00000002
MBH_INVCLASS   000C 00000001
MBH_NOLINK     000C 00000002
MBH_NOPROT     0080 00000000
MBH_NOSOCK     000C 00000003
MBH_SOCK       0080 00000004
MBH_TIMEDOUT   000C 00000007
MBH_UNEXPECTED
               000C 00000006
MBHBF$         000C 00000010
MBHBFBAD       0000 80
MBHBFCFS       0001 00000003
MBHBFDNR       0000 40
MBHBFFLG       0000
MBHBFHAS       0001 00000002
MBHBFHLS       0001 00000001
MBHBFLEN       0006
MBHBFLN        000C 00000010
MBHBFPAG       0000 10
MBHBFPTH       0008
MBHBFPTL       000C
MBHBFPTR       0008
MBHBFSTG       0001
MBHBFSZ        000C 00000002
MBHBFUSR       0000 20
MBHBK$         0098 00000098
MBHBKLN        0098 00000098
MBHBKSZ        0098 00000013
MBHBPNT        0004
MBHBRD         0050 00000001
MBHBUFCT       004A
MBHBUFMX       000A
MBHCLASS       0050
MBHCLCNT       001C
MBHCLONE       0008 40
MBHCMP_MAILBOX
               0082 00000002
MBHCMP_SEND    0082 00000001
MBHCRTAD       0030
MBHDINFO       0058
MBHDMASK       0078
MBHDNODE       0058
MBHDPORT       0060
MBHDR          0048
MBHDR$         0096 00000098
MBHDRLN        0096 00000050
MBHERRNO       000C
MBHFMT         0049
MBHFMT01       0049 00000001
MBHFPNT        0000
MBHFREAD       0034
MBHFUNC        0082
MBHHDRLN       0048
MBHIMMED       0051 80
MBHLIST        0098
MBHMBBK        003C
MBHMBX         0008 10
MBHMDEBK       002C
MBHMGT         0008
MBHMP          0009
MBHMP_COMPLETE
               0009 10
MBHMP_ERROR    0009 20
MBHMP_INBOUND  0009 80
MBHMP_INCCW    0009 08
MBHMP_KCWTO    0009 04
MBHMP_OUTBOUND
               0009 40
MBHMP_RETURNED
               0009 02
MBHMSGID       0054
MBHMSGLN       004C
MBHOPTNS       0051
MBHPARM        0084
MBHPASST       0008 20
MBHPCFN        0080
MBHPLX         0050 00000002
MBHPRIHI       0094 00000007
MBHPRILO       0094 00000000
MBHPRIMD       0094 00000007
MBHPRIML       0094 00000001
MBHPRIOR       0094
MBHPRMBK       0018
MBHPROT        0080
MBHREFCT       0024
MBHREPLY       0051 10
MBHSCKBK       0028
MBHSEGCT       0086
MBHSEGNO       0084
MBHSEQNO       0052
MBHSINFO       0068
MBHSMASK       007C
MBHSNODE       0068
MBHSNTCT       0020
MBHSOCK_CLOSE  0082 00000003
MBHSOCK_CNACPT
               0082 00000002
MBHSOCK_CNREQ  0082 00000001
MBHSOCK_LATE   0082 0000000A
MBHSOCK_LINK   0082 00000009
MBHSOCK_NO     0082 00000005
MBHSOCK_NODESY
               0082 00000006
MBHSOCK_TIMESY
               0082 00000007
MBHSOCK_YES    0082 00000004
MBHSPORT       0070
MBHSTGMT       0008 80
MBHTOCTR       0038
MBHTOD0        0010
MBHUNI         0050 00000000
MBHWTREP       0051 20

This information is based on z/VM V6R2.0. Last updated on 21 Nov 2011 at 11:09:20 EDT.
Copyright IBM Corporation, 1990, 2011