|
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