z/OS Communications Server: SNA Programming
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


SYNAD exit routine

z/OS Communications Server: SNA Programming
SC27-3674-00

A SYNAD exit routine is identified in an ACB exit list when a routine is to be automatically invoked when a physical error is detected. A physical error is an unrecoverable input or output error or other unusual condition that occurs during an operation. The SYNAD exit routine, if specified, is entered for all recovery action return codes of 4, 8, 12, and 16 (decimal). Handling errors and special conditions, discusses the use and logic of SYNAD exit routines in detail.

When the SYNAD exit routine returns control to VTAM®, VTAM leaves registers 0 and 15 intact; this enables the routine to pass information in those registers back to the part of the application program from which SYNAD is invoked. VTAM returns control to the next sequential instruction in the application program following the RPL-based request (or CHECK). Because the routine is executed under the same system scheduling control block as the part of the program that issued the RPL-based or CHECK macroinstruction, SYNAD can branch to other parts of the program. If SYNAD is entered from an RPL-based request, or if the CHECK is issued in an asynchronous exit routine, the program must eventually branch to register 14. If the routine returns control to the next sequential instruction by branching to the register 14 address, VTAM restores the register from the save area whose address is in register 13.

If the exit routine is running under an SRB, different conditions apply for return. See Execution of exit routines for more information.

Table 1. SYNAD exit routine: Registers upon entry
Reg Contents
0 Recovery action return code (refer to Handling errors and special conditions).
1 Address of RPL associated with the request

If the CHECK or RPL-based macroinstruction that caused entry into SYNAD exit routine used one of the registers 2–12 inclusively, bit 0 of that register is returned in bit 0 of register 1. You can use this to detect recursive entries of SYNAD.

2-12 Unmodified
13 Address of an 18-word save area supplied by the programmer when the macroinstruction that caused the error is issued. Be aware of the following:
  • If the exit routine is going to return control through register 14, it must not change anything in the save area. If any macroinstruction is issued in the exit routine, register 13 must first be loaded with the address of a new save area.
  • Before control is returned through register 14, register 13 must be restored with the value it had when the exit routine is invoked.
14 VTAM address that is branched to when SYNAD exit routine completes processing
15 Address of SYNAD exit routine

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014