This exit performs different actions, depending on the type of
entry.
For a PARM change entry, this exit sets the return code to zero,
indicating that the parameter list has not been modified and that
DFSMSdss is to proceed normally.
For a function entry, this exit sets the return code to four, indicating
that the parameter list has been modified. The exit also turns on
the UFO1RESE and UFOSM1ST bits, which override the specification of
the RESET and SELECTMULTI keywords, respectively. Both RESET processing
and SELECTMULTI(FIRST) processing will be performed.
Note: Use
Figure 1 as a learning aid. It is
not guaranteed to run on a particular system without some modification.
Figure 1. Sample Listing of ADRUIXIT **********************************************************************
* *
* Module Name = ADRUIXIT *
* *
* Descriptive Name = DFSMsdss Installation-Wide Exit Routine *
* *
* Function = Controls certain DFSMSdss tasks or changes *
* some defaults or specified options. *
* *
* Function Entry = Sets return code to 4 indicating the parameter *
* list has been modified. Turns on the UFO1RESE *
* and UFOSM1ST flags. *
* *
* Parm Change Entry = Sets return code to 0 indicating the parameter *
* list has not been modified. *
* *
**********************************************************************
*
ADRUIXIT CSECT
ADRUIXIT AMODE 31
ADRUIXIT RMODE 24
STM 14,12,12(13) Save registers
USING ADRUIXIT,15 Addressability to ADRUIXIT
USING ADRUFOB,1 Addressability to ADRUFO
SR 2,2 Zero register 2
CH 2,UFFUNCT Check entry type
BNE FUNCENT Branch to function entry
SR 3,3 Parm change entry, save RC 0
B FINISH Finished
FUNCENT LH 2,UFBDYOFF Get offset to UFOFUNCT
AR 2,1 Calculate address of UFOFUNCT
USING UFOFUNCT,2 Addressability to UFOFUNCT
OI UFO1FLGS,UFO1RESE Turn on UFO1RESE (reset) bit
NI UFOVCFLG,X'FF'-(UFOSMALL+UFOSMANY+UFOSM1ST)
OI UFOVCFLG,UFOSM1ST Turn on UFOSM1ST bit
LA 3,4 Save return code 4
DROP 1 Done using 1 for ADRUFO
DROP 2 Done using 2 for UFOFUNCT
DROP 15 Done using 15 for ADRUIXIT
FINISH LR 15,3 Set return code
L 14,12(,13) Restore register 14
LM 0,12,20(13) Restore registers 0 thru 12
BR 14 Return
ADRUFO Include ADRUFO control block
END