| Parameter 1 |
8 |
The function IRXINIT is to perform: - INITENVB
- To initialize a new environment.
- FINDENVB
- To obtain the address of the environment block for the current
non-reentrant environment. IRXINIT returns the address of the environment
block in register 0 and in parameter 6. IRXINIT does not initialize
a new environment.
- CHEKENVB
- To validate that a given address is a REXX ENVBLOCK address. CHEKENVB
will return a return code to indicate that the ENVBLOCK address was
initialized:
- under the current task
- under a parent task
- elsewhere in the address space
If IRXINIT CHEKENVB was called with an incorrect ENVBLOCK
address in register 0, IRXINIT will return the current, non-reentrant
ENVBLOCK address in parameter 6. IRXINIT does not initialize a new
environment.
|
| Parameter 2 |
8 |
The name of a parameters module that contains
the values for initializing the new environment. The module is described
in Parameters module and in-storage parameter list. If the name of the
parameters module is blank, IRXINIT assumes that all fields in the
parameters module are null.
IRXINIT provides two ways in which
you can pass parameter values; the parameters module and the address
of an in-storage parameter list, which is parameter 3. A complete
description of how IRXINIT computes each parameter value and the flexibility
of passing parameters is described in How IRXINIT determines what values to use for the environment.
|
| Parameter 3 |
4 |
The address of an in-storage parameter list,
which is an area in storage containing parameters that are equivalent
to the parameters in the parameters module. The format of the in-storage
list is identical to the format of the parameters module. Parameters module and in-storage parameter list describes the parameters module
and in-storage parameter list. For parameter 3, you can specify
an address of 0 for the address of the in-storage parameter list.
However, the address in the address list that points to this parameter
cannot be 0.
If the address of parameter 3 is 0, IRXINIT assumes
that all fields in the in-storage parameter list are null.
|
| Parameter 4 |
4 |
The address of a user field. IRXINIT does not
use or check the user field pointed to by this address. You can use
this parameter and the user field to which it points for your own
processing. If the value of this parameter is X'80000000',
the address of the user field is inherited from the previous environment.
Otherwise, the value of this parameter is used as specified. The resulting
user field address is available in ENVBLOCK_USERFIELD. |
| Parameter 5 |
4 |
Reserved. This parameter must be set to 0, but
the address that points to this parameter cannot be 0. |
| Parameter 6 |
4 |
IRXINIT uses this parameter for output only.
The parameter contains the address of the environment block. If you
use the FINDENVB function (parameter 1) to locate an environment,
parameter 6 contains the address of the environment block for the
current non-reentrant environment. If you use the INITENVB function
(parameter 1) to initialize a new environment, IRXINIT returns the
address of the environment block for the newly created environment
in parameter 6. For either FINDENVB or INITENVB, IRXINIT also
returns the address of the environment block in register 0. Parameter
6 lets high-level languages obtain the environment block address to
examine information in the environment block.
For CHEKENVB
this parameter will return the current, non-reentrant environment
if the ENVBLOCK address in register 0 is not found (that is, return
code 12 is returned from IRXINIT).
|
| Parameter 7 |
4 |
IRXINIT uses this parameter for output only.
IRXINIT returns a reason code for the IRXINIT routine in this field
that indicates why the requested function did not complete successfully.
Table 1 describes the reason
codes that IRXINIT returns. |
| Parameter 8 |
4 |
Parameter 8 is an optional parameter that lets
you specify how REXX obtains storage in the language processor environment. Specify
0 if you want the system to reserve a default amount of storage workarea.
If you want to pass a storage workarea to IRXINIT, specify the
address of an extended parameter list. The extended parameter
list consists of the address (a fullword) of the storage workarea
and the length (a fullword) of the workarea, followed by X'FFFFFFFFFFFFFFFF'.
For more information about parameter 8 and storage, see Specifying how REXX obtains storage in the environment.
Although parameter 8 is
optional, it is suggested that you specify an address of 0 if you
do not want to pass a storage workarea to IRXINIT.
|
| Parameter 9 |
4 |
A 4-byte field that IRXINIT uses to return the
return code. The return code parameter is optional. If you use
this parameter, IRXINIT returns the return code in the parameter and
also in register 15. Otherwise, IRXINIT uses register 15 only. If
the parameter list is incorrect, the return code is returned in register
15 only. Return codes describes the return
codes.
If you do not want to use the return code parameter,
you can end the parameter list at a preceding parameter. Set the
high-order bit on in the preceding parameter's address. For more
information about parameter lists, see Parameter lists for TSO/E REXX routines.
|
| Parameter 10 |
4 |
Parameter 10 is an optional parameter that is
the address of a pointer to the TSO/E environment control table (ECT)
under which the REXX environment is to be initialized. This field
is only used when initializing a REXX environment that is integrated
into TSO/E. In all other cases, including initializing a non-integrated
environment and finding the current environment, this parameter is
ignored, if specified.
Valid values for this parameter are:
- ECT address = the caller's current ECT
- '00000000'X - IRXINIT assumes that the primary ECT, the ECT created
at TSO/E logon time or TMP initialization, is the caller's current
ECT. When this parameter contains '00000000'X upon input, the field
is updated to contain the address of the primary ECT.
When parameter 10 is not specified and you are initializing
a REXX environment that is integrated into TSO/E, the ECT created
at TSO/E logon time or TMP initialization is assumed.
|
| Parameter 11 |
4 |
Parameter 11 is an optional parameter that is
the address of a message buffer (MSGBUF) in which IRXINIT can return
an error message if IRXINIT completes with return code 20. The
MSGBUF consists of a fullword length header field (MSGHDR) followed
by the message text return area (MSGTEXT). The MSGHDR word is divided
into two halfword length fields: - The first halfword, MSGTLEN, is used by the caller to pass the
length of the MSGTEXT area, excluding the length of the 4-byte header.
This value is not changed by IRXINIT.
- The second halfword, MSGRLEN, is used by IRXINIT to indicate the
actual length of the message text returned in the MSGTEXT area, or
0 if none. (The caller should initialize this halfword to 0 before
calling IRXINIT).
If a message buffer address is passed and IRXINIT encounters
an error for which a message is returned, no message is issued by
IRXINIT. Instead, IRXINIT just returns the message.
If parm11
is 0, or if this parameter is not passed because fewer than 11 parameters
are passed, and if IRXINIT completes with return code 20, a message
will be issued to the TSO/E user and/or to the CONSOLE containing
information about the error. (This is the default for callers not
using this parameter).
If the caller of IRXINIT does not want
IRXINIT to issue an error message nor return a message when an error
occurs, specify parm11 pointing to a buffer with a length header word
of X'00000000'. This indicates a buffer of length 0 is passed, so
no message will be returned and no message will be issued if an error
should occur.
If a MSGBUF buffer is passed, the MSGTEXT area
should be at least 124 bytes long. If the message being returned is
longer than the message buffer space provided, it will be truncated
to the size of the buffer provided.
Messages issued or returned
by IRXINIT are not translated by MMS message processing.
|