z/OS DFSMS Using Data Sets
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Register contents for exits from EXLST

z/OS DFSMS Using Data Sets
SC23-6855-00

When control is passed to an exit routine, the registers contain the following information:

Register Contents
0 Variable; see exit routine description.
1 The 3 low-order bytes contain the address of the DCB currently being processed, except when the user-label exits (X'01' - X'04' and X'0C'), user totaling exit (X'0A'), DCB abend exit (X'11'), nonspecific tape volume mount exit (X'17'), or the tape volume security/verification exit (X'18') is taken, when register 1 contains the address of a parameter list. The contents of the parameter list are described in the explanation of each exit routine.
2-13 Contents before execution of the macro.
Note:
  1. These register contents are unpredictable if the exit is called during task termination. For example, the system might call the end-of-volume exit for QSAM output or the user label exit routine during the CLOSE issued by task termination.
  2. If an ABEND happens during CLOSE, there are certain cases where the system has gotten a new save area and register 13 upon entry to the DCB ABEND exit points to it instead of containing what the user set as register 13 before the CLOSE. Specifically, if an EOV failure occurs during CLOSE buffer flushing, register 13 on entry to the DCB ABEND exit will not be the user's register 13 when the CLOSE was issued, but will instead be the save area obtained by the system prior to issuing EOV. However, the exit can follow the save area chain backward to get the register 13 that was current when CLOSE was issued.
14 Return address (must not be altered by the exit routine).
15 Address of exit routine entry point.
The conventions for saving and restoring register contents are as follows:
  • The exit routine must preserve the contents of register 14. It need not preserve the contents of other registers. The control program restores the contents of registers 2 to 13 before returning control to your program.
  • The exit routine must not use the save area whose address is in register 13, because this area is used by the control program. If the exit routine calls another routine or issues supervisor or data management macros, it must provide the address of a new save area in register 13.
  • The exit routine must not issue an access method macro that refers to the DCB for which the exit routine was called, unless otherwise specified in the individual exit routine descriptions that follow.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014