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


Format of the exec block

z/OS TSO/E REXX Reference
SA32-0972-00

The exec block (EXECBLK) is a control block that describes the:
  • Exec to be loaded (LOAD or TSOLOAD function)
  • Exec to be checked (STATUS function)
  • DD to be closed (CLOSEDD function)

If a user-written program calls IRXLOAD or your own exec load routine, the program must build the exec block and pass the address of the exec block on the call. 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.

Table 1. 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. The field 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 is blank.

For the TSOLOAD function, the member name is required.

24 8 DDNAME For a LOAD request, the field specifies the ddname from which the exec is to be loaded. For a TSOLOAD request, this field is used only for output; it is ignored on input. On output, the field contains the ddname from which the exec was loaded. For a STATUS request, the field specifies the ddname from which the exec being checked was loaded. For a CLOSEDD request, the field specifies the ddname to be closed.

An exec cannot be loaded from a DD that has not been allocated. The ddname specified must be allocated to a data set containing REXX execs or to a sequential data set that contains an exec.

For the LOAD and STATUS functions, this field can be blank. In these cases, the ddname in the LOADDD field of the module name table is used.

32 8 SUBCOM Specifies the name of the initial host command 4 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.

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). The field can be blank.
Note: For concatenated data sets, the field may contain the name of the first data set in the sequence, although the exec was loaded from a data set other than the first one in the sequence.
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 Specifies the 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 specified (at offset +24) 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.

For the LOAD and STATUS functions, if a ddname is not specified in the exec block (at offset +24), the routine uses the ddname in the LOADDD field in the module name table for the language processor environment. The environment block (ENVBLOCK) points to the PARMBLOCK, which contains the address of the module name table.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014