|
When INMRZ11R receives control, register 1 points to the standard
exit parameter list. The parameter list is described in TSO/E standard exit parameter list. Note that the TRANSMIT and RECEIVE exits
do not use the new command buffer field in the parameter entry pointed
to at offset +4. Following is a description of the exit-dependent data
that INMRZ11R receives beginning at offset +36 (decimal).
Figure 1. Exit-dependent
data on entry to INMRZ11R
Parameter entries 10 and 12 (RECEIVE PARM string and message text
for message ID INMR151I, respectively) are the same for all RECEIVE
exits. For a description of those parameter entries, see Parameter descriptions for INMRZ01R.
Following are descriptions of the other parameter entries: - Action Flags (Parameter Entry 11)
- The data field contains a word of action flags, which the exit
can set to control RECEIVE processing after it returns. The flags
in byte 0 are defined as follows. Bytes 1, 2, and 3 are reserved.
- Bit
- Action
- 1... ....
- RECEIVE is to issue message INMR151I, using the text contained
in the parameter entry pointed to at offset +44.
- .1.. ....
- If the return code from the exit is non-zero (end processing),
RECEIVE is not to issue the normal error message. The exit either:
already sent an appropriate message to the user; set return code 12,
which causes message IKJ79154I to be issued; or requested that RECEIVE
issue message INMR151I, using the text contained in the parameter
entry pointed to at offset +44.
- ..11 ....
- Reserved
- .... 1...
- RECEIVE is not to prompt the user. Instead, it is to use the
reply the exit specifies in the parameter entry pointed to at offset
+72. If bit X'01' is specified, RECEIVE ignores it.
- .... .1..
- RECEIVE is to restore the incoming data to a temporary data set.
The RECEIVE data set post-processing exit (INMRZ12R or INMRZ12) should
complete processing the data.
Setting this bit to one does not
prevent RECEIVE from prompting the user for allocation parameters
to use in restoring the data; it only causes RECEIVE to ignore the
user's reply. Thus, if you set this bit to one, you should also set
bit X'08' to one, to prevent RECEIVE from prompting the user.
- .... ..1.
- All processing on the current file is complete. If the return
code from the exit is zero, no more processing is done on the file.
RECEIVE can delete the file from the JES spool and process the next
file, if one exists.
If the return code is non-zero, RECEIVE ignores
this bit.
- .... ...1
- RECEIVE is to prompt the user for allocation parameters, and not
take the action that RESTORE requests unless the user requests it.
(RESTORE is the usual default action when processing data sets.)
If action bit X'08' is one, RECEIVE ignores this bit.
- Status Flags (Parameter Entry 13)
- The data field contains a word of status flags in which RECEIVE
passes indicators to the exit. The flags in byte 0 are defined as
follows. Bytes 1, 2 and 3 are reserved.
- Bit
- Meaning
- 1... ....
- The input source for RECEIVE is not JES. The bit is on when the
user specified either INDATASET, INDSNAME, INDDNAME, or INFILE on
the RECEIVE command.
- .1.. ....
- RECEIVE does not recognize the input data. Either an error occurred
in the transmission, or the data was sent by a program other than
TRANSMIT or PROFS™.
If the exit is to process the data,
it can get the address of the input DCB from the parameter entry pointed
to at offset +76. The exit can also get the ddname of the file via
the text unit pointer list in the parameter entry pointed to at offset
+56. Before processing the data, the exit must close then reopen
the data set to ensure that it starts reading at the beginning. (When
the exit receives control, RECEIVE has already read past any control
records, and has read at least the first record of the data set.)
- ..11 ....
- Reserved
- .... 1...
- RECEIVE is to restore the data to its original format and write
it to the appropriate log, which is the action that RESTORE(LOG) requests,
and the default when receiving messages.
- .... .111
- Reserved
- Address of PARM String from user—entered PARM keyword (Parameter
Entry 14)
- If the user entered a character string on the PARM keyword on
the RECEIVE command, this data field contains the address of that
string.
If a string was specified: - KEY:
- X'00000002'
- LEN:
- Length of the string
If no string was specified: - KEY:
- X'00000000'
- LEN:
- X'00000004'
- Address of Text Unit Pointer List (Parameter Entry 15)
- The data field contains the address of a text unit pointer list.
The list points to copies of text units that are sent with
the transmission. They describe the incoming data, and can include:
INMBLKSZ INMCREAT INMDDNAM INMDIR INMDSNAM INMDSORG
INMEXPDT INMFM INMLCHG INMLRECL INMLREF INMMEMBR
INMRECFM INMSERP INMSIZE INMTERM INMUTILN
For
more information about those text units or text unit pointer lists,
see Text units and text unit pointer lists. Note that altering the text
units has no effect on subsequent processing. The exit receives copies
of the actual text units for information only.
- Address of Text Unit Pointer List (Parameter Entry 16)
- The data field contains the address of another text unit pointer
list. The list points to copies of text units that are sent
with the transmission. They identify the originator of the transmission,
and can include:
INMFACK INMFNODE INMFTIME INMFUID INMFVERS INMLRECL
INMNUMF INMUSERP
For more information about those
text units or text unit pointer lists, see Text units and text unit pointer lists.
Note that altering the text units has no effect on subsequent processing.
The exit receives copies of the actual text units for information
only.
- Address of PARM Tag String (Parameter Entry 17)
- The data field might contain the address of a string taken from
the :PARM tag in the addressee's nickname entry in the sender's NAMES.TEXT
data set. The string is present if the TRANSMIT command specified
a nickname directly or via a distribution list, and the entry for
that nickname in the sender's NAMES.TEXT data set contains the :PARM
tag.
If a string was specified: - KEY:
- X'00000002'
- LEN:
- Length of the string
If no string was specified: - KEY:
- X'00000000'
- LEN:
- X'00000004'
- Address of a String from INMXZ01R (Parameter Entry 18)
- The TRANSMIT initialization exit (INMXZ01R or INMXZ01) can pass
a user string to the RECEIVE data set exits, including INMRZ11R.
If it does, this data field contains the address of that string.
If
a string was specified: - KEY:
- X'00000002'
- LEN:
- Length of the string
If no string was specified: - KEY:
- X'00000000'
- LEN:
- X'00000004'
- Address of Reply to RECEIVE (Parameter Entry 19)
- The data field contains the address of an area in which the exit
can build a reply to the RECEIVE command prompt. The address points
to an area that contains: a halfword length, followed by a halfword
of zeros, followed by 255 bytes (X'FF') where the exit can
supply the prompt data. At entry, the length field contains 259 bytes
(X'0103'). This value denotes the maximum length of the
buffer. To supply a receive prompt, the exit must do the following:
- Set bit X'08' in the action flags (parameter entry 11)
on to indicate that RECEIVE is not to prompt the user.
- Supply the data for the RECEIVE reply in the 255-byte (X'FF')
area.
- Set the halfword length field in the header to the length of the
reply that was supplied, plus a 4-byte header.
If the exit builds a reply, it also needs to put the following
values in the key and length fields: - KEY:
- X'00000002'
- LEN:
- Length of the replay plus a 4-byte header
- Address of the Input DCB (Parameter Entry 20)
- The data field contains the address of the input DCB that identifies
the data set being received. Before reading the data, the exit must
close then reopen the data set to ensure that it starts reading at
the beginning. (When the exit receives control, RECEIVE has already
read past any control records, and has read at least the first record
of the data set.)
|