Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99g-bb - backrs.c12
There are no other files named backrs.c12 in the archive.
 REP 1/1	;12C1
		TITLE	BACKRS -- MODULE TO DO THE WORK FOR BACKUP -- %4A(521)
		SUBTTL	FRANK NATOLI/FJN/PFC/KCM/JEF/MEB/CLRH/VLR/CGN/WMG/DC/BPK/MS/BAH/EDS	25-Jul-84

	DECVER==4		;MAJOR VERSION
	DECMVR==1		;MINOR VERSION
	DECEVR==521		;EDIT NUMBER
 WIT
		TITLE	BACKRS -- MODULE TO DO THE WORK FOR BACKUP -- %4A(527)
		SUBTTL	FRANK NATOLI/FJN/PFC/KCM/JEF/MEB/CLRH/VLR/CGN/WMG/DC/BPK/MS/BAH/EDS	14-Aug-85

	DECVER==4		;MAJOR VERSION
	DECMVR==1		;MINOR VERSION
	DECEVR==527		;EDIT NUMBER
 REP 37/9	;12C2

					;&

	;+.HL1 HOME BLOCK WORDS
 WIT
	FL$ABS==1B30	;[522] ABORT STRUCTURE SINCE /INITIAL NOT FOUND

					;&

	;+.HL1 /INITIAL BIT MASK DEFINITIONS
 INS 45/9	;12C3
	IB$STR==1	;[522] LOOKING FOR SPECIFIC /INITIAL FILE STRUCTURE
	IB$NAM==2	;[522] LOOKING FOR /INITIAL FILENAME AND EXTENSION
	IB$UFD==4	;[522] LOOKING FOR /INITIAL UFD
	IB$SF1==10	;[522] LOOKING FOR /INITIAL SFD LEVEL 1
	IB$SF2==20	;[522] LOOKING FOR /INITIAL SFD LEVEL 2
	IB$SF3==40	;[522] LOOKING FOR /INITIAL SFD LEVEL 3
	IB$SF4==100	;[522] LOOKING FOR /INITIAL SFD LEVEL 4
	IB$SF5==200	;[522] LOOKING FOR /INITIAL SFD LEVEL 5

				;&#FLAG CONTROL

	;+.HL1 HOME BLOCK WORDS
	;.NOFILL.FLAG CONTROL #
	;#END SELECT
	;-

 DEL 35/10	;12C4
	;**;[520] @ SUSDF + 1L, Insert 1L, BAH, 3-Jul-84
 INS 116/10	;12C5
	INIBTS::BLOCK	1	;[522] BIT MASK FOR /INITIAL FILESPEC
	SAVBTS:	BLOCK	1	;[522] SAVED COPY OF ABOVE
 INS 27/24	;12C6
	;HERE TO SETUP THE INITIAL FILESPEC BIT MASK BEFORE THE SAVE

		SETZB	T1,INIBTS	;[522] CLEAR THE WORKING BITS
		MOVEM	T1,SAVBTS	;[522] AND THE SAVED COPY
		SKIPE	S.INIT##+.FXDEV	;[522] ANY DEVICE SPECIFIED?
		  TXO	T1,IB$STR	;[522] YES, REMEMBER
		SKIPN	S.INIT##+.FXNAM	;[522] ANY FILENAME SPECIFIED?
		 SKIPE	S.INIT##+.FXEXT	;[522] NO, ANY EXTENSION?
		  TXO	T1,IB$NAM	;[522] YES, FLAG THAT
		MOVEI	T2,.FXDIR+S.INIT## ;[522] POINT AT THE FIRST DIRECTORY WORD
		MOVEI	T3,6		;[522] GET THE NUMBER OF DIRECTORY WORDS
		MOVX	T4,IB$UFD	;[522] GET THE FIRST BIT

	SETINT:	SKIPN	(T2)		;[522] DIRECTORY SPECIFIED AT THIS LEVEL?
		  JRST	SETI01		;[522] NO, EXIT THIS LOOP
		TDO	T1,T4		;[522] YES, LITE THE CORRESPONDING BIT
		ADDI	T2,2		;[522] POINT TO THE NEXT DIRECTORY LEVEL
		LSH	T4,1		;[522] SHIFT THE BIT FOR THE NEXT LEVEL
		SOJG	T3,SETINT	;[522] LOOP FOR ALL SPECIFIED LEVELS

	SETI01:	MOVEM	T1,SAVBTS	;[522] STORE THE INITIAL FILESPEC BITS
		MOVEM	T1,INIBTS	;[522] IN BOTH PLACES.

 INS 45/24	;12C7
		SKIPE	INIBTS		;[522] ANY /INITIAL SPECIFIER?
 REP 51/24	;12C8
		SETZM	S.INIT##+.FXDEV	;ZILCH
 WIT
		MOVX	T4,IB$STR	;[522] YES, GET THE DIRECTORY SPECIFIER
		ANDCAM	T4,INIBTS	;[522] CLEAR THE DEPENDENCY
 INS 79/24	;12C9
		MOVE	T1,SAVBTS	;[522] GET THE SAVED INITIAL BITS
		SKIPE	INIBTS		;[522] DID WE FIND THE INITIAL FILE?
		  MOVEM	T1,INIBTS	;[522] NO, RESET THE SEARCH BITS
		TXZ	F,FL$ABS	;[522] CLEAR STRUCTURE ABORT FLAG
 INS 90/24	;12C10
		SKIPE	INIBTS		;[522] DID WE EVER FIND THE /INITIAL FILE?
		  JRST	CPOPJ1		;[522] YES, RETURN TO BACKUP WITH OPERATION DONE
		SETZM	S.INIT##	;[522] CLEAR THE
		MOVE	T1,[S.INIT##,,S.INIT##+1] ;[522] INITIAL
		BLT	T1,S.INIT##+FX$LEN-1	;[522] FILESPEC
 INS 44/27	;12C11
		SKIPE	INIBTS		;[522] ANY /INITIAL SPECIFIER?
 REP 48/27	;12C12
		SETZM	S.INIT##+.FXDIR	;ZILCH
 WIT
		MOVX	T4,IB$UFD	;[522] YES, GET THE UFD SPECIFIER BIT
		ANDCAM	T4,INIBTS	;[522] CLEAR THE DEPENDENCY
 REP 89/27	;12C13

		TXNE	F,FL$KIL	;SEE IF OPERATOR SAID KILL
 WIT
		SKIPE	INIBTS		;[522] DID WE FIND THE /INITIAL FILE?
		  TXO	F,FL$ABS	;[522] ONLY GOT PART OF IT - BLOW THIS STR OFF

		TXNE	F,FL$KIL!FL$ABS	;[522] SEE IF OPERATOR SAID KILL OR ABORT SET
 REP 12/30	;12C14
		SKIPN	T3,S.INIT+.FXDIR(T2) ;ANY INITIAL SFD?
		JRST	SAFE2		;NO
		CAME	T3,CNAM		;SEE IF MATCH
		SOJA	LVL,NXTFIL	;NO, DROP IT
		SETZM	S.INIT+.FXDIR(T2) ;MATCH--ZILCH
 WIT
		SKIPN	INIBTS		;[524][522] ANY /INITIAL SPECIFIER?
		JRST	SAFE2		;[524] NO
		SKIPN	T3,S.INIT+.FXDIR(T2) ;ANY INITIAL SFD?
		JRST	NXTFIL		;[524] NO
		CAME	T3,CNAM		;SEE IF MATCH
		SOJA	LVL,NXTFIL	;NO, DROP IT
		MOVX	T4,IB$UFD	;[522] YES, GET THE DIRECTORY SEEN BIT
		LSH	T4,(LVL)	;[522] SHIFT TO THE RIGHT SFD LEVEL
		ANDCAM	T4,INIBTS	;[522] CLEAR THE BIT FOR THIS LEVEL
 REP 34/30	;12C15

		SETZM	PTHBLK+.PTPPN(LVL) ;ZERO
		TXNE	F,FL$KIL	;SEE IF OPERATOR SAID KILL
 WIT
		SKIPE	INIBTS		;[522] DID WE FIND THE /INITIAL FILE?
		  TXO	F,FL$ABS	;[522] NO, YES - ABORT THIS STRUCTURE

		SETZM	PTHBLK+.PTPPN(LVL) ;ZERO
		TXNE	F,FL$KIL!FL$ABS	;[522] SEE IF OPERATOR SAID KILL OR ABORT SET
 REP 3/31	;12C16
	NOTSFD:	MOVEI	T2,(LVL)	;[327] GET NESTING COUNTER
		LSH	T2,1		;[327] DOUBLE INDEX INTO SCAN BLOCK
		SKIPE	S.INIT+.FXDIR+2(T2);[327] SEE IF INITIAL SFD GIVEN
		JRST	NXTFIL		;YES, DROP THIS FILE
		SKIPN	T2,S.INIT+.FXNAM;ANY INITIAL FILE NAME?
		JRST	SETEXT		;NO
		HLRZ	T3,S.INIT+.FXEXT;GET INITIAL EXTENSION
 WIT
	NOTSFD:	SKIPN	T4,INIBTS	;[522] LOOKING FOR /INITIAL FILE?
		  JRST	SETEXT		;[522] NO, GO AHEAD WITH THIS FILE
		CAXE	T4,IB$NAM	;[522] YES, JUST LOOKING FOR FILENAME?
		  JRST	NXTFIL		;[522] NO, DROP THIS FILE
		HLRZ	T3,S.INIT+.FXEXT;GET INITIAL EXTENSION
		MOVE	T2,S.INIT+.FXNAM;[522] GET THE /INITIAL FILENAME
 REP 13/31	;12C17
		SETZM	S.INIT+.FXNAM	;YES, ZILCH
 WIT
		SETZM	INIBTS		;[522] YES, NO MORE /INITIAL SPEC
 DEL 24/32	;12C18
	;**;[520] Replace routine CLSUF2, BAH, 3-Jul-84
 DEL 23/48	;12C19
	;**;[515] @ RSTREC + 20L, Replace 1L, BAH, 20-Jun-84
 DEL 35/48	;12C20
	;**;[515] Delete routines RSTRE2 and LABSTS, BAH, 20-Jun-84
 DEL 31/56	;12C21
	;**;[510] @ NEWFIL + 14L, Replace 1L, BAH, 5-Oct-82
 DEL 58/59	;12C22
	;**;[521] @ RSTUST + 5L, Insert 1L, BAH, 25-Jul-84
 REP 164/69	;12C23
		TRNE	T1,IO.EOT	;IF EOT,
		SETSTS	F.MTAP,.IOBIN	; MUST CLEAR EOT BEFORE DOING OUTPUT

		MOVSI	T1,(1B0)	;USE BIT
 WIT
		TRNN	T1,IO.EOT	;[525] EOT?
		JRST	MTASE1		;[525] NO.
		PUSHJ	P,FNDBUF	;[525] FIND THE BUFFER MARKED WITH EOT
		SKIPA			;[525] PUZZLING. CAN'T FIND EOT
		ANDCAM	P1,-1(P2)	;[525] CLEAR THE EOT BIT IN BUFFER STATUS WORD
		SETSTS	F.MTAP,.IOBIN	; MUST CLEAR EOT BEFORE DOING OUTPUT

	MTASE1:	MOVSI	T1,(1B0)	;USE BIT
 DEL 17/89	;12C24
	;**;[513] @LSTFID+14L, Replace 4L, BAH, 4-Mar-83
 SUM 72341