CEEBLLST — language list

The member 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 or the member appears in the dependent member list of any signature CSECT in the language list, 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. Refer to the LLISTENT as the number of valid entries within the language list. The format of the language list is shown in Figure 1.

Figure 1. CEEBLLST format
CEEBLLST CSECT ,     LANGUAGE ENVIRONMENT LANGUAGE LIST HEADER
CEEBLLST RMODE ANY
CEEBLLST AMODE ANY
         DC    CL4'LLHD'
         DC    AL2(CEELLIST-CEEBLLST)   Length of list header
         DC    AL2(1)                   Lang Env list version number
         DC    A((LLISTEND-CEELLIST)/4) Number of list entries
         DC    A(CEELLIST)              Pointer to the language list
CEELLIST DS    0D            Lang Env language list
         WXTRN CEESG000
         DC    A(CEESG000)   00 RSVD
         WXTRN CEESG001
         DC    A(CEESG001)   01 Language Environment
         WXTRN CEESG002
         DC    A(CEESG002)   02 RSVD
         WXTRN CEESG003
         DC    A(CEESG003)   03 C/C++
         WXTRN CEESG004
         DC    A(CEESG004)   04 RSVD
         WXTRN CEESG005
         DC    A(CEESG005)   05 COBOL
         WXTRN CEESG006
         DC    A(CEESG006)   06 Debug Tool
         WXTRN CEESG007
         DC    A(CEESG007)   07 Fortran
         WXTRN CEESG008
         DC    A(CEESG008)   08 RSVD
         WXTRN CEESG009
         DC    A(CEESG009)   09 RSVD
         WXTRN CEESG010
         DC    A(CEESG010)   10 PL/I
         WXTRN CEESG011
         DC    A(CEESG011)   11 Enterprise PL/I for z/OS
         WXTRN CEESG012
         DC    A(CEESG012)   12 Berkeley Sockets
         WXTRN CEESG013
         DC    A(CEESG013)   13 RSVD
         WXTRN CEESG014
         DC    A(CEESG014)   14 RSVD
         WXTRN CEESG015
         DC    A(CEESG015)   15 assembler
         WXTRN CEESG016
         DC    A(CEESG016)   16 RSVD
         DC    A(0)          Dummy entry must contain X'00'
         DS    0D            This boundary requirement is mandatory.
*                            It is needed to save processing time when
*                            CEE is being initialized.
LLISTEND DC    A(0)          Mark the end of list
         END