SRBEXIT routine
The following information is about SRB listener user exit routines. These exit routines are valid with only certain event codes. See ENF event codes and meanings for a list of the codes that allow SRBEXIT.
The listener user SRBEXIT receives control in the following environment:
Environmental factor | Requirement |
---|---|
Authorization: | Supervisor state |
Dispatchable unit mode: | SRB |
Cross memory mode: | PASN=HASN=SASN |
AMODE: | 31-bit |
ASC mode: | Primary |
Interrupt status: | Enabled for I/O and external interrupts |
Locks: | No locks held |
Exit recovery: If the SRB listener user exit routine ends abnormally, control proceeds to the exit's recovery routine, if it provides one, or to a system recovery routine. The system recovery routine ends the notification request so that the exit routine that abended can no longer receive control. ENF continues, however, to send notification to the other listening programs.
The system will not end the notification request for an exit routine if a non-retryable abend, such as a CANCEL command, caused the SRB listener user exit routine to end abnormally.
Instructions and restrictions: Avoid such time-consuming processing as obtaining large amounts of storage through the GETMAIN macro, issuing WAITs or issuing SVCs that issue the WAIT macro, and performing I/O operations. Also, avoid requests for the local lock and using multiple listener user exits.
Registers at entry: On entry to the ENF listener user exit routine, the registers contain the following information:
Register | Contents |
---|---|
GPR 0 | Event code |
GPR 1 | Address of a 6-word structure.
|
GPRs 2-12 | Do not contain any information for use by the listener user exit. |
GPR 13 | Address of an 18-word save area |
GPR 14 | Return address |
GPR 15 | Entry point address of the listener user exit |
Return specifications: The ENF listener user exit routine does not have to set any return codes.
The SRB listener user exit routine must return to the address in register 14.
Registers at exit: Upon return from listen exit processing, the registers must be:
Register | Contents |
---|---|
0, 1 | The listener user exit does not have to place any information in this register, and does not have to restore its contents to what they were when the listener user exit routine received control. |
2 - 13 | The listener user exit must restore the contents to what they were when the exit received control. |
14, 15 | The listener user exit does not have to place any information in this register, and does not have to restore its contents to what they were when the listener user exit routine received control. |