Understanding the basics

PreInit support can be divided into two areas:
  • PreInit assembler driver support

    Users must create a PreInit driver that is used to create a PreInit environment. The driver will setup the PreInit environment, load the PreInit interface CELQPIPI. CELQPIPI is loaded RMODE(31), AMODE(64). All PreInit requests must be made from a non-Language Environment-conforming driver (such as assembler).

    The following assembler macros are provided to be used in the driver to define the PreInit table:
    • CELQPIT PreInit table header
    • CELQPITY PreInit table entry
    • CELQPITS PreInit table end

    The driver will be used to invoke the PreInit interface by using function calls to CELQPIPI using the standard OS linkage parameter list.

    Function calls to CELQPIPI from the customer PreInit driver:
    • init_main
    • init_sub
    • call_main
    • call_sub
    • call_sub_addr
    • term
    • start_seq
    • end_seq
    • add_entry
    • delete_entry
    • identify_entry
    • identify_attributes
  • Application program support running in the PreInit environment.

    The PreInit table contains the names and entry point addresses of each routine that can be executed within the PreInit environment.

    The applications defined in the PreInit table must be able to run as AMODE 64 (with XPLINK implied).

    Languages Supported:
    • C
    • C++
    • Assembler (64-bit Language Environment-conforming assembler)
    • Language mix of the above