Creating an XPLINK environment versus a non-XPLINK environment

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:
  1. 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.
  2. 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.