UUEDEX - UED Security Exit

UUEDEX is a user-written routine called by the UED utility program before the execution of certain commands entered by the terminal operator. This module allows you to define security restrictions on the use of the various functions. (See word 2 in the UUEDEX conventions table.)

The UED utility program is a set of logically related modules, each of which services a specific function. Each function requested by a terminal operator is logically processed by a separate module. Each of these modules issues a call to the user-written exit routine UUEDEX before servicing the requested function. Consequently, you can restrict, permit, or eliminate any or all UED functions.

When UED is initially invoked by the terminal operator, the GETCHR function is executed and the information obtained is passed to the user-written exit routine UUEDEX in the form of an address constant passed in the parameter list.

The UUEDEX module is only loaded once per invocation of UED. This implies that internal switches can be set and subsequently referenced. Note, however, that each new invocation of UED loads a new version of UUEDEX, causing the switches to be reset.

A dummy UUEDEX module is distributed with the Com-plete system as a member of the distribution source library and the distribution load library.

Note:
If no additional security is established by the user, only z/OS password protection security exists for UED functions.

This document covers the following topics:


How to Use UUEDEX

Upon entry to UUEDEX, 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 initialized to zero. Word 2 contains the address of the halfword entry code that identifies the primary function being performed. Word 3 contains the address of the GETCHR information area. Word 4 contains the address of the two-character library code table entry, if any, as it exists in the UEDTB1 module (see UEDTB1 Entry DSECT). The UEDTB1 module is described earlier in this section.

Additional parameters passed via register 1 are the address of a pseudo-open control block (XOPNCB) for the file being accessed, the address of the UED edit control block (EDITCB), the address of a submit buffer where each statement of a submitted job stream is placed before being submitted, and the address of an insert buffer where a statement is to be placed to enable insertion of statements in a job stream being submitted.

XOPNCB, the pseudo-open control block, provides information such as the name of the file being edited, member name, volume sequence number identifier, etc. The format and contents of this control block are described in UED Pseudo-Open Control Block.

EDITCB, the UED edit control block, provides information such as the command table address, the command buffer address, a pointer to the current command or operand, the address of the SD buffer, etc. The format and contents of this control block are described in UED Edit Control Block.

During processing of the SUBMIT function, UUEDEX is invoked multiple times for the purpose of JCL interrogation and modification. Word 7 of the parameter list points to a submit buffer that contains the current JCL statement for submission. Note that UUEDEX can modify the contents of this buffer.

Word 8 of the parameter list points to an insert buffer used for JCL statement insertion. Upon entry to UUEDEX, byte one of the insert buffer contains a call-type flag to indicate the timing of the call.

During processing of the SUBMIT function, return codes in the first parameter indicate the action to be taken. If a return code 8 is returned, UUEDEX will be called again to allow multiple insertions before any given statement in the submit buffer. Note that a return code 8 is valid only for the call-type values of space and E.

To define security for a specific function, test for the existence of the appropriate function, establish the desired level of authorization, and set the return code in word 1 of the parameter list to indicate acceptance or rejection. This return code is also used to indicate to the SUBMIT function the action to be taken (insert a statement, delete a statement, permit a statement).

UUEDEX Conventions

The following table summarizes the UUEDEX linkage conventions.

Feature Convention
Attributes None required.
Type Thread.
Size Restricted to the UED thread region
Registers at Entry
Register 1 Address of the parameter list
Register 13 Address of an 18-fullword save area
Register 14 Return address in the calling module
Register 15 Entry address within UUEDEX
Registers at Return Registers 2 through 13 must be unchanged.
Parameters
Word 1 Address of a return code halfword for indicating the status of the request.
Return codes are indicated in the return code entry of this table.
Word 2 Address of a halfword entry code:
0 UED initialization requested.
4 READ requested.
8 SAVE requested.
12 SUBMIT requested.
20 UED termination requested.
Word 3 Address of the storage area containing GETCHR information.
Word 4 Address of a table entry in UEDTB1 for the two-character code for the library being edited. This address is zero if no code is used.
Word 5 Address of the pseudo-open DCB (XOPNCB).
Word 6 Address of the UED Edit Control Block (EDITCB).
Word 7 Address of the card image being submitted.
Word 8 Address of the card image insert buffer, byte 1 of which contains a call-type flag:
S Start of job submission prior to first statement
sp Space (statement being submitted)
E End of submission following last statement
Return Codes
SUBMIT processing only:
0 Submit from the SUBMIT buffer.
4 Delete card from the SUBMIT buffer.
8 Submit from the insert buffer.
12 Abort the submission. Other functions :
Other functions:
0 Allow the function.
4 Disallow the function.
Considerations
a. References:
DSECT XOPNCB OPEN DCB
DSECT CMEDTB1 Library Codes
DSECT TMGETCHR GETCHR Table
b. First character of insert buffer:
S = Start of job submission prior to first statement
sp = Space (statement being submitted)
E = End of submission following last statement
c. Will be loaded by UED .