Change use attribute installation exit parameter list (CBRUXCPL)

The change use attribute installation exit (CBRUXCUA) is passed by way of register 1, the pointer to a parameter list mapped by CBRUXCPL. Here is the format of CBRUXCPL.

UXCPL        DSECT ,                CBRUXCUA PARAMETER LIST
             SPACE 1
********************************************************************
*                                                                  *
*        CHANGE USE ATTRIBUTE INSTALLATION EXIT PARAMETERS         *
*                                                                  *
********************************************************************
UXCPARM      DS   0D                CBRUXCUA PARAMETER SECTION
UXCLIB       DS   CL8               LIBRARY NAME
*                                    (INPUT VARIABLE)
UXCLDEV      DS   CL8               LIBRARY DEVICE TYPE
*                                    (INPUT VARIABLE)
UXCLCON      DS   CL8               LIBRARY CONSOLE NAME
*                                    (INPUT VARIABLE)
UXCLTYP      DS   CL1               LIBRARY LOGICAL TYPE
*                                    'R' FOR AUTOMATED LIBRARY
*                                    'M' FOR MANUAL LIBRARY
*                                    (INPUT VARIABLE)
UXCSUPPT     DS   XL1               SUPPORTED FUNCTION
UXCLOPM      EQU  X'80'              ON IF OUTBOARD POLICY MANAGEMENT
*                                    SUPPORTED IN LIBRARY
*                                    (INPUT VARIABLE)
UXCJOBP      EQU  X'40'             ON IF CALLING EXIT FOR JOB
*                                    PROCESSING AND POLICY NAME
*                                    CHANGES IGNORED
*                                    (INPUT VARIABLE)
             DS   CL6               RESERVED
UXCLDESC     DS   CL120             LIBRARY DESCRIPTION
*                                    (INPUT VARIABLE)
             DS   CL8               RESERVED
UXCVOLSR     DS   CL6               VOLUME SERIAL NUMBER
*                                    (INPUT VARIABLE)
UXCVINFO     DS   XL1               ADDITIONAL VOLUME INFORMATION

UXCVLOPM     EQU  X'80'              ON IF OUTBOARD POLICY INFORMATION
*                                    RETRIEVED AS REQUESTED WITH
*                                    GETPOLICY
*                                    (INPUT VARIABLE)
UXCVCOPM     EQU  X'40'              ON IF POLICY INFORMATION
*                                     SPECIFIED ON CUA INTERFACE
*                                    (INPUT VARIABLE)
UXCVWORM     EQU  X'20'              ON IF VOLUME IS PHYSICAL WORM
*                                    (INPUT VARIABLE – NOT TURNED ON
*                                    FOR LOGICAL WORM)
UXCCUSEA     DS   CL1               CURRENT USE ATTRIBUTE OF THE VOLUME
*                                    AS RECORDED IN THE TAPE 
*                                    VOLUME RECORD IN THE TCDB	 
*                                    'P' FOR PRIVATE
*                                    'S' FOR SCRATCH
*                                    (INPUT VARIABLE)
UXCUSEA      DS   CL1               REQUESTED VOLUME USE ATTRIBUTE
*                                    SPECIFIED ON THE CBRXLCS MACRO
*                                    'P' FOR PRIVATE
*                                    'S' FOR SCRATCH
*                                    (INPUT VARIABLE)
UXCWPROT     DS   CL1               WRITE PROTECTION STATUS
*                                    'Y' FOR WRITE-PROTECTED
*                                    'N' FOR NOT WRITE-PROTECTED
*                                    (INPUT FOR CHANGE TO SCRATCH
*                                    OUTPUT FOR CHANGE TO PRIVATE)
UXCCHKPT     DS   CL1               CHECKPOINT VOLUME INDICATOR
*                                    'Y' FOR CHECKPOINT VOLUME
*                                    'N' FOR NOT CHECKPOINT VOLUME
*                                    (INPUT FOR CHANGE TO SCRATCH
*                                    OUTPUT FOR CHANGE TO PRIVATE)
UXCLOC       DS   CL1               VOLUME LOCATION CODE
*                                    'L' FOR LIBRARY-RESIDENT
*                                    'S' FOR SHELF-RESIDENT
*                                    (INPUT/OUTPUT VARIABLE)
UXCTDSI      DS   0F                TAPE DEVICE SELECTION INFORMATION
UXCREC       DS   XL1               RECORDING TECHNOLOGY
*                                    (INPUT VARIABLE)
UXCMEDIA     DS   XL1               MEDIA TYPE
*                                    (INPUT VARIABLE)
UXCCOMP      DS   XL1               COMPACTION 
*                                    (INPUT VARIABLE)
UXCSPEC      DS   XL1               SPECIAL ATTRIBUTE
*                                    (INPUT VARIABLE)
UXCGROUP     DS   CL8               STORAGE GROUP NAME
*                                    (INPUT FOR CHANGE TO SCRATCH
*                                    OUTPUT FOR CHANGE TO PRIVATE)
UXCSHLOC     DS   CL32              SHELF LOCATION
*                                    (INPUT/OUTPUT VARIABLE)
UXCOWNER     DS   CL64              VOLUME OWNER INFORMATION
*                                    (INPUT/OUTPUT VARIABLE)
             DS   CL8               RESERVED
UXCCREAT     DS   CL10              VOLUME RECORD CREATION DATE
*                                    (INPUT VARIABLE)
UXCENTEJ     DS   CL10              LAST ENTRY OR EJECTION DATE
*                                    (INPUT VARIABLE)
UXCMOUNT     DS   CL10              LAST MOUNTED DATE
*                                    (INPUT/OUTPUT VARIABLE)
UXCWRITE     DS   CL10              LAST WRITTEN DATE
*                                    (INPUT/OUTPUT VARIABLE)
UXCEXPIR     DS   CL10              VOLUME EXPIRATION DATE
*                                    (INPUT FOR CHANGE TO SCRATCH
*                                   OUTPUT FOR CHANGE TO PRIVATE)
             DS   CL10              RESERVED
             DS   CL4               RESERVED
UXCEXITI     DS   CL16              INFORMATION TO BE PASSED TO THE
*                                    INSTALLATION EXIT
UXCLMOPM     DS   0CL32             OUTBOARD POLICY MANAGEMENT
UXCLMSG      DS   CL8               LIBRARY MANAGER STORAGE GROUP
*                                    TO CHANGE VALUE, USE UXCGROUP
*                                    (INPUT VARIABLE)
UXCLMSC      DS   CL8               LIBRARY MANAGER STORAGE CLASS
*                                    (INPUT/OUTPUT VARIABLE)
UXCLMMC      DS   CL8               LIBRARY MANAGER MANAGEMENT CLASS
*                                    (INPUT/OUTPUT VARIABLE)
UXCLMDC      DS   CL8               LIBRARY MANAGER DATA CLASS
*                                    (INPUT/OUTPUT VARIABLE)
             DS   0D                END OF UXCPL
UXCPLLEN     EQU   *-UXCPL
             SPACE 1
***********************************************************************
*                                                                     *
*        RETURN CODES                                                 *
*                                                                     *
***********************************************************************
UXCNOCHG     EQU  0                 CHANGE THE VOLUME USE ATTRIBUTE AS
*                                    REQUESTED USING PARAMETER VALUES
*                                    PASSED IN ON INPUT
UXCCHG       EQU  4                 CHANGE THE USE ATTRIBUTE AS
*                                    REQUESTED BUT NOTE THAT PARAMETER
*                                    VALUES HAVE BEEN RETURNED BY EXIT
UXCFAIL      EQU  8                 DO NOT CHANGE THE VOLUME USE
*                                    ATTRIBUTE
*            EQU  12                RESERVED
UXCDONT      EQU  16                DO NOT CALL THE VOLUME USE
*                                    ATTRIBUTE INSTALLATION EXIT
*                                    AGAIN, BUT CHANGE THE USE
*                                    ATTRIBUTE AS REQUESTED USING
*                                    PARAMETER VALUES PASSED IN
*                                    ON INPUT
             SPACE 1
***********************************************************************
*                                                                     *
*        LIBRARY LOGICAL TYPE CONSTANTS                               *
*                                                                     *
***********************************************************************
UXCREAL      EQU  C'R'              AUTOMATED LIBRARY
UXCMAN       EQU  C'M'              MANUAL LIBRARY
             SPACE 1
***********************************************************************
*                                                                     *
*        USE ATTRIBUTE CONSTANTS                                      *
*                                                                     *
***********************************************************************
UXCPRIV      EQU  C'P'             PRIVATE USE ATTRIBUTE
UXCSCRT      EQU  C'S'             SCRATCH USE ATTRIBUTE
             SPACE 1
***********************************************************************
*                                                                     *
*        TAPE DEVICE SELECTION INFORMATION CONSTANTS                  *
*                                                                     *
***********************************************************************
UXNOCAR      EQU  0                ZERO IS AN ACCEPTABLE TDSI VALUE
***********************************************************************
*        CONSTANTS TO DEFINE RECORDING TECHNOLOGY                     *
***********************************************************************
UXCNOREC     EQU  0                RECORDING TECHNOLOGY UNKNOWN OR
*                                    UNSPECIFIED
UXC18TRK     EQU  1                READ/WRITE ON 18-TRACK DEVICE
UXC36TRK     EQU  2                READ/WRITE ON 36-TRACK DEVICE
UXC128TRK    EQU  3                READ/WRITE ON 128-TRACK DEVICE
UXC256TRK    EQU  4                READ/WRITE ON 256-TRACK DEVICE
UXC384TRK    EQU  5                READ/WRITE ON 384-TRACK DEVICE
UXCEFMT1     EQU  6                READ/WRITE ON ENTERPRISE FORMAT 1
*                                     (EFMT1) DEVICE
UXCEFMT2     EQU  7                READ/WRITE ON ENTERPRISE FORMAT 2
*                                     (EFMT2) DEVICE
UXCEEFMT2    EQU  8                READ/WRITE ON ENTERPRISE ENCRYPTED FORMAT 2 
*                                     (EEFMT2) DEVICE
UXCEFMT3     EQU  9                READ/WRITE ON ENTERPRISE
*                                     FORMAT 3 (EFMT3) DEVICE
UXCEEFMT3    EQU  10               READ/WRITE ON ENTERPRISE ENCRYPTED 
*                                     FORMAT 3 (EEFMT3) DEVICE
UXCEFMT4     EQU  11               READ/WRITE ON ENTERPRISE       
*                                     FORMAT 4 (EFMT4) DEVICE      
UXCEEFMT4    EQU  12               READ/WRITE ON ENTERPRISE ENCRYPTED 
*                                     FORMAT 4 (EEFMT4) DEVICE                         
***********************************************************************
*        CONSTANTS TO DEFINE MEDIA TYPE                               *
***********************************************************************
UXCNOMED     EQU  0                 MEDIA TYPE UNKNOWN OR UNSPECIFIED
UXCMED1      EQU  1                 MEDIA1 - CARTRIDGE SYSTEM TAPE
UXCMED2      EQU  2                 MEDIA2 - ENHANCED CAPACITY CARTRIDGE
*                                     SYSTEM TAPE
UXCMED3      EQU  3                 MEDIA3 - HIGH PERFORMANCE CARTRIDGE
*                                     TAPE
UXCMED4      EQU  4                 MEDIA4 - EXTENDED HIGH PERFORMANCE
*                                     CARTRIDGE TAPE
UXCMED5      EQU  5                 MEDIA5 - ENTERPRISE TAPE 
*                                     CARTRIDGE
UXCMED6      EQU  6                 MEDIA6 - ENTERPRISE WORM TAPE
*                                     CARTRIDGE
UXCMED7      EQU  7                 MEDIA7 - ENTERPRISE ECONOMY 
*                                     TAPE CARTRIDGE
UXCMED8      EQU  8                 MEDIA8 - ENTERPRISE ECONOMY 
*                                     WORM TAPE CARTRIDGE
UXCMED9      EQU  9                 MEDIA9 - ENTERPRISE EXTENDED TAPE 
*                                     CARTRIDGE 
UXCMED10     EQU  10                MEDIA10 - ENTERPRISE EXTENDED WORM TAPE
*                                     CARTRIDGE
UXCMED11     EQU  11                MEDIA11 - ENTERPRISE ADVANCED 
*                                     TAPE CARTRIDGE
UXCMED12     EQU  12                MEDIA12 - ENTERPRISE ADVANCED  
*                                     WORM TAPE CARTRIDGE
UXCMED13     EQU  13                MEDIA13 - ENTERPRISE ADVANCED 
*                                     ECONOMY TAPE CARTRIDGE
***********************************************************************
*        CONSTANTS TO DEFINE COMPACTION (THE MEANING OF THE           *
*        COMPACTION FIELD HAS CHANGED FROM TYPE OF COMPACTION         *
*        TO COMPACTION YES/NO - UXCIDRC AND UXCCOMPT                  *
*        CAN BE USED INTERCHANGEABLY)                                 *
***********************************************************************
UXCCMPNS     EQU  0                 COMPACTION UNKNOWN OR NOT SET
UXCNOCMP     EQU  1                 NO COMPACTION
UXCCOMPT     EQU  2                 COMPACTION
UXCIDRC      EQU  2                 COMPACTION
***********************************************************************
*        CONSTANTS TO DEFINE SPECIAL ATTRIBUTE                        *
***********************************************************************
UXCNOSPC     EQU  0                 VOLUME HAS NO SPECIAL ATTRIBUTE
UXCRDCOM     EQU  1                 VOLUME WILL BE MOUNTED FOR READ ONLY -
*                                     ALL READ-COMPATIBLE DEVICES MAY BE
*                                     SELECTED
***********************************************************************
*                                                                     *
*        MISCELLANEOUS CONSTANTS                                      *
*                                                                     *
***********************************************************************
UXCPLSP      EQU  230               UXCPL SUBPOOL NUMBER
UXCYES       EQU  C'Y'              YES
UXCNO        EQU  C'N'              NO
UXCBLANK     EQU  C' '              BLANK
             SPACE 2
             MEND  ,

Storage is obtained below the line, from subpool 230, user key, for the installation exit parameter list.