Programming Interface Information: This information is NOT intended to be
used as Programming Interfaces of VM/ESA. It is to be used for diagnosis only.

CTCBK

Prolog  

Control Block Contents  

CTCBK DSECT

CTCPGTBL DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  

CTCBK Prolog

 NAME       : HCPCTCBK
 DESCRIPTION: ISFC Link Extension for CTCA devices
 DSECT      : CTCBK
 FUNCTION   : This DSECT maps information for an ISFC link using
              a Channel to Channel Adapter.
 LOCATED BY : LNKEXTBK  points to the CTCBK for this link.
              LDVEXTBK  points to the CTCBK for this link.
 CREATED BY : HCPDCD    when a new link is activated.
 DELETED BY : HCPDCD    when a link is deactivated.
 SERIALIZED : The ISFC Global Lock (HCPBDSGL).
              The ISFC LNKBK lock (LNKLKWRD).
 COMMENTS   : None

 

CTCBK Control Block Content


CTCBK DSECT

Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure CTCBK ISFC Link Extension for CTCA devices CTC Link Header. 0000 0 Bitstring 8 CTCLNKHD (0) Dummy link header 0000 0 Character 2 CTCRELID Current release identifier 0002 2 Signed 2 CTCBUFCT Buffer allocation count 0004 4 Signed 2 CTCWRCNT Active Write buffer count 0006 6 Bitstring 1 CTCCAPS Channel driver capabilities 0007 7 Bitstring 1 * Reserved ISFC Objects (Link, DataQueue, and Device). 0008 8 Address 4 CTCLNKBK Address of ISFC link block 000C 12 Address 4 CTCQUEBK Address of ISFC Data QUEBK 0010 16 Address 4 CTCLDVBK Address of ISFC device extension 0014 20 Address 4 CTCACOLS Address of Accounting Fields Link Status. 0018 24 Signed 4 CTCDEVNO Real device address 001C 28 Character 4 CTCDEVID Printable device address 0020 32 Bitstring 1 CTCSTAT Link Status 00000001 LNKIDLE 1 - Idle 00000002 LNKBUSY 2 - Busy 00000003 LNKWRITE 3 - Write in progress 00000004 LNKREAD 4 - Read in progress 00000005 LNKRESET 5 - Reset in progress 00000006 LNKATTN 6 - Handling link attention 00000007 LNKFATAL 7 - Fatal I/O on link 00000008 LNKINIT 8 - Initialization in progress 00000008 LNKDEACT 8 - Deactivation in progress 0021 33 Bitstring 1 CTCFLAG Link Flags 1... .... CTCDLPRG X'80' - Delete in progress .1.. .... CTCWSPRG X'40' - Write Sequence in progress Notes : CTCPCAPS is cleared during a line driver RESET. 0022 34 Bitstring 1 CTCPCAPS Partner's link capabilities 1... .... CTCWEOF X'80' - Write End Of File supported 0023 35 Bitstring 1 * Reserved 0024 36 Signed 4 CTCMSNUM Most recent msg number 0028 40 Signed 4 CTCWSQCT Write Sequence count 002C 44 Bitstring 4 * Reserved CTCMDEHD and CTCMDETL are used to maintain a list of messages (MDEBKs) for this link that have not yet been verified. An MDEBK in this list may represent frames in various stages of completion (none started, some written, some completed). 0030 48 Address 4 CTCMDEHD Top of Pending Message queue 0034 52 Address 4 CTCMDETL End of Pending Message queue Key addresses in the channel programs and page tables. 0038 56 Address 4 CTCWRBGN Address of first Write CCW 003C 60 Address 4 CTCWREND Address of last Write CCW 0040 64 Address 4 CTCRDBGN Address of first Read CCW 0044 68 Address 4 CTCRDEND Address of last Read CCW 0048 72 Address 4 CTCPGRDR Address of first Read PGEBK ptr 004C 76 Address 4 CTCPGWRT Address of first Write PGEBK ptr 0050 80 Address 4 CTCWRPTR Address of current Write ptr 0054 84 Address 4 CTCRDPTR Address of current Read ptr 0058 88 Signed 2 CTCRDCNT Active Read buffer count 005A 90 Bitstring 6 * reserved Device status. 0060 96 Bitstring 1 CTCXSTAT Latest operation attempted 00000001 LNKIDLE 1 - Idle 00000002 LNKBUSY 2 - Busy 00000003 LNKWRITE 3 - Write in progress 00000004 LNKREAD 4 - Read in progress 00000005 LNKRESET 5 - Reset in progress 00000006 LNKATTN 6 - Handling link attention 00000007 LNKFATAL 7 - Fatal I/O on link 00000008 LNKINIT 8 - Initialization in progress 00000008 LNKDEACT 8 - Deactivation in progress 0061 97 Bitstring 1 CTCXNEXT Next operation to be started 00000001 LNKIDLE 1 - Idle 00000002 LNKBUSY 2 - Busy 00000003 LNKWRITE 3 - Write in progress 00000004 LNKREAD 4 - Read in progress 00000005 LNKRESET 5 - Reset in progress 00000006 LNKATTN 6 - Handling link attention 00000007 LNKFATAL 7 - Fatal I/O on link 00000008 LNKINIT 8 - Initialization in progress 00000008 LNKDEACT 8 - Deactivation in progress 0062 98 Bitstring 1 CTCXPEND I/O Pending Flags: 1... .... CTCIOACT X'80' - I/O is active on this device .1.. .... CTCRQSEM X'40' - SEM is required on this device 0063 99 Bitstring 1 * reserved 0064 100 Signed 4 CTCXRTRY Retry counter ORB for this device. 0068 104 Bitstring 12 CTCXORB (0) ORB for I/O requests 0068 104 Signed 4 CTCXRET ORB User Parm (I/O Return Addr) 006C 108 Bitstring 4 CTCXREQ ORB Request Flags 0070 112 Address 4 CTCXCPA ORB Channel Program Address Interrupt information for this device. 0074 116 Address 4 CTCXIRB Latest IRBLK address 0078 120 Address 4 CTCXSNS Latest SNSBK address 007C 124 Signed 4 CTCXIORC Latest I/O Return Code 0080 128 Address 4 CTCXCCWX Last CCW expected 0084 132 Address 4 CTCXCCWF Failing CCW Address Work area for this device. 0088 136 Dbl-Word 8 CTCXBUFF (8) Space for a work buffer Variable part of the CTCBK. This area contains: - the Write channel program (8 bytes/buffer) - the Read channel program (8 bytes/buffer) - the PGEBK table (4 bytes/buffer) 00C8 200 Dbl-Word 8 CTCCONT (0) Start of variable length data 000000C8 CTCBKLEN *-CTCBK Size of base CTCBK in bytes 00000019 CTCSIZE (*-CTCBK+7)/8 Size of base CTCBK in doublewords FUNCTION : Map an entry in the table of PGEBK pointers. This table is variable in length and is contained within the CTCBK. Each entry points to a PGEBK that is used to manage an input buffer page. LOCATED BY : CTCPGRDR points to the first Read entry. CTCPGWRT points to the first Write entry.

CTCPGTBL DSECT

Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure CTCPGTBL ISFC Link Extension for CTCA devices 0000 0 Address 4 CTCPGPTR Address of a PGEBK entry 00000004 CTCPGLEN *-CTCPGTBL Length of one PGEBK pointer The CTCBK must fit entirely within a 4K page. Since the variable portion of the control block increases in size for each I/O buffer, we have to limit the number of I/O buffers that can be defined for this type of link. The limit can be calculated with the following: Limit := 4064 - ((CTCSIZE*8) / (L'CCW+L'CCW+2*CTCPGLEN)) The advertised limit should be set to a reasonable number below this calculated limit, leaving room for future expansion of the CTCBK. Notes : Bytes per page (4064) leaves 32 bytes for free storage header and trailer information (currently 24 bytes). See HCPFREBK FRERECL for the number of doublewords required for free storage management. 000000A1 CTCMAXCT (4064-(CTCSIZE*8))/(8+8+(2*CTCPGL EN)) Max count

 

CTCBK Storage Layout

*** CTCBK - ISFC Link Extension for CTCA devices
*
*     +-------------+-------------+-------------+------+------+
*   0 |  CTCRELID   |  CTCBUFCT   |  CTCWRCNT   |:CAPS |//////|
*     +-------------+-------------+-------------+------+------+
*   8 |         CTCLNKBK          |         CTCQUEBK          |
*     +---------------------------+---------------------------+
*  10 |         CTCLDVBK          |         CTCACOLS          |
*     +---------------------------+---------------------------+
*  18 |         CTCDEVNO          |         CTCDEVID          |
*     +------+------+------+------+---------------------------+
*  20 |:STAT |:FLAG |:PCAPS|//////|         CTCMSNUM          |
*     +------+------+------+------+---------------------------+
*  28 |         CTCWSQCT          |///////////////////////////|
*     +---------------------------+---------------------------+
*  30 |         CTCMDEHD          |         CTCMDETL          |
*     +---------------------------+---------------------------+
*  38 |         CTCWRBGN          |         CTCWREND          |
*     +---------------------------+---------------------------+
*  40 |         CTCRDBGN          |         CTCRDEND          |
*     +---------------------------+---------------------------+
*  48 |         CTCPGRDR          |         CTCPGWRT          |
*     +---------------------------+---------------------------+
*  50 |         CTCWRPTR          |         CTCRDPTR          |
*     +-------------+-------------+---------------------------+
*  58 |  CTCRDCNT   |/////////////////////////////////////////|
*     +------+------+------+------+---------------------------+
*  60 |:XSTAT|:XNEXT|:XPEND|//////|         CTCXRTRY          |
*     +------+------+------+------+---------------------------+
*  68 |         CTCXRET           |         CTCXREQ           |
*     +---------------------------+---------------------------+
*  70 |         CTCXCPA           |         CTCXIRB           |
*     +---------------------------+---------------------------+
*  78 |         CTCXSNS           |         CTCXIORC          |
*     +---------------------------+---------------------------+
*  80 |         CTCXCCWX          |         CTCXCCWF          |
*     +---------------------------+---------------------------+
*  88 |                                                       |
*     =                       CTCXBUFF                        =
*     |                                                       |
*     +-------------------------------------------------------+
*  C8 |                                                       |
*     =                       CTCCONT                         =
*     |                                                       |
*     +-------------------------------------------------------+
*
*** CTCBK - ISFC Link Extension for CTCA devices
*** CTCPGTBL - ISFC Link Extension for CTCA devices
*
*     +---------------------------+
*   0 |         CTCPGPTR          | 4
*     +---------------------------+
*
*** CTCPGTBL - ISFC Link Extension for CTCA devices

 

CTCBK Cross Reference

(contains links to field and bit definitions)
Symbol         Dspl Value
-------------- ---- -----

CTCACOLS 0014

CTCBKLEN 00C8 000000C8

CTCBUFCT 0002

CTCCAPS 0006

CTCCONT 00C8

CTCDEVID 001C

CTCDEVNO 0018

CTCDLPRG 0021 80

CTCFLAG 0021

CTCIOACT 0062 80

CTCLDVBK 0010

CTCLNKBK 0008

CTCLNKHD 0000

CTCMAXCT 0000 000000A1

CTCMDEHD 0030

CTCMDETL 0034

CTCMSNUM 0024

CTCPCAPS 0022

CTCPGLEN 0000 00000004

CTCPGPTR 0000

CTCPGRDR 0048

CTCPGWRT 004C

CTCQUEBK 000C

CTCRDBGN 0040

CTCRDCNT 0058

CTCRDEND 0044

CTCRDPTR 0054

CTCRELID 0000

CTCRQSEM 0062 40

CTCSIZE 00C8 00000019

CTCSTAT 0020

CTCWEOF 0022 80

CTCWRBGN 0038

CTCWRCNT 0004

CTCWREND 003C

CTCWRPTR 0050

CTCWSPRG 0021 40

CTCWSQCT 0028

CTCXBUFF 0088

CTCXCCWF 0084

CTCXCCWX 0080

CTCXCPA 0070

CTCXIORC 007C

CTCXIRB 0074

CTCXNEXT 0061

CTCXORB 0068

CTCXPEND 0062

CTCXREQ 006C

CTCXRET 0068

CTCXRTRY 0064

CTCXSNS 0078

CTCXSTAT 0060

LNKATTN 0020 00000006

LNKATTN 0060 00000006

LNKATTN 0061 00000006

LNKBUSY 0020 00000002

LNKBUSY 0060 00000002

LNKBUSY 0061 00000002

LNKDEACT 0020 00000008

LNKDEACT 0060 00000008

LNKDEACT 0061 00000008

LNKFATAL 0020 00000007

LNKFATAL 0060 00000007

LNKFATAL 0061 00000007

LNKIDLE 0020 00000001

LNKIDLE 0060 00000001

LNKIDLE 0061 00000001

LNKINIT 0020 00000008

LNKINIT 0060 00000008

LNKINIT 0061 00000008

LNKREAD 0020 00000004

LNKREAD 0060 00000004

LNKREAD 0061 00000004

LNKRESET 0020 00000005

LNKRESET 0060 00000005

LNKRESET 0061 00000005

LNKWRITE 0020 00000003

LNKWRITE 0060 00000003

LNKWRITE 0061 00000003


This information is based on VM/ESA 2.4.0.
Last updated on 3 Aug 1999 at 11:49:04 EDT.
Copyright IBM Corporation, 1990, 1999