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.
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