************ File SYS$SYSDEVICE:[EVERHART.JT]JTDRIVER_S2.MAR;135 408 ldt$l_softf = 60 ;flag if nonzero that we have softlink 409 ldt$l_ace = 64 ;start of our ACE, up to 256 bytes long 410 ; chop off what's below here, as we need it no more after the file is open. 411 ldt$l_regs = 320 ;register save, r0 to r15 412 ldt$l_flgs = 376 ;slop storage for flags 413 ldt$l_parm = 380 ;storage for up to 6 params (6 longs) 414 ldt$l_fib = 404 ;FIB we use for OUR I/O 415 ; 72 bytes max for our FIB 416 ldt$l_acl = 476 ;storage for ACL read-in; 512 bytes 417 ldt$l_itmlst = 988 ;item list to read the ACL all in if 418 ;we can. 419 ldt$l_aclsiz = 1020 ;size of the ACL on the file 420 ldt$l_rtnsts = 1024 ;status back from daemon 421 ldt$l_myfid = 1032 ;file id from read-acl call 422 ldt$l_mydid = 1040 ;dir id in user's fib 423 ldt$l_psl = 1048 ;psl of original i/o 424 ldt$l_fnd = 1056 ;filename desc of orig i/o (p2 arg) 425 ;2 longs 426 ldt$l_fndd = 1064 ;data area for filename (256 bytes) 427 ldt$l_fdtctx = 1324 ;save area for user's FDT context ptr 428 ldt$l_size = 1332 429 ldt$k_clrsiz = 1328 ;allocate a little slop. 430 ****** File SYS$SYSDEVICE:[EVERHART.JT]JTDRIVER_S2.MAR;134 408 ldt$l_ace = 60 ;start of our ACE, up to 256 bytes long 409 ; chop off what's below here, as we need it no more after the file is open. 410 ldt$l_regs = 316 ;register save, r0 to r15 411 ldt$l_flgs = 372 ;slop storage for flags 412 ldt$l_parm = 376 ;storage for up to 6 params (6 longs) 413 ldt$l_fib = 400 ;FIB we use for OUR I/O 414 ; 72 bytes max for our FIB 415 ldt$l_acl = 472 ;storage for ACL read-in; 512 bytes 416 ldt$l_itmlst = 984 ;item list to read the ACL all in if 417 ;we can. 418 ldt$l_aclsiz = 1016 ;size of the ACL on the file 419 ldt$l_rtnsts = 1020 ;status back from daemon 420 ldt$l_myfid = 1028 ;file id from read-acl call 421 ldt$l_mydid = 1036 ;dir id in user's fib 422 ldt$l_psl = 1044 ;psl of original i/o 423 ldt$l_fnd = 1052 ;filename desc of orig i/o (p2 arg) 424 ;2 longs 425 ldt$l_fndd = 1060 ;data area for filename (256 bytes) 426 ldt$l_fdtctx = 1320 ;save area for user's FDT context ptr 427 ldt$l_size = 1328 428 ldt$k_clrsiz = 1324 ;allocate a little slop. 429 ************ ************ File SYS$SYSDEVICE:[EVERHART.JT]JTDRIVER_S2.MAR;135 2203 clrl ldt$l_softf(r11) ;zero softlink flag 2204 cmpl ldt$l_ace+8(r11),acllit ;this our ACE? ****** File SYS$SYSDEVICE:[EVERHART.JT]JTDRIVER_S2.MAR;134 2202 cmpl ldt$l_ace+8(r11),acllit ;this our ACE? ************ ************ File SYS$SYSDEVICE:[EVERHART.JT]JTDRIVER_S2.MAR;135 2257 incl ldt$l_softf(r11) ;flag we did have a softlink 2258 ; at r9, have ****** File SYS$SYSDEVICE:[EVERHART.JT]JTDRIVER_S2.MAR;134 2255 ; at r9, have ************ ************ File SYS$SYSDEVICE:[EVERHART.JT]JTDRIVER_S2.MAR;135 2670 ; Make sure this isn't one of OUR daemons ****** File SYS$SYSDEVICE:[EVERHART.JT]JTDRIVER_S2.MAR;134 2667 ; Want this control? 2668 bitl #<128>,ucb$l_ctlflgs(r5) ;user want delete control? 2669 beqlw 1509$ ;if eql no, skip out. 2670 ; Make sure this isn't one of OUR daemons ************ ************ File SYS$SYSDEVICE:[EVERHART.JT]JTDRIVER_S2.MAR;135 2688 tstl ccb$l_wind(r6) ;if a window exists, open now 2689 beql 191$ ;if not open branch, no need for 2690 ;softlink test. 2691 bitl #<1>,ucb$l_ctlflgs(r5) ;user want open control? 2692 beql 191$ ;if not, no LDT to find will exist 2693 ; there COULD be an LDT and a softlink so don't allow deletes to open 2694 ; softlinks to delete the linked file. 2695 ; ********** new hack **************** 2696 ; ***** ctlflgs 80000 (hex) bit allows del of softlinked files ******** 2697 bitl #^x80000,ucb$l_ctlflgs(r5) ;give way to shut this off 2698 bneq 191$ ;if ctlflgs has 80000 hex bit 2699 pushr #^m 2700 ; find LDT first. If none, not much to do. 2701 jsb findldt 2702 tstl r0 ;got an ldt? 2703 beql 192$ ;if eql no 2704 tstl ldt$l_softf(r0) ;was there a softlink? 2705 beql 192$ ;if not skip 2706 ; must prevent the deletion by faking success. 2707 popr #^m 2708 brw 2999$ ;so fake success deleting the file. 2709 192$: 2710 popr #^m 2711 191$: 2712 ; Want this control? 2713 bitl #<128>,ucb$l_ctlflgs(r5) ;user want delete control? 2714 beqlw 1509$ ;if eql no, skip out. 2715 ; Also...hack... ****** File SYS$SYSDEVICE:[EVERHART.JT]JTDRIVER_S2.MAR;134 2688 ; Also...hack... ************ Number of difference sections found: 5 Number of difference records found: 54 DIFFERENCES /IGNORE=()/MERGED=1/OUTPUT=SYS$SYSDEVICE:[EVERHART.JT]JTDRIVERS2.DIFF;1- SYS$SYSDEVICE:[EVERHART.JT]JTDRIVER_S2.MAR;135- SYS$SYSDEVICE:[EVERHART.JT]JTDRIVER_S2.MAR;134