Preinitialization interface

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 initialization
Function 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 invocation
Function 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 termination
Function 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 table
Function 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 table
Function 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 entry
Function 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 table
Function 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 word
Function 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.