BACKLIB * /--- FILE TYPE = E * /--- BLOCK TAPE 00 000 81/05/07 06.52 BACKLIB IDENT BACKLIB,BEGIN,BACKLIB ENTRY BACKLIB SYSCOM B1 DEFINE (B1) = 1 *COMMENT PRODUCE BACKUP LIBRARY PRINTOUT COMMENT COPYRIGHT CONTROL DATA CORP. 1980. TITLE PRODUCE BACKUP LIBRARY PRINTOUT SPACE 4 *** BACKLIB - PRODUCE BACKUP LIBRARY PRINTOUT * J. J. BUCHMANN. 80/11/15. * *FUNCTION; * THIS PROGRAM GIVES A LISTING OF THE AUDIT TRAIL ON THE * FILE NAMED OUTPUT. THE AUDIT TRAIL AND PARAMETERS * FILE ARE ATTACHED, THE CURRENT SLOT VALUE IS DISPLAYED * AND ALL AUDIT INFORMATION IS FORMATED FOR THE PRINTER. * WHEN AN ENTRY HAS A SLOT VALUE THAT IS THE SAME AS THE * CURRENT SLOT, A **NEXT** IS SHOWN IN THE LISTING TO * INDICATE THAT THIS TAPE WILL BE OBSOLETE WITH THE NEXT * DUMP AND THIS COULD BE REUSED. * *PARAMETERS; * SK (SKIP LISTING FOR **NEXT** TAPES) * *ERROR MESSAGES; * ERROR IN PARAMETERS * SLOT NUMBER OUT OF RANGE * *INTERNAL ERROR MESSAGES; NONE * *INFORMATION PASSED INTO THE OUTPUT FILE; * AUDIT TRAIL LISTING WITH NEXT TAPES TO USE SPACE 4 *CALL COMCMAC *CALL COMCCMD SPACE 4 **** ASSEMBLY CONSTANTS. BLDA EQU 3 AUDIT TRAIL ENTRY LENGTH ABUFL EQU 2001B AFILE BUFFER LENGTH SBUFL EQU 2001B SFILE BUFFER LENGTH OUTBUFL EQU 2001B OUTPUT BUFFER LENGTH BLKSZE EQU 320 BLOCK SIZE (WORDS) FOR S0BACKC MBSLOT EQU 2 MAX NUM OF BLOCKS / SLOT TABLE MBLAB EQU 25 MAX NUM OF BLOCKS / LOOK ASIDE MBVSN EQU 25 MAX NUM OF BLOCKS / VSN TABLE REQPK EQU 50 REQUIRED PACK OFFSET IN PARAMS. **** TITLE COMMON DATA BEGIN BSS 0 FETS BSS 0 A BSS 0 AUDIT RFILEB ABUF,ABUFL,(FET=13D),EPR S BSS 0 S0BACKC RFILEB SBUF,SBUFL,(FET=13D),EPR OUT BSS 0 OUTPUT RFILEB OUTBUF,OUTBUFL,(FET=8D) SPACE 4 * DATA WORDS NFILE DATA 0 NUMBER OF FILES SLV DATA 0 SLOT VALUE VSV DATA 0 VSN ORDINAL VSNL VFD 60/MBVSN*BLKSZE VSN TABLE SIZE MASF DATA 0 MASTER FILE NAME CFILE DATA 0 CURRENT FILE NUMBER TFILE DATA 0 TOTAL FILES * * PERMANENT FILE PARAMETERS * PACK DATA 0 PACK NAME FOR ATTACHES APER DATA 5LAUDIT PERMANENT FILE FOR AUDIT SPER DATA 7LS0BACKC PERMANENT FILE FOR PARAMETERS SK DATA 0 SKIP PARAMETER ONE DATA 1 DEFAULT PARAM USERI EQU 377773B USER INDEX FOR FILES * /--- BLOCK TAPE 00 000 81/03/25 07.57 TITLE MAIN PROGRAM. *** BACKLIB BACKLIB SB1 1 (B1) = 1 RJ INIT INITIALIZE AND GET ARGS WRITEC OUT,PAGEJ PAGE EJECT SA1 SK SEE IF SKIP SLOT NZ X1,BKL1 RJ RDSLOT READ PARAMETERS/SLOT TABLE RJ GETSL GET CURRENT SLOT NUMBER BKL1 RJ GETAUT GET AUDIT TRAIL WRITER OUT,R EOR ON OUTPUT ENDRUN * /--- BLOCK TAPE 00 000 80/11/12 07.00 TITLE SUBROUTINES BUILDO SPACE 4 ** BUILDO - BUILD OUTPUT LINE * * AUDIT INFO IN BUFA * BUILDS OUTPUT LINE FOR PRINTER IN BUILD BUILDO DATA 0 ENTRY/EXIT SA1 BUFA MASTER FILE NAME MX7 42 BX1 X7*X1 RJ SFN LX6 54 SA6 BUILD SA1 BUFA+1 PACKNAME MX7 42 BX1 X7*X1 RJ SFN SA6 BUILD+1 SA1 BUFA NUMBER OF FILES SX1 X1 RJ CDD MX7 -24 BX6 -X7*X6 LX6 36 SA6 BUILD+2 SA1 BUFA+1 SLOT NUMBER MX7 -7 BX1 -X7*X1 RJ CDD SA1 BUILD+2 LX6 6 MX7 -36 BX6 -X7*X6 IX6 X6+X1 SA6 A1 SA1 BUFA+2 VSN/PACK MX7 6 IF TAPE, ADD * BX7 X7*X1 NZ X7,BUI1 SX7 1R* LX7 54 BX1 X1+X7 BUI1 MX7 42 BX1 X7*X1 RJ SFN SA6 BUILD+3 SA1 BUFA+1 EST MX7 -6 AX1 7 BX1 -X7*X1 RJ WOD MX6 -12 SA1 BUILD+3 BX7 -X6*X7 BX1 X6*X1 IX6 X7+X1 SA6 A1 SA1 BUFA+2 YEAR AX1 14 MX7 -4 BX1 -X7*X1 SX1 X1+96 CURRENT YEAR = YR+96 (BASE YR) RJ CDD MX7 -18 BX6 -X7*X6 LX6 42 SA6 BUILD+4 SA1 BUFA+2 MONTH AX1 10 MX7 -4 BX1 -X7*X1 RJ CDD SA1 BUILD+4 MX7 -18 BX6 -X7*X6 LX6 24 IX6 X6+X1 SA6 A1 SA1 BUFA+2 DAY AX1 5 MX7 -5 BX1 -X7*X1 RJ CDD SA1 BUILD+4 LX6 6 MX7 -24 BX6 -X7*X6 IX6 X6+X1 SA6 A1 SA1 BUFA+2 HOUR MX7 -5 BX1 -X7*X1 RJ CDD MX7 -12 BX6 -X7*X6 LX6 48 SA6 BUILD+5 EQ BUILDO * /--- BLOCK TAPE 00 000 81/03/27 07.54 CKSTATS SPACE 4 ** CKSTATS - CHECK FILE STATUS FOR BUSY * ROLLOUT FOR 64 SECONDS IF BUSY * ABORT IF ERROR * * ENTRY X1-FET STATUS WORD * * EXIT X2=0, NOT BUSY CKSTATS DATA 0 ENTRY/EXIT AX1 10 MX7 -8 BX2 -X7*X1 ISOLATE STATUS ZR X2,CKSTATS IF NOT BUSY AND NO ERROR SX2 X2-1 NZ X2,ABORT ATTACH ERROR ROLLOUT CKSW SX2 1 BUSY STATUS EQ CKSTATS CKSW DATA 7700000100B CLREPR SPACE 4 ** CLREPR - CLEAR ERROR PROCESSING BIT IN THE FET * * ENTRY A1/X1=FET+1 AND CONTENTS CLREPR DATA 0 ENTRY/EXIT SX6 B1 MASK FOR EPR LX6 44 BX6 -X6*X1 SA6 A1 EQ CLREPR INIT SPACE 4 ** INIT - INITIALIZE INIT DATA 0 ENTRY/EXIT * * GET ARGUMENTS * SA1 ACTR ARGUMENT COUNT SB4 X1 SA4 ARGR FIRST ARGUMENT SB5 ARGTBL ARGUMENT TABLE RJ ARG NZ X1,INITERR ERROR IN ARGUMENTS * * ATTACH PERMANENT FILES * SETUI USERI USER INDEX PACKNAM PACK SET PACKNAME INIT1 ATTACH A,APER,,,W SA1 A RJ CKSTATS NZ X2,INIT1 IF FILE WAS BUSY SA1 A+1 RJ CLREPR CLEAR EPR INIT2 ATTACH S,SPER,,,W SA1 S RJ CKSTATS NZ X2,INIT2 IF FILE WAS BUSY SA1 S+1 RJ CLREPR CLEAR EPR EQ INIT INITERR MESSAGE INMSG EQ ABORT * /--- BLOCK TAPE 00 000 81/03/25 08.10 GETAUT SPACE 4 ** GETAUT - GET AUDIT TRAIL * * READS AUDIT TRAIL - SENDS OUTPUT LINE GETAUT DATA 0 ENTRY/EXIT RECALL A REWIND A,R READ A,R WRITEC OUT,LINE1 WRITEC OUT,LINE2 WRITEC OUT,SPACE GETA1 READW A,BUFA,BLDA READ ONE ENTRY NZ X1,GETAUT IF EOR, EOF SA1 BUFA MASTER FILE NAME ZR X1,GETA1 IF EMPTY SA2 SLV GET CURRENT SLOT NUMBER MX7 -7 SA1 A1+B1 BX6 -X7*X1 IX4 X6-X2 ZR X4,GETA2 IF SLOTS MATCH RJ BUILDO OUTPUT INFO WRITEC OUT,BUILD EQ GETA1 GETA2 RJ BUILDO OUTPUT LINE SA1 =8R**NEXT** SA2 BUILD+5 IX6 X1+X2 SA6 A2 WRITEC OUT,BUILD EQ GETA1 GETSL SPACE 4 ** GETSL - GET SLOT ENTRY GETSL DATA 0 ENTRY/EXIT SA1 SLOT GET SLOT POINTER SA1 SLOT+X1 GET SLOT NUMBER BX6 X1 SA6 SLV ZR X6,SLERR NG X6,SLERR SX6 X6-31 PL X6,SLERR RJ CDD SA6 SLMSG+1 MESSAGE SLMSG OUTPUT SLOT MESSAGE WRITEC OUT,SLMSG WRITEC OUT,SPACE EQ GETSL SLERR MESSAGE SMERR EQ ABORT SLMSG DATA 10H SLOT = DATA 0 DATA 0 RDSLOT SPACE 4 ** RDSLOT - READ PARAMETER AND SLOT TABLES RDSLOT DATA 0 ENTRY/EXIT REWIND S,R READ S,R READW S,PARAM,MBSLOT*BLKSZE+BLKSZE EQ RDSLOT * /--- BLOCK TAPE 00 000 81/04/29 08.44 TITLE END PROGRAM END SPACE 4 ** END - END PROGRAM. ABORT MESSAGE (=C* RUN ABORTED.*) ABORT PAGEJ DIS ,*1* PAGE EJECT SPACE DIS ,* * BLANK LINE LINE1 DIS ,= MASTER- PACKNAME FILE SLOT VSN(*) EST YY MM DD HH= LINE2 DIS ,= FILE PACK= BUILD DATA 0,0,0,0,0,0 OUTPUT LINE BUILD AREA DATA 0 END OF LINE SMERR DIS ,* SLOT NUMBER OUT OF RANGE* * * ARGUMENT TABLE * INMSG DIS ,* ERROR IN PARAMETERS.* ARGTBL BSS 0 VFD 12/2LSK,18/ONE,30/SK ARGTBLE DATA 0 END OF TABLE SPACE 4 * COMMON DECKS. *CALL COMCCIO *CALL COMCRDS *CALL COMCRDW *CALL COMCSYS *CALL COMCWTS *CALL COMCWTW *CALL COMCCDD *CALL COMCSFN *CALL COMCWTC *CALL COMCARG *CALL COMCWOD *CALL COMCCPM *CALL COMCPFM SPACE 4 ** BUFFERS. BUFFERS BSS 0 BSS 1 BUFA BSS BLDA ABUF BSS ABUFL SBUF BSS SBUFL OUTBUF BSS OUTBUFL PARAM BSSZ BLKSZE SLOT BSSZ BLKSZE*MBSLOT END BACKLIB