Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99e-bb - backrs.c08
There is 1 other file named backrs.c08 in the archive. Click here to see a list.
 REP 1/1	;08C1
		TITLE	BACKRS -- MODULE TO DO THE WORK FOR BACKUP -- %4(440)
		SUBTTL	FRANK NATOLI/FJN/PFC/KCM/JEF/MEB/CLRH/VLR/CGN/WMG/DC/BPK/MS/BAH	18-Jun-82

	DECVER==4		;MAJOR VERSION
	DECMVR==0		;MINOR VERSION
	DECEVR==440		;EDIT NUMBER
 WIT
		TITLE	BACKRS -- MODULE TO DO THE WORK FOR BACKUP -- %4A(514)
		SUBTTL	FRANK NATOLI/FJN/PFC/KCM/JEF/MEB/CLRH/VLR/CGN/WMG/DC/BPK/MS/BAH/EDS	13-Apr-83

	DECVER==4		;MAJOR VERSION
	DECMVR==1		;MINOR VERSION
	DECEVR==514		;EDIT NUMBER
 REP 15/1	;08C2
	;.SKIP 1.CENTER;^VERSION 4
 WIT
	;.SKIP 1.CENTER;^VERSION 4A
 DEL 14/3	;08C3

 INS 88/10	;08C4
	DCHARG:	BLOCK	5	;[503] FOR DSKCHR UUO
 REP 50/29	;08C5
		SETOM	T1,CNAMSW	;[416] STORE 
 WIT
		SETOM	CNAMSW		;[416] STORE 
 DEL 75/38	;08C6


 REP 54/52	;08C7
		SETOM	T1,CNAMSW	;[416] STORE
 WIT
		SETOM	CNAMSW		;[416] STORE
 REP 96/52	;08C8
	RSTVER:	SKIPE	S.INTR##	;SEE IF /INTERCHANGE
 WIT
	RSTVER:	PUSHJ	P,SETSTR	;[503][262] SET UP STRUCTURE MASK
		SKIPE	S.INTR##	;SEE IF /INTERCHANGE
 DEL 140/52	;08C9
		PUSHJ	P,SETSTR	;[262] SET UP STRUCTURE MASK
 INS 9/55	;08C10

		MOVX	T1,.PTSCN	;[501] NO SCAN
		MOVEM	T1,APATH+.PTSWT	;[501] SET PATH SWITCH

 REP 17/55	;08C11
		TXNN	F,FL$HUF	;[342] IF NOT ALREADY HELD,
		PUSHJ	P,HOLDIT	;[342] HOLD THIS PPN
 WIT
		TXNN	F,FL$HUF	;[436][342] IF NOT ALREADY HELD,
		PUSHJ	P,HOLDIT	;[436][342] HOLD THIS PPN

 REP 31/57	;08C12
		SETSTS	FILE,(T1)	;FAKE OUT FILSER
 WIT
	;**;[510] @ NEWFIL + 14L, Replace 1L, BAH, 5-Oct-82
		MOVEI	T2,FILE		;[510] CHANNEL
		DEVCHR	T2,		;[510] GET LEGAL DATA MODES FOR THIS DEVICE
		MOVEI	T3,1		;[510] ADJUST TO THE BIT POSITION OF THE GIVEN
		LSH	T3,(T1)		;[510]  DATA MODE TO COMPARE WITH BITS RETURNED
		TDNE	T2,T3		;[510]  BY THE DEVCHR.  IS THE DATA MODE KNOWN?
		JRST	NEWFL1		;[510] YES
		WARN$N	(IDM,Illegal data mode)	;[510] NO. REPORT IT
		PUSHJ	P,OCTOUT	;[510] DISPLAY ILLEGAL DATA MODE
		OUTSTR	[ASCIZ / for file /]	;[510]

		PUSHJ	P,TYSPEC	;[510] DISPLAY FILE SPEC
		OUTSTR	[ASCIZ/, assuming image mode.
	/]
		MOVEI	T1,.IOIMG	;[510] USE BINARY MODE INSTEAD
	NEWFL1:	SETSTS	FILE,(T1)	;FAKE OUT FILSER
 INS 13/61	;08C13

 REP 19/61	;08C14
		JRST 	CONT			;[232] NO,SKIP AROUND RENAME LOGIC
 WIT
		JRST 	CONT			;[232] NO,SKIP AROUND RENAME LOGIC
 REP 41/66	;08C15
		MOVEM	T1,UPTBLK+1	;[425] STORE
 WIT
		MOVEM	T1,UPTBLK+.PTSWT;[501][425] STORE
 DEL 92/69	;08C16

 DEL 25/70	;08C17


 REP 61/70	;08C18
		CAIGE	T1,EMAX		;SEE IF MAXIMUM REACHED
 WIT
		CAMGE	T1,S.EMAX##	;[506] SEE IF MAXIMUM REACHED
 REP 29/71	;08C19
		CAIGE	T1,EMAX		;SEE IF MAXIMUM REACHED
 WIT
		CAMGE	T1,S.EMAX##	;[506] SEE IF MAXIMUM REACHED
 REP 9/80	;08C20
		DEVNAM	T1,		;[263] GET PHYSICAL NAME OF STRUCTURE
		 MOVE	T1,[SIXBIT/ALL/]	;[263] NONE--PRETEND IT WAS "ALL"
		SETOM	CSTRFL		;[262] SET FLAG FOR "ALL"
 WIT
		CAMN	T1,[SIXBIT/ALL/];[503] SPECIAL CHECK FOR "ALL"
		JRST	SETST2		;[503] NO TRANSLATION NEEDED
		MOVEM	T1,DCHARG	;[503] STORE IT
		MOVE	T1,[5,,DCHARG]	;[503] SETUP FOR DSKCHR UUO
		DSKCHR	T1,		;[503] GET DISK CHARACTERISTICS
		 SKIPA	T1,[SIXBIT/ALL/];[503] NONE--PRETEND IT WAS "ALL"
		MOVE	T1,DCHARG+.DCSNM;[503] GET PHYSICAL STRUCTURE NAME
	SETST2:	SETOM	CSTRFL		;[503][262] SET FLAG FOR "ALL"
 REP 11/88	;08C21
		MOVEI	CH,"A"-1(T1)	;GET UPDATE LETTER
		PUSHJ	P,LSTOUT	;SEND TO FILE
 WIT
		SOS	T1		;[505] PRINT IN MODIFIED
		IDIVI	T1,^D26		;[505] RADIX 26 ALPHA
		JUMPE	T1,LSTVE1	;[505] JUMP IF ONE CHARACTER
		MOVEI	CH,"A"-1(T1)	;GET UPDATE LETTER
		PUSHJ	P,LSTOUT	;SEND TO FILE
	LSTVE1:	MOVEI	CH,"A"(T2)	;[505] ISSUE "UNITS"
		PUSHJ	P,LSTOUT	;[505] CHARACTER
 REP 17/90	;08C22
		MOVE	T1,A$LENG(P1)	;GET SIZE IN BYTES
		MOVE	T2,A$MODE(P1)	;GET FILE MODE
		CAIG	T2,.IOASL	;SEE IF ASCII
		IDIVI	T1,5		;GET SIZE IN WORDS
 WIT
	;**;[513] @LSTFID+14L, Replace 4L, BAH, 4-Mar-83
		MOVEI	T2,^D36		;[513] WIDTH OF WORD IN BITS
		IDIV	T2,A$BSIZ(P1)	;[513] GET BYTES PER WORD
		SKIPGE	T1,A$LENG(P1)	;[513] LENGTH OF FILE IN BYTES
		MOVEI	T2,1		;[513] IF OVERFLOW, KILL DIVISOR
		IDIV	T1,T2		;[513] FILE LENGTH IN WORDS
		SKIPE	T2		;[513] EXTRA BYTES?
		AOS	T1		;[513] YES. ONE MORE WORD
 INS 48/90	;08C23
		PUSHJ	P,LSTTAB	;[512] ADJUST LISTING
		PUSH	P,P1		;[512] SAVE P1
		SKIPE	P1,A$VERS(P1)	;[512] IS THERE A VERSION NUMBER?
		PUSHJ	P,LSTVER	;[512] YES. GO LIST IT
		POP	P,P1		;[512] RESTORE P1
 SUM 167798