Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
MBHBK
Control Block Contents
MBHBK DSECT
MBHBF DSECT
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
Copyright IBM Corporation, 1990, 2011