Note:
A familiarity with the functional design of the UEDIT utility program
is necessary for a full understanding of this section.
UXEEX1 defines security restrictions on the use of the various UEDIT functions and restricts user ID access to specific libraries or members. UXEEX1 can be used to:
Check a user ID for authorization to access the source library being edited;
MESGSW a record identifying the access of the library or member;
Use the CAPTUR function to provide an audit trail of the edit operation;
Exit to an alternative access method routine in order to perform the requested operation;
Alter the DSN, library code, VOLSER, and/or the file organization.
The UXEEX1 module is only loaded once per invocation of UEDIT. This means that internal switches can be set and subsequently referenced. Remember, however, that each new invocation of UEDIT will load a new version of UXEEX1, causing the switches to be reset.
A dummy UXEEX1 module is distributed with the Com-plete system as a member of the distribution source and load libraries.
Note:
No security exists for UEDIT functions unless it is established by
you.
This document covers the following topics:
UXEEX1 is a user-written routine called by the UEDIT initialization routine (UEDIT) in one of three ways:
Upon a direct UEDIT entry call request;
To set the menu default characteristics;
After syntax checking the request, but before calling UEBP to perform the requested operation on the source library.
Upon entry to UXEEX1, a set of parameters is received in the form of fullword addresses in register 1. Word 1 of the parameter list contains the address of a return code area in which the status of the request is to be indicated. Word 2 of the parameter list contains the address of the UEPDCOM data area.
Word 3 of the parameter list contains the address of a one-character code that identifies the origin of the call request being issued for UXEEX1. An X'80' in the high-order byte of the address indicates that this is the last parameter being passed (via register 1) to UXEEX1. The character addressed by the third parameter can be one of the following:
D | UXEEX1 is being entered directly with a non-menu invocation of UEDIT and before processing input information "library ID", "option", and "member". |
M | UXEEX1 is being entered before generating the UEDIT output menu. |
E | UXEEX1 is being entered before fetching UEBP to perform I/O on the source library. In this situation, the BPCODE field within UEPDCOM is valid, and can be tested or altered. During this call, if the library code passed is spaces, the UEDIT system will not use UEDTB1 but will use the DSN and VOLSER fields in UEPDCOM to access the data set. |
To define security, proceed as follows:
Examine the third parameter to determine the origin of the call request;
Test for the existence of the desired function (via information passed in UEPDCOM);
Establish the desired level of authorization;
Set the return code to indicate either acceptance or rejection.
Upon return to the UEDIT module from UXEEX1, the return code area is examined. If the return code is not zero, the edit operation is aborted and the menu page is output with an error message.
The following table summarizes the UXEEX1 linkage conventions.
Feature | Convention | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Attributes | Reentrant if in a resident area. | |||||||||||||
Type | Thread. | |||||||||||||
Size | Restricted to the UEDIT thread region | |||||||||||||
Registers at Entry |
|
|||||||||||||
Registers at Return | All registers must be unchanged. | |||||||||||||
Parameters |
|
|||||||||||||
Return Codes |
|
|||||||||||||
Considerations |
|