ULMSDISK - Dynamic Printer Allocation User Exit

ULMSDISK is a user-written routine called by the Com-plete printout spooling system immediately before and after allocation of terminal information control block (TIB) for a dynamically acquired printer device. Possible uses of this exits are:

  • Test for valid printer name;

  • Modification of the TIB entry for this printer. Specifically, this enables you to overwrite the TIBNAME field and so re-route the printout onto an alternative printer. This is useful when there is no rigid relationship between logical printer definitions (for example, in Natural) and the physical printer itself (that is, VTAM LU definition).

This document covers the following topics:


How to Use ULMSDISK

Upon entry to ULMSDISK the following registers are set:

Register 5 contains the address of the filled TIB entry, or 0 if the call to ULMSDISK is before dynamic allocation. If register 5 is 0, Register 1 contains the address of the printer name.

ULMSDISK Conventions:

The following table summarizes the ULMSDISK linkage conventions.

Feature Convention
Attributes Reentrant.
Type Nucleus.
Registers at Entry
Register 1 Address of the printer name if Register 5 is 0.
Register 5 Address of the TIB entry, or 0 if the call is before dynamic allocation.
Register 13 Address of an 18-fullword savearea
Register 14 Return address.
Register 15 Entry address.
Registers at Return Before allocation:
Register 15 Returncode; all others must remain unchanged.
After allocation: all registers must remain unchanged.
Parameters None.
Return Codes Before allocation:
0 Dynamic allocation allowed.
4 Dynamic allocation disallowed.
After allocation: none
Considerations
a Executes in supervisor state and Com-plete key.
b Cannot issue COM-LETE user functions.
c Called in Com-plete's key.
d Active thread will generally be in a different key to Com-plete's key.