Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99g-bb - filuuo.c11
There is 1 other file named filuuo.c11 in the archive. Click here to see a list.
 REP 1/78	;11C1
	UFDAL9:	LDB	T3,UNYBPC##	;DONT COUNT BLOCKS ADDED TO UFD
 WIT
	UFDAL9:	PUSHJ	P,WTUSAT	;WRITE CHANGED SAT
		LDB	T3,UNYBPC##	;DONT COUNT BLOCKS ADDED TO UFD
 REP 18/113	;11C2
		CAIGE	T1,<UUXFUT-UUXNUM-1> ;IS THE BLOCK LONG ENOUGH TO
 WIT
		CAIGE	T1,<UUXFUT-UUXNUM> ;IS THE BLOCK LONG ENOUGH TO
 REP 47/127	;11C3
		TLNE	M,UPARAL	;PARTIAL ALLOCATION ONLY?
		TLOA	F,ENTRB		;YES. SET FOR NON-SKIP RETURN
		AOSA	(P)		;NO. SKIP(GOOD) RETURN
 WIT
		TLNN	M,UPARAL	;PARTIAL ALLOCATION ONLY?
		JRST	ENTXI1		;NO
		HRRI	M,-<UUXALC-UUXEXT>(M) ;ADJUST
		TLOA	F,ENTRB		;YES. SET FOR NON-SKIP RETURN
	ENTXI1:	AOSA	(P)		;NO. SKIP(GOOD) RETURN
 REP 10/128	;11C4
		CAME	T1,DEVFIL(F)	;SAME AS LOOKED-UP NAME?
		JRST	UILNMR		;NO. ERROR
		HRRI	M,UUNEXT-UUNNAM(M)	;YES. POINT TO EXTENSION
 WIT
		HRRZ	P1,DEVLNM##(F)	;GET THE LOGICAL NAME POINTER IF ANY
		CAMN	T1,DEVFIL(F)	;SAME AS LOOKED-UP NAME?
		JRST	UPDAT0		;YES, GO ON.
		JUMPE	P1,UILNMR	;FILENAME MISMATCH IF NO LOGICAL NAME POINTER
		SKIPE	T1,LNRNAM##(P1)	;SO FAR SO GOOD.  ANY FILENAME?
		CAME	T1,DEVFIL(F)	;YES. SAME AS LOOKED UP NAME?
		JRST	UILNMR		;NO. ERROR
	UPDAT0:	HRRI	M,UUNEXT-UUNNAM(M)	;YES. POINT TO EXTENSION
 REP 20/128	;11C5
		CAME	T1,T2		;MATCH?
		JRST	UILNMR		;NO. ERROR
		HRRI	M,UUNPPN-UUNEXT+1(M)	;POINT TO PRJ,PRG
 WIT
		CAMN	T1,T2		;MATCH?
		JRST	UPDA0A		;YES, SKIP THIS
		JUMPE	P1,UILNMR	;ERROR IF NO LOGICAL NAME TO LOOK AT
		HLL	P3,LNREXT##(P1)	;GET THE LOGICAL'S EXTENSION
		HLLZ	T1,P3		;COPY IT
		CAME	T1,T2		;MATCH?
		JRST	UILNMR		;NO. ERROR
	UPDA0A:	HRRI	M,UUNPPN-UUNEXT+1(M)	;POINT TO PRJ,PRG
 REP 37/128	;11C6
	UPDAT1:	CAME	T1,T2		;PPN'S MATCH?
 WIT
	UPDAT1:	CAMN	T1,T2		;PPN'S MATCH?
		JRST	UPDAT2		;YES, EVERYTHING'S COOL
		JUMPE	P1,UPDERY	;NO.  BETTER HAVE A LOGICAL NAME HERE
		SKIPE	T1,LNRPPN##(P1)	;DOES THE DEFINITION INCLUDE A PPN?
		CAME	T1,T2		;YES, PPN'S MATCH?
 INS 28/133	;11C7
		HRRZ	T2,DEVACC##(F)	;GET THE ACCESS TABLE POINTER
		MOVE	T3,RIBPRV##+1(T1)	;GET THE PRIVS WORD
		MOVEM	T3,ACCPRV##(T2)	;STORE IN THE AT
		HRRZ	T3,RIBEXT##+1(T1)	;GET THE ACCESS DATE, HI CREATION DATE
		HRLM	T3,ACCADT##(T2)	;STORE IN THE AT
 INS 15/174	;11C8
		HLRZ	P1,DEVEXT(F)	;FNCCAT IS NEVER LEGAL FOR UFD
		CAIN	P1,'UFD'	;IS THIS THE UFD?
		TLO	T1,777000	;YES, TRY FNCCPR (IT'S SOMETIMES LEGAL)
 REP 18/177	;11C9
		PUSHJ	P,SETPT3	;SET UP NEW PATH
		  TLO	P3,-1		;ERROR
 WIT
		PUSH	P,DEVLNM##(F)	;SAVE THEE LOGICAL NAME POINTER
		PUSH	P,DEVNAM(F)	;SAVE THE DEVICE NAME
		HRRZ	T1,DEVLNM##(F)	;GET THE LOGICAL NAME POINTER IF ANY
		JUMPE	T1,REN16A	;SKIP THIS IF NO LOGICAL NAME
		SETZM	DEVLNM##(F)	;PRETEND THERE ISN'T ONE
		SKIPN	T1,LNRDEV##(T1)	;GET THE DEVICE NAME WE'RE USING
		MOVSI	T1,'DSK'	;NONE.  DEFAULT
		MOVEM	T1,DEVNAM(F)	;STORE THE REAL DEVICE NAME
	REN16A:	PUSHJ	P,SETPT3	;SET UP NEW PATH
		  TLO	P3,-1		;ERROR
		POP	P,DEVNAM(F)	;RESTORE THE DEVICE NAME
		POP	P,DEVLNM##(F)	;RESTORE THE LOGICAL NAME POINTER
 INS 15/191	;11C10
		JUMPE	T1,DELRB3	;DON'T ALLOCATE IF NO BLOCK NUMBER GIVEN
 SUM 62389