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

#### LNKBK

Prolog

Control Block Contents
LNKBK DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### LNKBK Prolog

     NAME       : HCPLNKBK
     DESCRIPTION: ISFC Link Definition Block
     DSECT      : LNKBK
     FUNCTION   : This block is used to maintain status information
                  for an ISFC link device.  The information in the LNKBK
                  is needed for any ISFC link operation.  The line driver
                  uses a link extension block (addressed by LNKEXTBK)
                  for information that is used exclusively for line
                  driver operations.
     LOCATED BY : RDEVCFLK  (pointer) If RDEVCFAT is ON, then it contains
                  the address of the LNKBK for this device.
                  HCPBUTLT  (anchor) the first LNKBK in the chain.
     CREATED BY : Operation of the 'ACTIVATE ISLINK' command.
     DELETED BY : Operation of the 'DEACTIVE ISLINK' command.
     SERIALIZED : The respective LNKBK lock (LNKLKWRD) must be held in order
                  to update any field in the LNKBK.  The RDEV lock must
                  be held in order to change RDEVCFLK.

#### LNKBK Control Block Content

#### LNKBK DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      LNKBK          ISFC Link Definition Block
          Link Description.
    0000    0 Character    8 LNKTYPE        Link Type
    0008    8 Character   16 LNKNAME        Link Name String
    0018   24 Address      4 LNKNEXT        Address of the next LNKBK
    001C   28 Address      4 LNKEXTBK       Address of Driver Link Extension
    0020   32 Signed       4 LNKDEVNO       Link Device Address (base)
    0024   36 Signed       4 LNKDEVCT       Link Device Count
    0028   40 Character    4 LNKDEVID       Link Base Address (printable)
    002C   44 Bitstring    4 *              Reserved
          Link Status.
          Notes      :
            Any line driver that intends to use the LNKENTQL
            interface should maintain link status using these
            values.
    0030   48 Bitstring    1 LNKSTAT        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
    0031   49 Bitstring    1 LNKSTATE       Link state
              00000001       LNKUP          1 - The link is up
              00000002       LNKDOWN        2 - The link is down
    0032   50 Bitstring    1 LNKFLAG        Supplemental status:
              1... ....      LNKINPRG       X'80' - Initialization in
                                            progress
              .1.. ....      LNKDLPRG       X'40' - Delete in progress
              ..1. ....      LNKBLDPD       X'20' - Call to BuildLink is
                                            pending
              ...1 ....      LNKDUPND       X'10' - Duplicate ISFC Node
                                            detected
              .... 1...      LNKSUSPD       X'08' - This link is suspended
    0033   51 Bitstring    5 *              Reserved
          Link Lock controls.
    0038   56 Dbl-Word     8 LNKLKWRD (3)   Lockword for Link Lock
    0050   80 Bitstring    8 LNKLKTRC       LNKBK lock trace values
          Link Monitor controls.
    0058   88 Bitstring    8 LNKLINST       Local link instance number
    0060   96 Bitstring    8 LNKRINST       Remote link instance number
    0068  104 Signed       4 LNKIOCMP       I/O Completion Count
    006C  108 Signed       4 LNKIOSAV       Save I/O Completions
    0070  112 Signed       2 LNKLMCNT       Link Monitor iteration number
    0072  114 Bitstring    1 LNKMONFL       Link Monitor Flags
              1... ....      LNKMONIT       X'80' - Monitor this link
              .1.. ....      LNKMONOK       X'40' - Monitor Response Received
    0073  115 Bitstring    1 *              Reserved
    0074  116 Signed       4 LNKIOTOD       TOD clock at last I/O request
          Type 09 Accounting Record (Link Statistics) columns 29-78.
          Notes      :
            Map LNKACOLS using HCPACOBK at ACOCFLS.
    0078  120 Bitstring   50 LNKACOLS       (29-78) for Type 09 Accounting
    00AA  170 Bitstring    6 *              Reserved
          Link Termination.
    00B0  176 Character    8 LNKUSER        Command invoker's userid
          Miscellaneous fields.
    00B8  184 Signed       4 LNKMSNUM       Last message number displayed
    00BC  188 Bitstring    4 *              Reserved
          Line Driver Entry Points.
    00C0  192 Dbl-Word     8 LNKENTS (0)    Entry Point Table
    00C0  192 Address      4 LNKENTBL       Addr(build link routine)
    00C4  196 Address      4 LNKENTDL       Addr(delete link routine)
    00C8  200 Address      4 LNKENTAL       Addr(activate link routine)
    00CC  204 Address      4 LNKENTRL       Addr(reset link routine)
    00D0  208 Address      4 LNKENTQL       Addr(query link routine)
    00D4  212 Address      4 LNKENTWL       Addr(write link routine)
    00D8  216 Address      4 LNKENTIC       Addr(interrupt completion)
    00DC  220 Address      4 LNKENTUI       Addr(unsolicited interrupt)
              00000020       LNKENTZ        *-LNKENTS Length of LNKENTS table
          Link Data QUEBK.
          Notes      :
            QUESIZE is defined in HCPQUEBK, so modules using this
            control block must also COPY HCPQUEBK.
         **** THE VALUE OF QUESIZE FOR DATAMAP IS 6
    00E0  224 Dbl-Word     8 LNKQUEBK (6)   QUEBK for Link Data
          Link I/O QUEBK.
          Notes      :
            QUESIZE is defined in HCPQUEBK, so modules using this
            control block must also COPY HCPQUEBK.
         **** THE VALUE OF QUESIZE FOR DATAMAP IS 6
    0110  272 Dbl-Word     8 LNKIOQBK (6)   QUEBK for Link I/O
          Link Device Table.
              00000010       LNKDEVMX       16 **** THE VALUE OF LNKDEVMX FOR
                                            DATAMAP IS 16
    0140  320 Address      4 LNKDEVTB (16)  Table of LDVBK pointers
              00000030       LNKSIZE        (*-LNKBK+7)/8 Size, in
                                            doublewords, of LNKBK

#### LNKBK Storage Layout

    *** LNKBK - ISFC Link Definition Block
    *
    *     +-------------------------------------------------------+
    *   0 |                       LNKTYPE                         |
    *     +-------------------------------------------------------+
    *   8 |                       LNKNAME                         |
    *     |                                                       |
    *     +---------------------------+---------------------------+
    *  18 |         LNKNEXT           |         LNKEXTBK          |
    *     +---------------------------+---------------------------+
    *  20 |         LNKDEVNO          |         LNKDEVCT          |
    *     +---------------------------+---------------------------+
    *  28 |         LNKDEVID          |///////////////////////////|
    *     +------+------+------+------+---------------------------+
    *  30 |:STAT |:STATE|:FLAG |//////////////////////////////////|
    *     +------+------+------+----------------------------------+
    *  38 |                                                       |
    *     =                       LNKLKWRD                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    *  50 |                       LNKLKTRC                        |
    *     +-------------------------------------------------------+
    *  58 |                       LNKLINST                        |
    *     +-------------------------------------------------------+
    *  60 |                       LNKRINST                        |
    *     +---------------------------+---------------------------+
    *  68 |         LNKIOCMP          |         LNKIOSAV          |
    *     +-------------+------+------+---------------------------+
    *  70 |  LNKLMCNT   |:MONFL|//////|         LNKIOTOD          |
    *     +-------------+------+------+---------------------------+
    *  78 |                                                       |
    *     =                       LNKACOLS                        =
    *     |             +-----------------------------------------+
    *  A8 |             |/////////////////////////////////////////|
    *     +-------------+-----------------------------------------+
    *  B0 |                       LNKUSER                         |
    *     +---------------------------+---------------------------+
    *  B8 |         LNKMSNUM          |///////////////////////////|
    *     +---------------------------+---------------------------+
    *  C0 |         LNKENTBL          |         LNKENTDL          |
    *     +---------------------------+---------------------------+
    *  C8 |         LNKENTAL          |         LNKENTRL          |
    *     +---------------------------+---------------------------+
    *  D0 |         LNKENTQL          |         LNKENTWL          |
    *     +---------------------------+---------------------------+
    *  D8 |         LNKENTIC          |         LNKENTUI          |
    *     +---------------------------+---------------------------+
    *  E0 |                                                       |
    *     =                       LNKQUEBK                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    * 110 |                                                       |
    *     =                       LNKIOQBK                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    * 140 |                                                       |
    *     =                       LNKDEVTB                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    * 180
    *
    *** LNKBK - ISFC Link Definition Block

#### LNKBK Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    LNKACOLS       0078
    LNKATTN        0030 00000006
    LNKBLDPD       0032 20
    LNKBUSY        0030 00000002
    LNKDEACT       0030 00000008
    LNKDEVCT       0024
    LNKDEVID       0028
    LNKDEVMX       0110 00000010
    LNKDEVNO       0020
    LNKDEVTB       0140
    LNKDLPRG       0032 40
    LNKDOWN        0031 00000002
    LNKDUPND       0032 10
    LNKENTAL       00C8
    LNKENTBL       00C0
    LNKENTDL       00C4
    LNKENTIC       00D8
    LNKENTQL       00D0
    LNKENTRL       00CC
    LNKENTS        00C0
    LNKENTUI       00DC
    LNKENTWL       00D4
    LNKENTZ        00DC 00000020
    LNKEXTBK       001C
    LNKFATAL       0030 00000007
    LNKFLAG        0032
    LNKIDLE        0030 00000001
    LNKINIT        0030 00000008
    LNKINPRG       0032 80
    LNKIOCMP       0068
    LNKIOQBK       0110
    LNKIOSAV       006C
    LNKIOTOD       0074
    LNKLINST       0058
    LNKLKTRC       0050
    LNKLKWRD       0038
    LNKLMCNT       0070
    LNKMONFL       0072
    LNKMONIT       0072 80
    LNKMONOK       0072 40
    LNKMSNUM       00B8
    LNKNAME        0008
    LNKNEXT        0018
    LNKQUEBK       00E0
    LNKREAD        0030 00000004
    LNKRESET       0030 00000005
    LNKRINST       0060
    LNKSIZE        0140 00000030
    LNKSTAT        0030
    LNKSTATE       0031
    LNKSUSPD       0032 08
    LNKTYPE        0000
    LNKUP          0031 00000001
    LNKUSER        00B0
    LNKWRITE       0030 00000003

This information is based on z/VM V5R2.0. Last updated on 12 Apr 2006 at 17:05:37 EDT.
Copyright IBM Corporation, 1990, 2005