CTCBK Back to Index page
 
Prolog 
Control Block Contents 
   CTCBK DSECT
   CTCPGTBL DSECT
Storage Layout 
Cross Reference (Contains links to field and bit definitions)
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.


  CTCBK Prolog Top of page
 
 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).
 RELOCATION CONSIDERATIONS : None
 COMMENTS   : None
 
 
  CTCBK Control Block Content Top of page
 

 CTCBK DSECT Top of page
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure CTCBK ISFC Link Extension for CTCA devices CTC Link Header. The link header is one reason why CTCBK storage has to be below the 2 gig bar. Treat the address of CTCLNKHD as a Host Logical address. 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 00000000 LNKDVCTL 0 LNKDVCTL - Device Control mode 00000000 LNKINIT 0 LNKINIT - Initialization in progress 00000001 LNKIDLE 1 LNKIDLE - Idle 00000002 LNKBUSY 2 LNKBUSY - Busy 00000003 LNKWRITE 3 LNKWRITE - Write in progress 00000004 LNKREAD 4 LNKREAD - Read in progress 00000005 LNKRESET 5 LNKRESET - Reset in progress 00000006 LNKATTN 6 LNKATTN - Handling link attention 00000007 LNKFATAL 7 LNKFATAL - Fatal I/O on link 00000008 LNKDEACT 8 LNKDEACT - Deactivation in progress 0021 33 Bitstring 1 CTCFLAG Link Flags 1... .... CTCDLPRG X'80' CTCDLPRG - Delete in progress .1.. .... CTCWSPRG X'40' CTCWSPRG - 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' CTCWEOF - Write End Of File supported .1.. .... CTCMBHBK X'40' CTCMBHBK - MBHBK Transfer possible 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. All are host logical addresses 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 00000000 LNKDVCTL 0 LNKDVCTL - Device Control mode 00000000 LNKINIT 0 LNKINIT - Initialization in progress 00000001 LNKIDLE 1 LNKIDLE - Idle 00000002 LNKBUSY 2 LNKBUSY - Busy 00000003 LNKWRITE 3 LNKWRITE - Write in progress 00000004 LNKREAD 4 LNKREAD - Read in progress 00000005 LNKRESET 5 LNKRESET - Reset in progress 00000006 LNKATTN 6 LNKATTN - Handling link attention 00000007 LNKFATAL 7 LNKFATAL - Fatal I/O on link 00000008 LNKDEACT 8 LNKDEACT - Deactivation in progress 0061 97 Bitstring 1 CTCXNEXT Next operation to be started 00000000 LNKDVCTL 0 LNKDVCTL - Device Control mode 00000000 LNKINIT 0 LNKINIT - Initialization in progress 00000001 LNKIDLE 1 LNKIDLE - Idle 00000002 LNKBUSY 2 LNKBUSY - Busy 00000003 LNKWRITE 3 LNKWRITE - Write in progress 00000004 LNKREAD 4 LNKREAD - Read in progress 00000005 LNKRESET 5 LNKRESET - Reset in progress 00000006 LNKATTN 6 LNKATTN - Handling link attention 00000007 LNKFATAL 7 LNKFATAL - Fatal I/O on link 00000008 LNKDEACT 8 LNKDEACT - Deactivation in progress 0062 98 Bitstring 1 CTCXPEND I/O Pending Flags: 1... .... CTCIOACT X'80' CTCIOACT - I/O is active on this device .1.. .... CTCRQSEM X'40' CTCRQSEM - SEM is required on this device 0063 99 Bitstring 1 * reserved 0064 100 Signed 4 CTCXRTRY Retry counter ORB for this device. Treat as Host Logical address 0068 104 Bitstring 12 CTCXORB (0) ORB for I/O requests Treat as Host Logical address 0068 104 Signed 4 CTCXRET ORB User Parm (I/O Return Addr) 006C 108 Bitstring 4 CTCXREQ ORB Request Flags Host Absolute 32 bit address 0070 112 Address 4 CTCXCPA ORB Channel Program Address Interrupt information for this device. 32 bit Host Absolute address 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 Host Logical address 0080 128 Address 4 CTCXCCWX Last CCW expected Not in use - 32 bit host absolute 0084 132 Address 4 CTCXCCWF Failing CCW Address 0088 136 Address 8 CTCIDAW (0) 64 Bit Host Absolute address 0088 136 Address 4 CTCHIDAW High word of address 008C 140 Address 4 CTCLIDAW Low word of address Work area for this device. 0090 144 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) Another area which requires CTCBK storage to be below the 2 gig bar. Address of CTCCONT is treated as Host Logical address 00D0 208 Dbl-Word 8 CTCCONT (0) Start of variable length data 000000D0 CTCBKLEN *-CTCBK Size of base CTCBK in bytes 0000001A 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 Top of page
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. 000000A0 CTCMAXCT (4064-(CTCSIZE*8))/(8+8+(2*CTCPGL EN)) Max count
 
 
  CTCBK Storage Layout Top of page
 
          
*** 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 |         CTCHIDAW          |         CTCLIDAW          |
*     +---------------------------+---------------------------+
*  90 |                                                       |
*     =                       CTCXBUFF                        =
*     |                                                       |
*     +-------------------------------------------------------+
*
*** 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 Top of page
 
 
Symbol         Dspl Value
-------------- ---- -----
CTCACOLS       0014
CTCBKLEN       00D0 000000D0
CTCBUFCT       0002
CTCCAPS        0006
CTCCONT        00D0
CTCDEVID       001C
CTCDEVNO       0018
CTCDLPRG       0021 80
CTCFLAG        0021
CTCHIDAW       0088
CTCIDAW        0088
CTCIOACT       0062 80
CTCLDVBK       0010
CTCLIDAW       008C
CTCLNKBK       0008
CTCLNKHD       0000
CTCMAXCT       0000 000000A0
CTCMBHBK       0022 40
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        00D0 0000001A
CTCSTAT        0020
CTCWEOF        0022 80
CTCWRBGN       0038
CTCWRCNT       0004
CTCWREND       003C
CTCWRPTR       0050
CTCWSPRG       0021 40
CTCWSQCT       0028
CTCXBUFF       0090
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
LNKDVCTL       0020 00000000
LNKDVCTL       0060 00000000
LNKDVCTL       0061 00000000
LNKFATAL       0020 00000007
LNKFATAL       0060 00000007
LNKFATAL       0061 00000007
LNKIDLE        0020 00000001
LNKIDLE        0060 00000001
LNKIDLE        0061 00000001
LNKINIT        0020 00000000
LNKINIT        0060 00000000
LNKINIT        0061 00000000
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 z/VM 7.1.0 Last updated on 22 Jun 2018 at 11:48:46 EDT.
Copyright IBM Corporation, 1990, 2018