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