CELQLLST — Language Environment language list

Note: AMODE 64 Language Environment supports C/C++ and Language Environment-conforming assembler. No other members are available. There are currently no member event handlers. The definition of the Language List is provided for completeness.

The language list is a vector of WXTRNs of the signature CSECTs and is generated by Language Environment. Language Environment checks for the presence of a member in the application in the language list. If the member represented by a specific offset in this list is not present or requires no special initialization, its WXTRN is unresolved. If the WXTRN is resolved, then Language Environment dynamically loads the event handler routine for that member, and stores the address in the member list. Language Environment then calls the event handler, passing an event code to the event handler routine. The language list has zero through seventeen entries statically allocated in Language Environment. Language Environment uses the number of entries in the language list as a loop counter when it is necessary to loop through the language list entries. The format of the language list is shown in the following code sample.

   CELQLLST CSECT ,     LANGUAGE ENVIRONMENT LANGUAGE LIST HEADER
   CELQLLST AMODE 64
   CELQLLST RMODE 31
            DC    CL4'LLHD'
            DC    AL2(CEELLIST-CELQLLST)   Length of list header
            DC    AL2(1)                   Lang Env list version number
            DC    A((LLISTEND-CEELLIST)/8) Number of list entries
            DC    F'0'                     Padding
            DC    AD(CEELLIST)             Pointer to the language list
  CEELLIST  DS    0D             Lang Env language list
            WXTRN CELQSG00
            DC    AD(CELQSG00)   00 RSVD
            WXTRN CELQSG01
            DC    AD(CELQSG01)   01 Language Environment
            WXTRN CELQSG02
            DC    AD(CELQSG02)   02 RSVD
            WXTRN CELQSG03
            DC    AD(CELQSG03)   03 C/C++
            WXTRN CELQSG04
            DC    AD(CELQSG04)   04 RSVD
            WXTRN CELQSG05
            DC    AD(CELQSG05)   05 RSVD for COBOL
            WXTRN CELQSG06
            DC    AD(CELQSG06)   06 RSVD for Debug Tool
            WXTRN CELQSG07
            DC    AD(CELQSG07)   07 RSVD for Fortran
            WXTRN CELQSG08
            DC    AD(CELQSG08)   08 RSVD (do not use)
            WXTRN CELQSG09
            DC    AD(CELQSG09)   09 RSVD
            WXTRN CELQSG10
            DC    AD(CELQSG10)   10 RSVD for PL/I
            WXTRN CELQSG11
            DC    AD(CELQSG11)   11 RSVD for Enterprise PL/I
            WXTRN CELQSG12
            DC    AD(CELQSG12)   12 RSVD (do not use)
            WXTRN CELQSG13
            DC    AD(CELQSG13)   13 RSVD
            WXTRN CELQSG14
            DC    AD(CELQSG14)   14 RSVD
            WXTRN CELQSG15
            DC    AD(CELQSG15)   15 Assembler
            WXTRN CELQSG16
            DC    AD(CELQSG16)   16 RSVD
            DC    AD(0)          Dummy entry must contain X'00'
            DS    0D
   LLISTEND DC    AD(0)          Mark the end of list
            END