UUSEX1 is a user-written routine called by the USDLIB utility program each time before contents of a single SD file are displayed or zapped, or an SD file is deleted.This routine allows you to define security restrictions on the access of SD files. Possible uses include:
To MESGSW a record recording the access of an SD data set;
To restrict access to SD files that may contain sensitive information;
To restrict use of subfunctions, for example, zap or delete.
Because the UUSEX1 module is only loaded once per invocation of USDLIB, internal switches can be set and referred to.
A dummy UUSEX1 module is distributed with the Com-plete system as a member of the distribution source library and the distribution load library.
Note:
No security exists for USDLIB functions unless it is established by
you.
This document covers the following topics:
Upon entry to UUSEX1, a set of parameters is received in the form of fullword addresses pointed to by register 1. Word 1 contains the address of a halfword return code to be initialized in the exit. A value of 0 allows access; a value of 4 disallows access. Word 2 of the parameter list contains the address of a six-byte field containing the name of the SD file being accessed. Word 3 of the parameter list contains the address of a two-byte field containing the TID number of the SD file A value of binary zeros means that the SD file was created with SHR status. Word 4 of the parameter list containes the address of an one-byte field containing the USDLIB subfunction code.
To define security, check which SD file is being accessed, check the subfunction being executed, and set the return code to indicate acceptance or rejection.
Upon return from UUSEX1, the return code area is examined by USDLIB. If the return code is not zero, the operation is aborted and a security violation message is issued.
The following table summarizes the UUSEX1 linkage conventions.
Feature | Convention | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Attributes | Reentrant if in a resident area. | |||||||||||||||
Type | Thread. | |||||||||||||||
Size | Maximum of 2048 bytes | |||||||||||||||
Registers at Entry |
|
|||||||||||||||
Registers at Return | All registers must be unchanged. | |||||||||||||||
Parameters |
|
|||||||||||||||
Return Codes |
|
|||||||||||||||
Considerations |
|