The cartridge eject installation exit (CBRUXEJC) is passed by way
of register 1, the pointer to a parameter list mapped by CBRUXJPL.
Here is the format of CBRUXJPL.
UXJPL DSECT , CBRUXEJC PARAMETER LIST
SPACE 1
***********************************************************************
* *
* CARTRIDGE EJECT INSTALLATION EXIT PARAMETERS *
* *
***********************************************************************
UXJPARM DS 0D CBRUXEJC PARAMETER SECTION
UXJLIB DS CL8 LIBRARY NAME
* (INPUT VARIABLE)
UXJLDEV DS CL8 LIBRARY DEVICE TYPE
* (INPUT VARIABLE)
UXJLCON DS CL8 LIBRARY CONSOLE NAME
* (INPUT VARIABLE)
UXJLTYP DS CL1 LIBRARY LOGICAL TYPE
* 'R' FOR AUTOMATED LIBRARY
* 'M' FOR MANUAL LIBRARY
* (INPUT VARIABLE)
DS CL7 RESERVED
UXJLDESC DS CL120 LIBRARY DESCRIPTION
* (INPUT VARIABLE)
DS CL8 RESERVED
UXJVDISP DS CL1 VOLUME RECORD DISPOSITION
* 'K' KEEP VOLUME RECORD IN
* THE TAPE CONFIGURATION
* DATA BASE
* 'P' PURGE VOLUME RECORD FROM
* THE TAPE CONFIGURATION
* DATA BASE
* (INPUT/OUTPUT VARIABLE)
UXJNCALL DS XL1 NOTIFICATION CALL INDICATOR
* 0 EJECT REQUEST FOR VOLUME
* 1 LOGICAL VOLUME
* SUCCESSFULLY EXPORTED
* 2 FAILED EJECT NOTIFICATION
* (INPUT VARIABLE)
UXJSTKVS DS CL6 STACKED CONTAINER
* VOLUME ON WHICH EXPORTED
* LOGICAL VOLUME RESIDES
* (INPUT VARIABLE W/EXPORT CALL)
UXJVOLSR DS CL6 VOLUME SERIAL NUMBER
* (INPUT VARIABLE)
UXJFLAGS DS XL1 FLAG BYTE
UXJCBACK EQU X'80' FAILED EJECT NOTIFICATION CALL
* REQUESTED - APPLICABLE TO SET
* IF UXJNCALL HAS 0 VALUE
* (OUTPUT VARIABLE)
DS CL1 RESERVED
UXJUSEA DS CL1 VOLUME USE ATTRIBUTE
* 'P' FOR PRIVATE
* 'S' FOR SCRATCH
* (INPUT/OUTPUT VARIABLE)
UXJWPROT DS CL1 WRITE PROTECTION STATUS
* 'Y' FOR WRITE-PROTECTED
* 'N' FOR NOT WRITE-PROTECTED
* (INPUT/OUTPUT VARIABLE)
UXJCHKPT DS CL1 CHECKPOINT VOLUME INDICATOR
* 'Y' FOR CHECKPOINT VOLUME
* 'N' FOR NOT CHECKPOINT VOLUME
* (INPUT/OUTPUT VARIABLE)
UXJLOC DS CL1 VOLUME LOCATION CODE
* 'L' FOR LIBRARY-RESIDENT
* 'S' FOR SHELF-RESIDENT
* (INPUT VARIABLE)
UXJTDSI DS 0F TAPE DEVICE SELECTION INFO
UXJREC DS XL1 TAPE RECORDING TECHNOLOGY
* (INPUT VARIABLE)
UXJMEDIA DS XL1 MEDIA TYPE
* (INPUT VARIABLE)
UXJCOMP DS XL1 COMPACTION TYPE
* (INPUT VARIABLE)
UXJSPEC DS XL1 SPECIAL ATTRIBUTE
* (INPUT VARIABLE)
UXJGROUP DS CL8 STORAGE GROUP NAME
* (INPUT/OUTPUT VARIABLE)
UXJSHLOC DS CL32 SHELF LOCATION
* (INPUT/OUTPUT VARIABLE)
UXJOWNER DS CL64 VOLUME OWNER INFORMATION
* (INPUT/OUTPUT VARIABLE)
DS CL8 RESERVED
UXJCREAT DS CL10 VOLUME RECORD CREATION DATE
* (INPUT VARIABLE)
UXJENTEJ DS CL10 LAST ENTRY OR EJECTION DATE
* (INPUT VARIABLE)
UXJMOUNT DS CL10 LAST MOUNTED DATE
* (INPUT/OUTPUT VARIABLE)
UXJWRITE DS CL10 LAST WRITTEN DATE
* (INPUT/OUTPUT VARIABLE)
UXJEXPIR DS CL10 VOLUME EXPIRATION DATE
* (INPUT/OUTPUT VARIABLE)
DS CL10 RESERVED
DS CL4 RESERVED
UXJEXITI DS CL16 INSTALLATION EXIT INFORMATION
* (INPUT VARIABLE)
DS 0D END OF UXJPL
UXJPLLEN EQU *-UXJPL
SPACE 1
***********************************************************************
* *
* RETURN CODES *
* *
***********************************************************************
UXJNOCHG EQU 0 PERFORM EJECT/EXPORT AS NOTIFIED
* USING PARAMETER VALUES
* PASSED IN ON INPUT
UXJCHG EQU 4 PERFORM EJECT/EXPORT AS NOTIFIED
* BUT NOTE THAT PARAMETER VALUES
* HAVE CHANGED ON EXIT
UXJFAIL EQU 8 PHYSICAL VOLUME NOT TO BE EJECTED
*
UXJIGNOR EQU 12 IGNORE EXPORT COMPLETION PROCESSING
* FOR THIS LOGICAL VOLUME (VOLUME
* REMAINS IN EXPORTED CATEGORY)
UXJDONT EQU 16 DO NOT CALL THE CARTRIDGE
* EJECT INSTALLATION EXIT AGAIN
* AND PERFORM CARTRIDGE
* EJECT/EXPORT AS NOTIFIED
* USING THE PARAMETER VALUES
* PASSED IN ON INPUT
SPACE 1
***********************************************************************
* *
* LIBRARY LOGICAL TYPE CONSTANTS *
* *
***********************************************************************
UXJAUTO EQU C'R' AUTOMATED/REAL LIBRARY
UXJMAN EQU C'M' MANUAL LIBRARY
SPACE 1
***********************************************************************
* *
* VOLUME RECORD DISPOSITION (EJECT TYPE) CONSTANTS *
* *
***********************************************************************
UXJKEEP EQU C'K' KEEP VOLUME RECORD
UXJPURGE EQU C'P' PURGE VOLUME RECORD
SPACE 1
***********************************************************************
* *
* NOTIFICATION CALL INDICATOR CONSTANTS *
***********************************************************************
UXJEJECT EQU 0 EJECT REQUEST FOR A VOLUME
UXJEXPRT EQU 1 LOGICAL VOLUME SUCCESSFULLY
* EXPORTED
UXJRFAIL EQU 2 FAILED EJECT NOTIFICATION
***********************************************************************
* *
* USE ATTRIBUTE CONSTANTS *
* *
***********************************************************************
UXJPRIV EQU C'P' PRIVATE USE ATTRIBUTE
UXJSCRT EQU C'S' SCRATCH USE ATTRIBUTE
SPACE 1
***********************************************************************
* *
* TAPE DEVICE SELECTION INFORMATION (TDSI) CONSTANTS *
* *
***********************************************************************
UXJNOCAR EQU 0 ZERO IS AN ACCEPTABLE VALUE
* FOR TDSI
***********************************************************************
* CONSTANTS TO DEFINE TAPE RECORDING TECHNOLOGY *
***********************************************************************
UXJNOREC EQU 0 RECORDING TECHNOLOGY UNKNOWN
* OR UNSPECIFIED
UXJ18TRK EQU 1 READ/WRITE ON AN 18 TRACK
* DEVICE
UXJ36TRK EQU 2 READ/WRITE ON A 36 TRACK
* DEVICE
UXJ128TRK EQU 3 READ/WRITE ON A 128 TRACK
* DEVICE
UXJ256TRK EQU 4 READ/WRITE ON A 256 TRACK
* DEVICE
UXJ384TRK EQU 5 READ/WRITE ON A 384 TRACK
* DEVICE
UXJEFMT1 EQU 6 READ/WRITE ON ENTERPRISE FORMAT 1
* (EFMT1) DEVICE
UXJEFMT2 EQU 7 READ/WRITE ON ENTERPRISE FORMAT 2
* (EFMT2) DEVICE
UXJEEFMT2 EQU 8 READ/WRITE ON ENTERPRISE ENCRYPTED FORMAT 2
* (EEFMT2) DEVICE
UXJEFMT3 EQU 9 READ/WRITE ON ENTERPRISE
* FORMAT 3 (EFMT3) DEVICE
UXJEEFMT3 EQU 10 READ/WRITE ON ENTERPRISE
* ENCRYPTED FORMAT 3 (EEFMT3) DEVICE
UXJEFMT4 EQU 11 READ/WRITE ON ENTERPRISE FORMAT 4
* (EFMT4) DEVICE
UXJEEFMT4 EQU 12 READ/WRITE ON ENTERPRISE ENCRYPTED
* FORMAT 4 (EEFMT4) DEVICE
***********************************************************************
* CONSTANTS TO DEFINE MEDIA TYPE *
***********************************************************************
UXJNOMED EQU 0 MEDIA TYPE UNKNOWN OR
* UNSPECIFIED
UXJMED1 EQU 1 MEDIA1 - CARTRIDGE SYSTEM TAPE
UXJMED2 EQU 2 MEDIA2 - ENHANCED CAPACITY
* CARTRIDGE SYSTEM TAPE
UXJMED3 EQU 3 MEDIA3 - HIGH PERFORMANCE
* CARTRIDGE TAPE
UXJMED4 EQU 4 MEDIA4 - EXTENDED HIGH PERFORMANCE
* CARTRIDGE TAPE
UXJMED5 EQU 5 MEDIA5 - ENTERPRISE TAPE CARTRIDGE
UXJMED6 EQU 6 MEDIA6 - ENTERPRISE WORM TAPE CARTRIDGE
UXJMED7 EQU 7 MEDIA7 - ENTERPRISE ECONOMY TAPE CARTRIDGE
UXJMED8 EQU 8 MEDIA8 - ENTERPRISE ECONOMY WORM TAPE
* CARTRIDGE
UXJMED9 EQU 9 MEDIA9 - ENTERPRISE EXTENDED TAPE
* CARTRIDGE
UXJMED10 EQU 10 MEDIA10 - ENTERPRISE EXTENDED WORM TAPE
* CARTRIDGE
UXJMED11 EQU 11 MEDIA11 - ENTERPRISE ADVANCED
* TAPE CARTRIDGE
UXJMED12 EQU 12 MEDIA12 - ENTERPRISE ADVANCED
* WORM TAPE CARTRIDGE
UXJMED13 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 - UXJIDRC AND UXJCOMPT *
* CAN BE USED INTERCHANGEABLY) *
***********************************************************************
UXJCMPNS EQU 0 COMPACTION UNKNOWN OR NOT SET
UXJNOCMP EQU 1 NO COMPACTION
UXJCOMPT EQU 2 COMPACTION
UXJIDRC EQU 2 COMPACTION
***********************************************************************
* CONSTANTS TO DEFINE SPECIAL ATTRIBUTE *
***********************************************************************
UXJNOSPC EQU 0 VOLUME HAS NO SPECIAL
* ATTRIBUTE
UXJRDCOM EQU 1 VOLUME WILL BE MOUNTED FOR READ
* ONLY - ALL READ-COMPATIBLE
* DEVICES MAY BE SELECTED
SPACE 1
***********************************************************************
* *
* MISCELLANEOUS CONSTANTS *
* *
***********************************************************************
UXJPLSP EQU 0 UXJPL SUBPOOL NUMBER
UXJYES EQU C'Y' YES
UXJNO EQU C'N' NO
UXJBLANK EQU C' ' BLANK
SPACE 2
MEND ,
OAM obtains storage below the line, from subpool 0, key 5, for
the installation exit parameter list.