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

#### LNGBK

Prolog

Control Block Contents
LNGBK DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### LNGBK Prolog

     NAME       : HCPLNGBK
     DESCRIPTION: Language Information Block
     DSECT      : LNGBK
     FUNCTION   : Contains information about the message repository.
     LOCATED BY : SYSLANG   LNGBK chain anchor
                  VMDLANG   Pointer to the LNGBK
                  LNGNEXT   Forward pointer
                  LNGBACK   Backward pointer
     CREATED BY : HCPNLS    At initialization for the default
                  MESSAGE repository (HCPMES).
                  HCPNLS    When the first user is connected
                  to a message repository.
     DELETED BY : HCPNLS    When the user count of the message repository
                  is zero the associated LNGBK is deleted.
     REFERENCES : HCPICRBK - Indirect Call Request Block
     SERIALIZED :
                  Created and destroyed only when the SYSLNGLK lock
                  is held exclusive.
                  Searched only when the LNGLOCK lock is held shared.

#### LNGBK Control Block Content

#### LNGBK DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      LNGBK          Language Information Block
    0000    0 Address      4 LNGNEXT        Address of next LNGBK
    0004    4 Address      4 LNGBACK        Address of previous LNGBK Notes :
                                            If there is only one LNGBK, then
                                            this field will have the same
                                            address as "LNGNEXT" in it.
    0008    8 Dbl-Word     8 LNGLOCK (3)    Purge LNGBK lock. If both the
                                            LNGBK queue lock (SYSLNGBK), and
                                            the LNGBK lock (LNGLOCK), must be
                                            acquired, one must acquire them
                                            in this order: SYSLNGBK, then
                                            LNGLOCK
    0020   32 Signed       2 LNGPAGE        Total number of repository pages
    0022   34 Bitstring    1 LNGFLAG        Language flag byte
              1... ....      LNGDBCS        X'80' Double-byte character set.
                                            Notes : LNGDBCS is originally set
                                            by the compiler if the language
                                            uses the double-byte character
                                            set.
              .... ...1      LNGSKIP        X'01' For HCPERM: skip this LNGBK
                                            at the moment because it is being
                                            manipulated, therefore is not
                                            complete, and we don't want to
                                            get into a deadly embrace of
                                            multiple acquisitions of the
                                            LNGLOCK.
    0023   35 Bitstring    1 *              Reserved
    0024   36 Address      4 LNGIMGBK       Address of imgbk
    0028   40 Character    5 LNGLANG        Language identifier
    002D   45 Character    3 LNGCOMP        Component identifier
    0030   48 Signed       4 LNGCNT         User count
    0034   52 Address      4 LNGLBX         Address of LBXBK
    0038   56 Address      4 *              Reserved
    003C   60 Address      4 LNGEPADR       Virtual address of LNGEPNAM. For
                                            its real address, use the page
                                            pointers in the LBXBK.
    0040   64 Bitstring   16 LNGICR (0)     The ICRBK fields
    0040   64 Character    8 LNGEPNAM       Associated epname
    0048   72 Address      4 LNGADDRL       Address of ICLBK
    004C   76 Bitstring    1 LNGATTR        Attributes of epname
              .1.. ....      ICRRLONG       X'40' Caller is LONGREG
              ..1. ....      ICRELONG       X'20' Callee is LONGREG
              ...1 ....      ICRESTA        X'10' callee uses static savearea
              .... 1...      ICRRMP         X'08' caller MP capable
              .... .1..      ICRERES        X'04' callee Resident
              .... ..1.      ICREMP         X'02' callee MP capable
              .... ...1      ICRTRC         X'01' issue TRACE instruction
    004D   77 Bitstring    1 LNGF1          Attributes
              .... ...1      ICRNLOSS       X'01' HCPCALL TYPE=INDIRECT must
                                            not result in loss of control
    004E   78 Bitstring    1 * (2)          Reserved
    0050   80 Dbl-Word     8 LNGUSRD1       Reserved for non-IBM use
    0058   88 Dbl-Word     8 LNGUSRD2       Reserved for non-IBM use
    0060   96 Signed       4 LNGUSRF1       Reserved for non-IBM use
    0064  100 Signed       4 LNGUSRF2       Reserved for non-IBM use
    0068  104 Signed       2 LNGUSRH1       Reserved for non-IBM use
    006A  106 Signed       2 LNGUSRH2       Reserved for non-IBM use
    006C  108 Bitstring    1 LNGUSRX1       Reserved for non-IBM use
    006D  109 Bitstring    1 LNGUSRX2       Reserved for non-IBM use
    006E  110 Bitstring    1 LNGUSRX3       Reserved for non-IBM use
    006F  111 Bitstring    1 LNGUSRX4       Reserved for non-IBM use
              0000000E       LNGSIZE        (*-LNGBK+7)/8 Size of the LNGBK

#### LNGBK Storage Layout

    *** LNGBK - Language Information Block
    *
    *     +---------------------------+---------------------------+
    *   0 |         LNGNEXT           |         LNGBACK           |
    *     +---------------------------+---------------------------+
    *   8 |                                                       |
    *     =                       LNGLOCK                         =
    *     |                                                       |
    *     +-------------+------+------+---------------------------+
    *  20 |  LNGPAGE    |:FLAG |//////|         LNGIMGBK          |
    *     +-------------+------+------+------+--------------------+
    *  28 |             LNGLANG              |      LNGCOMP       |
    *     +---------------------------+------+--------------------+
    *  30 |          LNGCNT           |          LNGLBX           |
    *     +---------------------------+---------------------------+
    *  38 |///////////////////////////|         LNGEPADR          |
    *     +---------------------------+---------------------------+
    *  40 |                       LNGEPNAM                        |
    *     +---------------------------+------+------+-------------+
    *  48 |         LNGADDRL          |:ATTR |LNGF1 |/////////////|
    *     +---------------------------+------+------+-------------+
    *  50 |                       LNGUSRD1                        |
    *     +-------------------------------------------------------+
    *  58 |                       LNGUSRD2                        |
    *     +---------------------------+---------------------------+
    *  60 |         LNGUSRF1          |         LNGUSRF2          |
    *     +-------------+-------------+------+------+------+------+
    *  68 |  LNGUSRH1   |  LNGUSRH2   |:USRX1|:USRX2|:USRX3|:USRX4|
    *     +-------------+-------------+------+------+------+------+
    *  70
    *
    *** LNGBK - Language Information Block

#### LNGBK Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    ICRELONG       004C 20
    ICREMP         004C 02
    ICRERES        004C 04
    ICRESTA        004C 10
    ICRNLOSS       004D 01
    ICRRLONG       004C 40
    ICRRMP         004C 08
    ICRTRC         004C 01
    LNGADDRL       0048
    LNGATTR        004C
    LNGBACK        0004
    LNGCNT         0030
    LNGCOMP        002D
    LNGDBCS        0022 80
    LNGEPADR       003C
    LNGEPNAM       0040
    LNGFLAG        0022
    LNGF1          004D
    LNGICR         0040
    LNGIMGBK       0024
    LNGLANG        0028
    LNGLBX         0034
    LNGLOCK        0008
    LNGNEXT        0000
    LNGPAGE        0020
    LNGSIZE        006F 0000000E
    LNGSKIP        0022 01
    LNGUSRD1       0050
    LNGUSRD2       0058
    LNGUSRF1       0060
    LNGUSRF2       0064
    LNGUSRH1       0068
    LNGUSRH2       006A
    LNGUSRX1       006C
    LNGUSRX2       006D
    LNGUSRX3       006E
    LNGUSRX4       006F

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