When initializing a PreInit environment, you can select to create
an XPLINK or a non-XPLINK environment. There are four methods used to
initialize a PreInit environment; init_main, init_main_dp, init_sub,
and init_sub_dp. In each case, a token of the preinitialized
environment is passed back to the customer PreInit driver program.
This token ID is used and passed as input when executing PreInit programs.
The following rules will determine if the initialized PreInit environment
will be XPLINK or non-XPLINK. You can make a one-time dynamic change
in the PreInit environment from non-XPLINK to XPLINK by using (call_main)
to an XPLINK main().
init_main: (Input: PreInit table pointer, no runtime
options are passed as input)
- If the first program in the customer PreInit table is an XPLINK program,
then an XPLINK environment will be initialized.
- If the first program in the PreInit table is a non-XPLINK program,
then a non-XPLINK environment will be initialized.
- If the PreInit table is empty at initialization time, then a non-XPLINK environment
will be initialized.
init_main_dp: (Input: PreInit table pointer, no runtime
options are passed as input)
- If the first program in the customer PreInit table is an XPLINK program,
then an XPLINK environment will be initialized.
- If the first program in the PreInit table is a non-XPLINK program,
then a non-XPLINK environment will be initialized.
- If the PreInit table is empty at initialization time, then a non-XPLINK environment
will be initialized.
init_sub: (Input: PreInit table pointer, and runtime
options)
- If the first program in the customer PreInit table is an XPLINK program,
then an XPLINK environment will be initialized.
- If the runtime options are passed as input and the XPLINK option
is specified as XPLINK(ON), then an XPLINK environment will be initialized.
- If neither of the above are true (the first program in the customer
PreInit table is a non-XPLINK program and the XPLINK runtime option
is off or not specified), then a non-XPLINK environment will be initialized.
Note: - The runtime options you specify will apply to all of the subroutines
that are called by (call_sub) function. This includes options such
as XPLINK. Therefore, all of your subroutines must have the same characteristics
and requirements needed for these runtime options.
- If this is a non-XPLINK sub environment, then do not allow an XPLINK subroutine
to be added to the table.
init_sub_dp: (Input: PreInit table pointer, and runtime
options)
- If the first program in the customer PreInit table is an XPLINK program,
then an XPLINK environment will be initialized.
- If the runtime options are passed as input and the XPLINK option
is specified as XPLINK(ON), then an XPLINK environment will be initialized.
- If neither of the above are true (the first program in the customer
PreInit table is a non-XPLINK program and the XPLINK runtime option
is off or not specified), then a non-XPLINK environment will be initialized.
Note: The runtime options you specify will apply to
all of the subroutines that are called by (call_sub) function. This
includes options such as XPLINK. Therefore, all of your subroutines
must have the same characteristics and requirements needed for these
runtime options.