KCLBK | Back to Index page |
Prolog Control Block Contents KCLBK DSECT Storage Layout Cross Reference (Contains links to field and bit definitions) |
|
KCLBK Prolog | Top of page |
NAME : HCPKCLBK DESCRIPTION: ISFC Link Layer message frame DSECT : KCLBK FUNCTION : This structure defines the message frames sent across the ISFC Link to control the link devices. LOCATED BY : The ISFC Link Layer allocates storage to send this frame across a link device, and reads this frame from the link device into local storage. CREATED BY : ISFC Link Management. DELETED BY : ISFC Link Management. SERIALIZED : Each KCLBK instance is owned by a single task. The serialization that protects the associated link or device also protects this KCLBK. RELOCATION CONSIDERATIONS : None NOTES : INCLUDE HCPLWKBK COPY Link Level 0 (LNKLEVEL==LNKLVL00) - This means the remote driver level is not known. The initial exchange of LINK and/or IDX frames will help us classify the remote driver. Link Level 1 (LNKLEVEL==LNKLVL01) - This designates the original MDEBK based ISFC protocol. Messages are exchanged using structures defined in HCPMDEBK COPY. Link Level 2 (LNKLEVEL==LNKLVL02) - This designates the MBHBK based ISFC protocol. Messages are exchanged using structures defined here. Every independent ISFC frame has the following general structure: KCLFRAME structure { KCLFRMLN = Frame length (includes KCLFRMLN field) KCLFRMID = Frame ID (IDX, DVX, or DATA) KCLFRMXT = Frame contents: KCLHDRLN = Header length (includes KCLHDRLN field) KCLHDRFN = Header function KCLHDRXT = Additional fields based on function } Other elements may follow the header. If they are considered part of the KCLFRAME, KCLFRMLN must account for those elements and they must be sent in the same I/O buffer. Raw user data may be transmitted after the appropriate KCLFRAME (not counted in KCLFRMLN) or as part of the KCLFRAME (counted in KCLFRMLN). Refer to KCLTX_MODE for more information. The EOD (End of Data) frame is a special case. It is not independent, but it may be transmitted in a separate I/O buffer. It uses the KCLFRAME prefix without an additional header structure. |
KCLBK Control Block Content | Top of page |
|
KCLBK Storage Layout | Top of page |
*** KCLBK - ISFC Link Layer message frame * * +-------------+-------------+------+------+-------------+ * 0 | KCLFRMLN | KCLFRMID |:HDRLN|:HDRFN| | * +-------------+-------------+------+------+ | * 8 | | * = KCLHDRXT = * | | * +-------------------------------------------------------+ *1000 * *** KCLBK - ISFC Link Layer message frame *** Overlay for KCLHDR in KCLBK * * +------+------+------+------+ * 0 ... 4 |:IDXLN|:IDXFN|:IDXID|//////| * +---------------------------+------+------+------+------+ * 8 | KCLIDXRF | * +-------------------------------------------------------+ * 10 | KCLVER | * +------+------+------+------+------+------+------+------+ * 18 |:CAP0 |:CAP1 |:CAP2 |:CAP3 |:CAP4 |:CAP5 |:CAP6 |:CAP7 | * +------+------+------+------+------+------+------+------+ * 20 | KCLNODE | * +---------------------------+-------------+------+------+ * 28 | KCLDEVID | KCLMFL |:UIDLN|:UIDVN| * +---------------------------+-------------+------+------+ * 30 | KCLUIDCP | * +-------------------------------------------------------+ * 38 | KCLUIDTS | * +-------------------------------------------------------+ * 40 | KCLLKTOD | * +-------------------------------------------------------+ * 48 * *** Overlay for KCLHDR in KCLBK *** Overlay for KCLHDR in KCLBK * * +------+------+-------------+ * 0 ... 4 |:DCLN |:DCFN |/////////////| * +---------------------------+------+------+-------------+ * 8 | KCLDCREF | * +---------------------------+---------------------------+ * 10 | KCLDCREASON | 14 * +---------------------------+ * *** Overlay for KCLHDR in KCLBK *** Overlay for KCLHDR in KCLBK * * +------+------+------+------+ * 0 ... 4 |:TXLN |:TXFN |:TXMD |:PRIOR| * +-------------+-------------+------+------+------+------+ * 8 | KCLSEQNO | KCLACKNO | KCLWSIZE |/////////////| * +------+------+-------------+-------------+-------------+ * 10 |:FLAG |:STGMS| KCLMBHCT | KCLBYTES | * +------+------+-------------+---------------------------+ * 18 | KCLREQUE | 1C * +---------------------------+ * *** Overlay for KCLHDR in KCLBK *** Overlay for KCLHDR in KCLBK * * +------+------+-------------+ * 0 ... 4 |(004) |(005) |KCLEOD_SEQNO | * +------+------+-------------+ * 8 * *** Overlay for KCLHDR in KCLBK |
KCLBK Cross Reference | Top of page |
Symbol Dspl Value -------------- ---- ----- KCLACKNO 000A KCLBYTES 0014 KCLCAPS 0018 KCLCAP0 0018 KCLCAP1 0019 KCLCAP2 001A KCLCAP3 001B KCLCAP4 001C KCLCAP5 001D KCLCAP6 001E KCLCAP7 001F KCLDATA 0002 00000003 KCLDATA_FRAME 0010 00000004 KCLDATA_LN 0018 00000018 KCLDC 0002 00000002 KCLDC_FRAME 0040 00000004 KCLDC_LN 0010 00000010 KCLDC_STOP 0005 00000001 KCLDC_TESTRQ 0005 00000002 KCLDC_TESTRS 0005 00000003 KCLDCFN 0005 KCLDCLN 0004 KCLDCREASON 0010 KCLDCREF 0008 KCLDEVID 0028 KCLDRV02 0018 80 KCLEOD 0002 00000004 KCLEOD_FRAME 0018 00000004 KCLEOD_LN 0006 00000004 KCLEOD_PRIORITY 0005 KCLEOD_RSVD 0004 KCLEOD_SEQNO 0006 KCLFLAG 0010 KCLFRAME 0000 00000000 KCLFRMID 0002 KCLFRMLN 0000 KCLFRMXT 0002 00000004 KCLHDR 0004 KCLHDRFN 0005 KCLHDRLN 0004 KCLHDRXT 0006 KCLIDX 0002 00000001 KCLIDX_ACCEPT 0005 00000002 KCLIDX_CONNECT 0005 00000001 KCLIDX_FRAME 0006 00000004 KCLIDX_LN 0040 00000044 KCLIDXFN 0005 KCLIDXID 0006 KCLIDXLN 0004 KCLIDXRF 0008 KCLIDX01 0006 00000001 KCLLKTOD 0040 KCLMAP 0018 0000001C KCLMBHCT 0012 KCLMFL 002C KCLNODE 0020 KCLPFX 0000 KCLPFXLN 0002 00000004 KCLPRIOR 0007 KCLREQUE 0018 KCLSEQNO 0008 KCLSTGMS 0011 KCLTX_OFFER 0005 00000001 KCLTX_REQUEST 0005 00000002 KCLTXFN 0005 KCLTXLN 0004 KCLTXMD 0006 KCLUID 002E KCLUIDCP 0030 KCLUIDLN 002E KCLUIDTS 0038 KCLUIDVN 002F KCLVER 0010 KCLWSIZE 000C LNKSTG_RXQUECT 0011 00000040 LNKSTG_TROUBLE 0011 00000080 LWK_ASYNC 0006 00000002 LWK_IMBED 0006 00000003 LWK_SYNC 0006 00000001 LWKTX_RESEND 0010 80 |
Copyright IBM Corporation, 1990, 2022