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.
|