cdc:nos2.source:opl871:catlist
Table of Contents
CATLIST
Table Of Contents
- [00010] CATLIST - CATALOG PERMANENT FILES.
- [00012] CATALOG PERMANENT FILE.
- [00278] DATA LOCATIONS.
- [00348] MAIN PROGRAM.
- [00422] END - END PROCESSING.
- [00438] PROCESSING ROUTINES.
- [00440] FAC - FULL ALTERNATE CATALOG LIST.
- [00477] FFL - FULL LISTING.
- [00514] FLC - FILE LIST AND CATEGORY SET.
- [00533] FPD - FULL LIST OF PERMIT DATA.
- [00619] SPD - SHORT LIST OF PERMIT DATA.
- [00649] SSL - SHORT SORTED LIST.
- [00835] GENERAL SUBROUTINES.
- [00837] AEN - ADVANCE ENTRY NUMBER.
- [00864] AFS - ACCUMULATE FILE STATISTICS.
- [00918] ALN - ADVANCE LINE NUMBER.
- [00957] CFN - CHECK FILENAME IN LIST.
- [01001] CRS - CHECK RESIDENCE AND FILE TYPE.
- [01053] CSU - CHECK FOR SPECIAL USER.
- [01092] DSB - DISPLAY SORT BREAK.
- [01119] FCB - FILL CATALOG AND PERMIT BUFFER.
- [01153] GNI - GET NEXT ENTRY INDEX.
- [01196] GSL - GENERATE ENTRY FOR SHORT LIST.
- [01286] HDR - HEADERS FOR LISTING CATALOGS AND PERMIT BUFFERS.
- [01382] LCS - LIST CATEGORY SET FOR FILE.
- [01448] NIP - NEXT INDEX PRESET (PRESET *GNI*).
- [01472] PAS - PRINT ACCUMULATED STATISTICS.
- [01607] PTP - PRINT TITLE PAGE.
- [01674] RQS - REQUEST STORAGE.
- [01712] SNP - SET NEXT PAGE.
- [01813] PRS - PRESET ROUTINE.
- [02178] IPP - INITIALIZE PAGE PARAMETERS.
Source Code
- CATLIST.txt
- IDENT CATLIST,I,PRS
- *COMMENT CATLIST - CATALOG PERMANENT FILES.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- ABS
- ENTRY CATLIST
- ENTRY RFL=
- ENTRY SSM=
- SYSCOM B1
- SST
- TITLE CATLIST - CATALOG PERMANENT FILES.
- SPACE 4,10
- *** CATLIST - CATALOG PERMANENT FILE.
- * J. L. WARDELL. 71/01/25.
- * W. B. CHAPIN. 79/01/31.
- * P. C. SMITH. 88/01/22.
- SPACE 4,10
- * CATLIST IS A UTILITY WHICH ENABLES A USER TO INTERROGATE
- * THE PERMANENT FILE SYSTEM.
- SPACE 4,10
- *** CATLIST (DN,EF,FN,L,LO,NA,PN,R,RS,TY,UN,WB)
- *
- * KEYWORD OPTION DESCRIPTION
- *
- * DN DEVICE LIST FILES THAT RESIDE ON THIS DEVICE
- * NUMBER NUMBER.
- *
- * EF FILENAME/FILENAME/.../FILENAME
- * EXCLUDED PERMANENT FILE NAME. THIS
- * PARAMETER EXCLUDES FROM LISTING THESE
- * PERMANENT FILES.
- *
- * AN ASTERISK (*) PRESENT IN A FILE NAME
- * INDICATES THAT A SET OF FILES IS TO BE
- * EXCLUDED. FOR EXAMPLE, EF=***OPL WILL
- * EXCLUDE ALL THE FILES WITH SIX CHARACTER
- * FILE NAMES THAT END IN *OPL*; EF=M******
- * WILL EXCLUDE ALL THE FILES WITH FILE
- * NAMES THAT START WITH THE LETTER *M*.
- *
- * MULTIPLE FILE NAMES MAY BE SPECIFIED,
- * SEPARATED BY SLASHES; FOR EXAMPLE,
- * EF=A******/B******/C****** WILL EXCLUDE
- * ALL THE FILES WITH NAMES THAT BEGIN WITH
- * THE LETTERS *A*, *B* OR *C*.
- *
- * THE *EF* PARAMETER MAY BE SPECIFIED
- * TOGETHER WITH THE *FN* PARAMETER; FOR
- * EXAMPLE, FN=AB*****,EF=ABC**** WILL LIST
- * INFORMATION ABOUT ALL FILES WITH NAMES
- * THAT START WITH THE LETTERS *AB*, EXCEPT
- * FOR THOSE FILES WITH NAMES THAT START
- * WITH THE LETTERS *ABC*.
- *
- * THIS PARAMETER IS NOT ALLOWED WHEN
- * LISTING PERMIT INFORMATION (LO=FP,
- * LO=P), NOR WHEN LISTING SECURITY ACCESS
- * CATEGORIES (LO=X).
- *
- * FN FILENAME/FILENAME/.../FILENAME
- * PERMANENT FILE NAME. THIS PARAMETER
- * SPECIFIES THAT CATALOG INFORMATION IS
- * DESIRED ONLY FOR THESE PERMANENT FILES.
- *
- * AN ASTERISK (*) PRESENT IN A FILE NAME
- * INDICATES THAT A SET OF FILES IS TO BE
- * LISTED. FOR EXAMPLE, FN=***OPL WILL
- * LIST ALL THE FILES WITH SIX CHARACTER
- * FILE NAMES THAT END IN *OPL*; FN=M******
- * WILL LIST ALL THE FILES WITH FILE NAMES
- * THAT START WITH THE LETTER *M*.
- *
- * MULTIPLE FILE NAMES MAY BE SPECIFIED,
- * SEPARATED BY SLASHES; FOR EXAMPLE,
- * FN=A******/B******/C****** WILL LIST ALL
- * THE FILES WITH NAMES THAT BEGIN WITH THE
- * LETTERS *A*, *B* OR *C*.
- *
- * THE *FN* PARAMETER MAY BE SPECIFIED
- * TOGETHER WITH THE *EF* PARAMETER; FOR
- * EXAMPLE, FN=AB*****,EF=ABC**** WILL LIST
- * INFORMATION ABOUT ALL FILES WITH NAMES
- * THAT START WITH THE LETTERS *AB*, EXCEPT
- * FOR THOSE FILES WITH NAMES THAT START
- * WITH THE LETTERS *ABC*.
- *
- * IF A SINGLE FILE NAME WITH NO ASTERISK
- * (*) CHARACTERS IS SPECIFIED TOGETHER
- * WITH *LO=0*, A MESSAGE (*FN FOUND.*)
- * INDICATES WHETHER OR NOT THE SPECIFIED
- * FILE IS FOUND IN THE SPECIFIED CATALOG.
- * IF A SUCH A FILE NAME IS SPECIFIED
- * TOGETHER WITH *LO=P* AND *UN=USERNAME*,
- * A MESSAGE (*USERNAME FOUND.*) INDICATES
- * WHETHER OR NOT PERMISSION TO ACCESS THAT
- * FILE HAS BEEN GRANTED TO THAT USER NAME.
- *
- * THIS PARAMETER IS REQUIRED WHEN LISTING
- * PERMIT INFORMATION (*LO=FP*, *LO=P*),
- * AND WHEN LISTING SECURITY ACCESS
- * CATEGORIES (*LO=X*). WHEN *LO=FP*,
- * *LO=P* OR *LO=X* IS SPECIFIED, ONLY A
- * SINGLE FILE NAME MAY BE SPECIFIED, AND
- * NO ASTERISK (*) CHARACTERS MAY BE
- * SPECIFIED.
- *
- * L LFN OUTPUT FILE NAME. THIS IS THE NAME
- * OF THE FILE TO WHICH THE CATLIST
- * INFORMATION IS WRITTEN.
- *
- * LO LIST OPTION
- * F SELECT FULL LISTING OF CATALOG ENTRY.
- * IF THE FILES BEING CATALOGED RESIDE IN
- * AN ALTERNATE CATALOG, ONLY PERTINENT
- * ACCESS INFORMATION IS LISTED.
- *
- * FP SELECT FULL LISTING OF FILES PERMIT ENTRIES
- * THIS OPTION REQUIRES THAT A FILE NAME
- * BE SPECIFIED (FN PARAMETER). ALL PERTINENT
- * PERMISSION INFORMATION IS LISTED. IF
- * THE USER NAME IS SPECIFIED (UN
- * PARAMETER), ONLY PERMISSION DATA
- * FOR THAT USER AND THE SPECIFIED
- * FILE IS LISTED.
- * THE USER NAMES LISTED HERE WILL
- * INCLUDE:
- * THOSE THAT HAVE BEEN GRANTED
- * EXPLICIT PERMISSION.
- * THOSE THAT HAVE ACCESSED THE
- * FILE BECAUSE OF IMPLICIT
- * PERMISSION (SEMI-PRIVATE FILES
- * ONLY).
- *
- * P SELECT SHORT LIST OF PERMIT ENTRIES.
- * THIS OPTION IS SIMILAR TO THE *FP*
- * OPTION EXCEPT THAT ONLY USER
- * NUMBERS ARE LISTED FOR THE PERMIT
- * ENTRIES.
- *
- * X SELECT FULL LISTING OF CATALOG ENTRY,
- * INCLUDING THE FILE ACCESS CATEGORY SET.
- * THIS OPTION REQUIRES THAT A FILE NAME
- * BE SPECIFIED (FN PARAMETER). THIS OPTION
- * IS NOT VALID FOR USE ON ALTERNATE USER
- * CATALOGS.
- *
- * FOR SECURITY REASONS, THE SECURITY
- * ACCESS CATEGORIES ASSOCIATED WITH A FILE
- * WILL NOT BE LISTED UNLESS YOUR CURRENT
- * JOB SECURITY ACCESS LEVEL IS AT LEAST AS
- * HIGH AS THE CURRENT PERMANENT FILE
- * SECURITY ACCESS LEVEL OF THE FILE.
- *
- * 0 SELECT SHORT LIST OF CATALOG ENTRIES.
- * THIS LISTS ONLY THE FILE NAMES FOR THE
- * SPECIFIED CATALOG ENTRIES.
- *
- * NA NO ABORT IF SET, JOB WILL NOT BE ABORTED IF AN
- * ERROR IS ENCOUNTERED. *NA* CANNOT BE
- * SPECIFIED TOGETHER WITH *WB*.
- *
- * PN PACKNAM REMOVABLE PACK NAME. THIS PARAMETER
- * SPECIFIES THE CATALOG OF THIS DEVICE
- * IS DESIRED INSTEAD OF THE USERS
- * NORMAL CATALOG. THIS WILL OVERRIDE
- * ANY PACK NAME SPECIFIED BY THE PACKNAM
- * COMMAND. IF OMITTED THE DEVICE
- * CATALOGED IS EITHER THAT SPECIFIED BY
- * THE LAST PACKNAM COMMAND OR THE
- * USER MASTER CATALOG IF NO PACKNAM
- * REQUEST WAS ISSUED.
- *
- * R RESIDENCE DEVICE TYPE REQUESTED.
- *
- * RS RESIDENCE OF PERMANENT FILES TO BE
- * INCLUDED. SPECIFY ONE OR MORE OR THE
- * FOLLOWING CHARACTERS-
- *
- * C SELECT LISTING OF PERMANENT FILES WHICH
- * RESIDE ON CARTRIDGE. THESE FILES MAY
- * ALSO RESIDE ON OTHER MEDIA (DISK AND/OR
- * TAPE).
- *
- * D SELECT LISTING OF PERMANENT FILES WHICH
- * RESIDE ON DISK. THESE FILES MAY ALSO
- * RESIDE ON OTHER MEDIA (CARTRIDGE AND/OR
- * TAPE).
- *
- * T SELECT LISTING OF PERMANENT FILES WHICH
- * RESIDE ON TAPE. THESE FILES MAY ALSO
- * RESIDE ON OTHER MEDIA (DISK AND/OR
- * CARTRIDGE).
- *
- * TY FILE TYPE. SPECIFY ONE OR MORE OF THE
- * FOLLOWING CHARACTERS-
- * A SELECT LISTING OF ALL FILE TYPES.
- *
- * D SELECT LISTING OF DIRECT ACCESS FILES.
- *
- * I SELECT LISTING OF INDIRECT ACCESS FILES.
- *
- * UN USERNUM USER NAME. THIS PARAMETER HAS
- * TWO PURPOSES:
- * 1. FOR L0=F AND L0=0:
- * INDICATES THE ALTERNATE
- * CATALOG FOR WHICH THE USER
- * DESIRES INFORMATION.
- * FILE WILL BE LISTED IF
- * A. USER IS EXPLICITLY PERMITTED
- * TO FILE.
- * B. FILE IS A SEMI-PRIVATE OR
- * LIBRARY TYPE FILE AND NO
- * NO PASSWORD EXISTS FOR FILE.
- * 2. FOR L0=FP AND L0=P:
- * INDICATES THE SPECIFIC USER
- * FOR WHICH PERMIT INFORMATION
- * IS DESIRED.
- *
- * WB WAIT BUSY IF SET, JOB WILL WAIT FOR A PACK MOUNT,
- * BUT WILL ABORT ON ALL OTHER ERRORS. *WB*
- * CANNOT BE SPECIFIED TOGETHER WITH *NA*.
- SPACE 4,10
- *** ASSUMED PARAMETERS.
- * DN=0
- * EF=0
- * FN=*******
- * L=OUTPUT
- * LO=0
- * NA=0
- * PN=0
- * R=0
- * RS=0
- * RSM=7
- * TY=0
- * UN=0
- * WB=0
- SPACE 4,15
- *** DAYFILE MESSAGES.
- *
- * *CATLIST COMPLETE.* = NORMAL TERMINATION WITHOUT ERRORS.
- *
- * *EMPTY CATALOG.* = NO ENTRIES EXIST FOR OPTIONS SELECTED.
- *
- * *FILE NAME MISSING.* = *LO=P*, *LO=FP* OR *LO=X* OPTION WAS
- * SELECTED BUT NO FILE NAME WAS SPECIFIED.
- *
- * *INCORRECT LIST OPTION.* = THE OPTION SELECTED IS NOT ALLOWED.
- *
- * *INCORRECT PARAMETER.* = INCORRECT PARAMETER OR COMBINATION
- * OF PARAMETERS WAS SPECIFIED.
- *
- * *NO FILES FOUND.* = NO FILES EXIST WHICH MATCH THE VALUES
- * SPECIFIED FOR THE *FN* AND/OR THE *EF* PARAMETERS.
- *
- * *NO PERMITS.* = NO PERMIT ENTRIES EXIST FOR THE
- * SPECIFIED FILE.
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMCMAC
- *CALL COMCCMD
- *CALL COMSMLS
- *CALL COMSPFM
- *CALL COMSPRD
- *CALL COMSSFM
- SPACE 4,10
- ** ASSEMBLY CONSTANTS.
- OBFL EQU 1001B OUTPUT BUFFER LENGTH
- IBFL EQU 701B INPUT BUFFER LENGTH
- SBFL EQU 300B INITIAL SORT BUFFER LENGTH
- FLIN EQU 1000B FL INCREMENT FOR SORT BUFFER
- LMDL EQU 99999 TERMINAL - LINE MODE DEFAULT SCREEN SIZE
- MSBL EQU SBFL+5*FLIN MAXIMUM SORT BUFFER LENGTH
- SMDL EQU 24 TERMINAL - SCREEN MODE DEFAULT SCREEN SIZE
- SSM= EQU 0 SECURE SYSTEM MEMORY
- TITLE DATA LOCATIONS.
- ORG 110B
- SPACE 4,10
- ** FETS.
- I BSS 0
- INPUT FILEB IBUF,IBFL,FET=CFLM
- .I BSS 0
- ORG I+1 SUPPRESS ADDRESS ON *PFM* ERRORS
- VFD 13/0,1/1,22/0,6/CFLM-5,18/IBUF
- ORG .I
- O BSS 0
- OUTPUT FILEB OBUF,OBFL,EPR,FET=10B
- ** DATA LOCATIONS.
- BL CON 0 BUFFER LENGTH
- BLK CON 1L BLANK LINE
- BO CON 0,0 BUFFER OFFSETS FOR THIS PAGE AND NEXT PAGE
- BOVF CON 0 BUFFER OVERFLOW FLAG
- DN CON 0 DEVICE NUMBER
- DT CON 0 DEVICE TYPE
- ERRF CON 0 *PFM* ERROR FLAG
- FILENAM CON 0 FILE NAME (ONLY ONE FILE SPECIFIED)
- FLNM BSS 0 SELECTION FILE NAME LIST
- CON 7L******* DEFAULT FILE NAME SELECTION MASK
- BSSZ 35
- EFNM BSS 0 EXCLUSION FILE NAME LIST
- BSSZ 36
- FCDD CON 0 FILE COUNT (DIRECT ACCESS DISK FILES)
- FCID CON 0 FILE COUNT (INDIRECT ACCESS DISK FILES)
- FCDA CON 0 FILE COUNT (DAPF-S ON ALTERNATE STORAGE)
- FCIA CON 0 FILE COUNT (IAPF-S ON ALTERNATE STORAGE)
- FLN CON 0 ENTRY NUMBER (DISPLAY)
- FSDD CON 0 FILE SIZE (DIRECT ACCESS DISK FILES)
- FSID CON 0 FILE SIZE (INDIRECT ACCESS DISK FILES)
- FSDA CON 0 FILE SIZE (DAPF-S ON ALTERNATE STORAGE)
- FSIA CON 0 FILE SIZE (IAPF-S ON ALTERNATE STORAGE)
- JT CON 0 JOB TYPE
- LL CON 0 LINE LIMIT-1 (NUMBER OF LINES ON A PAGE)
- LN CON 99999 LINE NUMBER
- LO CON 0 LIST OPTION
- MODE CON 0 LIST MODE
- NABT CON 0 NO ABORT FLAG
- NO CON 0 ENTRY NUMBER
- NZ CON 1 NONZERO VALUE
- PACK CON 0 PACKNAME
- PD CON 0 JOB PRINT DENSITY
- PG CON 0 PAGE NUMBER
- RES CON 0 RESIDENCE
- RS CON 0 RESIDENCE OF FILE SELECTION
- RSM CON 7 RESIDENCE SELECTION MASK
- SSM CON 0 SYSTEM SECURITY MODE
- TP CON 0 TITLE PAGE FLAG FOR TERMINAL
- TY CON 0 FILE TYPE SELECTION
- TYM CON 0 FILE TYPE SELECTION MASK
- USER CON 0 USER NAME OF CALLER
- USERNUM CON 0 SELECTED USER NAME
- WBSY CON 0 WAIT BUSY FLAG
- ** SORT BUFFER CONTROL WORDS.
- MBS CON MSBL MAXIMUM SORT BUFFER SIZE
- CBS CON SBFL CURRENT SORT BUFFER SIZE
- CFL CON RFL= CURRENT FL
- TITLE MAIN PROGRAM.
- CTL SPACE 4,10
- ** MAIN ROUTINE.
- CTL BSS 0 ENTRY
- RJ FCB FILL CATALOG BUFFER
- NG X6,CTL5 IF ERROR RETURN STATUS
- SA1 CTLA
- NZ X1,CTL9 IF SELECTED FILE LIST
- ZR X6,CTL7 IF NO CATALOGS
- RJ CSU CHECK FOR SPECIAL USER
- CTL1 SA2 MODE PROCESS LIST OPTION
- SA2 X2+TLOT
- SB2 X2
- JP B2 CALL PROCESSOR
- * RETURN HERE ON NORMAL COMPLETION.
- CTL3 SA1 DT
- ZR X1,CTL4 IF TERMINAL FILE
- MESSAGE (=C* CATLIST COMPLETE.*),3
- EQ CTL5
- CTL4 MESSAGE (=C**),1 CLEAR MESSAGE BUFFER
- * RETURN HERE ON ERRORS.
- CTL5 WRITER O FLUSH OUTPUT
- EQ END ENDRUN/ABORT
- * NO CATALOG/PERMIT ENTRIES FOUND. ISSUE APPROPRIATE MESSAGE
- * TO DAYFILE OR (IF TERMINAL OUTPUT FILE) TO OUTPUT FILE.
- CTL7 SA2 CTLB MESSAGE ADDRESS
- SA1 DT
- ZR X1,CTL8 IF TERMINAL FILE
- MESSAGE X2,3 ISSUE MESSAGE TO DAYFILE
- EQ END ENDRUN/ABORT
- CTL8 WRITEH O,X2,2 WRITE MESSAGE TO OUTPUT
- EQ CTL4 FLUSH OUTPUT AND END
- CTL9 RJ SFN SPACE FILL ENTRY
- LX6 54
- SA6 A1
- SA1 DT
- ZR X1,CTL10 IF TERMINAL FILE
- MESSAGE CTLA,3 *(ENTRY) FOUND.*
- EQ END ENDRUN
- CTL10 WRITEC O,CTLA *(ENTRY) FOUND*
- EQ CTL4 FLUSH OUTPUT AND END
- CTLA CON 0 SELECTED ENTRY
- CON 6LFOUND.
- CTLB CON CTLC
- CTLC DATA C* EMPTY CATALOG.*
- CTLD DATA C* NO PERMITS.*
- CTLE DATA C* NO FILES FOUND.*
- TLOT BSS 0 TABLE OF LIST OPTIONS
- LOC 0
- CON SSL SHORT SORTED FILE LIST
- CON FFL FULL FILE LIST
- CON FLC FILE LIST AND CATEGORY SET
- CON SSL SHORT SORTED ALTERNATE FILE LIST
- CON FAC FULL ALTERNATE FILE LIST
- CON SPD SHORT PERMIT DATA LIST
- CON FPD FULL LIST OF PERMIT DATA
- LOC *O
- END SPACE 4,10
- ** END - END PROCESSING.
- *
- * USES X - 1.
- * A - 1.
- *
- * MACROS ABORT, ENDRUN.
- END BSS 0 ENTRY
- SA1 ERRF
- ZR X1,END1 IF NO *PFM* ERROR OCCURRED
- SA1 NABT
- NZ X1,END1 IF *NA* SPECIFIED RATHER THAN *WB*
- ABORT
- END1 ENDRUN
- TITLE PROCESSING ROUTINES.
- FAC SPACE 4,10
- ** FAC - FULL ALTERNATE CATALOG LIST.
- FAC BSS 0 ENTRY
- FAC1 READW I,CBUF,NWCE READ NEXT CATALOG ENTRY
- NG X1,FAC2 IF END OF BUFFER
- RJ CRS CHECK FILE RESIDENCE AND TYPE
- ZR X1,FAC1 IF FILE NOT TO BE LISTED
- SA3 CBUF GET FILENAME
- SB2 FLNM CHECK INCLUSION LIST
- RJ CFN
- NZ X6,FAC1 IF FILE NOT IN INCLUSION LIST
- SB2 EFNM CHECK EXCLUSION LIST
- RJ CFN
- ZR X6,FAC1 IF FILE IN EXCLUSION LIST
- RJ AEN ADVANCE ENTRY NUMBER
- RJ AFS ACCUMULATE FILE STATISTICS
- SB2 /COMCFCE/CHDRN+1 ADVANCE LINE COUNT
- RJ ALN
- SA1 NO
- SA3 SSM
- EDCAT CBUF,LBUF,X1,1,,X3,1
- WRITEH O,LBUF,FCELL FIRST LINE
- WRITEH O,LBUF+FCELL,FCELL SECOND LINE
- WRITEH O,LBUF+2*FCELL,FCELA THIRD LINE
- WRITEH O,LBUF+3*FCELL,FCELB FOURTH LINE
- WRITEC O,BLK
- EQ FAC1 LOOP FOR NEXT CATALOG ENTRY
- FAC2 RJ FCB FILL CATALOG BUFFER
- NG X6,CTL5 IF ERROR RETURN STATUS
- NZ X6,FAC1 IF MORE CATALOGS
- SA1 NO NUMBER OF ENTRIES
- ZR X1,CTL7 IF NO CATALOGS
- RJ PAS PRINT ACCUMULATED STATISTICS
- EQ CTL3 COMPLETE PROCESSING
- FFL SPACE 4,10
- ** FFL - FULL LISTING.
- FFL BSS 0 ENTRY
- FFL1 READW I,CBUF,NWCE READ NEXT CATALOG ENTRY
- NG X1,FFL2 IF END OF BUFFER
- RJ CRS CHECK FILE RESIDENCE AND TYPE
- ZR X1,FFL1 IF FILE NOT TO BE LISTED
- SA3 CBUF GET FILENAME
- SB2 FLNM CHECK INCLUSION LIST
- RJ CFN
- NZ X6,FFL1 IF FILE NOT IN INCLUSION LIST
- SB2 EFNM CHECK EXCLUSION LIST
- RJ CFN
- ZR X6,FFL1 IF FILE IN EXCLUSION LIST
- RJ AEN ADVANCE ENTRY NUMBER
- RJ AFS ACCUMULATE FILE STATISTICS
- SB2 /COMCFCE/CHDRN+1 ADVANCE LINE COUNT
- RJ ALN
- SA1 NO
- SA3 SSM
- EDCAT CBUF,LBUF,X1,1,,X3
- WRITEH O,LBUF,FCELL FIRST LINE
- WRITEH O,LBUF+FCELL,FCELL SECOND LINE
- WRITEH O,LBUF+2*FCELL,FCELA THIRD LINE
- WRITEH O,LBUF+3*FCELL,FCELB FOURTH LINE
- WRITEC O,BLK
- EQ FFL1 PROCESS NEXT CATALOG ENTRY
- FFL2 RJ FCB FILL CATALOG BUFFER
- NG X6,CTL5 IF ERROR RETURN STATUS
- NZ X6,FFL1 IF MORE CATALOGS
- SA1 NO NUMBER OF ENTRIES
- ZR X1,CTL7 IF NO CATALOGS
- RJ PAS PRINT ACCUMULATED STATISTICS
- EQ CTL3 COMPLETE PROCESSING
- FLC SPACE 4,10
- ** FLC - FILE LIST AND CATEGORY SET.
- FLC BSS 0 ENTRY
- READW I,CBUF,NWCE
- RJ AEN ADVANCE ENTRY NUMBER
- SB2 /COMCFCE/CHDRN+1 ADVANCE LINE COUNT
- RJ ALN
- SA1 NO
- SA3 SSM
- EDCAT CBUF,LBUF,X1,1,,X3
- WRITEH O,LBUF,FCELL FIRST LINE
- WRITEH O,LBUF+FCELL,FCELL SECOND LINE
- WRITEH O,LBUF+2*FCELL,FCELA THIRD LINE
- WRITEH O,LBUF+3*FCELL,FCELB FOURTH LINE
- WRITEC O,BLK
- RJ LCS LIST CATEGORY SET FOR FILE
- EQ CTL3 COMPLETE PROCESSING
- FPD SPACE 4,10
- ** FPD - FULL LIST OF PERMIT DATA.
- FPD BSS 0 ENTRY
- FPD1 READW I,CBUF,NWPE READ NEXT PERMIT ENTRY
- NG X1,FPD4 IF END OF BUFFER
- RJ AEN ADVANCE ENTRY NUMBER
- SB2 B1 ADVANCE LINE NUMBER BY 1
- RJ ALN
- MX0 42 PICK USER NAME
- SA5 CBUF
- BX1 X0*X5
- RJ SFN SPACE FILL NAME
- SA1 FLN SET USER NAME COUNT
- MX0 30
- LX1 30
- BX1 X0*X1 PICK FIRST PART OF USER NAME
- LX6 24
- BX7 -X0*X6
- BX7 X7+X1
- SA7 LBUF
- SA5 CBUF+1 SET USER PERMISSION
- MX0 4
- LX0 40
- BX1 X0*X5
- LX1 24
- SA1 /COMCFCE/MDTB+X1
- LX1 35-59
- MX0 18
- BX6 X0*X6 PICK LAST 3 CHARACTERS OF USER NAME
- BX1 -X0*X1 MERGE WITH PERMISSION
- BX6 X6+X1
- SA6 LBUF+1
- MX0 18 CONVERT ACCESS COUNT
- BX1 X0*X5
- LX1 18
- RJ CDD CONVERT TO DECIMAL
- MX0 1 CHECK PERMIT TYPE
- LX0 41
- BX1 X0*X5
- NZ X1,FPD2 IF ACCOUNTING PERMIT
- SX1 1R*&1R SET EXPLICIT PERMIT FLAG
- LX1 54
- BX6 X1-X6
- FPD2 SA2 FPDA
- SA6 A2+B1 SAVE ACCESS COUNT
- ERRNZ FPDB-FPDA-1 CODE DEPENDS ON VALUE
- BX6 X2
- MX0 1 CHECK IF EXPIRATION DATE IS PRESENT
- LX0 42
- BX1 X0*X5
- ZR X1,FPD3 IF NO EXPIRATION DATE
- SA1 CBUF
- MX0 -18
- BX1 -X0*X1 PICK UP EXPIRATION DATE
- ZR X1,FPD3 IF NONEXPIRING PERMIT
- EDATE X1 CONVERT DATE
- LX6 -6
- FPD3 MX0 6 SWITCH AROUND FIRST CHARACTERS
- SA4 FPDB
- BX2 X0*X6
- BX3 X0*X4
- BX6 -X0*X6
- BX7 -X0*X4
- BX6 X3+X6
- BX7 X2+X7
- SA6 LBUF+2 SET PERMIT TYPE/EXPIRATION DATE
- SA7 LBUF+3 SET ACCESS COUNT
- BX3 X5 CONVERT DATE AND TIME
- RJ /COMCFCE/CDT CONVERT TIME AND DATE
- SA6 LBUF+4
- BX7 X5
- SA7 LBUF+5
- WRITEC O,LBUF
- EQ FPD1 LIST NEXT PERMIT
- * READ NEXT BUFFER OF PERMITS.
- FPD4 RJ FCB FILL BUFFER
- NG X6,CTL5 IF ERROR
- ZR X6,CTL3 IF END OF PERMITS
- EQ FPD1 LIST NEXT PERMIT
- FPDA DATA 10H BLANK LINE
- FPDB CON 0
- SPD SPACE 4,10
- ** SPD - SHORT LIST OF PERMIT DATA.
- SPD BSS 0 ENTRY
- SPD1 READW I,CBUF,NWPE READ NEXT PERMIT ENTRY
- NG X1,SPD2 IF BUFFER EMPTY
- RJ GSL GENERATE ENTRY FOR SHORT LIST
- EQ SPD1 PROCESS NEXT PERMIT ENTRY
- SPD2 RJ FCB FILL BUFFER
- NG X6,CTL5 IF ERROR
- NZ X6,SPD1 IF NOT END OF DATA
- WRITEC O,LBUF
- SA1 NO SET NUMBER OF USERS
- SX6 X1-1
- NZ X6,SPD3 IF MORE THAN ONE USER FOUND
- SA2 SPDB CHANGE SYNTAX OF MESSAGE
- BX7 X2
- SA7 SPDA+1
- SPD3 RJ CDD CONVERT TO DECIMAL
- SA6 SPDA
- WRITEC O,BLK
- WRITEC O,SPDA
- EQ CTL3 COMPLETE PROCESSING
- SPDA CON 0 NUMBER OF USERS
- DATA C* USERS*
- SPDB DATA C* USER*
- SSL SPACE 4,15
- ** SSL - SHORT SORTED LIST.
- *
- * USES X - 0, 1, 2, 3, 6, 7.
- * A - 0, 1, 2, 3, 6, 7.
- * B - 2, 3, 7.
- *
- * CALLS AFS, ALN, CFN, DSB, FCB, GNI, GSL, PAS, RQS, SNP,
- * SST=.
- *
- * MACROS READW, WRITEC, WRITEH.
- SSL BSS 0 ENTRY
- SSL1 SA0 B0 INITIALIZE BUFFER POINTER
- SSL2 READW I,CBUF,NWCE
- PL X1,SSL4 IF DATA READ
- RJ FCB FILL CATALOG BUFFER
- NG X6,SSL3 IF ERROR RETURN STATUS
- NZ X6,SSL2 IF BUFFER NOT EMPTY
- SSL3 BX6 X6-X6 CLEAR BUFFER OVERFLOW FLAG
- SA6 BOVF
- EQ SSL7 PROCESS SORT OF BUFFER
- SSL4 RJ CRS CHECK FILE RESIDENCE AND TYPE
- ZR X1,SSL2 IF FILE NOT TO BE LISTED
- SA3 CBUF GET FILENAME
- SB2 FLNM CHECK INCLUSION LIST
- RJ CFN
- NZ X6,SSL2 IF FILE NOT IN INCLUSION LIST
- SB2 EFNM CHECK EXCLUSION LIST
- RJ CFN
- ZR X6,SSL2 IF FILE IN EXCLUSION LIST
- RJ AFS ACCUMULATE STATISTICS (GET TYPE/RESIDENCE)
- SA2 CBUF GET FILE NAME
- SA3 CBUF+FCEC GET ERROR CODE
- MX0 42
- LX3 18
- MX6 -3
- BX2 X0*X2
- LX1 57-0 POSITION FILE TYPE FLAG (NONZERO IF DAPF)
- BX6 -X6*X3 ERROR CODE
- LX2 -6 POSITION FILE NAME
- BX6 X6+X1 MERGE IN PF TYPE
- ZR B2,SSL6 IF FILE DISK RESIDENT
- SX1 10B SET *FILE NOT DISK RESIDENT* FLAG
- BX6 X6+X1
- SSL6 BX6 X6+X2 MERGE IN FILE NAME
- SA6 A0+SBUF
- SA1 CBS GET CURRENT BUFFER MAXIMUM
- SA0 A0+B1
- SX3 A0+B1
- IX2 X1-X3
- PL X2,SSL2 IF BUFFER NOT FULL
- RJ RQS REQUEST MORE BUFFER SPACE
- PL X1,SSL2 IF MORE AVAILABLE
- SA3 BOVF CHECK IF MESSAGE NEEDED
- NZ X3,SSL7 IF MESSAGE PREVIOUSLY OUTPUT
- MX6 1 SET BUFFER OVERFLOW FLAG
- SB2 B1
- SA6 BOVF
- RJ ALN ADVANCE LINE NUMBER
- WRITEC O,SSLD OUTPUT WARNING MESSAGE
- WRITEC O,BLK
- * SORT DIRECT AND INDIRECT FILES ALPHABETICALLY.
- SSL7 SX1 A0 NUMBER OF ENTRIES
- ZR X1,CTL7 IF NO CATALOGS
- SB2 B1
- RJ ALN ADVANCE LINE NUMBER
- SX1 A0
- SB7 SBUF ADDRESS OF BUFFER
- RJ SST= SORT ENTRIES
- SB2 B0 DETERMINE COUNT OF EACH TYPE
- SSL8 SA1 SBUF+B2
- LX1 59-57
- NG X1,SSL9 IF DIRECT ACCESS FILE
- SB2 B2+B1
- SB3 A0-B2
- NZ B3,SSL8 IF NOT END OF BUFFER
- SSL9 SX6 B2 NUMBER OF INDIRECT ACCESS FILES
- SA6 SSLA
- SX7 A0-B2 NUMBER OF DIRECT ACCESS FILES
- SA6 SSLC
- SA7 SSLB
- * LIST INDIRECT ACCESS FILES.
- SA1 SSLA GET COUNT OF INDIRECT ACCESS FILES
- ZR X1,SSL12 IF NO INDIRECT ACCESS FILES
- WRITEC O,BLK
- WRITEH O,SSLE,SSLEL
- WRITEC O,BLK
- SB2 B1+B1
- RJ ALN ADVANCE LINE NUMBER
- SX7 8 SET LINE POSITION
- SA7 GSLA
- SB2 B1+
- RJ ALN
- SA1 SSLA GET NUMBER OF INDIRECT FILES
- RJ SNP SET NEXT PAGE
- SSL10 SA3 BL
- SX6 X3-1
- SA6 A3+
- NG X6,SSL11 IF END OF ENTRIES
- RJ GNI GET NEXT ENTRY
- SA3 BO CURRENT BUFFER OFFSET
- IX1 X1+X3
- SA1 X1+SBUF GET ACTUAL ENTRY
- LX1 6
- BX6 X1
- SA6 CBUF
- RJ GSL GENERATE ENTRY FOR SHORT LIST
- EQ SSL10 GET NEXT ENTRY
- SSL11 WRITEC O,LBUF LAST LINE OF INDIRECT ACCESS FILES
- SA1 SSLA
- RJ DSB DISPLAY SORT BREAK
- SA1 SSLA
- RJ SNP SET NEXT PAGE
- NZ X1,SSL10 IF MORE FILES TO LIST
- * LIST DIRECT ACCESS FILES.
- SSL12 SA1 SSLB
- ZR X1,SSL17 IF NO DIRECT ACCESS FILES
- SA1 SSLA CHECK IF ANY INDIRECT ACCESS FILES
- ZR X1,SSL13 IF NO INDIRECT ACCESS FILES
- WRITEC O,BLK
- SB2 B1
- RJ ALN ADVANCE LINE NUMBER
- SSL13 WRITEH O,SSLF,SSLFL
- SB2 B1
- RJ ALN ADVANCE LINE NUMBER
- SA1 LN CHECK IF HEADER JUST PRINTED
- SX2 3
- IX1 X2-X1
- ZR X1,SSL14 IF HEADER JUST PRINTED
- WRITEC O,BLK
- SB2 B1
- RJ ALN ADVANCE LINE NUMBER
- SSL14 SX7 8 RESET LINE POSITION
- SA7 GSLA
- SA1 SSLB
- RJ SNP SET UP NEXT PAGE
- SSL15 SA3 BL DECREMENT NUMBER OF DIRECT FILES
- SX6 X3-1
- SA6 A3+
- NG X6,SSL16 IF END OF ENTRIES
- RJ GNI GET NEXT ENTRY
- SA2 SSLC DETERMINE POSITION IN BUFFER
- SA3 BO GET CURRENT BUFFER OFFSET
- IX2 X2+X3
- SB2 SBUF+X2
- SA1 X1+B2 GET ACTUAL ENTRY
- LX1 6
- BX6 X1
- SA6 CBUF
- RJ GSL GENERATE ENTRY FOR SHORT LIST
- EQ SSL15 GET NEXT ENTRY
- SSL16 WRITEC O,LBUF LAST LINE
- SA1 SSLB
- RJ DSB DISPLAY SORT BREAK
- SA1 SSLB
- RJ SNP SET NEXT PAGE
- NZ X1,SSL15 IF MORE FILE NAMES TO LIST
- SB2 B1+
- RJ ALN
- SSL17 SA2 ERRF CHECK ERROR FLAG
- NZ X2,SSL18 IF *PFM* ERROR
- SA2 BOVF CHECK OVERFLOW FLAG
- NZ X2,SSL1 IF OVERFLOW OCCURRED (MORE FILES TO LIST)
- SSL18 WRITEC O,BLK
- RJ PAS PRINT ACCUMULATED STATISTICS
- EQ CTL3 CONTINUE PROCESSING
- SSLA CON 0 NUMBER OF INDIRECT ACCESS FILES
- SSLB CON 0 NUMBER OF DIRECT ACCESS FILES
- SSLC CON 0 COUNT OF ENTRIES BEFORE DIRECT ACCESS FILE
- SSLD DATA C* BUFFER OVERFLOW - ALL FILES LISTED BUT NOT SORTED.*
- SSLE DATA C* INDIRECT ACCESS FILES*
- SSLEL EQU *-SSLE
- SSLF DATA C* DIRECT ACCESS FILES*
- SSLFL EQU *-SSLF
- TITLE GENERAL SUBROUTINES.
- AEN SPACE 4,15
- ** AEN - ADVANCE ENTRY NUMBER.
- *
- * ENTRY (NO) = NUMBER OF FILES.
- *
- * EXIT (NO) ADVANCED.
- * (FLN) = ADVANCED FILE NUMBER IN DISPLAY CODE.
- *
- * USES X - 0, 1, 6.
- * A - 1, 6.
- *
- * CALLS CDD.
- AEN SUBR ENTRY/EXIT
- SA1 NO ADVANCE FILE NUMBER
- SX1 X1+B1
- BX6 X1
- SA6 A1
- RJ CDD
- SX1 1R. SET PERIOD
- MX0 54
- LX6 6
- BX6 X0*X6
- BX6 X1+X6
- SA6 FLN
- EQ AENX RETURN
- AFS SPACE 4,20
- ** AFS - ACCUMULATE FILE STATISTICS.
- *
- * INCREMENT THE FILE COUNT AND TOTAL PRU-S FOR -
- * INDIRECT ACCESS FILES ON DISK.
- * DIRECT ACCESS FILES ON DISK.
- * IAPF-S ON ALTERNATE STORAGE.
- * DAPF-S ON ALTERNATE STORAGE.
- *
- * ENTRY (CBUF) = CATALOG ENTRY.
- *
- * EXIT COUNTERS UPDATED.
- * (X1) = 1 IF DIRECT ACCESS FILE.
- * = 0 IF INDIRECT ACCESS FILE.
- * (B2) = 0 IF FILE ON DISK.
- * = 1 IF FILE ON ALTERNATE STORAGE.
- *
- * USES X - 1, 2, 3, 6.
- * A - 1, 2, 3, 6.
- * B - 2.
- AFS SUBR ENTRY/EXIT
- SA1 CBUF+FCLF GET LENGTH OF FILE
- MX2 -24
- BX3 -X2*X1 GET TRACK POINTER
- AX3 12
- LX1 24
- BX6 -X2*X1
- LX1 0-11-24+60 CHECK FILE TYPE
- MX2 -1
- BX1 -X2*X1 (X1)=1 IF DIRECT, 0 IF INDIRECT
- ZR X3,AFS2 IF FILE NOT ON DISK
- SB2 B0+ SET RESIDENCE TO DISK
- SA2 FSID SET COUNTERS FOR INDIRECT ACCESS DISK FILE
- SA3 FCID
- ZR X1,AFS1 IF INDIRECT ACCESS FILE
- SA2 FSDD SET COUNTERS FOR DIRECT ACCESS DISK FILE
- SA3 FCDD
- AFS1 IX6 X6+X2 INCREMENT ACCUMULATED SIZE
- SA6 A2
- SX6 X3+B1 INCREMENT FILE COUNT
- SA6 A3
- EQ AFSX RETURN
- * FILE ON ALTERNATE STORAGE.
- AFS2 SB2 B1+ SET RESIDENCE TO ALTERNATE STORAGE
- SA2 FSIA SET COUNTERS FOR IAPF ON ALTERNATE STORAGE
- SA3 FCIA
- ZR X1,AFS1 IF INDIRECT ACCESS FILE
- SA2 FSDA SET COUNTERS FOR DAPF ON ALTERNATE STORAGE
- SA3 FCDA
- EQ AFS1 UPDATE COUNTERS
- ALN SPACE 4,15
- ** ALN - ADVANCE LINE NUMBER.
- *
- * ENTRY (LN) = CURRENT PAGE LINE NUMBER.
- * (B2) = NUMBER OF LINES TO ADVANCE.
- *
- * EXIT FILE NUMBER UPDATED IN OUTPUT LINE.
- * LINE BUFFER CLEARED.
- *
- * USES X - 1, 6.
- * A - 1, 6.
- * B - 2.
- *
- * CALLS HDR, PTP.
- ALN SUBR ENTRY/EXIT
- SA1 LN ADVANCE LINE NUMBER
- SX6 X1+B2
- SA6 A1
- SA1 LL GET LINE LIMIT
- IX1 X1-X6
- PL X1,ALN2 IF NOT END OF PAGE
- SX6 B2
- SA6 A6 RESET LINE NUMBER
- SA1 DT CHECK DEVICE TYPE
- NZ X1,ALN1 IF FILE NOT ASSIGNED TO A TERMINAL
- SA1 TP CHECK IF TITLE PAGE ALREADY PRINTED
- NZ X1,ALN2 IF TITLE ALREADY PRINTED
- ALN1 RJ PTP PRINT TITLE PAGE
- SX6 B1 SET TITLE PAGE FLAG FOR TERMINAL
- SA6 TP
- RJ HDR PRINT HEADER
- ALN2 SB2 7 CLEAR LINE BUFFER
- SX6 B0
- ALN3 ZR B2,ALNX IF END OF LINE BUFFER
- SA6 LBUF+B2
- SB2 B2-B1
- EQ ALN3 CLEAR NEXT WORD
- CFN SPACE 4,15
- ** CFN - CHECK FILENAME IN LIST.
- *
- * *CFN* CHECKS A FILE NAME FOR INCLUSION IN A LIST,
- * WITH WILDCARD MATCHING.
- *
- * ENTRY (X3) = FILENAME.
- * (B2) = FWA OF LIST.
- *
- * EXIT (X6) = 0 IF FILE IN LIST.
- *
- * USES X - 1, 3, 4, 5, 6, 7.
- * A - 1, 4, 5.
- * B - 2.
- CFN2 SX6 B1+
- CFN SUBR ENTRY/EXIT
- MX7 42
- BX3 X7*X3
- CFN1 SA4 B2
- SB2 B2+B1
- ZR X4,CFN2 IF END OF LIST
- SA1 CFNA CHARACTER MASK
- SA5 CFNB ASTERISKS
- BX5 X4-X5
- BX6 X1*X5
- BX7 -X1*X5
- IX6 X1+X6
- BX6 X6+X7
- BX7 -X1*X6
- BX6 X7
- LX7 -5
- IX7 X6-X7
- BX7 X6+X7
- BX6 X4-X3
- BX6 X7*X6
- ZR X6,CFNX IF IN LIST
- EQ CFN1 CHECK NEXT ENTRY IN LIST
- CFNA CON 37373737373737000000B
- CFNB CON 7L*******
- CRS SPACE 4,15
- ** CRS - CHECK RESIDENCE AND FILE TYPE.
- *
- * *CRS* CHECKS TO SEE IF THE FILE RESIDENCE AND TYPE SELECTED
- * MATCH THE CURRENT FILE RESIDENCE AND TYPE, TO DETERMINE IF
- * THE FILE IS TO BE LISTED.
- *
- * ENTRY (CBUF) = CATALOG ENTRY.
- * (RSM) = FILE RESIDENCE SELECTION MASK.
- * (TYM) = FILE TYPE SELECTION MASK.
- *
- * EXIT (X1) = 0 IF FILE IS NOT TO BE LISTED.
- *
- * USES X - 1, 3.
- * A - 3.
- * B - 3, 6.
- CRS SUBR ENTRY/EXIT
- SB6 CBUF
- SB3 B0 INITIALIZE FILE RESIDENCE
- SA3 B6+FCBT CHECK FOR DISK RESIDENCE
- MX1 -24
- BX3 -X1*X3
- AX3 12 EXAMINE TRACK ONLY
- ZR X3,CRS1 IF NOT DISK RESIDENT
- SB3 B3+4 SET DISK RESIDENT INDICATOR
- CRS1 SA3 B6+FCAA CHECK FOR CARTRIDGE RESIDENCE
- MX1 -36
- BX1 -X1*X3
- ZR X1,CRS2 IF NOT CARTRIDGE RESIDENT
- LX3 59-48 CHECK FOR OBSOLETE FLAG
- NG X3,CRS2 IF CARTRIDGE COPY OBSOLETE
- SB3 B3+B1 SET CARTRIDGE RESIDENCE INDICATOR
- CRS2 SA3 B6+FCTV CHECK FOR TAPE VSN
- MX1 -24
- BX3 -X1*X3
- ZR X3,CRS3 IF NO TAPE VSN
- SB3 B3+2 SET TAPE RESIDENT INDICATOR
- CRS3 SA3 RSM GET FILE RESIDENCE SELECTION MASK
- SX1 B3 GET ACTUAL FILE RESIDENCE
- BX1 X1*X3 COMPARE ACTUAL AND SELECTED RESIDENCE
- ZR X1,CRSX IF FILE FAILED RESIDENCE CRITERIA
- SA1 B6+FCBS CHECK FILE TYPE
- MX3 -1
- LX1 0-11
- BX3 -X3*X1 01 = DIRECT, 00 = INDIRECT
- SX1 X3+B1 10 = DIRECT, 01 = INDIRECT
- SA3 TYM
- ZR X3,CRSX IF FILE TYPE NOT SPECIFIED
- BX1 X1*X3 CHECK FILE TYPE MATCH
- EQ CRSX RETURN
- CSU SPACE 4,15
- ** CSU - CHECK FOR SPECIAL USER.
- *
- * ENTRY (AUSER) = ALTERNATE USER.
- * (USER) = USER NAME OF CALLER.
- *
- * EXIT (MODE) UPDATED TO NON-ALTERNATE CATALOG IF
- * USER REQUESTING CATLIST HAS AUTOMATIC PERMISSION.
- *
- * USES X - 0, 1, 2, 3, 6, 7.
- * A - 1, 2, 6.
- * B - 2.
- CSU SUBR ENTRY/EXIT
- SA2 MODE
- SX2 X2-PMTL
- PL X2,CSUX IF PERMIT DATA REQUEST
- SA2 AUSER
- ZR X2,CSUX IF NO ALTERNATE USER
- SA1 USER
- MX0 -6
- SB2 8
- CSU1 LX1 6 POSITION NEXT CHARACTER
- LX2 6
- SB2 B2-B1
- ZR B2,CSU2 IF USER NAMES MATCH
- BX3 -X0*X1 USER
- BX6 -X0*X2 AUSER
- SX7 X3-1R*
- ZR X7,CSU1 IF CHARACTER = *
- IX6 X3-X6
- ZR X6,CSU1 IF CHARACTERS COMPARE
- EQ CSUX EXIT
- CSU2 SA1 MODE PROCEED AS NON-ALTERNATE CATALOG
- SX6 X1-ALTC
- SA6 A1
- EQ CSUX RETURN
- DSB SPACE 4,15
- ** DSB - DISPLAY SORT BREAK.
- *
- * ENTRY (X1) = TOTAL NUMBER OF FILE NAMES.
- * (BO) = CURRENT BUFFER OFFSET.
- *
- * EXIT SORT-BREAK LINE DISPLAYED.
- *
- * USES X - 2, 3.
- * A - 2.
- * B - 2.
- *
- * CALLS ALN.
- *
- * MACROS WRITEC.
- DSB SUBR ENTRY/EXIT
- SA2 BO+1 GET CURRENT BUFFER OFFSET
- IX3 X2-X1
- ZR X3,DSBX IF NO MORE FILES IN THIS GROUP
- SA2 DT
- NZ X2,DSBX IF NOT TERMINAL FILE
- SB2 1
- RJ ALN ADVANCE LINE NUMBER
- WRITEC O,(=C* ...*)
- EQ DSBX RETURN
- FCB SPACE 4,10
- ** FCB - FILL CATALOG AND PERMIT BUFFER.
- *
- * EXIT (X6) = NUMBER OF WORDS READ.
- * (X6) .LT. 0, IF ERROR DETECTED.
- *
- * USES X - 0, 1, 2, 6.
- * A - 1, 2, 6.
- *
- * MACROS CATLIST.
- FCB1 SA6 ERRF SET *PFM* ERROR FLAG
- FCB SUBR ENTRY/EXIT
- SA1 I CHECK FOR EOI ON LAST READ
- LX1 59-9
- SX6 B0
- NG X1,FCBX IF EOI ENCOUNTERED
- SA2 A1+B1 SET IN = OUT = FIRST
- SX6 X2
- SA6 A2+B1 SET IN
- SA6 A6+B1 SET OUT
- CATLIST A1,,,,,,,DN
- SA1 X2+ CHECK ERROR STATUS
- MX0 -8
- AX1 10
- BX2 -X0*X1
- MX6 1 SET ERROR RETURN CONDITION
- NZ X2,FCB1 IF ERROR RETURN STATUS SET
- SA1 A1+2 SET NUMBER OF WORDS READ
- SA2 A1+B1
- IX6 X1-X2
- EQ FCBX RETURN
- GNI SPACE 4,15
- ** GNI - GET NEXT ENTRY INDEX.
- *
- * ENTRY MUST HAVE GONE TO *NIP* TO PRESET INDEX.
- *
- * EXIT (X1) = INDEX FOR NEXT ENTRY TO PROVIDE A SORTED
- * LIST ORDERED BY COLUMNS.
- *
- * USES X - 1, 2, 3, 4, 6.
- * A - 1, 2, 4, 6.
- GNI3 IX6 X1+X4 ADD INCREMENT
- SA6 GNIB
- GNI SUBR ENTRY/EXIT
- SA2 GNIA
- SX3 7 CHECK LINE LENGTH
- IX4 X2-X3
- PL X4,GNI2 IF END OF LINE
- SA1 A2+B1 GET ENTRY BIAS
- GNI1 SX6 X2+B1 UPDATE COLUMN NUMBER
- SA4 GNID GET REMAINDER
- SA6 A2
- IX3 X2-X4
- SA4 A4-B1 GET INCREMENT
- NG X3,GNI3 IF FULL INCREMENT TO BE USED
- SX4 X4-1
- EQ GNI3 USE INCREMENT-1
- GNI2 SA1 GNIE GET LINE INDEX
- SX6 X1+B1
- MX2 0 CLEAR C0LUMN NUMBER
- BX1 X6
- SA6 A1
- EQ GNI1 SET CELLS FOR NEW LINE
- GNIA CON 0 COLUMN NUMBER
- GNIB CON 0 ENTRY BIAS
- GNIC CON 0 ROW INCREMENT
- GNID CON 0 REMAINDER
- GNIE CON 0 LINE INDEX
- GSL SPACE 4,25
- ** GSL - GENERATE ENTRY FOR SHORT LIST.
- *
- * ENTRY (CBUF) = FILE/USER DESCRIPTOR.
- * FOR *SSL* CALL -
- * 42/PFN,8/0,1/N,3/EC,2/0,1/D,3/0.
- * PFN = PERMANENT FILE NAME.
- * N = 1 IF FILE NOT ON DISK.
- * EC = ERROR CODE FROM PFC.
- * D = 1 IF DIRECT ACCESS FILE.
- * FOR *SPD* CALL -
- * 42/USERNAME,18/0
- *
- * EXIT FILE NAME SET IN OUTPUT LINE.
- * IF FILE ON ALTERNATE STORAGE, FILE NAME IN ( ).
- * IF ERROR CODE PRESENT, LEADING ASTERISK ON FILE NAME.
- *
- * USES X - 0, 1, 2, 3, 4, 5, 6, 7.
- * A - 1, 2, 3, 4, 5, 6.
- * B - 2.
- *
- * CALLS AEN, ALN, MTP, SFN.
- *
- * MACROS WRITEC.
- GSL SUBR ENTRY/EXIT
- SA5 GSLA CHECK LINE FILE COUNT
- SX2 7
- IX2 X2-X5
- NG X2,GSL1 IF FIRST ENTRY
- NZ X2,GSL2 IF NOT END OF LINE
- WRITEC O,LBUF
- GSL1 SB2 B1 ADVANCE LINE NUMBER BY 1
- RJ ALN
- SX5 B0 RESET LINE COUNT
- GSL2 RJ AEN ADVANCE ENTRY NUMBER
- SA3 CBUF PICK ENTRY
- SA4 MODE
- SB2 B0 SET DEFAULT IMAGE PATTERN
- MX0 42
- BX1 X0*X3
- MX6 -3
- SX4 X4-MOSP
- LX3 0-6
- BX6 -X6*X3 EXTRACT ERROR CODE
- LX3 59-9-0+6
- ZR X4,GSL4 IF SHORT PERMIT MODE CATLIST
- ZR X6,GSL3 IF NO ERROR CODE
- SB2 B2+1 SET IMAGE PATTERN FOR ERROR
- GSL3 PL X3,GSL4 IF FILE ON DISK
- SB2 B2+2 SET IMAGE PATTERNS FOR ALTERNATE STORAGE
- GSL4 SA2 GSLB+B2 LOAD IMAGE
- SA4 GSLC =01010101010101010101B
- SX6 B1
- IX3 X1-X6 EXTEND RIGHTMOST BIT
- BX3 X3-X1 REMOVE ALL UNCHANGED BITS
- IX3 X3+X6 SET RIGHTMOST BIT OF FILE NAME
- BX7 X3
- LX7 -6
- IX3 X3-X7 SHIFT 1 AND EXTEND 6 (RIGHTMOST BIT)
- BX3 X4*X3 ISOLATE SINGLE BIT
- LX3 -6 POSITION FOR CHARACTER TO RIGHT
- BX3 X3+X6 ADD IN BOTTOM CHARACTER OF WORD
- BX7 X3
- LX3 6
- IX3 X3-X7 PREPARE MASK OF SURROUNDING CHARACTERS
- BX2 X3*X2 ISOLATE SURROUNDING CHARACTERS
- LX6 6
- IX6 X3-X6 EXTEND MASK OF REMAINING CHARACTERS
- BX6 -X3*X6 FINALIZE MASK
- SA4 GSLD
- BX4 X6*X4 EXTRACT REQUIRED BLANKS
- BX6 X1+X2 MERGE CHARACTERS INTO FINAL ASSEMBLY
- BX6 X6+X4
- LX6 48
- SA6 LBUF+X5
- SX6 X5+B1 ADVANCE LINE FILE COUNT
- SA6 GSLA
- EQ GSLX EXIT
- GSLA CON 8 LINE POSITION
- GSLB BSS 0 IMAGE MAPS
- DATA 10H NO ERROR, FILE ON DISK
- DATA 10H * ERROR, FILE ON DISK
- DATA 10H)))))))) ( NO ERROR, FILE ON ALTERNATE STORAGE
- DATA 10H)))))))) * ERROR, FILE ON ALTERNATE STORAGE
- GSLC DATA 01010101010101010101B
- GSLD EQU GSLB =10H
- HDR SPACE 4,15
- ** HDR - HEADERS FOR LISTING CATALOGS AND PERMIT BUFFERS.
- *
- * ENTRY (MODE) = MODE OF LISTING.
- *
- * EXIT HEADER LINE PLACED IN OUTPUT BUFFER.
- *
- * USES X - 0, 1, 6.
- * A - 1, 6.
- *
- * MACROS WRITEC.
- HDR SUBR ENTRY/EXIT
- SA1 HDRI
- SX0 B0+ INITIALIZE LINE COUNT
- ZR X1,HDR0 IF NO FILE NAMES SPECIFIED
- SX0 B1+B1 INCREMENT LINE COUNT
- WRITEC O,X1 PRINT FILE NAME SUBHEADER
- WRITEC O,BLK
- HDR0 SA1 MODE INDEX INTO HEADER POINTER TABLE
- SA1 X1+HDRB
- ZR X1,HDR2 IF NO HEADER MESSAGE DEFINED
- BX6 X1
- SA6 HDRA SET INDEX BASE OF HEADER MESSAGES FOR MODE
- * LOOP PRINTING HEADER MESSAGE LINES.
- HDR1 SA1 HDRA EXAMINE CURRENT MESSAGE POINTER
- SA1 X1
- ZR X1,HDR2 IF END OF HEADER MESSAGES
- SX6 A1+B1 SET NEXT MESSAGE POINTER
- SA6 HDRA
- SX0 X0+B1 INCREMENT LINE COUNT
- WRITEC O,X1
- EQ HDR1 CONTINUE LOOP
- * COMPLETE HEADER PROCESSING.
- HDR2 WRITEC O,BLK
- SA1 LN INCREMENT LINE COUNT
- IX6 X1+X0
- SX1 B1
- IX6 X6+X1
- SA6 A1
- EQ HDRX RETURN
- * HEADER MESSAGE BASE POINTERS.
- HDRA CON 0
- HDRB CON 0,HDRD,HDRD,0,HDRF,HDRG,HDRH
- * HEADER MESSAGE POINTERS.
- HDRD CON /COMCFCE/CHDR1 FULL FILE LIST
- CON /COMCFCE/CHDR2
- CON /COMCFCE/CHDR3
- CON /COMCFCE/CHDR4
- CON 0
- HDRF CON /COMCFCE/CHDR1 FULL ALTERNATE CATALOG
- CON HDR42
- CON HDR43
- CON HDR44
- CON 0
- HDRG CON HDR51 SHORT PERMIT ENTRIES
- CON 0
- HDRH CON HDR61 FULL PERMIT ENTRIES
- CON 0
- HDRI CON 0 SUBHEADER IF FILE NAMES SPECIFIED
- * CON HDR71 (SINGLE FILE NAME TEMPLATE SPECIFIED)
- * CON HDR72 (MULTIPLE FILE NAMES SPECIFIED)
- CON 0
- * HEADERS.
- HDR42 DATA C* COUNT PERM. SUBSYS DATE/TIME DA
- ,TE/TIME DATE/TIME*
- HDR43 DATA C* PR BR AC RS*
- HDR44 DATA 40C
- HDR51 DATA C* USER NAMES*
- HDR61 DATA C* USER NAME PERM. EXPIRES ACCESSES DATE
- ,TIME*
- HDR71 CON 1H
- CON 10HFILE NAME
- CON 0
- HDR72 CON 1H
- DATA C*SELECTED FILES*
- LCS SPACE 4,15
- ** LCS - LIST CATEGORY SET FOR FILE.
- *
- * ENTRY (CBUF) = CATALOG ENTRY.
- *
- * EXIT FILE-S CATEGORY SET IS SORTED AND LISTED.
- *
- * USES X - 0, 1, 2, 6, 7.
- * A - 0, 1, 2, 6, 7.
- * B - 2, 7.
- *
- * CALLS ALN, GNI, GSL, NIP.
- *
- * MACROS WRITEC, WRITEH.
- LCS SUBR ENTRY/EXIT
- SA1 CBUF+FCFC CATEGORY SET WORD
- MX0 -32
- BX1 -X0*X1
- SB2 32 NUMBER OF CATEGORIES POSSIBLE
- SA0 B0 INITIALIZE CATEGORY SET COUNTER
- MX0 42
- LX1 59-32
- LCS1 SB2 B2-B1
- NG B2,LCS2 IF DONE ANALYZING CATEGORY WORD
- LX1 1
- PL X1,LCS1 IF CATEGORY NOT VALIDATED
- SA2 TACT+B2 SET CATEGORY MNEMONIC IN BUFFER
- BX6 X0*X2
- SA6 SBUF+A0
- SA0 A0+B1
- EQ LCS1 CHECK NEXT CATEGORY
- LCS2 SX1 A0
- ZR X1,LCSX IF NO ACCESS CATEGORY SET ENTRIES
- SB7 SBUF SORT CATEGORY ENTRIES
- RJ SST=
- SX1 A0
- SX6 A0
- SA6 LCSA
- RJ NIP PRESET *GNI*
- WRITEH O,LCSB,LCSBL
- WRITEC O,BLK
- SB2 B1+B1
- RJ ALN ADVANCE LINE NUMBER
- SX7 8
- SA7 GSLA
- LCS3 SA1 LCSA
- SX6 X1-1
- SA6 A1
- NG X6,LCS4 IF END OF ENTRIES
- RJ GNI GET NEXT ENTRY
- SA1 X1+SBUF GET ACTUAL ENTRY
- BX6 X1
- SA6 CBUF
- RJ GSL GENERATE SHORT LIST
- EQ LCS3 GET NEXT CATEGORY ENTRY
- LCS4 WRITEC O,LBUF LAST LINE OF CATEGORY SET
- WRITEC O,BLK
- EQ LCSX RETURN
- LCSA CON 0 NUMBER OF VALIDATED CATEGORY SETS
- LCSB DATA C* FILE ACCESS CATEGORY SET*
- LCSBL EQU *-LCSB
- NIP SPACE 4,10
- ** NIP - NEXT INDEX PRESET (PRESET *GNI*).
- *
- * ENTRY (X1) = ENTRY COUNT.
- *
- * EXIT TEMPORARY CELLS PRESET FOR *GNI*.
- *
- * USES X - 1, 3, 6, 7.
- * A - 6, 7.
- NIP SUBR ENTRY/EXIT
- MX6 0
- SX3 7 LINE LENGTH
- SA6 GNIA
- SA6 GNIB
- SA6 GNIE
- NIP1 IX1 X1-X3 DIVIDE BY 7
- SX6 X6+B1
- PL X1,NIP1 IF NOT POSITION IN ROW
- IX7 X3+X1
- SA6 GNIC
- SA7 GNID
- EQ NIPX RETURN
- PAS SPACE 4,15
- ** PAS - PRINT ACCUMULATED STATISTICS.
- *
- * ENTRY (FCID, FSID) = INDIRECT ACCESS DISK FILE COUNT, SIZE.
- * (FCDD, FSDD) = DIRECT ACCESS DISK FILE COUNT, SIZE.
- * (FCIA, FSIS) = IAPF ON ALTERNATE STORAGE COUNT, SIZE.
- * (FCDA, FSDA) = DAPF ON ALTERNATE STORAGE COUNT, SIZE.
- *
- * USES X - 1, 2.
- * A - 1, 2.
- * B - 2, 3, 5.
- *
- * CALLS ALN, CDD, SNM.
- *
- * MACROS WRITEC.
- PAS SUBR ENTRY/EXIT
- SB2 5 ADVANCE LINE COUNT BY 5
- RJ ALN
- * PRINT STATISTICS FOR INDIRECT ACCESS FILES ON DISK.
- SB5 PASA SET MESSAGE TEMPLATE
- SA1 FCID NUMBER OF INDIRECT ACCESS FILES ON DISK
- SB3 X1
- ZR B3,PAS2 IF NO INDIRECT ACCESS FILES ON DISK
- NE B3,B1,PAS1 IF MORE THAN ONE FILE
- SB5 PASB USE ALTERNATE MESSAGE TEMPLATE
- PAS1 RJ CDD CONVERT FILE COUNT TO DECIMAL
- MX1 -54 CLEAR LEADING BLANK
- BX1 -X1*X6
- LX1 6 LEFT JUSTIFY NINE-DIGIT INTEGER
- SB2 1R#
- RJ SNM SET FILE COUNT INTO MESSAGE
- SA1 FSID TOTAL SIZE OF INDIRECT ACCESS FILES
- RJ CDD CONVERT TO DECIMAL
- MX1 -54 CLEAR LEADING BLANK
- BX1 -X1*X6
- LX1 6 LEFT JUSTIFY NINE-DIGIT INTEGER
- SB2 1R$
- RJ SNM SET TOTAL FILE SIZE INTO MESSAGE
- WRITEC O,B5
- * PRINT STATISTICS FOR DIRECT ACCESS FILES ON DISK.
- PAS2 SB5 PASC SET MESSAGE TEMPLATE
- SA1 FCDD NUMBER OF DIRECT ACCESS FILES ON DISK
- SB3 X1
- ZR B3,PAS4 IF NO DIRECT ACCESS FILES ON DISK
- NE B3,B1,PAS3 IF MORE THAN ONE FILE
- SB5 PASD USE ALTERNATE MESSAGE TEMPLATE
- PAS3 RJ CDD CONVERT FILE COUNT TO DECIMAL
- MX1 -54 CLEAR LEADING BLANK
- BX1 -X1*X6
- LX1 6 LEFT JUSTIFY NINE-DIGIT INTEGER
- SB2 1R#
- RJ SNM SET FILE COUNT INTO MESSAGE
- SA1 FSDD TOTAL SIZE OF DIRECT ACCESS FILES
- RJ CDD CONVERT TO DECIMAL
- MX1 -54 CLEAR LEADING BLANK
- BX1 -X1*X6
- LX1 6 LEFT JUSTIFY NINE-DIGIT INTEGER
- SB2 1R$
- RJ SNM SET TOTAL FILE SIZE INTO MESSAGE
- WRITEC O,B5
- * PRINT STATISTICS FOR IAPF-S ON ALTERNATE STORAGE.
- PAS4 SB5 PASE SET MESSAGE TEMPLATE
- SA1 FCIA NUMBER OF IAPF-S ON ALTERNATE STORAGE
- SB3 X1
- ZR B3,PAS6 IF NO IAPF-S ON ALTERNATE STORAGE
- NE B3,B1,PAS5 IF MORE THAN ONE FILE
- SB5 PASF USE ALTERNATE MESSAGE TEMPLATE
- PAS5 RJ CDD CONVERT FILE COUNT TO DECIMAL
- MX1 -54 CLEAR LEADING BLANK
- BX1 -X1*X6
- LX1 6 LEFT JUSTIFY NINE-DIGIT INTEGER
- SB2 1R#
- RJ SNM SET FILE COUNT INTO MESSAGE
- SA1 FSIA TOTAL SIZE OF IAPF-S ON ALTERNATE STORAGE
- RJ CDD CONVERT TO DECIMAL
- MX1 -54 CLEAR LEADING BLANK
- BX1 -X1*X6
- LX1 6 LEFT JUSTIFY NINE-DIGIT INTEGER
- SB2 1R$
- RJ SNM SET TOTAL FILE SIZE INTO MESSAGE
- WRITEC O,B5
- * PRINT STATISTICS FOR DAPF-S ON ALTERNATE STORAGE.
- PAS6 SB5 PASG SET MESSAGE TEMPLATE
- SA1 FCDA NUMBER OF DAPF-S ON ALTERNATE STORAGE
- SB3 X1
- ZR B3,PAS8 IF NO DAPF-S ON ALTERNATE STORAGE
- NE B3,B1,PAS7 IF MORE THAN ONE FILE
- SB5 PASH USE ALTERNATE MESSAGE TEMPLATE
- PAS7 RJ CDD CONVERT FILE COUNT TO DECIMAL
- MX1 -54 CLEAR LEADING BLANK
- BX1 -X1*X6
- LX1 6 LEFT JUSTIFY NINE-DIGIT INTEGER
- SB2 1R#
- RJ SNM SET FILE COUNT INTO MESSAGE
- SA1 FSDA TOTAL SIZE OF DAPF-S ON ALTERNATE STORAGE
- RJ CDD CONVERT TO DECIMAL
- MX1 -54 CLEAR LEADING BLANK
- BX1 -X1*X6
- LX1 6 LEFT JUSTIFY NINE-DIGIT INTEGER
- SB2 1R$
- RJ SNM SET TOTAL FILE SIZE INTO MESSAGE
- WRITEC O,B5
- PAS8 WRITEC O,BLK
- EQ PASX RETURN
- PASA DATA C* ######### INDIRECT ACCESS FILES ON DISK. TOTAL PRUS
- , = $$$$$$$$$.*
- PASB DATA C* ######### INDIRECT ACCESS FILE ON DISK. TOTAL PRUS
- , = $$$$$$$$$.*
- PASC DATA C* ######### DIRECT ACCESS FILES ON DISK. TOTAL PRUS
- , = $$$$$$$$$.*
- PASD DATA C* ######### DIRECT ACCESS FILE ON DISK. TOTAL PRUS
- , = $$$$$$$$$.*
- PASE DATA C* ######### INDIRECTS ON ALTERNATE STORAGE. TOTAL PRUS
- , = $$$$$$$$$.*
- PASF DATA C* ######### INDIRECT ON ALTERNATE STORAGE. TOTAL PRUS
- , = $$$$$$$$$.*
- PASG DATA C* ######### DIRECTS ON ALTERNATE STORAGE. TOTAL PRUS
- , = $$$$$$$$$.*
- PASH DATA C* ######### DIRECT ON ALTERNATE STORAGE. TOTAL PRUS
- , = $$$$$$$$$.*
- PTP SPACE 4,10
- ** PTP - PRINT TITLE PAGE.
- *
- * ENTRY (PG) = PAGE NUMBER.
- *
- * EXIT TITLE PAGE PRINTED.
- * (LN) RESET TO 2.
- *
- * CALLS CDD.
- PTP SUBR ENTRY/EXIT
- SA1 PG ADVANCE TO NEXT PAGE
- SX1 X1+B1
- BX6 X1
- SA6 A1
- RJ CDD CONVERT TO DECIMAL
- MX0 48
- BX6 -X0*X6
- SA1 PAGE
- BX1 X0*X1
- BX6 X1+X6
- SA6 PAGE
- DATE DATE
- CLOCK TIME
- SB2 6 FOR TELEX ORIGIN JOBS
- SA1 DT
- SX0 B0+ INITIALIZE LINE COUNTER
- ZR X1,PTP1 IF TERMINAL FILE
- SA1 PD
- ZR X1,PTP0 IF *PD* ALREADY PROCESSED
- WRITEC O,A1
- SX6 B0+
- SA6 PD INDICATE *PD* PROCESSED
- PTP0 WRITEH O,PTPA,B1
- SB2 7 FOR NON-TELEX ORIGIN JOBS
- SX0 X0+B1 COUNT PAGE EJECT
- PTP1 WRITEH O,PTPB,B2+ WRITE TITLE LINE
- SX0 X0+B1 COUNT TITLE LINE
- SA1 PTPC WRITE SUB TITLE
- WRITEC O,X1
- SX0 X0+B1 COUNT SUBTITLE LINE
- SA1 LN
- IX6 X1+X0 RESET LINE NUMBER
- SA6 LN
- EQ PTPX EXIT
- PTPA CON 1H1
- PTPB DATA 30H CATALOG OF
- PKNM CON 10H
- DATE CON 0
- TIME CON 0
- PAGE DATA 8L PAGE
- PTPC CON BLK SUBTITLE FLAG
- PTPD CON 1H
- CON 10HFILE NAME
- FILE CON 0
- PTPE CON 1H
- CON 10HALTERNATE
- CON 10HCATALOG
- AUSER CON 0
- RQS SPACE 4,15
- ** RQS - REQUEST STORAGE.
- *
- * ENTRY (X1) = CURRENT BUFFER SIZE.
- *
- * EXIT (X1) = NEGATIVE IF NO MORE STORAGE AVAILABLE.
- * (CFL) = NEW CURRENT FL.
- * (CBS) = NEW CURRENT BUFFER SIZE.
- *
- * USES X - 1, 3, 6.
- * A - 1, 3, 6.
- *
- * MACROS MEMORY.
- RQS SUBR ENTRY/EXIT
- SA3 MBS GET MAXIMUM BUFFER SIZE
- SX6 X1+FLIN ADD POSSIBLE INCREMENT
- IX1 X3-X6
- NG X1,RQSX IF NO MORE SPACE
- SA3 CFL SET POSSIBLE NEW FL
- SX6 X3+FLIN
- SA6 A3
- LX6 30
- SA6 RQSA
- MEMORY CM,RQSA,R,,NA
- SA3 RQSA
- SA1 CFL
- AX3 30
- IX1 X3-X1
- NG X1,RQSX IF NO MORE ALLOCATED
- SA1 CBS UPDATE CURRENT SORT BUFFER SIZE
- SX6 X1+FLIN
- SA6 A1
- EQ RQSX RETURN
- RQSA CON 0 FL CONTROL WORD
- SNP SPACE 4,15
- ** SNP - SET NEXT PAGE.
- *
- * ENTRY (X1) = TOTAL NUMBER OF FILES.
- *
- * EXIT (X1) = 0 IF NO MORE FILES TO PRINT.
- * (BO) = BUFFER OFFSET FOR THIS PAGE.
- * (BL) = BUFFER LENGTH FOR THIS PAGE.
- *
- * USES X - 1, 2, 3, 4, 6, 7.
- * A - 1, 2, 3, 4, 6, 7.
- * B - 2.
- *
- * CALLS ALN, NIP.
- *
- SNP4 MX6 0
- SA6 A2 CLEAR BUFFER OFFSET
- MX1 0 EXIT WITH NO MORE FILES
- SA6 A6-B1
- SNP5 SX7 8 RESET *GSL* LIST ROUTINE
- SA7 GSLA
- SNP SUBR ENTRY/EXIT
- SA2 BO+1
- IX3 X2-X1
- BX6 X2
- ZR X3,SNP4 IF NO MORE FILES TO LIST
- BX7 X1
- SA6 A2-B1 SET UP NEW OFFSET
- SA7 SNPA SAVE (X1)
- SNP1 SA3 LN
- SX6 7 LINE LENGTH
- SA4 LL
- IX7 X4-X3
- NG X7,SNP3 IF END OF PAGE
- ZR X7,SNP3 IF END OF PAGE
- IX6 X6*X7
- SA2 BO+1
- IX7 X6+X2 FORM NEW OFFSET
- SA1 SNPA
- IX4 X1-X7
- PL X4,SNP2 IF MORE THAN ONE PAGE
- IX7 X7+X4
- IX6 X6+X4
- SNP2 SA6 BL COUNT OF FILE NAMES ON PAGE
- SA7 BO+1 OFFSET FOR NEXT PASS
- BX1 X6
- RJ NIP PRESET *GNI*
- SA1 BL EXIT WITH FILE COUNT
- EQ SNP5 RETURN
- SNP3 SB2 B1
- RJ ALN ADVANCE LINE
- EQ SNP1 RETURN TO MAIN LINE
- SNPA CON 0 TEMPORARY STORAGE (TOTAL NUMBER OF FILES)
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMCCDD
- *CALL COMCCIO
- *CALL COMCCOD
- *CALL COMCCPM
- *CALL COMCDXB
- *CALL COMCEDT
- *CALL COMCLFM
- *CALL COMCPFM
- *CALL COMCRDW
- *CALL COMCSCB
- *CALL COMCSFN
- *CALL COMCSNM
- *CALL COMCSST
- *CALL COMCSYS
- *CALL COMCWTC
- *CALL COMCWTH
- *CALL COMCWTW
- *CALL COMCZTB
- LIST X,F
- *CALL COMCFCE
- LIST *
- SPACE 4,10
- ** EQUIVALENCES.
- FCELL EQU /COMCFCE/FCELL OUTPUT BUFFER LINE LENGTH
- FCELA EQU /COMCFCE/FCELA OUTPUT BUFFER THIRD LINE LENGTH
- FCELB EQU /COMCFCE/FCELB OUTPUT BUFFER FOURTH LINE LENGTH
- SPACE 4
- ** BUFFERS.
- USE LITERALS
- LBUF EQU * OUTPUT LINE BUFFER
- CBUF EQU LBUF+/COMCFCE/CHDRN*FCELL CATALOG READ BUFFER
- IBUF EQU CBUF+NWCE INPUT BUFFER
- OBUF EQU IBUF+IBFL OUTPUT BUFFER
- SBUF EQU OBUF+OBFL CATALOG SORT BUFFER
- RFL= EQU SBUF+SBFL DEFAULT FL
- PRS TITLE PRESET.
- ** PRS - PRESET ROUTINE.
- *
- * EXIT TO MAIN LOOP(CTL)
- * FETS AND BUFFERS SET UP AND COMMAND
- * ARGUMENTS PROCESSED.
- * (MODE) = LIST OPTION.
- * 0 = SHORT FILE LIST.
- * 1 = FULL FILE LIST.
- * 2 = FILE LIST AND CATEGORY SET.
- * 3 = SHORT ALTERNATE CATALOG LIST.
- * 4 = FULL ALTERNATE CATALOG LIST.
- * 5 = SHORT PERMIT DATA LIST.
- * 6 = FULL PERMIT DATA LIST.
- * B1 = 1.
- * DT = 0 IF OUTPUT TO TERMINAL FILE.
- * JT = 0 IF TERMINAL ORIGIN JOB.
- * TITLE LINES PRESET
- * PFM CALL FET PRESET.
- * (CTLA) SET IF SELECTED ENTRY DESIRED.
- CATLIST BSS 0 ENTRY POINT
- PRS BSS 0
- SB1 1
- GETSSM SSM GET SYSTEM SECURITY MODE
- SA4 ACTR
- ZR X4,PRS15 IF NO ARGUMENTS
- SB4 X4 SET ARGUMENT COUNT
- SA4 ARGR GET FIRST ARGUMENT
- SB5 TARG SET ARGUMENT TABLE ADDRESS
- RJ ARG PROCESS ARGUMENTS
- ZR X1,PRS2 IF NO ARGUMENT ERROR
- PRS1 MESSAGE (=C* INCORRECT PARAMETER.*)
- ABORT
- * PROCESS FILE NAME SELECTION PARAMETERS.
- PRS2 SA1 EFNM
- SX7 HDR72 SUBHEADER FOR MULTIPLE FILE NAME TEMPLATES
- NZ X1,PRS2.1 IF *EF* SPECIFIED
- SA1 FLNM+1
- NZ X1,PRS2.1 IF MORE THAN ONE FILE SPECIFIED FOR *FN*
- SA1 FLNM
- SA3 =7L*******
- BX6 X1-X3
- ZR X6,PRS3 IF *FN* NOT SPECIFIED
- BX7 X3-X1 CLEAR * FROM NAME
- SA3 PRSA =37373737373737373737B
- BX6 X3*X7
- BX7 -X3*X7
- IX6 X6+X3
- BX6 X6+X7
- BX7 -X3*X6
- BX6 X7
- LX7 -5
- IX7 X6-X7
- BX7 X6+X7
- SA3 =777777B
- IX4 X7+X3
- MX0 42
- BX6 X0*X1
- ZR X4,PRS2.2 IF NO ASTERISKS IN FILE NAME
- SA6 HDR71+2 SET FILE NAME IN HEADER
- SX7 HDR71 SUBHEADER FOR SINGLE FILE NAME TEMPLATE
- PRS2.1 SA7 HDRI SET SUBHEADER ADDRESS
- SX6 CTLE SET ADDRESS FOR *NO FILES FOUND* MESSAGE
- SA6 CTLB
- EQ PRS3 SET UP OUTPUT FET
- PRS2.2 SA6 FILENAM SET FILE NAME FOR PERMANENT FILE FET
- * SET UP OUTPUT FET.
- PRS3 SA1 O SET STATUS IN OUTPUT FET
- MX0 42
- SX6 B1
- BX2 X0*X1
- ZR X2,PRS1 IF NO FILE NAME
- IX6 X6+X2
- SA6 A1
- SX2 A1 CHECK FOR TERMINAL FILE
- RJ STF
- SA6 DT SET DEVICE TYPE FLAG (0 FOR TYPE *TT*)
- SA1 JOPR SET JOB ORIGIN
- MX0 -12
- LX1 36
- BX1 -X0*X1
- SX6 X1-TXOT
- SA6 JT
- * PROCESS FILE RESIDENCE PARAMETER
- SA1 RS GET FILE RESIDENCE SELECTION PARAM
- NZ X1,PRS3.1 IF FILE RESIDENCE SELECTION NOT 0
- MX6 -3 SET PARAMETER SELECTION FOR 0
- BX6 -X6
- EQ PRS3.5 RESIDENCE SELECTION MASK SET
- PRS3.1 MX0 -6
- BX6 X6-X6 INITIALIZE RESIDENCE SELECTION MASK
- PRS3.2 LX1 6 GET NEXT RESIDENCE SELECTION PARAM
- BX2 -X0*X1
- ZR X2,PRS3.5 IF END OF SELECTIONS
- SA3 PRSE GET VALID RESIDENCE SELECTION OPTIONS
- MX7 1
- PRS3.3 LX3 6 GET NEXT RESIDENCE SELECTION OPTION
- BX4 -X0*X3
- BX5 X2-X4 COMPARE
- ZR X4,PRS3.4 IF END OF VALID OPTIONS
- LX7 1
- NZ X5,PRS3.3 IF NO MATCH
- BX6 X6+X7 ADD VALID SELECTION TO MASK
- EQ PRS3.2 GET NEXT SELECTION
- PRS3.4 MESSAGE (=C* ERROR IN FILE RESIDENCE SELECTION.*)
- ABORT
- PRS3.5 SA6 RSM SAVE RESIDENCE SELECTION MASK
- * PROCESS FILE TYPE PARAMETER.
- SA1 TY GET FILE TYPE SELECTION PARAM
- BX6 X6-X6 INITIALIZE FILE TYPE SELECTION
- ZR X1,PRS3.9 IF NO FILE TYPE SELECTION
- MX0 -6
- PRS3.6 LX1 6 GET NEXT FILE TYPE SELECTION PARAM
- BX2 -X0*X1
- ZR X2,PRS3.9 IF END OF SELECTIONS
- SA3 PRSF GET VALID FILE TYPE OPTIONS
- BX7 X7-X7
- PRS3.7 LX3 6 GET NEXT FILE TYPE OPTION
- BX4 -X0*X3
- BX5 X2-X4 COMPARE
- ZR X4,PRS3.8 IF END OF VALID OPTIONS
- SX7 X7+B1
- NZ X5,PRS3.7 IF NO MATCH
- BX6 X6+X7 ADD VALID SELECTION TO MASK
- EQ PRS3.6 GET NEXT SELECTION
- PRS3.8 MESSAGE (=C* ERROR IN FILE TYPE SELECTION.*)
- ABORT
- PRS3.9 SA6 TYM SAVE FILE TYPE SELECTION MASK
- * PROCESS LIST OPTION.
- MX0 59 SET OPTION
- SA2 LO
- SA1 LOPT
- SB2 B0
- SB3 LOPTL
- SX5 B0
- PRS4 BX4 -X0*X1 PICK SHORT LIST FLAG
- BX1 X0*X1
- IX6 X1-X2
- ZR X6,PRS5 IF OPTION FOUND
- SA1 A1+B1
- SB2 B2+B1
- LE B2,B3,PRS4 IF NOT END OF TABLE
- MESSAGE (=C* INCORRECT LIST OPTION.*)
- ABORT
- * CHECK FOR PARAMETER CONFLICT.
- PRS5 SA1 USERNUM
- SA2 FILENAM
- BX3 X2 SET SELECTED ENTRY FLAG
- SB3 PMTL SET PROPER MODE
- SX6 B0
- SX7 PTPE SUBTITLE FOR ALTERNATE USER
- LT B2,B3,PRS6 IF NOT PERMIT DATA REQUEST
- SX5 B1 SET PERMIT LIST FLAG
- SX7 PTPD SUBTITLE FOR SPECIFIED FILE NAME
- BX3 X1 SET SELECTED ENTRY FLAG
- NZ X2,PRS7 IF FILE NAME SPECIFIED
- PRS5.1 MESSAGE (=C* FILE NAME MISSING.*)
- ABORT
- PRS6 SB3 B2-MOLC
- NZ B3,PRS6.1 IF *LO=X* OPTION NOT SPECIFIED
- SA3 HDRI
- NZ X1,PRS1 IF USER NAME SPECIFIED
- NZ X3,PRS1 IF MULTIPLE FILE NAMES SPECIFIED
- ZR X2,PRS5.1 IF FILE NAME NOT SPECIFIED
- PRS6.1 ZR X1,PRS8 IF USER NAME NOT SPECIFIED
- SX6 ALTC SET ALTERNATE CATALOG MODE
- PRS7 SA7 PTPC SET SUBTITLE FLAG
- PRS8 SX6 X6+B2
- SA6 MODE
- MX0 42
- ZR X4,PRS9 IF NOT SHORT FILE LIST
- BX6 X0*X3 SET SELECTIVE ENTRY FLAG
- SA6 CTLA
- * SET *PFM* FET PARAMETERS.
- PRS9 BX6 X0*X2
- SA6 FILE SET FILE NAME IN SUBTITLE LINE
- BX6 X6+X5
- SA6 I+CFPN
- BX7 X0*X1 SET USER NAME
- SA7 I+CFOU
- SA7 AUSER
- ZR X5,PRS10 IF NOT PERMIT DATA
- SX6 CTLD SET PERMIT MESSAGE ADDRESS
- SA6 CTLB
- * SET USER NAME OR USER INDEX IN TITLE LINE.
- PRS10 GETPFP PRSB
- SA1 PRSB+2 SET USER NAME IN TITLE LINE
- BX6 X0*X1
- SA6 USER
- NZ X6,PRS10.1 IF USER NAME FOUND
- RJ COD SET USER INDEX IN TITLE LINE
- MX7 42
- BX4 X7*X4
- SX6 3RUI/
- BX6 X4+X6
- LX6 -18
- PRS10.1 BX1 X6 SPACE FILL NAME
- RJ SFN
- SB3 PRSC SET CHARACTERS IN BUFFER
- SB7 PTPB
- RJ SCB
- * SET PACKNAME OR FAMILY NAME IN TITLE LINE.
- SA1 PACK
- ZR X1,PRS11 IF NO PACKNAME SPECIFIED
- BX6 X1
- SA6 I+CFPK SET PACKNAME IN FET
- SX7 1R0
- LX7 54
- BX7 X6-X7
- ZR X7,PRS11.1 IF *PN=0* SPECIFIED
- PRS10.2 SX4 3RPN/
- EQ PRS12 SET PACK NAME IN TITLE LINE
- PRS11 SA1 PRSB+1
- ZR X1,PRS11.1 IF NO PACKNAME SET IN CPA
- BX6 X0*X1
- EQ PRS10.2 SET PACKNAME IN TITLE LINE
- PRS11.1 SA1 PRSB SET FAMILY NAME IN TITLE LINE
- SX4 3RFM/
- BX6 X1
- PRS12 BX1 X6+X4 MERGE FAMILY/PACK NAME WITH DESIGNATOR
- LX1 -18
- RJ SFN SPACE FILL NAME
- SA6 PKNM
- * PROCESS *NO ABORT* AND *WAIT BUSY* PARAMETERS.
- SA1 NABT CHECK NO ABORT OPTION
- SA2 WBSY
- IX1 X1+X2
- ZR X1,PRS13 IF NEITHER *NA* NOR *WB* SELECTED
- SX2 X1-2
- ZR X2,PRS1 IF BOTH *NA* AND *WB* SPECIFIED
- SA1 I+1 SET ERROR PROCESSING BIT
- SX6 B1
- LX6 44
- BX6 X1+X6
- SA6 A1
- * PROCESS RESIDENCE.
- PRS13 SA1 RES CHECK RESIDENCE OPTION
- ZR X1,PRS14 IF RESIDENCE NOT SET
- MX0 12
- BX6 X0*X1 SET DEVICE TYPE IN FET+1
- SA2 I+1
- BX5 -X0*X2
- BX6 X5+X6
- SA6 A2
- LX1 12
- BX5 X0*X1
- ZR X5,PRS14 IF NO UNIT NUMBER
- SB7 B1
- RJ DXB CONVERT TO OCTAL
- NZ X4,PRS1 IF ERROR
- SA2 I+CFPK SET UNIT COUNT IN FET+CFPK
- MX0 -12
- BX5 X0*X2
- BX6 X6+X5
- SA6 A2
- * PROCESS DEVICE NUMBER.
- PRS14 SA5 DN CHECK DEVICE NUMBER
- ZR X5,PRS15 IF NOT SET
- SB7 B0
- RJ DXB
- SX2 X6-100B
- NZ X4,PRS1 IF ERROR
- PL X2,PRS1 IF DEVICE NUMBER OUT OF RANGE
- SA5 I+CFOU
- BX1 X6
- LX6 12
- BX6 X6+X5
- SA6 A5
- RJ COD SET DEVICE NUMBER IN TITLE LINE
- MX0 12
- BX4 X0*X4
- SX6 3RDN/
- BX1 X6+X4
- LX1 -18
- RJ SFN
- SB3 PRSD
- SB7 PTPB
- RJ SCB
- PRS15 RJ IPP INITIALIZE PAGE PARAMETERS
- JP CTL
- PRSA DATA 37373737373737373737B
- PRSB BSSZ 3 *GETPFP* PARAMETER BLOCK
- PRSC CFORM 13,9 FIELD IN TITLE FOR USER NAME/USER INDEX
- PRSD CFORM 24,5 FIELD IN TITLE FOR DEVICE NUMBER
- PRSE CON 3LCTD VALID RESIDENCE SELECTION OPTIONS
- PRSF CON 3LIDA VALID FILE TYPE SELECTION OPTIONS
- LOPT SPACE 4,10
- ** LIST OPTIONS.
- * BIT 0 SET IF SHORT LIST OPTION.
- *
- * ANY CHANGES MADE TO THIS TABLE WILL AFFECT THE
- * DOCUMENTATION OF MODE VALUES IN THE *PRS* HEADER,
- * TABLE *TLOT* IN THE MAIN ROUTINE, AND THE PROCESSING
- * FOR HEADERS IN *HDR*.
- LOPT BSS 0 LIST OPTIONS
- LOC 0 CATALOG DATA LISTS
- MOSF VFD 59/0,1/1 SHORT FILE LIST
- MOFL CON 1LF FULL FILE LIST
- MOLC CON 1LX LIST FILE AND CATEGORY SET
- ALTC EQU * ALTERNATE CATALOG DATA LISTS
- MOSA CON 0 SHORT ALTERNATE FILE LIST
- MOFA CON 0 LONG ALTERNATE FILE LIST
- PMTL EQU * PERMIT DATA LISTS
- MOSP VFD 6/0LP,54/1 SHORT PERMIT LIST
- MOFP CON 0LFP FULL PERMIT LIST
- LOPTL EQU * TABLE LENGTH
- LOC *O
- * ARGUMENT TABLE.
- TARG BSS 0
- LO ARG =0,LO
- UN ARG =0,USERNUM,400B
- EF ARG EFNM,EFNM,200B
- FN ARG FLNM,FLNM,200B
- PN ARG =0,PACK,400B
- L ARG =0LOUTPUT,O,400B
- R ARG =0,RES
- NA ARG -NZ,NABT
- RS ARG =0,RS
- WB ARG -NZ,WBSY
- DN ARG =0,DN,400B
- TY ARG =0,TY
- ARG
- IPP SPACE 4,15
- ** IPP - INITIALIZE PAGE PARAMETERS.
- *
- * ENTRY NONE.
- *
- * EXIT JOB DEFAULT PAGE PARAMETERS SET.
- *
- * USES X - 0, 1, 2, 6, 7.
- * A - 1, 2, 6.
- * B - NONE.
- *
- * MACROS GETPP, SETSLM.
- IPP1 SETSLM IPPC GET CURRENT SCREEN DEFINITION
- SA1 IPPC
- MX0 -6
- BX2 -X0*X1 ISOLATE ORDINAL
- LX1 59-6
- SX6 LMDL ASSUME LINE MODE
- PL X1,IPP3 IF LINE MODE
- SA2 IPPB+X2 COMPUTE TABLE OFFSET BY ORDINAL
- SX6 X2 GET LINE LIMIT
- IPP3 SA6 LL INITIALIZE LINE LIMIT
- IPP SUBR ENTRY/EXIT
- SA1 DT
- ZR X1,IPP1 IF TTY OUTPUT FILE
- GETPP IPPA,LL,PD GET PAGE PARAMETERS
- SA1 LL ADJUST LINE LIMIT
- SX6 X1-1
- EQ IPP3 RETURN
- IPPA BSSZ 2 *GETPP* REPLY BUFFER
- * SCREEN SIZE DEFINITIONS.
- *
- * THIS TABLE DEFINES THE NUMBER OF LINES TO OUTPUT TO
- * FILL A SCREEN, BASED ON THE SCREEN TYPE. THIS IS
- * USED IN TERMINAL MODE TO CONTROL OUTPUT OF THE SHORT
- * SORTED LIST, SUCH THAT FILES WILL APPEAR IN
- * ALPHABETICAL ORDER ON A FULL SCREEN.
- *
- *T 60/LC
- *
- * WHERE LC = TERMINAL MODE SCREEN LINE COUNT.
- *
- * NOTE : IF MORE RESIDENT TERMINAL TYPES ARE ADDED
- * TO *COMCGTO*, MORE ENTRIES SHOULD BE ADDED TO THIS
- * TABLE.
- *
- IPPB BSS 0
- VFD 60/LMDL NO SCREEN DEFINED
- VFD 60/SMDL USER DEFINED
- VFD 60/SMDL+6 RESIDENT *721* DEFINED
- CON 0 END OF TABLE
- IPPC CON 0 SETSLM RESPONSE WORD
- SPACE 4,10
- ** PRESET COMMON DECKS.
- *CALL COMCARG
- *CALL COMCSTF
- *CALL COMCVLC
- SPACE 4
- END
cdc/nos2.source/opl871/catlist.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator