LEPIPI Function

#### Search Results

Search

# LEPIPI Function

The LEPIPI function can be used to call LE routines from non-LE programs. When it receives the first LEPIPI call from a given application, Com-plete uses LE preinitialization services (CEEPIPI init_sub_dp) to initialize a HLL environment. This environment is then maintained for subsequent calls, until a termination call is received, or the application terminates.

The routines being called must match the requirements defined by the IBM Language Environment. Both main routines and subroutines are supported.

Runtime options for IBM Language Environment modules invoked using this function can be specified with the LEPIPI-RUNTIME-OPTS sysparm.

> Format

>   The format for the LEPIPI function is:

>       LEPIPI (retcode, module, plist, return_vector)

>   retcode | A fullword where Com-plete places the return code from CEEPIPI call_sub_addr (or term). The value is also returned in R15.
>   module | A character string of length 8, left-justified and padded right with blanks, containing the name of the LE routine to be called. The routine must match the requirements defined by the IBM Language Environment. Both main routines and subroutines are supported. A NULL pointer in this parameter is treated as a request to terminate the PIPI environment.
>   plist | The (direct) address of a parameter list to be passed to the LE routine.
>   return_vector | The address of 5 consecutive fullwords where LE places: the 4 byte enclave or subroutine return code, the 4 byte enclave or subroutine reason code, the 12 byte enclave feedback code.

> Return codes

>   Com-plete passes back the return code from CEEPIPI call_sub_addr (or term). In addition to those, a return code of 20 (dec) is used to indicate a “module not found” condition.