This general macro allows an application program to route a data message to
a terminal or to another application program. The destination terminal
or program can be hosted by the same processor as the originating application
or by a different processor.
Format
- label
- A symbolic name can be assigned to the macro statement.
- LEV=Dx
- The argument required for this keyword parameter is the entry block data
level (D0-DF), which contains the message block.
- LIST=Rx
- The argument required for this keyword parameter is a symbolic register
(R0-R7 inclusive), which contains the address of the router control
parameter list (RCPL).
Entry Requirements
- R9 must contain the address of the ECB being processed.
- The first or only segment of the message to be routed must be contained in
a main storage block attached at data level Dn. If the message is not
completely contained in the main storage block, it is continued in one or more
file storage blocks of the same size as the main storage block. For
messages that are to be routed to a terminal, only 381-byte file storage
blocks are allowed.
- A message to be routed to an application program must be in application
message format.
- A message to be routed to a terminal may be in either application message
format or in output message format. The format used is indicated in the
router control parameter list (RCPL).
- The RCPL contains the routing information needed to describe the origin,
destination, and control characteristics of the data message. The
expanded RCPL is required for use with TPF/APPC support. Refer to macro
RC0PL for details on the format.
Return Conditions
- Control is returned to the next sequential instruction.
- The contents of R14 and R15 are unknown. The contents of all other
registers are preserved across this macro call.
- The specified core block reference word (CBRW) is initialized to indicate
that a block of storage is no longer available.
- Some error conditions detected by the ROUTC macro may cause the issuing
program to be forcibly exited. Such error conditions include:
- No main storage block held on data level Dn
- Invalid message length
- Invalid parameters associated with message block and/or the router control
parameter list (RCPL).
Programming Considerations
- This macro can be executed on any I-stream.
- The ROUTC macro can create a new ECB and the routing function may proceed
independently of the program that called the ROUTC macro.
- When a new ECB cannot be created due to low levels of storage blocks,
processing is delayed through simulation of the DLAYC macro until blocks
become available.
- A system error occurs if the calling ECB is in the commit scope because
TPF transaction services processing does not support the ROUTC macro.
Examples
None.