Creating child enclaves
In Language Environment,
you can use the following methods to create a child enclave:
- Under CICS®, the EXEC CICS LINK and EXEC CICS XCTL commands. For more information about these commands, go to the IBM Knowledge Center at http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/index.jsp.
- Under z/OS, the SVC LINK macro
- Under z/OS, the C system() function (see z/OS XL C/C++ Programming Guide for more information about system()).
- Under z/OS,
the PL/I FETCH
and CALL to any of the following PL/I routines
with PROC OPTIONS(MAIN) specified:
- Enterprise PL/I for z/OS
- PL/I for MVS & VM
- OS PL/I Version 2
- OS PL/I Version 1 Release 5.1
- Relinked OS PL/I Version 1 Release 3.0 – 5.1
Such a routine, called a fetchable main in this section, can only be introduced by a FETCH and CALL from a PL/I routine. COBOL cannot dynamically call a PL/I main and C cannot issue a fetch() against a PL/I main. In addition, a fetchable main cannot be dynamically loaded using the CEELOAD macro.
The routine performing the FETCH and CALL must be compiled with the Enterprise PL/I for z/OS or the PL/I for MVS & VM compiler, or be a relinked OS PL/I routine.
If the target routine of any of these commands is not written in a Language Environment-conforming HLL or Language Environment-conforming assembler, no nested enclave is created.