The exec block (EXECBLK)
The exec block (EXECBLK) is a control block that describes the exec to be loaded. If the exec is not preloaded, you must build the exec block and pass the address in parameter 1 on the call to IRXEXEC. You need not pass an exec block if the exec is preloaded.
TSO/E provides a mapping macro IRXEXECB for the exec block. The mapping macro is in SYS1.MACLIB. Table 1 describes the format of the exec block.
| Offset (decimal) | Number of bytes | Field name | Description |
|---|---|---|---|
| 0 | 8 | ACRYN | An eight-character field that identifies the exec block. It must contain the character string ‘IRXEXECB’. |
| 8 | 4 | LENGTH | Specifies the length of the exec block in bytes. |
| 12 | 4 | — | Reserved. |
| 16 | 8 | MEMBER | Specifies the member name of the exec if the exec is in a partitioned data set. If the exec is in a sequential data set, this field must be blank. |
| 24 | 8 | DDNAME | Specifies the name of the DD from which the exec
is loaded. An exec cannot be loaded from a DD that has not been allocated.
The ddname you specify must be allocated to a data set containing
REXX execs or to a sequential data set that contains an exec. If this field is blank, the exec is loaded from the DD specified in the LOADDD field of the module name table (see Module name table). The default is SYSEXEC. |
| 32 | 8 | SUBCOM | Specifies the name of the initial host command
environment when the exec starts running. If this field is blank, the environment specified in the INITIAL field of the host command environment table is used. For TSO/E and ISPF, the default is TSO. For a non-TSO/E address space, the default is MVS™. The table is described in Host command environment table. |
| 40 | 4 | DSNPTR | Specifies the address of a data set name that
the PARSE SOURCE instruction returns. The name usually represents
the name of the exec load data set. The name can be up to 54 characters
long (44 characters for the fully qualified data set name, 8 characters
for the member name, and 2 characters for the left and right parentheses).
If you do not want to specify a data set name, specify an address of 0. |
| 44 | 4 | DSNLEN | Specifies the length of the data set name that is pointed to by the address at offset +40. The length can be 0-54. If no data set name is specified, the length is 0. |
| 48 | 4 | EXTNAME_PTR | Pointer to the extended execname. This field can
be used to pass an execname if greater than eight characters. For
example, this field may be used to pass pathname/filename of
a UNIX file to a replaceable load routine that
handles UNIX file system files (This name is not used
by the TSO/E REXX load routine.) (This field is only valid if PTF for APAR OW28404 is applied.) |
| 52 | 4 | EXTNAME_LEN | Length of the extended name pointed to by EXTNAME_PTR, or 0 if no extended name is specified. The maximum length of an extended name is 4096 (x'1000'). Any length larger than this maximum value should be treated as 0 (that is, as no extended name specified). |
| 56 | 8 | — | Reserved |
An exec cannot be loaded from a data set that has not been allocated. The ddname you specify (at offset +24 in the exec block) must be allocated to a data set containing REXX execs or to a sequential data set that contains an exec.
The fields at offset +40 and +44 in the exec block are used only for input to the PARSE SOURCE instruction and are for informational purposes only.
- If the exec is preloaded, loading is not performed.
- If you specify a ddname in the exec block, IRXEXEC loads the exec from that DD. You also specify the name of the member in the exec block.
- If you do not specify a ddname in the exec block, IRXEXEC loads the exec from the DD specified in the LOADDD field in the module name table for the language processor environment (see Module name table). The default is SYSEXEC. If you customize the environment values TSO/E provides or use the initialization routine IRXINIT, the DD may be different. See Language processor environments for customizing information.