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


Parameters for the exec processing exit for the IRXEXEC routine

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

When the exec processing exit for the IRXEXEC routine gets control, register 1 points to a parameter list. This parameter list consists of a list of addresses. Each address in the parameter list points to a parameter. Table 1 describes the parameter list that the exec processing exit receives.

Table 1. Parameters for the exec processing exit
Parameter Number of bytes Description
Parameter 1 4 The address of the exec block (EXECBLK). The exec block is a control block that describes the exec to be loaded. It contains information needed to process the exec, such as the DD from which the exec is to be loaded and the name of the initial host command environment when the exec starts executing.

This parameter can be 0 if the exec is pre-loaded and the address of the pre-loaded exec is passed in parameter 4. If this parameter and parameter 4 are both specified, the value in parameter 4 is used and this parameter is ignored.

Parameter 2 4 The address of the arguments for the exec. The arguments are arranged as a vector of address/length pairs followed by X'FFFFFFFFFFFFFFFF'. There is no limit to the number of arguments passed to the exec.
Parameter 3 4 A fullword of bits that are used as flags. Only bits 0, 1, and 2 are used. The remaining bits are reserved. Bits 0, 1, and 2 are mutually exclusive.
  • Bit 0 - If the bit is set on, the exec was invoked as a "command", that is, it was not invoked from another exec as an external function or subroutine.
  • Bit 1 - If the bit is set on, the exec was invoked as an external function (a function call).
  • Bit 2 - If the bit is set on, the exec was invoked as a subroutine.
  • Bit 3 - Set this bit on if you want IRXEXEC to return extended return codes in the range 20001–20099.

    If a syntax error occurs, IRXEXEC returns a value in the range 20001–20099 in the evaluation block, regardless of the setting of bit 3. If bit 3 is on and a syntax error occurs, IRXEXEC returns with a return code in the range 20001–20099 that matches the value returned in the evaluation block. If bit 3 is off and a syntax error occurs, IRXEXEC returns with return code 0. For more information about how REXX returns information about syntax errors, see .

Parameter 4 4 The address of the in-storage control block (INSTBLK). The in-storage control block defines the structure of a pre-loaded exec in storage. It contains pointers to each record in the exec and the length of each record.

This parameter is specified if the caller of the IRXEXEC routine has pre-loaded the exec. Otherwise, this parameter is 0.

Parameter 5 4 A 4-byte field that contains the address of the CPPL, if IRXEXEC was called from the TSO/E address space. If the caller of IRXEXEC does not pass the address of the CPPL, TSO/E builds the CPPL without a command buffer. The CPPL address is required in the TSO/E address space.

If IRXEXEC is called from a non-TSO/E address space, this parameter is 0.

Parameter 6 4 The address of an evaluation block (EVALBLOCK). IRXEXEC uses the evaluation block to return the result from the exec that was specified on either the RETURN or EXIT instruction.

The value may be 0, if the exec does not return a result or the caller of IRXEXEC plans to use the IRXRLT (get result) routine to get the result or the result is to be ignored. describes IRXRLT.

Parameter 7 4 The address of an 8-byte field that defines a work area. In the 8-byte field, the:
  • First four bytes contain the address of the work area
  • Second four bytes contain the length of the work area

The work area is passed to the language processor to use for executing the exec. If the work area is too small, IRXEXEC returns with a return code of 20 and a message indicates an error. The minimum length required for the work area is X'1800' bytes.

If you do not want to pass a work area, specify an address of 0. IRXEXEC will obtain storage for its work area or will call the replaceable storage routine specified in the GETFREER field (in the module name table) for the environment, if you provided a storage routine.

Parameter 8 4 The address of a user field. IRXEXEC does not use or check this pointer or the user field. You can use this field for your own processing.

If you do not want to use a user field, specify an address of 0.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014