(add_entry) — add an entry to the PreInit table

This invocation of CEEPIPI adds an entry for the environment represented by token in the Language Environment-maintained table. If a routine entry address is not provided, the routine name is used to dynamically load the routine and add it to the PreInit table. The PreInit table index for the new entry is returned to the calling routine.

Read syntax diagramSkip visual syntax diagram
Syntax

>>-CALL--CEEPIPI--(--add_entry--,--token--,--routine_name--,---->

>--routine_entry--,--ceexptbl_index--)-------------------------><

add_entry (input)
A fullword function code (integer value = 6) containing the add_entry request.
token (input)
A fullword with the value of the token associated with the environment that adds this new routine. This token is returned by a (init_main), (init_main_dp), (init_sub), or (init_sub_dp) request.

The token must identify a previously preinitialized environment that is dormant at the time of the call.

routine_name (input)
A character string of length 8, left-justified and padded right with blanks, containing the name of the routine. To indicate the absence of the name, this field should be blank. If routine_entry is zero, this is used as the load name.
routine_entry (input/output)
The routine entry address that is added to the PreInit table. If routine_entry is zero on input, routine_name is used as the load name. On output, routine_entry is set to the load address of routine_name.

The high-order bit of the entry_point address must be set to indicate the addressing mode for the routine. If the high-order bit is OFF, the routine is called in 24 bit addressing mode and the address must be a valid 24 bit address. If the high-order bit is ON, the routine is called in 31 bit addressing mode and the address must be a valid 31 bit address.

ceexptbl_index (output)
The index to the PreInit table where this routine was added. If the return code is nonzero, this value is indeterminate. The index starts at zero.
Note: The environment that was preinitialized can be an XPLINK environment or a non-XPLINK environment. If the routine being added is an XPLINK routine, then the previously initialized environment must also be XPLINK.