UUSPL0 is a user-written routine called by USPOOL after the terminal user has issued a valid command. UUSPL0 defines security restrictions pertaining to the use of all USPOOL functions and can also be used to restrict access to specific printers.
The UUSPL0 module is loaded once per invocation of USPOOL. This means that internal switches can be set and subsequently referred to. Note, however, that each new invocation of USPOOL causes a new copy of UUSPL0 to be loaded, thereby causing all switches in UUSPL0 to be reset.
A dummy UUSPL0 module is distributed with the Com-plete system as a member of the distribution source and load libraries.
Note:
No security exists for USPOOL functions, unless it is established by
you or restricted via Com-plete Security System definitions.
This document covers the following topics:
Upon entry to UUSPL0, a set of parameters is received in the form of 5 fullword addresses. For the meaning of the words, see the parameters in the description of the UUSEX1 exit.
Upon return from UUSPL0 to USPOOL, the return code area is checked. If the return code is not zero, the requested operation is aborted and an error message is displayed on the main menu screen.
The following table summarizes the UUSPL0 linkage conventions:
Feature | Convention | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Attributes | AMODE 31; reentrant if in a resident area. | ||||||||||
Type | Thread. | ||||||||||
Size | Restricted to the USPOOL thread region size | ||||||||||
Registers at Entry |
|
||||||||||
Registers at Return | All registers except R15 must be unchanged. | ||||||||||
Parameters |
|
||||||||||
Return Codes |
|
Function Codes passed via word 2:
PO | Printer overview |
LQ | Listqueue overview |
MOx | Modify Q-Entry x = U update M move C copy P purge |
DP | Display printout in screen |
OPx | Operate printer x = S start R reset H halt |
Data Area passed via word 3:
USRXP | DSECT | , |   |
USRXUID | DS | CL8 | User name |
USRXACC | DS | CL12 | Account |
USRXAUT | DS | AL2 | Authorization code |
USRXCTL | DS | CL2 | Control/Noncontrol |
USRXPL | EQU | *-USRXP | Length of element |
Data Area passed via word 4 (and word 5):
OLQLINE | DSECT | , | |
OLQNAME | DS | CL8 | List name |
OLQNUM | DS | AL2 | Number |
OLQFORM | DS | CL4 | Form |
OLQSTAT | DS | C | Status |
OLQLINS | DS | AL2 | Number of lines |
OLQCOPY | DS | AL2 | Number of copies |
OLQPRIO | DS | AL2 | Priority |
OLQUSER | DS | CL8 | Originator |
OLQLDRV | DS | CL8 | Logical output driver |
OLQDEST | DS | CL8 | Destination |
OLQLINEL | EQU | *-OLQLINE | Length of element |