UTMEX2 - Timer Monitor User Exit

UTMEX2 is a user-written routine called by UTIMRM both:

  • Every minute;

  • For each request that is to be served.

If it is an 'every minute' request, the exit may perform whatever functions it desires, including internal functions, after which flow may continue (return code = 0), or return again to UTMEX2 (return code = 4).

If it is a serve request, the exit may perform any internal functions, modify the request record, and allow or disallow serving.

A dummy UTMEX2 module is distributed with the Com-plete system as a member of the distribution and load libraries.

This document covers the following topics:


How to Use UTMEX2

Upon entry to UTMEX2, a set of parameters is received in the form of fullword addresses pointed to by register 1. Word 1 of the parameter list contains the address of a return code halfword. Word 2 of the parameter list contains the address of a timer record in the format of a DSECT defined by the TIMRSD macro. Word 3 of the parameter list contains the address of a halfword containing the TIDs of the terminal that is to be logged off by the automatic loggoff function.

Note:
If the contents of the areas pointed by word 2 and word 3 are both binary zero, it is considered to be an 'every minute' exit call. In this case, any service can be filled into the timer record.

UTMEX2 Conventions

The following table summarizes the UTMEX2 linkage conventions.

Feature Convention
Attributes Reentrant.
Type Thread.
Size No restrictions.
Registers at Entry
Register 1 Address of the parameter list
Register 13 Address of the caller's 18-fullword save area
Register 14 Return address in the calling module
Register 15 Entry point address
Registers at Return Registers 14 through 12 must be unchanged.
Parameters
Word 1 Address of a return code halfword
Word 2 Address of the timer record
Word 3 TID of a terminal to be logged off by the automatic logoff function
Return Codes
For serve request/TIB auto logoffs:
0 Allow serving request/TIB auto logoff.
4 Do not allow serving request/TIB auto logoff.
For "every minute" calls:
0 Serve request if it exists; then continue.
4 Serve request if it exists; then return to UTMEX2.
Considerations
a Is called by UTIMER.
b Linkage is dynamic, with COLOAD.