BACKONE
* /--- FILE TYPE = E
* /--- BLOCK BACKONE 00 000 81/04/29 11.21
BACKONE
IDENT BACKONE,BEGIN,BACKONE
ENTRY BACKONE
SYSCOM B1 DEFINE (B1) = 1
*COMMENT BACKUPS DATA CRUNCH - PHASE ONE
COMMENT COPYRIGHT CONTROL DATA CORP. 1980.
TITLE BACKUPS DATA CRUNCH - PHASE ONE
SPACE 4
*** BACKONE - BACKUPS DATA CRUNCH - PHASE ONE
* J. J. BUCHMANN. 80/01/15.
*
*FUNCTION;
* THIS PROGRAM DOES THE FIRST PHASE OF THE BACKUPS
* DATABASE MERGE PROCESS. THIS PROGRAM ATTACHES THE
* COMMUNICATIONS BUFFER, AUDIT TRAIL, AND PARAMETERS
* FILE. IT THEN EXTRACTS THE CURRENT SLOT VALUE FROM
* THE PARAMETERS FILE, CLEARS THE VSN TABLE OF ALL
* ENTRIES USING THIS SLOT, CLEARS THE AUDIT TRAIL OF ALL
* ENTRIES USING THIS SLOT, AND THEN READS THE
* COMMUNICATIONS BUFFER. EACH RECORD ON THE
* COMMUNICATIONS BUFFER CONTAINS A RECORD FOR EACH
* MASTERFILE THAT HAS BEEN DUMPED. AS EACH RECORD IS
* READ, THE AUDIT TRAIL BE UP UPDATED TO REFLECT THIS
* MASTERFILE, THE VSN TABLE WILL BE UPDATED TO REFLECT
* THIS VSN, AND AN ADDITIONAL FILE WILL GET A SHORT
* ENTRY WITH INFORMATION CONCERNING ACCOUNT NAME, FILE
* NAME, FILE TYPE/SIZE, AND VSN. THIS ENTRY IS ALSO
* CHECKED AGAINST THE REQUIRED PACKS TAPE IN THE BACKUP
* PARAMETERS FILE TO SEE THAT ALL FILES WERE DUMPED
* CORRECTLY. AFTER ALL RECORDS ON THE COMMUNICATIONS
* BUFFER HAVE BEEN PROCESSED WITHOUT ERROR, THE AUDIT
* TRAIL AND PARAMETERS FILES ARE REWRITTEN WITH THE NEW
* INFORMATION.
*
*PARAMETERS; NONE
*
*INFORMATIVE MESSAGES;
* SLOT = NNNN (CURRENT SLOT VALUE)
* WRITE AUDIT TRAIL
* WRITE S0BACKC (PARAMETERS FILE)
* MMMMMM NNN FILES FOUND (MMMMMM=MASTERFILE NAME)
* NNNNNN TOTAL FILES
*
* MMMMMMMMMM - REQUIRED MF NOT DUMPED
* MMMMMMMMMM - MF DUMPED MORE THAN ONCE
* SLOT NUMBER OUT OF RANGE
* VVVVVV REUSED OLD SLOT = NN (VSN VVVVVV WAS PREVIOUSLY
* ASSIGNED TO SLOT NN)
*
*INTERNAL ERROR MESSAGES;
* EXTRA WORDS IN COMM. BUFFER
* EARLY END OF FILE IN COM. BUFFER.
* NO ROOM FOR NEW VSN IN VSN TABLE
*
*INFORMATION PASSED INTO THE OUTPUT FILE;
* OLD AUDIT INFORMATION (THESE ENTRIES REMOVED FROM THE
* AUDIT TRAIL)
* NEW AUDIT ENTRY (THESE ENTRIES ADDED)
* /--- BLOCK BACKONE 00 000 81/05/07 06.50
SPACE 4
*CALL COMCMAC
*CALL COMCCMD
SPACE 4
**** ASSEMBLY CONSTANTS.
BUFL EQU 150 WORKING BUFFER LENGTH
BLDH EQU 6 HEADER BUFFER LENGTH
BLDI EQU 3 INFO. BUFFER LENGTH
BLDO EQU 4 SORT INFO. BUFFER LENGTH
BLDA EQU 3 AUDIT TRAIL ENTRY LENGTH
IBUFL EQU 2001B IFILE BUFFER LENGTH
OBUFL EQU 2001B OFILE BUFFER LENGTH
ABUFL EQU 2001B AFILE BUFFER LENGTH
SBUFL EQU 2001B SFILE BUFFER LENGTH
XBUFL EQU 2001B XFILE BUFFER LENGTH
OUTBUFL EQU 2001B OUTPUT BUFFER LENGTH
BLKSZE EQU 320 BLOCK SIZE (WORDS) FOR S0BACKC
MBPARM EQU 1 MAX NUM OF BLOCKS / PARAMETERS
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
MBALL EQU MBPARM+MBSLOT+MBLAB+MBVSN TOTAL NUM BLOCKS
REQPK EQU 50 REQUIRED PACK OFFSET IN PARAMS.
****
TITLE COMMON DATA
BEGIN BSS 0
FETS BSS 0
I BSS 0
COMBUF RFILEB IBUF,IBUFL,(FET=13D),EPR
O BSS 0
TAPE3 RFILEB OBUF,OBUFL,(FET=8D)
A BSS 0
AUDIT RFILEB ABUF,ABUFL,(FET=13D),EPR
S BSS 0
S0BACKC RFILEB SBUF,SBUFL,(FET=13D),EPR
X BSS 0
AUDITX RFILEB XBUF,XBUFL,(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
*
USERI EQU 377773B USER INDEX FOR FILES
PACK DATA 0 PACK NAME FOR ATTACHES
CPER DATA 6LCOMBUF PERMANENT FILE FOR COMBUF
APER DATA 5LAUDIT PERMANENT FILE FOR AUDIT
SPER DATA 7LS0BACKC PERMANENT FILE FOR PARAMETERS
XPER DATA 6LAUDITX PERMANENT FILE FOR AUDITX
* /--- BLOCK BACKONE 00 000 81/03/25 10.58
TITLE MAIN PROGRAM.
*** BACKONE
BACKONE SB1 1 (B1) = 1
RJ INIT INITIALIZE AND GET ARGS
RJ RDPARAM READ PARAMS/SLOT/VSN TABLES
RJ GETSL GET CURRENT SLOT NUMBER
RJ CLRVSN CLEAR CURRENT VSN
RJ GETAUT GET AUDIT TRAIL
WRITEC OUT,CMSG BLANK LINE
WRITEC OUT,NEWA WRITE TITLES FOR OUTPUT
WRITEC OUT,LINE1
WRITEC OUT,LINE2
CNV1 RECALL I REWIND ALL FILES
REWIND I,R
RECALL O
CNV2 READ I
CNV3 READW I,BUFH,BLDH
NZ X1,CNVX IF EOR, EOF, EOI
SA1 BUFH+1 NUMBER OF FILES
SX6 X1-1 SUBTRACT DIRECTORY FROM COUNT
SA2 BUFH MASTERFILE
SA6 NFILE
BX7 X2
SA7 MASF
SA1 BUFH+4 VSN
SA2 VSNL NUMBER OF VSN ENTRIES
AX2 1 / 2
SB7 X2
SB6 B0
SB4 B0
MX7 42
CNV3A SB6 B6+B1
GT B6,B7,CNVW NO VSN MATCH
SB5 B6+B6
SA2 VSN-1+B5
BX6 X7*X2 MASK VSN/PACKNAME
ZR X6,CNVV IF OPEN ENTRY
IX5 X6-X1
NZ X5,CNV3A NO MATCH WITH THIS ENTRY
CNV3B SA3 BUFH+5 DATE/TIME
IX6 X6+X3
SA6 A2 REWRITE VSN ENTRY
SX6 B6
SA6 VSV VSN VALUE
MX7 0
SA7 CFILE CURRENT FILE
SA1 A2-B1 GET FIRST WORD
MX7 1 SET BIT
LX7 12 POSITION TO BIT 11 (NEW FORMAT)
BX1 X1+X7 SET NEW FORMAT BIT
MX7 -11
BX6 -X7*X1 ISOLATE OLD SLOT
SA2 SLV NEW SLOT VALUE
BX7 X7*X1 REST OF WORD
IX7 X7+X2 NEW VSN ENTRY
SA7 A1
ZR X6,CNV3C IF NO OLD SLOT
IX7 X2-X6
ZR X7,CNV3C IF OLD AND NEW SLOT AGREE
BX1 X6 CONVERT OLD SLOT
RJ CDD
SA6 REUSEX
SA1 BUFH+4 VSN
RJ SFN
SA6 REUSE
MESSAGE REUSE OUTPUT ERROR MESSAGE
CNV3C RJ BUILDA BUILD AUDIT TRAIL
RJ BUILDO BUILD OUTPUT
RJ CKREQ CHECK REQUIRED PACK TABLE
* /--- BLOCK BACKONE 00 000 81/03/30 08.18
CNV4 SA1 CFILE
SA2 NFILE
SX7 X1+B1 INCREMENT CURRENT FILE NUMBER
SA7 A1
IX7 X2-X7
NG X7,CNVY IF NO MORE FILES
READW I,BUFH,BLDI READ NEXT FILE DATA
NZ X1,CNVZ IF EOR
SA1 VSV
BX6 X1
SA6 BUFH+3
SA1 A6-B1 SHIFT FIW INFO TO TOP 24 BITS
MX7 12 AND REORDER
LX1 24
BX6 X7*X1 EXTRACT TYPE/PART
LX1 36
LX7 48
BX1 X7*X1 EXTRACT RMTS/NDIR
IX6 X6+X1
SA6 A1
SA1 BUFH MASK TOP CHARACTERS OF ACCOUNT
MX7 42
BX6 X7*X1
SA6 A1
WRITEW O,BUFH,BLDO WRITE SORT DATA
EQ CNV4
CNVV NZ B4,CNV3A IF WE ALLREADY HAVE NEW ENTRY
SB4 B6+ SAVE ORDINAL FOR LATER USE
EQ CNV3A
CNVW ZR B4,CNVW1 IF NO OPEN ENTRY
SB6 B4 ORDINAL OF OPEN ENTRY
SB5 B6+B6 OFFSET IN TABLE
SA2 VSN-1+B5
BX6 X1 VSN
EQ CNV3B CREATE NEW ENTRY
CNVW1 MESSAGE NOVSM
EQ ABORT
CNVX BSS 0 FINISH OFF SORT FILE
WRITER O,R
WRITEF O
WRITER X,R AUDIT TRAIL
WRITER OUT
RJ CKALL CK. IF ALL REQUIRED PACKS DONE
SA1 TFILE OUTPUT TOTAL NUMBER OF FILES
RJ CDD
SA6 ALLDONE
MESSAGE ALLDONE
RJ WRPARAM WRITE PARAM/SLOT/VSN TABLE BACK
RJ WRAUDIT REWRITE AUDIT TRAIL
EQ END
CNVY SA1 MASF END OF MASTER FILE
RJ SFN
SA6 MSG
SA1 CFILE
SX1 X1-1 REAL COUNT OF FILES
SA2 TFILE
IX6 X1+X2
SA6 A2 TOTAL FILES
RJ CDD
SA6 MSG+1
MESSAGE MSG
CNVG READW I,BUFH,BLDI
NZ X1,CNV2
MESSAGE (=C* EXTRA WORDS IN COMM. BUFFER*)
EQ ABORT
CNVZ BSS 0
SA1 MASF INSERT MASTER FILE NAME
RJ SFN
SA6 EOFM
MESSAGE EOFM EARLY EOF MESSAGE
EQ ABORT
* /--- BLOCK BACKONE 00 000 80/10/27 09.38
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+80
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
LX6 6
MX7 -18
BX6 -X7*X6
LX6 42
SA6 BUILD+5
WRITEC OUT,BUILD
EQ BUILDO
* /--- BLOCK BACKONE 00 000 80/09/19 12.54
BUILDA SPACE 4
** BUILDA - BUILT AUDIT ENTRY
*
* BUFH - CONTAINS INFO FROM COPYMF
BUILDA DATA 0
SA1 BUFH MASTER FILE NAME
SA2 NFILE NUMBER OF FILES
IX6 X1+X2
SA6 BUFA
SA1 BUFH+2 PACK NAME
SA3 SLV SLOT VALUE
SA2 A1+B1 EST
LX2 7
IX6 X2+X1
IX6 X6+X3
SA6 A6+B1
SA1 A2+B1 VSN
SA2 A1+B1 DATE
IX6 X2+X1
SA6 A6+B1
WRITEW X,BUFA,BLDA WRITE TO NEW AUDIT FILE
EQ BUILDA
CKALL SPACE 4
** CKALL - CHECK TO SEE IF ALL REQUIRED PACKS DUMPED
CKALL DATA 0 ENTRY/EXIT
SB6 REQPK REQUIRED PACK OFFSET
SB7 BLKSZE END OF REQUIRED PACKS
MX7 42
SB5 PARAM
CKA1 SA1 B5+B6 GET RQUIRED PACK ENTRY
ZR X1,CKA2 IF NULL ENTRY
BX6 -X7*X1
ZR X6,CKA3 IF DUMP FLAG NOT SET
SX6 X6-1
NZ X6,CKA4 IF DUMPED MORE THAN ONCE
BX6 X7*X1 RESTORE ORIGINAL NAME
SA6 A1
CKA2 SB6 B6+1
LT B6,B7,CKA1 IF MORE ENTRIES
EQ CKALL ALL DONE
CKA3 RJ SFN OUTPUT ERROR MESSAGE
SA6 CKAM
MESSAGE CKAM
EQ ABORT
CKA4 BX1 X7*X1 MASK NAME
RJ SFN OUTPUT ERROR MESSAGE
SA6 CKAM1
MESSAGE CKAM1
EQ ABORT
CKAM DATA 0 MASTER FILE NAME
DIS ,* - REQUIRED MF NOT DUMPED*
CKAM1 DATA 0 MASTER FILE NAME
DIS ,* - MF DUMPED MORE THAN ONCE*
CKREQ SPACE 4
** CKREQ - CHECK REQUIRED PACK TABLE
*
* SET FLAG IF CURRENT MASTER FILE THERE
CKREQ DATA 0 ENTRY/EXIT
SB6 REQPK REQUIRE PACK OFFSET
SB7 BLKSZE END OF TABLE
SA2 MASF MASTER FILE NAME
SX6 B1
MX7 42
CKR1 SA1 PARAM+B6 GET CURRENT ENTRY
BX5 X7*X1
IX5 X2-X5
ZR X5,CKR2 IF MATCH
SB6 B6+1
LT B6,B7,CKR1 IF MORE ENTRIES
EQ CKREQ ALL DONE
CKR2 IX6 X6+X1 SET DUMPED FLAG
SA6 A1
EQ CKREQ ALL DONE
* /--- BLOCK BACKONE 00 000 81/04/29 08.49
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 SET USER INDEX
PACKNAM PACK SET PACK NAME
INIT1 ATTACH I,CPER,,,W
SA1 I
RJ CKSTATS
NZ X2,INIT1 IF FILE WAS BUSY
INIT2 ATTACH A,APER,,,W
SA1 A
RJ CKSTATS
NZ X2,INIT2 IF FILE WAS BUSY
INIT3 ATTACH S,SPER,,,W
SA1 S
RJ CKSTATS
NZ X2,INIT3 IF FILE WAS BUSY
INIT4 ATTACH X,XPER,,,W
SA1 X
RJ CKSTATS
NZ X2,INIT4 IF FILE WAS BUSY
SA1 I+1
RJ CLREPR CLEAR EPR
SA1 A+1
RJ CLREPR CLEAR EPR
SA1 S+1
RJ CLREPR CLEAR EPR
SA1 X+1
RJ CLREPR CLEAR EPR
EQ INIT
* INITERR MESSAGE INMSG
* EQ ABORT
* /--- BLOCK BACKONE 00 000 81/03/25 11.35
CLRVSN SPACE 4
** CLRVSN - CLEAR VSN TABLE
*
* CLEARS (ZEROS) ANY ENTRIES IN THE VSN TABLE THAT
* USE THE SAME SLOT NUMBER AS WE ARE USING
CLRVSN DATA 0 ENTRY/EXIT
SA1 VSNL VSN LENGTH
SA3 SLV SLOT VALUE
AX1 2 NUMBER OF SLOT ENTRIES
SB7 X1
SB6 B0 INITIAL VALUES
MX7 -11
MX6 0
CLV1 SB6 B6+B1 VSN ORDINAL
GT B6,B7,CLRVSN IF ALL DONE
SB5 B6+B6 ADDRESS OFFSET IN SLOT TABLE
SA1 VSN-2+B5 READ ENTRY
BX2 -X7*X1 ISOLATE SLOT NUMBER
IX2 X2-X3 SEE IF THE SAME
NZ X2,CLV1 IF NOT THE SAME
SA6 A1 CLEAR ENTRY
SA6 A1+B1
EQ CLV1 NEXT ENTRY
GETAUT SPACE 4
** GETAUT - GET AUDIT TRAIL
*
* READS AUDIT TRAIL - PURGES ENTRIES FOR THE CURRENT
* SLOT VALUE.
GETAUT DATA 0 ENTRY/EXIT
RECALL A
REWIND A,R
RECALL X
REWIND X,R
READ A,R
WRITEC OUT,PAGEJ PAGE EJECT
WRITEC OUT,OLDA WRITE HEADER INFO IN OUTPUT
WRITEC OUT,LINE1
WRITEC OUT,LINE2
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
NZ X4,GETA2 IF SLOTS DO NOT MATCH
RJ BUILDO OUTPUT INFO
EQ GETA1
GETA2 WRITEW X,BUFA,BLDA WRITE OUT THIS ENTRY
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
EQ GETSL
SLERR MESSAGE SMERR
EQ ABORT
SLMSG DATA 10H SLOT =
DATA 0
DATA 0
RDPARAM SPACE 4
** RDSLOT - READ PARAMETER, SLOT AND VSN TABLES
RDPARAM DATA 0 ENTRY/EXIT
REWIND S,R
READ S,R
READW S,PARAM,MBALL*BLKSZE
EQ RDPARAM
* /--- BLOCK BACKONE 00 000 81/03/30 08.16
WRAUDIT SPACE 4
** WRAUDIT - REWRITE AUDIT TRAIL
WRAUDIT DATA 0 ENTRY/EXIT
MESSAGE WRAM
REWIND X,R REWIND BOTH FILES
REWIND A,R
READ X,R INITIAL READ
WRA1 READW X,PARAM,MBALL*BLKSZE READ A CHUNK
NG X1,WRA3 IF EOF,EOI
NZ X1,WRA2 IF EOR
WRITEW A,PARAM,MBALL*BLKSZE WRITE A CHUNK
EQ WRA1 GET ANOUTHER CHUNK
WRA2 SB7 B6-PARAM NUMBER OF WORDS TRANSFERED
WRITEW A,PARAM,B7 WRITE CHUNK
WRITER A,R WRITE EOR
READ X,R READ NEXT RECORD
EQ WRA1 GET NEXT CHUNK
WRA3 SB7 B6-PARAM NUMBER OF WORDS TRANSFERED
BX5 X1 SAVE EOF/EOI STATUS
WRITEW A,PARAM,B7 WRITE CHUNK
SX5 X5+1 TEST STATUS
NZ X5,WRA4 IF EOI
WRITEF A,R WRITE EOF
READ X,R READ NEXT RECORD
EQ WRA1 GET NEXT CHUNK
WRA4 RECALL A WAIT FOR I/O TO COMPLETE
SA1 A+2 TEST IN AND OUT
SA2 A1+B1
BX1 X1-X2
ZR X1,WRAUDIT IF IN=OUT (EMPTY)
WRITER A,R
EQ WRAUDIT EXIT
WRAM DIS ,* WRITE AUDIT TRAIL*
WRPARAM SPACE 4
** WRPARAM - WRITE PARAMETER BLOCK AND REST OF S0BACKC
WRPARAM DATA 0 ENTRY/EXIT
MESSAGE WRPM
REWIND S,R
WRITEW S,PARAM,MBALL*BLKSZE
WRITER S,R
WRITEF S,R
EQ WRPARAM EXIT
WRPM DIS ,* WRITE S0BACKC*
* /--- BLOCK BACKONE 00 000 81/04/29 08.50
TITLE END PROGRAM
END SPACE 4
** END - END PROGRAM.
END BSS 0
END1 ENDRUN
ABORT MESSAGE (=C* RUN ABORTED.*)
ABORT
MSG DATA 0 MASTER FILE
DATA 0 NUMBER OF FILES
DIS ,* FILES FOUND.*
EOFM DATA 0 MASTER FILE
DIS ,* EARLY END OF FILE IN COM. BUFFER.*
PAGEJ DIS ,*1* PAGE EJECT
OLDA DIS ,* OLD AUDIT INFORMATION*
NEWA DIS ,* NEW AUDIT ENTRY*
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
NOVSM DIS ,* NO ROOM FOR NEW VSN IN VSN TABLE*
SMERR DIS ,* SLOT NUMBER OUT OF RANGE*
CMSG DATA 1L BLANK LINE
ALLDONE DATA 0
DIS ,* TOTAL FILES.*
REUSE DATA 0
DATA 10HREUSED OLD
DATA 10H SLOT =
REUSEX DATA 0
DATA 0
*
* ARGUMENT TABLE
*
INMSG DIS ,* ERROR IN PARAMETERS.*
ARGTBL BSS 0
* VFD 12/1LC,18/I,30/I
* VFD 12/2LSU,18/PACK,30/PACK
* VFD 12/2LCP,18/CPER,30/CPER
* VFD 12/2LAP,18/APER,30/APER
* 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
BUF BSS BUFL
BUF1 BSS BUFL
BUFH BSS BLDH
BUFA BSS BLDA
IBUF BSS IBUFL
OBUF BSS OBUFL
ABUF BSS ABUFL
SBUF BSS SBUFL
XBUF BSS XBUFL
OUTBUF BSS OUTBUFL
PARAM BSSZ MBPARM*BLKSZE PARAMETER TABLE
SLOT BSSZ MBSLOT*BLKSZE SLOT TABLE
LAB BSSZ MBLAB*BLKSZE LOOK ASIDE BUFFER
VSN BSSZ MBVSN*BLKSZE VSN TABLE
END BACKONE