CEESTART operation

The Language Environment bootstrap routine takes the actions as described in Table 1.

Table 1. Bootstrap behavior
Enclave Initialized? MAIN? FMAIN? Comments
No Yes No Initialize the enclave and execute MAIN
No Yes Yes Initialize the enclave and execute MAIN
No No Yes Abend 4093-112
No No No Abend 4093-112
Yes Yes No Raise the condition CEE393
Yes Yes Yes Raise the condition CEE396
Yes No Yes Call the FMAIN subprogram
Yes No No Raise the condition CEE392
Notes:
  1. The enclave can either be the initial enclave or a nested enclave. Enclave Initialized is no if CEEINT has not yet been called for that enclave.
  2. MAIN refers to the address of the main routine contained in the PLIMAIN or CEEMAIN CSECTs.
  3. FMAIN refers to the address of the fetchable entry contained in the CEEFMAIN CSECT.

When CEESTART is invoked from within a Language Environment environment, and CEEMAIN or PLIMAIN is resolved, an error is raised. The bootstrap behavior should also be reflected in FETCH limitations.

Note: The address of the main routine can potentially be found in two places: CEEMAIN and within the Initialization Parameter List (INPL). Language Environment honors the address found in the INPL.