|
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_RETURNOK X'02' MBHMP_RETURNOK - The link
layer has returned ownership of
the MBHBK to the socket layer.
Only when the MBHMP_RETURNOK flag
is ON may the MBHBK be returned
to the HCPSOCK caller. The
SCKLKWRD for the owning socket
must be held EXCLUSIVE to change
or reference the MBHMP_RETURNOK
flag.
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
00000009 MBH_TOOLATE 9 MBH_TOOLATE Reply too late
0010 16 Dbl-Word 8 MBHTOD0 TOD when msg was sent/recvd
0018 24 Address 4 MBHPRMBK Pointer to MBHBK(prime)
MBHCTRLK (TSGET/TSREL) serializes transmission status:
Flag byte: MBHTX
Counters: MBHCLNCT, MBHTRGCT, MBHSNDCT, MBHREPCT
These fields only need to be serialized from the time
a transmission begins (HCPKCCTX) until that transmission
is complete (i.e. no more clones or replies outstanding).
001C 28 Bitstring 1 MBHCTRLK Counter lock (TSGET/TSREL)
001D 29 Bitstring 1 MBHTX Transmission status
1... .... MBHTX_WAITING X'80' MBHTX_WAITING - Waiting for
Link I/O
.1.. .... MBHTX_SENT X'40' MBHTX_SENT - All/only
copies sent
..1. .... MBHTX_RCVD X'20' MBHTX_RCVD - All replies
done
...1 .... MBHTX_POSTED X'10' MBHTX_POSTED - Posted to
resume
111. .... MBHTX_READY MBHTX_WAITING+MBHTX_SENT+MBHTX_RC
VD MBHTX_READY bits are all set
when this MBHBK is ready to post
to resume/return from send.
1111 .... MBHTX_RESUMED MBHTX_READY+MBHTX_POSTED
MBHTX_RESUMED bits are all set
when this MBHBK has been posted
to resume/return from send.
001E 30 Signed 2 MBHCLNCT Number of Clones
0020 32 Signed 2 MBHTRGCT Count targets identified
0022 34 Signed 2 MBHSNDCT 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 MBHREPCT Count replies received
003C 60 Address 4 MBHMBBK Pointer to the MBBK
0040 64 Dbl-Word 8 MBHLINST Local link instance
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.. .... MBHSQMSG X'40' MBHSQMSG - SEND_QUEUED
Message
..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).
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)
| |