Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99g-bb - backup.c12
There are no other files named backup.c12 in the archive.
 REP 1/1	;12C1
		TITLE	BACKUP -- MODULE TO SCAN COMMANDS FOR BACKUP -- %4A(521)
		SUBTTL	P.F.CONKLIN/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	BACKUP -- MODULE TO SCAN COMMANDS FOR BACKUP -- %4A(527)
		SUBTTL	P.F.CONKLIN/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
 INS 923/1	;12C2
	;522	10-33552	DRB	04-Mar-85
	;	Rewrite the /INITIAL code so that we don't start from the wrong place
	;	if the /INITIAL file doesn't really exist.
	;
	;523	10==33552	DRB	04-Mar-85
	;	If the /INITIAL file isn't found, don't say "no files found 
	;	ALL:*.*[*,*,*,*,*,*,*]".  Create a new, more meaningful error
	;	message.
	;
	;524	None.	DRB	22-Apr-85
	;	If /INITIAL file is given and not found before an SFD is encountered,
	;	BACKUP did not continue the search for the /INITIAL file.
	;
	;525	33748	BAH	17-May-85
	;	Restore reports "Prior block repeated" at EOT when a tape is mounted
	;	unavailable.  Edit 321 started warning user of repeated blocks on the
	;	tape.  BACKUP failed to clear the EOT bit in the buffer when it first
	;	got the EOT error return.  The monitor gives an error return for every
	;	OUT that did not first do a SETSTS to clear the EOT condition.  After
	;	the second error condition, BACKUP recycles through the buffer ring
	;	outputing the buffer occurring after the buffer with EOT but clears
	;	the EOT bit.  The buffer after the first error condition will always
	;	be repeated.  Clear EOT in the buffer when the first error condition
	;	occurs.
	;
	;526	35186	BAH	15-Jul-85
	;	Give a fatal message if an I/O error was encountered during the
	;	execution of an EOT or REWIND command.
	;
	;527	None.	BAH	14-Aug-85
	;	If edit 526 is applied, the magtape is SET UNAVAILABLE, and the user
	;	typed an UNLOAD command to BACKUP, the user will get "MTxnn OPR 
	;	ACTION REQUESTED".  Skip the MTWAT. on an UNLOAD command.
	;
 DEL 48/2	;12C3
	;**;[511] @ S.TPFG + 1L, Move 2 definitions after F$MSN, BAH, 13-Oct-82
 REP 18/13	;12C4
	$EOT:	MOVE	T1,[MTEOT. F.MTAP,] ;GET EOT FUNCTION
 WIT
	EOTFNC:	MTEOT.	F.MTAP,		;[526]
	$EOT:	MOVE	T1,EOTFNC	;[526] GET EOT FUNCTION
 REP 32/13	;12C5
	$REWIN:	MOVE	T1,[MTREW. F.MTAP,] ;GET REWIND FUNCTION
 WIT
	REWFNC:	MTREW.	F.MTAP,		;[526]
	$REWIN:	MOVE	T1,REWFNC	;[526] GET REWIND FUNCTION
 REP 16/14	;12C6
		MOVE	T2,(P)		;[411] GET THE REQUIRED FUNCTION
		CAME	T2,UNLFNC	;[411] TRYING TO UNLOAD?
 WIT
		MOVE	T4,(P)		;[527][411] GET THE REQUIRED FUNCTION
		CAME	T4,UNLFNC	;[527][411] TRYING TO UNLOAD?
 REP 37/14	;12C7
		SKIPA			;[411] TRY THE NEXT ARGUMENT
	DOFCN:	XCT	(P)		;[411] PERFORM THE FUNCTION
		RELEAS	F.MTAP,		;RELEASE THE CHANNEL
 WIT
		JRST	DOFCN1		;[527] TRY THE NEXT ARGUMENT
	DOFCN:	XCT	(P)		;[411] PERFORM THE FUNCTION
		CAME	T4,UNLFNC	;[527] IF UNLOAD DON'T WAIT
		MTWAT.	F.MTAP,		;[526] WAIT FOR MAGTAPE ACTIVITY TO STOP
		STATZ	F.MTAP,		;[526] ANY ERRORS?
		JRST	E$$TPF		;[526] YES. REPORT AND STOP PROCESSING
	DOFCN1:	RELEAS	F.MTAP,		;[527]RELEASE THE CHANNEL
 INS 43/14	;12C8


	;Here if any IO.ERR bits lit during an EOT, UNLOAD, or REWIND operation
	E$$TPF::!MOVE	T1,['BKPTPF']	;[526] PREFIX
		HRLI	T2,"?"		;[526] A FATAL ERROR
		HRRI	T2,[ASCIZ /Tape positioning error during /]
		PUSHJ	P,.ERMSG##	;[526]
		POP	P,T1		;[526] ADJUST STACK AND GET FUNCTION
		CAMN	T1,EOTFNC	;[526] AN EOT FUNCTION?
		OUTSTR	[ASCIZ /EOT /]	;[526] YES. TYPE IT
		CAMN	T1,REWFNC	;[526] A REWIND FUNCTION?
		OUTSTR	[ASCIZ /REWIND /];[526] YES. TYPE IT
		CAMN	T1,UNLFNC	;[526] AN UNLOAD FUNCTION?
		OUTSTR	[ASCIZ /UNLOAD /];[526] YES. TYPE IT
		OUTSTR	[ASCIZ /operation.
	/]				;[526]
		RELEAS	F.MTAP,		;[526] RELEASE THE DEVICE
		JRST	.POPJ1##	;[526] AND RETURN
 DEL 29/15	;12C9
	;**;[514] @ SKPLOP + 11L, Insert 8L, BAH, 13-Apr-83
 DEL 40/15	;12C10
	;**;[514] @ SKPLO1 + 1L, Replace 9L, BAH, 13-Apr-83
 DEL 50/15	;12C11
	;**;[514] @ SKPLO1 + 10L, Add label SKPLO2, BAH, 13-Apr-83
 DEL 56/15	;12C12
	;**;[514] @ End of routine SKPLOP, Insert 2 error routines, BAH, 13-Apr-83
 DEL 67/39	;12C13
	;**;[516] @ LISTST + 49L, Add 1L, BAH, 21-Jun-84
 INS 28/43	;12C14
		MOVE	T1,S.INIT+.FXNAM;[523] Did we
		IOR	T1,S.INIT+.FXDEV;[523]  find our
		IOR	T1,S.INIT+.FXDIR;[523]  /INITIAL file?
		JUMPN	T1,E$$INF	;[523] No. Complain about that specifically.
 INS 47/43	;12C15

	E$$INF::MOVE	T1,['BKPINF']	;[523] PREFIX
		MOVE	T2,["%",,[ASCIZ \/INITIAL file not found: \]] ;[523]
		PUSHJ	P,.ERMSG##	;[523] ISSUE THE MESSAGE
		TXNN	T1,JWW.FL	;[523] IF /MESSAGE:NOFIRST
		PJRST	.TCRLF##	;[523]  SKIP THE REST
		MOVEI	T1,S.INIT	;[523] POINT TO THE /INITIAL SPEC
		PUSHJ	P,.TFBLK##	;[523] TYPE THE FILE BLOCK
		PJRST	.TCRLF##	;[523] TYPE THE END OF LINE AND RETURN
 SUM 185593