This section describes how to invoke the PreInit interface, CEEPIPI,
to perform the following tasks:
- Initialization
- Application invocation
- Termination
- Addition of an entry to the PreInit table
- Deletion of a main entry from the PreInit table
- Identification of an entry in the PreInit table
- Access to the CAA user word
The PreInit services offered under
Language Environment using
CEEPIPI are listed in the following tables:
For Initialization:
Table 1. Preinitialization services accessed using CEEPIPI
for initializationFunction code |
Integer value |
Service performed |
init_main |
1 |
Create and initialize an environment
for multiple executions of main routines. |
init_main_dp |
19 |
Create and initialize an environment for multiple
executions of main routines. |
init_sub |
3 |
Create and initialize an environment
for multiple executions of subroutines. |
init_sub_dp |
9 |
Create and initialize an environment
for multiple executions of subroutines. |
For application invocation:
Table 2. Preinitialization services
accessed using CEEPIPI for application invocationFunction code |
Integer value |
Service performed |
call_main |
2 |
Invoke a main routine within an already
initialized environment. |
call_sub |
4 |
Invoke a subroutine within an already
initialized environment. |
start_seq |
7 |
Start a sequence of uninterruptable
calls to a number of subroutines. |
call_sub_addr |
10 |
Invoke a subroutine by address within
an already initialized environment. |
For termination:
Table 3. Preinitialization services accessed using CEEPIPI
for terminationFunction code |
Integer value |
Service performed |
term |
5 |
Explicitly terminate the environment
without executing a user routine. |
end_seq |
8 |
Terminate a sequence of uninterruptable
calls to a number of subroutines. |
For the addition of entries to the PreInit table:
Table 4. Preinitialization
services accessed using CEEPIPI for the addition of an entry to the
PreInit tableFunction code |
Integer value |
Service performed |
add_entry |
6 |
Dynamically add a candidate routine
to execute within the preinitialized environment. |
For the deletion of entries from the PreInit table:
Table 5. Preinitialization
services accessed using CEEPIPI for the deletion of an entry to the
PreInit tableFunction code |
Integer value |
Service performed |
delete_entry |
11 |
Delete an entry from the PreInit
table, making it available for subsequent add_entry functions. |
For the identification of a PreInit table entry:
Table 6. Preinitialization
services accessed using CEEPIPI for the identification of a PreInit
table entryFunction code |
Integer value |
Service performed |
identify_entry |
13 |
Identify the programming language of an entry
in the PreInit table. |
identify_attributes |
16 |
Identify the attributes of an entry in the PreInit
table. |
For the identification of the environment:
Table 7. Preinitialization
services accessed using CEEPIPI for the addition of an entry to the
PreInit tableFunction code |
Integer value |
Service performed |
identify_environment |
15 |
Identify the environment that was
preinitialized. |
For the access to the CAA user word:
Table 8. Preinitialization services
accessed using CEEPIPI for access to the CAA user wordFunction code |
Integer value |
Service performed |
set_user_word |
17 |
Set value to be used to initialize CAA user
word. |
get_user_word |
18 |
Get value to be used to initialize CAA user
word. |