Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.

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                        =
*     |                                                       |
*     +-------------------------------------------------------+
*
*** 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

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 z/VM V4R2.0. Last updated on 17 Oct 2001 at 14:59:04 EDT.
Copyright IBM Corporation, 1990, 2001