The invocation of this routine:
- Creates and initializes a new common run-time environment (process) that allows the
execution of main routines multiple times
- Sets the environment to dormant so that exceptions are percolated
out of it
- Returns a token identifying the environment to the caller
- Returns a code in register 15 indicating whether an environment
was successfully initialized
Syntax
>>-CALL--CEEPIPI--(--init_main--,--ceexptbl_addr--,------------->
>--service_rtns--,--token--)-----------------------------------><
- init_main (input)
- A fullword function code (integer value = 1) containing the
init_main request.
- ceexptbl_addr (input)
- A fullword containing the address of the PreInit table to be
used during initialization of the new environment. Language Environment does
not alter the user-supplied copy of the table. If an entry address
is zero and the entry name is non-blank, Language Environment searches for the routine
(in the LPA, saved segment, or nucleus) and
dynamically loads it. Language Environment places the entry address in the corresponding
slot of a Language Environment-maintained table.
Language Environment uses the high-order bit
of the entry address to determine what AMODE to use when calling the
routine. If the entry address is zero, and the entry name is supplied, Language Environment uses
the AMODE returned by the system loader. If the entry address is supplied,
you must provide the AMODE in the high-order bit of the address.
- service_rtns (input)
- A fullword containing the address of the service routine vector
or 0, if there is no service routine vector. See Service routines for
more information.
- token (output)
- A fullword containing a unique value used to represent the environment.
The token should be used only as input to additional calls
to CEEPIPI, and should not be altered or used in any other manner.