CTCBK - 32-bit CP - V4R4.0

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 V4R4.0.
    Last updated on 29 Jul 2003 at 15:22:04 EDT.

    Copyright IBM Corporation, 1990, 2003