z/OS TSO/E Customization
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Parameters for IRXERS

z/OS TSO/E Customization
SA32-0976-00

You can pass the address of an environment block in register 0. In register 1, the compiler runtime processor must pass the address of a parameter list, which consists of a list of addresses. Each address in the parameter list points to a parameter.

The first five parameters are required. The addresses that point to parameter 6 and parameter 7 are optional. If IRXERS does not find the high-order bit set on in either the address for parameter 5, or in the addresses for parameters 6 or 7, which are optional parameters, IRXERS does not invoke the specified routine and returns with a return code of 32 in register 15. See Table 1 for more information on return codes. The high-order bit of the last address in the parameter list must be set to 1. Table 1 lists the parameters for the external routine search routine.

Table 1. Parameters for the external routine search routine
Parameter Number of bytes Description
Parameter 1 8 Function requested. On entry to IRXERS, this parameter contains the function requested of the external routine search routine. The function specification must be in uppercase, left-justified, and padded on the right with blanks. Acceptable values are:
"EXTSUB  "
Specifies that the external routine that is being requested is a subroutine. The subroutine is not required to return an EVALBLOK. For a successfully run subroutine that does not return an EVALBLOK, the EVALBLOK address is set to 0 and the return code is set to 0.
"EXTBRSUB"
Specifies that the external routine that is being requested is a subroutine and will be given control through a branch instruction. The external routine will be invoked using standard register linkage conventions as described for external function parameter lists in .
"EXTFCT  "
Specifies that the external routine that is being requested is a function. The function is required to return an EVALBLOK. For a successfully run function that does not return an EVALBLOK, the EVALBLOK address is set to 0 and the return code is set to 4.
"EXTBRFCT"
Specifies that the external routine that is being requested is a function and will be given control through a branch instruction. The external routine will be invoked using standard register linkage conventions as described for external function parameter lists in .
Parameter 2 4 Address of the external routine name.

For the "EXTFCT  " and "EXTSUB  " functions, this parameter specifies the address of the external routine name for the requested external routine. The name must not include the opening left parenthesis that identifies the routine as a function, if that is the type of routine being invoked.

For the "EXTBRFCT" and "EXTBRSUB" functions, this parameter specifies the address of the external routine that is to be given control. IRXERS will branch to this address after building the parameter list for the specified routine.

Parameter 3 4 Length of the external routine name. Specifies the length of the external routine name pointed to by parameter 2. IRXERS ignores this parameter if "EXTBRFCT" or "EXTBRSUB" is specified in parameter 1.
Parameter 4 4 Address of the arguments for the external routine. Specifies the address of a set of address/length pairs, which hold the arguments for the external routine. These arguments must be in the format expected by an external routine. See the mapping macro IRXARGTB in , for a description of the argument list format.
Parameter 5 4 Address of an EVALBLOK. On return from IRXERS, this parameter contains the address of an EVALBLOK (if any) that IRXERS returned after an external routine successfully completed. An address of zero indicates that IRXERS did not receive an EVALBLOK.
Parameter 6 4 Address of a REXX environment block. Specifies the address of the REXX environment block under which the request is to be performed. If the compiler runtime processor supplies a non-zero parameter, IRXERS considers this parameter to be a valid environment block address. If this parameter is zero or omitted, IRXERS obtains the environment block address from register 0 as described in . This parameter is optional.
Parameter 7 4 Return code. The return code parameter is optional. On return from IRXERS, this parameter (if supplied) contains the return code for IRXERS. Register 15 will contain the same value as this parameter, if this parameter is provided.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014