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