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


Output parameters

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

The parameter list for IRXINIT contains three parameters that IRXINIT uses for output only (parameters 6, 7, and 9). Parameter 6 contains the address of the environment block. If you called IRXINIT to locate an environment, parameter 6 contains the address of the environment block for the current non-reentrant environment. If you called IRXINIT to initialize an environment, parameter 6 contains the address of the environment block for the new environment. Parameter 6 lets high-level programming languages obtain the address of the environment block to examine information in the environment block.

Parameter 9 is an optional parameter you can use to obtain the return code. If you specify parameter 9, IRXINIT returns the return code in parameter 9 and also in register 15.

Parameter 7 contains a reason code for IRXINIT processing. The reason code indicates whether IRXINIT completed successfully. If IRXINIT processing was not successful, the reason code indicates the error. Table 1 describes the reason codes IRXINIT returns. Note that these reason codes are not the same as the reason codes that are returned because of a system or user abend. A system or user abend results in a return code of 100 or 104 and an abend code and abend reason code in register 0. See Return codes for a description of return codes 100 and 104.

If parameter 11 is specified and IRXINIT is returning with return code 20, the message buffer pointed to by parameter 11 will return a message associated with the error, usually containing the return code and reason code. If parameter 11 is not passed when IRXINIT completes with return code 20, the message is issued to the TSO/E user and/or to the CONSOLE. The caller of IRXINIT can set parm11 to point to a buffer with length header word X'00000000' to prevent IRXINIT from either issuing or returning a message when the IRXINIT return code is 20.

Table 1. Reason codes for IRXINIT processing
Reason code Description
0 Successful processing.
1 Unsuccessful processing. The type of function to be performed (parameter 1) was not valid. The valid functions are INITENVB, FINDENVB, and CHEKENVB.
2 Unsuccessful processing. The TSOFL flag is on, but TSO/E is not active.

IRXINIT evaluated all of the parameters for initializing the new environment. This reason code indicates that the environment is being initialized in a non-TSO/E address space, but the TSOFL flag is on. The TSOFL flag must be off for environments initialized in non-TSO/E address spaces.

3 Unsuccessful processing. A reentrant environment was specified for an environment that was being integrated into TSO/E. If you are initializing an environment in TSO/E and the TSOFL flag is on, the RENTRANT flag must be off. In this case, both the TSOFL and RENTRANT flags were on.
4 Unsuccessful processing. The environment being initialized was to be integrated into TSO/E (the TSOFL flag was on). However, a routine name was specified in the module name table that cannot be specified if the environment is being integrated into TSO/E. If the TSOFL flag is on, you can specify only the following routines in the module name table:
  • An attention exit (ATTNROUT field)
  • An exit for IRXEXEC (IRXEXECX field)
  • An exec initialization exit (EXECINIT field)
  • An exec termination exit (EXECTERM field).
5 Unsuccessful processing. The value specified in the GETFREER field in the module name table does not match the GETFREER value in the current language processor environment under the current task.

If more than one environment is initialized on the same task and the environments specify a storage management replaceable routine (GETFREER field), the name of the routine must be the same for the environments.

6 Unsuccessful processing. The value specified for the length of each entry in the host command environment table is incorrect. This is the value specified in the SUBCOMTB_LENGTH field in the table. See Host command environment table for information about the table.
7 Unsuccessful processing. An incorrect subpool number was specified for an environment being integrated into TSO/E. The subpool number must be 78 (decimal).
8 Unsuccessful processing. The TSOFL flag for the new environment is on. However, the flag in the previous environment is off. The TSOFL flag cannot be on if a previous environment in the chain has the TSOFL flag off.
9 Unsuccessful processing. The new environment specified that the data stack is to be shared (NEWSTKFL is off), but the SPSHARE flag in the previous environment is off, which means that storage is not to be shared across tasks. If you have the NEWSTKFL off for the new environment, you must ensure that the SPSHARE flag in the previous environment is on.
10 Unsuccessful processing. The IRXINITX exit routine returned a non-zero return code. IRXINIT stops initialization.
11 Unsuccessful processing. The IRXITTS exit routine returned a non-zero return code. IRXINIT stops initialization.
12 Unsuccessful processing. The IRXITMV exit routine returned a non-zero return code. IRXINIT stops initialization.
13 Unsuccessful processing. The REXX I/O routine or the replaceable I/O routine is called to initialize I/O when IRXINIT is initializing a new language processor environment. The I/O routine returned a non-zero return code.
14 Unsuccessful processing. The REXX data stack routine or the replaceable data stack routine is called to initialize the data stack when IRXINIT is initializing a new language processor environment. The data stack routine returned a non-zero return code.
15 Unsuccessful processing. The REXX exec load routine or the replaceable exec load routine is called to initialize exec loading when IRXINIT is initializing a new language processor environment. The exec load routine returned a non-zero return code.
16 Unsuccessful processing. REXX failed to initialize the TSO service facility command/program invocation platform.
Note: A possible cause for this initialization failure may include, but is not restricted to, a GETMAIN failure where storage could not be obtained.
17 Unsuccessful processing. The ECT parameter, parameter 10, was not valid when initializing an environment that is integrated with TSO/E.
The following are restrictions on the use of alternative ECTs (that is, ECTs other than the primary ECT created at either logon time or TMP initialization):
Note:
  1. When TSO/E processes an authorized command from a REXX exec and an alternate ECT is used, it is not possible for REXX to trap the command output from the authorized command.

    To use command output trapping by using the OUTTRAP function, the REXX exec must be executing on the primary ECT.

  2. When TSO/E processes an authorized command from a REXX exec and an alternative ECT is being used, it is not possible for REXX to satisfy a prompt from the data stack, other than from the data stack associated with the language processor environment that is anchored in the primary ECT. That is, when TSO/E is processing an authorized command and that command prompts for input (by using the GETLINE or PUTGET service routines) the prompt can only be satisfied from the language processor environment anchored in the primary ECT.
20 Unsuccessful processing. Storage could not be obtained.
21 Unsuccessful processing. A module could not be loaded into storage. Refer to message IRX0901E for the name of this module. This message may be issued to the user and/or console, or it may be returned to the caller of IRXINIT in parm11.
22 Unsuccessful processing. The IRXINIT routine could not obtain serialization for a system resource.
23 Unsuccessful processing. A recovery ESTAE could not be established.
24 Unsuccessful processing. The maximum number of environments has already been initialized in the address space. The number of environments is defined in the environment table. See Changing the maximum number of environments in an address space for more information about the environment table.
25 Unsuccessful processing. The extended parameter list (parameter 8) passed to IRXINIT was not valid. The end of the extended parameter list must be indicated by X'FFFFFFFFFFFFFFFF'.
26 Unsuccessful processing. The values specified in the extended parameter list (parameter 8) were incorrect. Either the address of the storage workarea or the length of the storage workarea was 0, or the length was a negative value.
Reason code 26 is not returned if:
  • Both the address and length of the storage workarea are 0, which are valid values.
  • The address of the storage workarea is 0 and the length is -1, which is considered a valid null entry.
27 Unsuccessful processing. An incorrect number of parameters were passed to IRXINIT. IRXINIT returns reason code 27 if it cannot find the high-order bit on in the last address of the parameter list. In the parameter list, you must set the high-order bit on in either the address of parameter 7 or in the address of parameter 8 or parameter 9, which are optional parameters.
Note: If you set the high-order bit on in a parameter before parameter 7, IRXINIT does not return reason code 27. The high-order bit indicates the end of the parameter list. Because IRXINIT detects the end of the parameter list before parameter 7, it cannot return a reason code because parameter 7 is the reason code parameter. In this case, IRXINIT returns only a return code of 20 in register 15 indicating an error.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014