Pvb$DFU_FREEWARE_024.A`DFU_FREEWARE_024.ABACKUP/NOASSIST/NODISMOUNT/COMMENT=VAX/VMS SPKITBLD Procedure/INTER/LOG/VERIFY LDA3:[DFU024.KIT]*.*; LDA3:[000000]DFU_FREEWARE_024.A/LABEL=(DFU_FREEWARE)/SAVE/BLOCK=9000/GROUP=25VAX/VMS SPKITBLD Procedure DORLAND 7@m wV6.2 _UTRUCK::  _$1$LDA3: V6.2 $*[DFU024.KIT]ALP_DFULIB.OLB;1+,g.m/7@ 4mn-f0123KPWOn56}t7W^w89G7@HJ % Librarian A09-2204ާs?gߧs!m<nC bDFUMSG DFU_BITMAPm DFU_FILEDIR DFU_IFSCANRB DFU_TABLESkR PARSE_UIChADD_ITEM ADD_QUOTA ADD_USAGEBUILD_DIR_TABLE CHECK_USAGECLEANUPCOMPARE_BITMAPmCOMPDIRCOPY_FIDm CREATE_DIRmDEFRAG_COMMANDmDELETE_COMMANDmDELETE_DIRECTORYm DELETE_FILE DFU$_FACILITY DFU_ASSIGN DFU_EXHFAIL DFU_EXPREG DFU_HANDLER DFU_INDEXERR DFU_IOERR DFU_NOPRIVmDIRECTORY_COMMANDDISASS_MAP_PTR DISPLAY_STATDO_ABORTm ENTER_FILETMAPj FID_TO_NAME FLUSH_CACHEFOLLOW_EXTENTSGET_MAP_POINTERSGET_NEXT_HEADER MAKE_LIST MAKE_SYSLOSTmMOVEFILEm MOVE_TO_LBN NEW_BITMAP OPEN_DEVICE PARSE_ITEMm PARSE_SINGLEm PARSE_TREEkR PARSE_UIC READ_BITMAPREAD_INDEXF_BITMAPREAD_INDEXF_MULTIREBUILD_BITMAPLEREPORT_COMMAND REPORT_USAGE SCAN_BITMAPmSCAN_DIRECTORIES SET_BITMAPm SET_COMMANDM DFU_INDEXERR ENTER_FILEREBUILD_BITMAP VERIFY_HEADERm REMOVE_FILEREPORT_COMMANDREPORT_LOST_FILES REPORT_USAGE SCAN_BITMAPmSCAN_DIRECTORIESSEARCH_COMMAND SET_BITMAPm SET_COMMANDkRUIC_KEYkR UIC_STATE UNDEL_COMMANDVERIFY_COMMAND VERIFY_HEADER DFU_IOERR DFU_NOPRIVRB DFU_TABLESmDIRECTORY_COMMANDDISASS_MAP_PTR DISPLAY_STATDO_ABORTm ENTER_FILE p$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m "1^~޵G[#JCG }G=G{G$(GGGG@Zk G "G BTG(bG@ZkGCGGGGb#J_@B GHbGGGGG G(G@Zk `B]!bCCGtG@ZkG@Ї@,cD0G B GHGCq 1D%HGLGG֤HC4DG]G2@] G0B"C8bCGC$GG@ZkGB @ 0A2Ab@ @0@1JPBpB00BG@Zk AG0A A0A:G]0`@ GG8G=9@= 4BG @BCCHbGGCGG@ZkG0A@ A4G8G1 A]2JBG}1 JG*B*B3B2$B,A+`IB,*jA DA0] GAB=#bCCGtG@Zk }$]4G(,k0ݠǰG8]@]H}PX`ݤhpx=]}ݥ#kG%0#G~"H^P^X~`hp޴x>^~޵G0>GG0X!A4^4G8x#Ȳ:x"( G.8"J(8DX/:,[KH ^<> @C(]@@(= -C. BCG0bTG@Zk"B 4=b@ZkBG4=Gb"@Zk@8H*1BK*#UE$@B0CɲJEF"D11@!KF HF @`G 0 CG0 @_#DCCZG]0@JQG0BDvDCG@D=&7@0BG!B=<}17H_#Hb1:B@BqBvBC 6BCGCGtG@Zk BCbGCCCG@ZkzGG@ 1@ @s@BCHbGCCtG@Zk8D4= `L 4GA/1 @OG4=0@N/1BIG8`E8}E@ G0AX`F B`(bȱB GtG@Zk0BC8bGTG@Zk1G=4G I@BsIHb"L. I,.xIGR LJQ,JTF3FL>,> E..VJW JFF>4G>@Zk ,. H .r HQ ,JP J3F' ,>F > E . JݢU J F CB "CbCGCCG@Zk=0@@!1 @0@ @?=@ @O_8`E8 G0 BAXF(b BȱG tG@Zk0B8bCGTG@Zk=4G I@BgIHb!, I,pI4GF HEHDD<< E,, ,A -H@ H1D,<D <G@Zk ,- H,e HI ,IDH &E ,=D< E L-HJ LI D C(=@ -C?GH]P]X}`hpݤx=]}ݥ(#kG"G_2DBG_Z#G?!$@G#B~G ^45B(^0~8@H޴PX`>hGGU`0[3rB8{C0`BG@Zk0BG8bGG@ZkB"$1@F"DJ? J0BDJ#@!D#DL "G21@GJFI @/@rF0B 0B#DEcC{G}0@@JuG0@BD2EcG>`D3@0`B}G4tC:7H @C B`@r@BC@CCG(bGGG@Zk@ @?G ](]0})8@HݤPX`=hp#kG?! #@!D#D??1$BGs"G{#G4BG#C~^^~޴>^~޵ GG04G5,U#: 8G0H =(>!@5/B:c/4G 4G8>:K`K ^ G C(><>@^H~@]( BGBC0GbTG@Zk@GHBPb@ZkHBPbGGG@Zk@8H.1B"K.#EB0C*EDzF"D11A!KF HF @`G0 C G0 @_#ZE@CC]ZG0AJQG0BEDCG@D=7A0BG!B=17I<}_#1:BxBvBbqBC6BCGCGtG@Zk4@ 4=hBCpbCd CCG@Zk_4?  0A(=HXG= GHQA11 B QAP GxBCCbGGCtG@Zk  dM 4GA-1 @60`AN-1B28 E(B/ CG8=0bGtG@Zk` GpHD 8=(BC0bG+&BTGtG@ZkXBCM@`bGGGtG@Zk"h"GBC1"bGCGGG@ZkxBGb@Zk= 0`AAA!1 @0@ aA?= QA NAh_8 E0(BC8=0bGGtG@Zk`ݤ G8}(B CpH0bGDf@TGtG@ZkXBP `bh!CCGtG@Zk¥GhBCBG!bGCGG@ZkxBbG@Zk(@] BHG]]}ݤ=]}ݥ 0#kG"G_2DBG_,Z#G?!$@G#TG~h^p^x~޴>^~޵G;#;G[G! G {GG(CC@ZkBbG@ZkB" (CC0]@bCtG@Zk L @B HbDCH,GCGGG@Zk P"`B GhbGGTG@ZkGGC ,=G8Gb#_ B= (bGCCGtG@ZkBG =GbGGGG (@ZkG=GB-G =GC@ݰ bGGG (@Zk,C4G=GHG<&H*HCPݰ CX]G(C GGPݠ27aHH}< A A CrBBI@E@.../JV JJX KFFCCF4B A A@0BCCG8bGCtG@Zk0BC8bGGCCtG@Zk@XD =0aH2H4GBB NGA-1`B4G4aH6HBB0BN-1B*G8E"&4GG8]9#BCbGGG@ZkB.bGG@Zk0" CBtGbG(@Zk@<=GGGGGb# _ = aH0H4G@@L`@ 1@L4G}2aH4HTBSB0@BGN21@BL])8E&¢B4G@"L}`]GbC8G@ZkBbGG@Zk0ݠ "CBtG(bG@Zk@ݠ<GL}4G`]Gb#_ݠ0@ݰ&@b0@,]0@X=A0`@ r@A;_8E&b4GBG Gb"8GCGG@ZkBbG @Zk0/CBG(tGb@Zk@<GGGGGb#_8E%b 4GBG@!L}`]CbC8} @ZkBbG@Zk0ݡBC(CbtG@Zk@ݠG<=4GL}b#`]Gl_@G8G,]GUpBB*7AI! = C^ TGbC^GG (@ZkG&vITG"B bCC@ZkBbG@Zk`BhbGGTG@ZkTGb!B!bCC@ZkBGb@Zk0CB0C(tGb@ZkBG =GbGGGG (@Zk B=!(bCCGtG@Zk4GGh]p]x}ݤ=]}ݥ#kG4G."/4Gp#JX KFC\. ;K,x;KW J@HF>D<F 0, ",A 0H 0<@H<F0/ /Y 7KXK0? ? 0JF,x0Jp/@ H<[pKp?.0,W JA0HF>8D0<4G_?0/, "0KV H@ HvGtC pKY0K{pKD<;G0?F 0,0.17H@ 7JQ 7JFB JA7HuJ F5D0> 0<F. .J[ JV J;G2C 0KTJy0KF >F>kGp/".pKV JvGCF0BBG#G~G ^G(^0~8@H޴PGۤ#_#G =ݲ:WFKݰG&@p C9'KC = :C&BCG\&G}CGbGGݲG>G>@ (@Zkp& ?"b1&J!v HPB0JpB,! xb% B#Xs"GGCT2G@Zk`BhbG@Zk`FBp"CbC>CC>DB`>G G(GGGG@ZkG ](]0}8@HݤP`#kP#?'~9#P^&X^&`~"h%"px޴>^~G@#;G!GA<=;_& =_'GG(ݶ0! $=9#,GR"Z#]1dC]C=C =G=G80h?"1W&JP[GX{3gJAqB0(C46A>G0]CC>G8|G@GG G(G3G@Zk(0DHCBC!v HBbTG,!  DR"8D G C@ZkBGb@ZkB M@bGCGtG@ZkC GCBTGb@ C@ZkBGb@ZkB M@bGCGtG@ZkC BCbTG@ZkBbG@ZkB M@bGCGtG@ZkCBTGb@G@ZkBGb@ZkB M@bGCGtG@Zk 4G#, . HP J0DC8DC.c.CJS cJSFCDB("CbGC0$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1mAb"34CG@Zk0BG8bGTG@Zk8@EDC.C.!APBCCJT JCTF|HXbGG G(GGGG@Zk(!v H!  賄 "#/#C/H}# . = .#Kc.Z CK .JW JEcJT J:GFȢtFC>("޶CCCCCC4G#/ "C/C#.C C.#K .Z CK.#JR CJJW J:G2FFCCGCG>CCGGGBb@Zk0B8bGGTG@Zk BD@H]GbCG5G@ZkHBGb A.PJ>@Zk( H@( 0`A "b@VGP]X]`}hpxݤ=]}#kGP#&~?'0^"8^9#@~GHPX޴`hp>x^~޵G#G[GX!=Aݶ$=nCG G =?!0h)W&IG{A3gJGiB0h! ACC=G(=G>C8|G޶GGG G(G@Zk(0DP G !v H@BBHb,!  DG8DCTG@6Zk0BG8bC 4G@Zk `BE@hbGCGtGG@Zk#, .2 Ax"C HBP J10DC8D8 F .C/CGJ>X K~>GFb|G G(GGGG@Zk(!v H!  4GÀ賄 " #.#C.C.G.0JR PJEȢJU J2FFBEOC/Gc/CCCK[ cK[GBCb@ZkP"CC@BG'@HbG2vHG@Zk0B8bG@Zk`BE@hbGCGtG@Zk ?"1&JB72 Ab HC@0CG0JGB0CGGG8GGG 4G(@Zk0/IA08 0@A!b@i P`@BHbCGTG@Zk0B8bGE@@Zk`BhbGCGtG@ZkG0]8]@}HPXݤ`hp=x]}ݥ#k4pGSYS$QIOW4xb#SYS$QIOW4@SYS$QIOW,8GSYS$QIO,b#SYS$QIO,@SYS$QIO4\GSYS$QIOW4lb#SYS$QIOW4@SYS$QIOW4GlSYS$QIOW44b#SYS$QIOW4h@lSYS$QIOW4GDECC$GXSPRINTF4b#9DECC$GXSPRINTF4@DECC$GXSPRINTF4GPUT_DISP4b#PUT_DISP4@PUT_DISP4 G SINGLEMSG 4b# SINGLEMSG4 @ SINGLEMSG4\G SYS$EXPREG4b# SYS$EXPREG4:@ SYS$EXPREG4 G SINGLEMSG4b# SINGLEMSG4 @ SINGLEMSG4G4SYS$QIOW4b#SYS$QIOW40@4SYS$QIOW48GX SYS$DELTVA4@b# SYS$DELTVA4T@X SYS$DELTV;A,)GLIB$FFS,*b#LIB$FFS,)@LIB$FFS4 GL OTS$DIV_I4$b# OTS$DIV_I4H@L OTS$DIV_I,+GLIB$FFC,,b#LIB$FFC,+@LIB$FFC4\G| SYS$DELTVA4db#< SYS$DELTVA4x@| SYS$DELTVA4!GDISASS_MAP_PTR4"b#DISASS_MAP_PTR4!@DISASS_MAP_PTR4 G( OTS$DIV_UI4 b# OTS$DIV_UI4$@( OTS$DIV_UI4(GD OTS$DIV_UI48b# OTS$DIV_UI4@=@D OTS$DIV_UI4 b# LIB$EXTZV4$ GP LIB$EXTZV4L @P LIB$EXTZV4T Gx LIB$INSV4\ b#LIB$INSV4t @x LIB$INSV4 G LIB$EXTZV4 b# LIB$EXTZV4 @ LIB$EXTZV>4# G8 COPY_FID4$ b#COPY_FID4#4 @8 COPY_FID4%8 GP SOR$RELEASE_REC4&@ b#SOR$RELEASE_REC4%L @P SOR$RELEASE_REC4'd G DECC$MALLOC4(l b# DECC$MALLOC4' @ DECC$MALLOC4 G@ L?IB$INSV4$ b#LIB$INSV4< @@ LIB$INSV4# G COPY_FID4$ b#COPY_FID4# @ COPY_FID4% G SOR$RELEASE_REC4& b#SOR$RELEASE_REC4% @ SOR$RELEASE_REC4' GH DECC$MALLOC4( b#@ DECC$MALLOC4'D @H DECC$MALLOC4| G OTS$DIV_I4 b#P OTS$DIV_I4 @ OTS$DIV_I4 G OTS$DIV_I4 b#P OTS$DIV_I4 @ OTS$DIV_I4GLIB$INSV4b#PLIB$INSV4A@LIB$INSV4!8GTDISASS_MAP_PTR4"Hb#DISASS_MAP_PTR4!P@TDISASS_MAP_PTR4`Gt OTS$DIV_UI4lb# OTS$DIV_UI 4p@t OTS$DIV_UI4tG OTS$DIV_UI4xb# OTS$DIV_UI4@ OTS$DBIV_UI4lGLIB$EXTV4 tb#LIB$EXTV4@LIB$EXTV4GLIB$INSV4b#LIB$INSV4@LIB$INSV4G4LIB$EXTV4 b#LIB$EXTV40@4LIB$EXTV4dGC DECC$MEMCPY4xb# DECC$MEMCPY4@ DECC$MEMCPY4G DECC$MEMCPY4b# DECC$MEMCPY4@ DECC$MEMCPY4GSTRINDEX4b#STRINDEX4@STRINDEX4GDECC$GXSPRINTF4Db#DECC$GXSPRINTF4@DECC$GXSPRINTF4G(PUT_DISP4 b#PUT_DISP4$@(PUT_DISP4dG DECC$MEMCPY4pb# DECC$MEMCPY4@ DECC$MEMCPY4G DECC$MEMCPY4b# DECC$MEMCPY0$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m"DE4@ DECC$MEMCPY4GSTRINDEX4b#STRINDEX4@STRINDEX4GDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4G$PUT_DISP4b#PUT_DISP4 @$PFUT_DISP4(G\DECC$GXSPRINTF4@b#DECC$GXSPRINTF4X@\DECC$GXSPRINTF4\GlPUT_DISP4`b#PUT_DISP4h@lPUT_DISP4 pGDECC$GXFPRINTF4 b#DECC$GXFPRINTF4 @DECC$GXFPRINTF4GG SYS$EXPREG4b# SYS$EXPREG4@ SYS$EXPREG4 G SINGLEMSG4b# SINGLEMSG4 @ SINGLEMSG4,GP SYS$DELTVA44b# SYS$DELTVA4L@P SYS$DELTVA4PGSYS$QIOW4H`b#SYS$QIOW4@SYS$QIOW4GSYS$QIOW4b#SYS$QIOW4@SYS$QIOW4G LIB$EXTZV4b# LIB$EXTZV4@ LIB$EXTZV4G LIB$EXTZV4b# LIB$EXTZVI4@ LIB$EXTZV4GDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4GPUT_DISP4b#PUT_DISP 4@PUT_DISP4 GDECC$GXFPRINTF4 b#DECC$GXFPRINTF4 @JDECC$GXFPRINTF4xGDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4GPUT_DISP4b#PUT_DISP4@PUT_DISP4 GDECC$GXFPRINTF4 b#DECC$GXFPRINTF4 @DECC$GXFPRINTF4XKGDECC$GXSPRINTF4db#DECC$GXSPRINTF4@DECC$GXSPRINTF4GPUT_DISP4b#PUT_DISP4@PUT_DISP4 GDECC$GXFPRINTF4 b#DECC$GXFPRINTF4 @DECC$GXFPRINTF4G$DECC$GXSPRINTFL4b#DECC$GXSPRINTF4 @$DECC$GXSPRINTF4$G4PUT_DISP4(b#PUT_DISP40@4PUT_DISP4 8GXDECC$GXFPRINTF4 Lb#DECC$GXFPRINTF4 T@XDECC$GXFPRINTF4GSYS$QIOW4b#SMYS$QIOW4@SYS$QIOW4 G$DECC$GXSPRINTF4b#DECC$GXSPRINTF4 @$DECC$GXSPRINTF4$G4PUT_DISP4(b#PUT_DISP40@4PUT_DISP4 4GL SINGLEMSG48b# SINGLEMSG4 H@NL SINGLEMSG4`GxDECC$GXSPRINTF4hb#DECC$GXSPRINTF4t@xDECC$GXSPRINTF4xGPUT_DISP4b#PUT_DISP4@PUT_DISP4 GDECC$GXFPRINTF4 b#DECC$GXFPRINTF4 @DECC$GXFPRINTF4OGSYS$QIOW4b#SYS$QIOW4@SYS$QIOW4G SYS$DELTVA4b# SYS$DELTVA4 @ SYS$DELTVA4G SYS$QIOW4b# SYS$QIOW4 @ SYS$QIOW44 Gl DECC$GXSPRIPNTF4< b# DECC$GXSPRINTF4h @l DECC$GXSPRINTF4l G| PUT_DISP4p b# PUT_DISP4x @| PUT_DISP4 G SYS$QIOW4 b# SYS$QIOW4 @ SYS$QIOW4!Gh"SYS$QIOW4!b#QSYS$QIOW4d"@h"SYS$QIOW4"G"DECC$GXSPRINTF4"b#DECC$GXSPRINTF4"@"DECC$GXSPRINTF4"G"PUT_DISP4"b#PUT_DISP 4"@"PUT_DISP4 "G"DECC$GXFPRINTF4 "b#DECC$GXFPRINTF4 "R@"DECC$GXFPRINTF4#G#DECC$GXSPRINTF4#b#DECC$GXSPRINTF4#@#DECC$GXSPRINTF4#G(#PUT_DISP4 #b#PUT_DISP4$#@(#PUT_DISP4 ,#GL#DECC$GXFPRINTF4 4#b#DECC$GXFPRINTF4 H#@L#DECC$GXFPRINTFS4X#Gl#DECC$GXSPRINTF4`#b#DECC$GXSPRINTF4h#@l#DECC$GXSPRINTF4l#G|#PUT_DISP4p#b#PUT_DISP4x#@|#PUT_DISP4 #G#DECC$GXFPRINTF4 #b#DECC$GXFPRINTF4 #@#DECC$GXFPRINTF4#G#DTECC$GXSPRINTF4#b#DECC$GXSPRINTF4#@#DECC$GXSPRINTF4#G#PUT_DISP4#b#PUT_DISP4#@#PUT_DISP4 #G#DECC$GXFPRINTF4 #b#DECC$GXFPRINTF4 #@#DECC$GXFPRINTF, @$Gd$SYS$FAO, L$b#USYS$FAO, `$@d$SYS$FAO4 h$G$ SINGLEMSG4p$b# SINGLEMSG4 |$@$ SINGLEMSG4$G$SYS$QIOW4$b#SYS$QIOW4$@$SYS$QIOW,  &G&SYS$FAO, &b#SYS$FAO, &@&SYS$FAO4 5rY$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1mx"UV&G4& SINGLEMSG4 &b# SINGLEMSG4 0&@4& SINGLEMSG4 8&G\&DECC$GXFPRINTF4 H&b#DECC$GXFPRINTF4 X&@\&DECC$GXFPRINTF4`&G&PUT_DISP4h&b#PUT_DISP4|&@&PUT_DISP4L'G (SYS$QIOWW4'b#PSYS$QIOW4(@ (SYS$QIOW4$(GP(DECC$GXSPRINTF4,(b#PDECC$GXSPRINTF4L(@P(DECC$GXSPRINTF4P(Gh(PUT_DISP4X(b#PPUT_DISP4d(@h(PUT_DISP4 l(G(DECC$GXFPRINTF4 t(b#PXDECC$GXFPRINTF4 (@(DECC$GXFPRINTF4(G0)SYS$QIOW4)b#PSYS$QIOW4,)@0)SYS$QIOW, )G)SYS$FAO, )b#PSYS$FAO, )@)SYS$FAO4)G*DECC$GXSPRINTF4)b#PDECC$GXSPRINTF4*@*DECYC$GXSPRINTF4*G*PUT_DISP4*b#PPUT_DISP4*@*PUT_DISP4 *G8*DECC$GXFPRINTF4  *b#PDECC$GXFPRINTF4 4*@8*DECC$GXFPRINTFt t4D*G*SYS$QIOW4L*b#PSYS$QIOW4*@*SYS$QIOW4*ZG+DECC$GXSPRINTF4+b#PDECC$GXSPRINTF4+@+DECC$GXSPRINTF4+G(+PUT_DISP4+b#PPUT_DISP4$+@(+PUT_DISP4 ,+GH+DECC$GXFPRINTF4 0+b#PDECC$GXFPRINTF4 D+@H+DECC$GXFPRINTF1 1=@1%%DFU-S-REBQUOTA, QUOTA.[SYS succesfully rebuild8=PF%%DFU-W-QUOTAERR, %.*s has %d blocks used, QUOTA indicates %d blocks=8)%%DFU-I-CHKQUOTA, Checking QUOTA.SYS...=XN ---------------------------------------------------------------------------=H< Identifier/UIC Used/Allocated Headers@=H9 ***** Disk Usage Table (from INDEXF.SYS) *****\=XN Identifier/UIC Used/Allocated Headers Quota Used/Perm=PE ***** Disk Usage Table (from INDEXF.SYS and QUOTA.SYS) *****=H?!30AS!9UL/!9!6UL!30AS!9UL/!9!6UL !9UL/!9X=8)%%DFU-I-ADDQUOTA, updating diskquota...=XO%%DFU-E-READERR, Error reading bitmap,%%DFU-E-BITMAP, Error opening bitmap,=@3]%%DFU-S-RBDBITMAP, BITMAP.SYS succesfully rebuild=8.%%DFU-E-RBDBMAP, Error rewriting BITMAP.SYS,@=XI%%DFU-E-ALLOCCLR, blocks LBN %d through %d incorrectly marked allocated=PD%%DFU-E-ALLOCSET, blocks LBN %d through %d incorrectly marked free=8+%%DFU-I-CHKBITMAP, Checking BITMAP.SYS...=QI%%DFU-E-MULTALLOC, file %.*s blocks LBN %d through %d already ^allocated =0 ;=0 ;0SYS$QIOWSYS$QIO=00 &;=  ;=%s PUT_DISPDECC$GXSPRINTF; DECC$GXFPRINTF=!%I; SYS$FAO=0P_ !;=  %*s  SINGLEMSG=0 8;=`| =0 `;=0 0 ;=p LIB$INSV OTS$DIV_I=0 ;=P =0h ;=  SYS$DELTVA LIB$EXTZV SYS$EXPREG7 DFU_E`XPREG=0 `;=0 0 DECC$MEMCPY ;; OTS$DIV_UISTRINDEX= LIB$EXTV!DISASS_MAP_PTR=0H ;= #COPY_FID %SOR$RELEASE_REC' DECC$MALLOC=08 ;=   a)LIB$FFS+LIB$FFC@ @=0(' DFU_BITMAPDEC C V5.2-003 = 44= flush_cache4=jba " " " " " " " ; > $ $= D4: := 4=  = 44= read_bitmapb4= C C% C% C% C C% C% V U C W \ C ]  _$  t4$ $= 4: := 4=  = 44= scan_bitmap4=         c                          A    P$ $= 4: := 4= + += 44= new_bitmapd4= , 6 , 0 , 7 2 , - 0 4 0 2 2 / > > C C C E E C D F F L I K P Q S S X X _ c k r n n p q y x y y ye z |( ]# ]# ]# ]& N8          0   ;bL J$ $= t4: :=  4= 8Z Z= 0 4P4= set_bitmap0 4=         f      i         4   $ $= t 4: := 4= 0p p= `44=rebuild_bitmap`4=             +"$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m"fg                   # % + 2 : <y ? @ , , , , 9 M P XP $ $= 4: := 84= h = h44=compare_bitmap4=OG Z Z Z Z Z Z Z t t t u | }                        J  i         =    P$ $= P4: := 4=  = `4@4= add_usage`4=med        , ! !: := j4= ~ ~= 84 4= add_quota84= 1 1 1! 1 1 1 I J 1 L L 1 1 M N  S Z V Z V V V Z [ _ _ _ ^ ($ $= 4: :=  4= k = !44= report_usage!4=ME d d d d d d d d d d   ~ } d | } | d ~ ~ d d*                  l              0  :    ! #@$ $= !4: := &4=  = &4P4= check_usage&4=e]     *  *     m *      ( *        ؃                         $ ! ! $ "O # $ " ' / / 2L$ $= n'4: := H+4=  =  ww1j0sV1.0GG DFU_FILEDIRV1.022-AUG-1996 11:39DEC C V5.2-003X X  $ABS$i؋$CODE$ $LITERAL$H $LINK$$DATA$!$BSS$ $READONLY$LISTFIRSToCTRLCPASTE_IDKEYB_IDDISP1_IDTRIGGER SMG$ENABLEOUTBUFHEADERCTRSTR1K_FIRSTK_LIST DECC$FCLOSEDECC$GXFPRINTFDECC$GXSPRINTF DECC$FOPEN DECC$FGETSDECC$GA_RMS_NAMDECC$GA_RMS_FABDECC$GA_RMS_RABSOR$BEGIN_SORT SOR$END_SORpTSOR$RELEASE_RECSOR$RETURN_RECSOR$SORT_MERGE DFU_ASSIGN DFU_NOPRIV DISPLAY_STAT0J SET_COMMAND PARSE_ITEMPUT_DISP SINGLEMSGSTRINDEX DECC$STRCPY DECC$STRLEN SYS$PARSE SYS$SEARCH SYS$ASSIGNSYS$QIOW SMG$READ_COMPOSED_LINE DECC$MEMCPY SYS$DqASSGNDO_ABORT0J DELETE_FILE0J(  ENTER_FILE0J X  REMOVE_FILE8JX"DELETE_DIRECTORY DECC$STRSTR SYS$EXPREG PUT_STATUS SYS$DELTVA0JH- PARSE_TREE DECC$STRCATCOPY_FID DECC$MALLOC DECC$STRNCPY0J h4r PARSE_SINGLE0J (9DELETE_COMMANDLIB$INIT_TIMER CLI$PRESENT CLI$GET_VALUE DECC$ATOI SMG$SET_CURSOR_MODE DECC$FREELIB$SHOW_TIMER0J(FDEFRAG_COMMAND SYS$GETSYIW DECC$STRNCMP DECC$STRNCAT0JhOMOVEFILE0J@M MOVE_TO_LBN8JpSDIRECTORY_COMMANDsBUILD_DIR_TABLE0Jh] CREATE_DIR(J bCOMPDIR SYS$CREATE SYS$CONNECT SYS$WRITE SYS$CLOSESYS$OPEN DECC$MEMMOVE8JXptSCAN_DIRECTORIES MAKE_LISTSYS$FAOOTS$MOVE OTS$DIV_I =#?&~&^O1"^"~'#_&޴UR"t>^~G {#X=#G =c"(b@C`C#,=C}"h"]'BC]C# $ݲ#'(C=2Q@{#0}Cb4GG G4}CpGGGG@ZkX=C"TG 0B8b1"C@ZkBGb@Zk  @BC" bGCCGGG@ZkBCb_@GGCGTGG@ZkB@]"b!_@CGCGTGG@Zk"B]"0}"bp! CCCCGG@ZkB" ub]"8}"CCCCGG@ZkB^@]"bP}"GCCCGG@ZkB!^@b]"H}"GCCCGG@ZkB(" ]"b}"CCCCGG@ZkB# "b(}"CCCCGG@ZkB# b"}"CCCCGG@ZkB# "b }"CCCCGG@ZkB# b}"C0\@CCGG@ZkBCb!S@x]"xGGCC4GG@ZkBV@]"bGCCC4vGG@ZkB!U@]"b}"GCCC4GG@ZkBW@b`]"GCCC4GG@ZkB[@b]"GCCC4GG@ZkB!Z@b]"GCCC4GG@ZkB]@b]"GCCC4GG@ZkBCb!W@GGCGTGG@ZkBCbY@GGCGTGG@ZkBCb!X@GGCGTGG@ZkBCb0" GCCGTGG@ZkBCb" GCCGTGG@ZkBCbw`" GCCGTGG@ZkBCb" GCCGTGG@ZkBCbp" GCCGTGG@ZkBCb" GCCGTGG@ZkBCbh" GCCGTGG@ZkBCbP" GCCGTGG@ZkBCb0" GCCGTGG@ZkBCb" GCCGTGG@ZkBCb " GCCGTGG@ZkBCb" GCCGTGG@ZkBCb@" GCCGTck$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m"wxGG@ZkB" b]"CCCCGG@Zk@="B]" bCCCCGG@ZkD#C"0BTG 8b@1"C@ZkBbG@Zk@B#GHbTG@Zk]G?$! =G_X]N@'b@BtG=@b; GG@Zk HB!`@b@"@.CCR@J@>cTGFhF7`@ZkC"0BC8bC! CtG@ZkBGb@ZkGPBX!XbCGGtG@ZkCBX!bN@CGGtGy@Zk H`@X .Q JX >GBGb4GG@ZkGBX!bCb@TG@ZkhB!CX"@G=C"G@ZkBX"bCݲ4G@Zk 8"pHhB@}"!IQ0D C}@"G@Zk@ݦH?$BX##F@ݶX"bGH=]"CCL=CDGGtG@Zk%ʂ!"X# 0BC8bC @ZkBbG@Zk@B#GHbTG@Zk0GPU]"0=TGX. HB0?HHbTJX>qHFC0C@ZkB Ch bGCGGG@Zk(&E`=#&")>I!!H"!E#h'#sJ2?JSF@@FòFòC#h=`"CB}#1v KCbCGTG >G(GG@Zk#!v H#X#"DCb0BtG8bpBCG@ZkBGb@Zk@BG#TGHb@ZkG{`X"0B""C8bD4@`CH=CtGa @Zk`BGbCD @`4G=@Zk=rHxCpp=#1?Hx"2F"GGC>CC C(Gp"p"C"CGG C(CGGBbG@Zk`#?D8,D8(D H`C_F4OB`C4GD`cF8F 8F 8F FFԍFF?GF`c`cG4oC`cD` =XD8D<FF|0B0vJP] GâBF" J @Fò"GH= #Dc ]{F@c? D8GDC=HF CF0DݢGFG8=7 ;AKG{@p{J,["wrJ"@HtvJD<G.@C;#1AKUJayJF>y*BG/XKG?G,@HDPBhc"C2vHCtG@Zk(PB# #"XbCCGt}G@Zk# PB#"XbCCGtG@Zk PB# #"XbCCGtG@Zk# PB#"XbCCGtG@ZkX`Cx=1Jr H2F`#P}GD``4J`ݢ\7JuSJJBG]x=0@C0G]3AKzS@KbJSC`c@ݢ]@= } `ݢ=] Cp=4 G}T@GxT Dݢt`FhC#tFF`4DʔF}FXʴG+`I`GbF jA_E QFXCCh=~= BC>G1v KGG >G(G@Zkc+v`IcDCX#!"0BC@8b*@CGtG@ZkBbG@Zk@B#GHbTG@Zkø}XC!"C0BC `8b %AGtG@ZkBGb@Zkh}=!BC! Cb1v`I>CGG G(GG@Zk]!DcCBbG`GtG@Zkø4Gh=`Bhb0v I@ZkgBGb 8`E@ZkC(D(]Bx"!(}!b*_IX= _A(]CCCGGG@ZkXGp"TG@B#HbC@ZkGBbG4G@ZkbC0BTG8bG@ZkBbG@Zk4GG]]}ݤ=]}#kGP?!"@Nݢx{J8JGx `=X#aS K2v>JAFX#]_}`v`J4HF``cpK5oKF`=?]h#z@J!?K:Dh#}X4JXݢX H XX5J"XXc;K{#XcX#_"2FX#G#~^^ ~(08޴@HP>X^`G#GGG = G0.GG0J%a JP"4HF.J @!HrӠJ0"2D.J $ '_"GHBDB09HbqJCF'X 4GJ!G"FBXCzCC >GGTGG(GG@Zk'!v H''"DCBCbM"4G C^GGTG ^G(GG@ZkG觤$vHB¤TGB8 J! bCC@ZkBGb@Zk(BG0bGTG@ZkGhBXb pb@CGtG@Zk H¤@@B bX,CCtGDHX<@ZkBbG@Zk(B'G0bTG@ZkðG$  @E@E4D0vJ'!"H0D''1v J'XB"hBCpb@GtG@Zk HB5_!@bGX. DPJX>CCGG G(GG@ZkǤ&vHǰ@DGtG""@B! bCC@ZkBGb@Zk(BG'TG0b@Zk3BbGGGGG G(G@Zk" B  B@J! bGCtG@ZkBGb@ZkBGbGGGGG G(@Zk'G]D] }(08ݤ@HP=X]`p#kP.R PJQF2,A 2H5D1,A 1H4Dð#G~G^G ^(~08@޴HGۤ#h[CG=G= G^Gp{CG G(tGG@Zk&D"q@F?"!v Hp@F! ( v7JCUJCFWBhBCG>GpbtGGG G(@Zk"=qF%pFs H2?JSF%բVJWBղi&9v K&DF  qDpDM@QCCRAJW @Q[ "qFpF@UJWBU"qFpF8Y:KW@C8Q@hB~GpbGTGGG G( @Zk#8Bb @bCCGtG@ZkG¦0@b4@BDb "!!HC@ " !.GQ0J !>G =Ce2vJ@ZkBbG@ZkG] ](}08@ݤHP#k0 JFFxբFղQ_FQF8?G8#G~^^ ~(G{#G@c } }.JU# {J:9K[Gp.`JP Jt`J0 D.JL zJ9K:Gq.qJH 4vJ{S`J"Fc,HD!yJwH"7D.J@0HqJ?#F#"C4wJpߣ"C:YKCTCBG~GbGGGG (@Zkxp#!v Hx#G]Dx] }(0#k/X KG.T JF.V JF.T JF7,A 7H D/X KGGP#~(^0^8~@HP޴X`h>p^x~޵G#GG&=" }C(Gp D(}.J GqJ2HQF}.s"J`1HsJ3F].R"J{@g@'"aJ("xBC Jb"DC 9A^G=TGGGG >(@ZkH@'!v HH'DHtGB"B@R"GbCG@ZkBbG@ZkBH'GbTG@ZkH'GxG "X'"`'("PFBpF b`TFR"@1v J0&H5F1" J!$H0J&HCB GGTG@Zk "G"tGB1"bGC@ZkBGb@ZkxBG=GbGGGG (@ZkH* $4 BCbGGGGG@ZkHG'"bGBG! bCC@ZkBbG@ZkBH'GbTG@ZkxB=GbGGGGG (@ZkHG$]*"=47AI"xB4B@G"!F4GC= GbG 4G(GGG@ZkH@'!v HH'DHtG"B"BGbhR"CG@ZkBbG@ZkBH'GbTG@ZkxB=GbGGGGG (@Zk;,,tG"B,HbG B8 R"CG@ZkBbG@ZkxB=GbGGGGG (@Zk!U@A¥ 4G GGGBCbG "CG@ZkBGbGGG@ZkBb4G4G@Zk4GG AP"0." C"2Jk#?Fv ..k.JW J+/tJK/F+,6B8BtB0KZ KKG;H:GwJ0 D@8 DP C A +.4`BK"prJQ2J0F+> E.Q"J@@A GB4G`AD@pZ#i/)/H:iKBY )KyG8`G` bTG@Zk"p! TDH"P A4GGQb#X@F@}4G hq7a$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1mI"1v`J4G_"p! HG =p"BbH "0A .k".CK.CJV JSJF`A@ZkBGb@Zk$1@ !A8DG4G|0@? @A A^"CBTGb%G 1"C@ZkB4Gb4Gp @ZkBCbCGtG@ZkBbG@ZkxBCbG'p @ C)>IG +A`'~TG~4G=G~GG (@ZkH@ǥ.vIHDZDH燠G=GG ( G#gH(¥@! C*GITGCAgA=CGG ޵(GxBGbG@Zk秠HG]G G1v@Ib#_H$}!BCbG&`GtG@Zk"GGtGB bGC@ZkBGb@ZkxBG=GbGGGG (@Zk¥p!H4GG(]0]8}@HPݤX`h=p]x}ݥ#kq.S qJpFu3.Q 3J0F|2.Q 2J0FG#G~tG^^~޴> ^(~0Gx# ۤGG=G[?&&!?H1"?@="{"G=!{CG G@ZkB @bI@ GCGGtG@Zk A@B3E@b.TGPJ>*.Gr HGQ*J2F*>G@Zk("B("GI@ZkBbGT4G@ZkX=aHBC*=IPAEXP=x"G@Zkxݦ'CB CFxݶFG b|G]GtG@ZkG8B"tGBJ!bCC@Zk(BG0b@ZkBG(TGb@Zk+8"TG /=BB )!bCC@Zk(B0bG?!@ZkhBCCpbG =GGGGGTG@ZkBCb?%GGGtG@Zkʂ)! DG("x pJ1B/ 3BA"`.GxJ2#WJ{JF>_FR/ qJr"ZYKxJ[GR?B_F2,9BA H1D2<_F.WJF>R"?TB @G2,GqrK0BA2HR"1DTB2<B bACGtG@ZkBCbG4G@ZkI'"B4Gb @ZkB"f4Gb@Zk+. +  . HrHQ !JPJ3FF+>  > . ".JW JFCBGDtG b@ZkfBPC bG`AGtG@ZkfCBGbtGaA@Zk G.  $, `Iq`IP JA HF1D> $<CBGbGGtG@Zk DfGxC8bTGBpH k!bACD.RDJD>@Zk(BG0b@ZkIGXBG`b@ZkG(B0b@ZkA8B @bC4G@Zk 3B"!bCCGtG@ZkAg8"C -C 8`EBx ! bI I =`CtG@Zk(B$aH0bG@ZkACCGb#_8B@bC4G@ZkGp!hE戠 (BG0b@Zk4GG]]}ݤ= ](}0@#k#G~G^tG^~޴GG `[Gh{C$G%@Zk`B`@!F@hbGCGGtG@Zk@@B`@HbD@.TGPJ>G'.rHGQ'J2F'>G@Zk¤"HBG4GF@Zk`BhbG4}@Zk8ݤaHCHB''HPD80=X"G@ZkXݦC`C¤GBFFXݶ` bG\ݰGdtG@Zk"GBtG<@bCG@ZkBbG@Zk B&G(bTG@ZkGbTGB c bGC@ZkBbG$@ZkBCbGGGtG@Zkʂc D&"X pJ1B/ 3B@"`.GxJ2#WJ{JF>_FR/ qJr"ZYKxJ[GR?B_F2,9BA H1D2<_F.WJF>R"?TB @G2,GqrK0BA2HR"1DTB2<榢J"pB4Gxb@ZkpB"4Gxb@Zk'. ' . HrHQ !JPJ3FF'> > . ".JW JFCBGDGbtG@ZkPCBGbG@tG@Zk@BCHbG@tG@ZkG'. . ' HQ !JrHPJ3F'>F >BCbGGGtG@ZkDs4GG]]}ݤ#kGp#_&~R"0^'8^$@~#H PTGX޴G`hp>x^~Gp#GG0= ]@$=!0H@B@5@0=@?&' }_&8"C?1"#`"(=C, R"x]I@C|ݲGHbCGG@Zk@BCH@HbGGCGTGG@Zk@B$ HbCG@CGTGG@Zk@BCHb" GCCGTGG@Zk@BCHb" GCCGGG@ZkB" b@CGtG@Zk HP=@H .Q JH > pB `BbGGTG@ZkGGB@bCTG@ZkBCb4G@Zk(}pH!H0D(@BC2F@HbCGGGGTGG@Zk8}GB`b@ZkP}C@B!I@G`GHbCGTGG@ZkB} bC4G@Zk?$0"! BDx 1"bCTG@Zk BG(b@Zk  X =CBCbC!?HtG @ =@Zk B(b@4G@Zk@$HB vHbpJ!9H "F D@ =CtG1?J B ]CC@Zk0"x"TGB` 1"bGC@Zk BG(b@Zk  " B@(b4G@Zk@$qSHB "b0v>HtGF@ ]CC2_J@B ]C@ZkTG0"xbB` ! bCC@Zk B(bG@Zk  G B@(b4G@ZkX!H@dHB0LbҰ`H#yHQBq JC#FCGGGG$H3!H!aB @`HG`D@@ZkC bBTGbC@ZkGh}@"HCP}GX]1v`Hhb#B_h}GBGbG1v`HGGG (@Zkh}0v`H bCB4GGX=C"bG 7H `?=@@ZkݲG@B=4G8KbC@Zk=BqHBC0=HRF}"G@Zkݦ?$$#BCFݶG=C="bGGGtG@Zk@0"x"tGBbGG hTG(ݢ4vJ5JJ7JxJF(@ZkBCCbGGGGG@ZkB$ $"bCCTG@Zk¤4G$1J@BTGb0@Zk@$$"CCpb# h0JJ_ h="H]C!&Hb#&H_D"#0bCx"8 DB x s"GbCtG@Zk B(bG@Zkh=CH} !v HGCCb#_$ GBCh!p=$!t=aGCBGbtGG@Zk BCbG@tG@Zk B" bC@GtG@Zk*""B 0@bC!@GtG@Zk* HBTGb @ " .Q0J >J@ KBaA@ZkBb@4G@Zk}pHh=D"BC!ICb0DC޶1v JG tG(GGG@Zk `B4Ghb 0,0. p!+HQ +J1D'@Zkg8DBbG@ZkhBGbG1vHGGG G(@Zk䤰 BCbGGGtG@Zkp"!ƠC0TGBbC@Zk0D!xbCBtG bCC@Zk B(bG@ZkB$GbTG@Zk)G¤TGB$bC@Zkh0vIBb4G@Zk0bx"TGB8 c bGC@Zk B(bG@Zk8BGbGBGG@ZkG0]8]@}HPXݤ`hp=x]}#kG@#?$~U! p^&x^&~?s"O"TG޴Gx{#G=?$ݶ c } ! h=k@]s@ ;xC}l}xbGBbG@ZkGH=CP&GP!>Hs"8B3@}@H=L=4JCP@bGGGGGGG@ZkGBbCTG@ZkxBE@b0}@GtGtG@Zk`TG 8B"BhR"bGC@Zk(B0bG@ZkoHBC" PbGCCGGG@Zk(=""Bk@ bCGtG@Zk4@=TG0v H2?H4Bp@wJX.s JVJSFFX>=G=9v Ky@Xy/[yKXy?CHB GPbCCGTGG@ZkHB"I@PbCC# GGC4GG@ZkHBCL@PbGGCGTGG@ZkHBCJ@PbGGCGTGG@Zk0=D@ ]CHBCCPbGP@QFGGGGG@Zk8=TG8" B1"bC@Zk(B0bG@Zk  G@=GBb @Zk" BCbCGtG@Zk``@8"TG`.B01"bS`J`>CC@Zk(B0bG@Zk8¤&  B""bCFFaCTG@ZkC8" BbC! CCtG@Zk(B0b  mG$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m{"G@ZkièB bCGGtG@ZkC<:GB# ""bCCGtG@Zk``@(Bk@@.TGb R@J@> ~@@ZkBbC~@GtG@ZkGB bC~@TG@Zk~@Gb#@ӨB bCGGtG@ZkCBbG4G@ZkG(~@Bk@bTG @ZkBCb~@GtG@ZkBCb~@TG@Zk~@Gb#@Ә CHBCPbG(IC AGGG@Zk8 B!bCCGtG@Zk``@.PJ>8]&@W?ƠBGb8D@Zk8CBTGb C@Zk(BG0b@Zk@GBGbGBG@Zk4GGp]x]}ݤ#k#G~&^tG^ ~(08޴@Gۤ#`[G` GGG=4Gh{@@DG ݰ4G@Zk@? B!&HPB HXbP&"@C CGG0JG" G6_"(fG (@ZkXPf#v`HXfG]GDX] }(08ݤ@P#k#G~4G^^~G 8O=#[G @GH?&1"=G @ "=G@ZkBbGL}@ZkP=qHBCBh%#0=HRFPH}p"G@Zkpݦ?$xC8BCFpݶGx=@|=@bGtGGtG@ZkX""GZaJChA?4JB6JJwJF@ZkBC bCGGGGG@Zkw<%Cb# =2v J%_,G=4GTDE#!>H0JxӠJ0D%=CEGt J3_J6_"tF%C ŦG(B7JF =G~0b1v KG (@Zk%!v H%tGDXB"BR"bGC@@ZkHBGPb@ZkBG%TGb@ZkGX"@tGB! bGC@ZkHBGPb@Zk4GBb0vH@ZkBC bGGGtG@ZkDlEGX"@"6BC.bC5G`#?$~O! p^'x^$~&?# GG> s">kC@ @" @h~@C ޲^4hC$Gl>CC`[Gh{GFGGGG@Zk@=x@"BC b1I@GtG@Zk4@=TG0v H2?H4B@wJ@.s JVJSFF@>=G=9v K@@y/[yK@y?C`B GhbCCGGG@Zk`B$ hbC0J@xCGTGG@Zk`BChbM@xGGCGTGG@Zk`B$ hbCx0E@CC4GG@Zk(=Gx D$S&B,BQF PbTGB"bGC@Zk@BGHb@Zk4G`BCG@hbGGCGTGG@ZkX=x `B"hbH@CCGGGTGG@Zk`B"hbI@xCC$ GGC4GG@Zkx`BChb!G@GGCGTGG@Zk`B"O@hbCxC|$ GGC4GG@Zk@"D"$4O@xCG`BGhb0JB GCG@Zkx8="`BV@Chb CGCGG4GG@Zkx0=4G $"`BX@ChbCGGGTGG@Zk`B$ hbCxY@CGTGG@Zk$TGxP bBX"CbC@Zk@BGHb@ZkPCBTGb8 C@Zk@BGHb@Zk4GJ`B$ hbC0P@CGTGG@Zk`BCQ@hbGxGCGGG@ZkH=@x1L@BTG b@Zk Hp@0vJ@P.RPJP> B3M@(b@GTG@Zk$CTG B`bGG@ZkG GdTG$`D PX=B 8}"bGrF @C@Zk@BHbG@Zk4GGBb bCCGtG@Zk@$BG .bQ J > dDSF@`@ZkxC8=b#$ @ӑd B" (bCDDgCTG@ZkCP""BC1"bGCtG@Zk@BGHb@ZktGBd bCGGtG@ZkCx@0b#= B"""bCCGtG@Zk@@=D" .@d"BCbTGQ J > C@Zk B (b$ CCGtG@Zk GB $ bCCTG@Zk H=Cb#@B$ bCxGGtG@ZkCx#?BbG4G@Zk"G@} B@ bC `CTG@Zk Bd (bC@GtG@ZkGB bCCTG@Zkd H=Cb#X@xTGPbBc bGC@Zk@BGHb@Zk`GBGbtG0B@ZkxB4Gb@Zk4GG`}GBb`@ZkxCBTGH=b@Zk`}xGBG`b0BGG@ZkB4Gb@ZkxGp]x]}#kG#_&~R"^G^4G~ (0G#[GHG=G G2D=PX" @ZkBbC}@Zk=qHBB"b4G0=HFC]@Zkp?"1w&J=_&\]0JHB`HBp!#Hhݦ"57J##D6J;fK@GZBB"Ghݶ=# _=hX= @Zk0¦&BC8vK8=VGL=C0"@Zkݦ$"F5JF]"G#C]G;hKFKUCBC [C,FKUCDH<1BC [CS.RSJS>8BC@b4G@Zk(BC0bG4G@ZkDCxBbG4G@ZkDChBpbG4G@ZkD%C&\CG XB`b4G@Zk ? X%"CdG¦0J$H%B(B$H0bG1?J%EH2AJEeG `CGG ޶(@ZkD%!v H%DtGXB"BR"GbCG@ZkHBPbG@ZkB%GbTG@ZkX CbGBp bpHGC@ZkHBPbG@ZkG]]} (0@#k`#4G~^ ^(~08@޴HPX>`^h~px޵G#([ }"G8=P =@(;G,$!8H 1@ =;h"G(CAG @Zk"Gݦ0J@BHb6JB}G@Zk=BqH(BC0=HRF}"G@Zkݦ?$h%#BCFݶG=C=@bGGGtG@ZkhG""tGBbG 0GݢC4vJ5J7JJTGxJF@Zk`BCChbGGGGG@Zkh=`E#' "?#!>H0JC0D% 0A=GEt J3_JTGtF%ŢCG0pBF~F%xb1vJGG >(@Zkh`%!v Hh%tGDhB"B@R"bGC@@ZkBGb@ZkBGh%TGb@ZkGp "E"hD@!HB Hb&HH!"HPF @L,1@XFUFR"1JJ0vJ&JF"1"J C3BP= CG@TG@@Zk""1"CCL]C<GBG bGGG@Zkh"b@BG! L]bCC@ZkBGb@ZkBGh%TGb@Zk<L]<]tCGBG DPbGG@Zkh""tGB1"P]GbC@ZkBbG@ZkBh%GbTG@Zkt77I@`"C!7H<}= DC1 D0!!HpBG0Lxbc"qF^1vJ D(GG4GCG4GGGG$HC@Zkh`%!v Hh%DhtGB"BhR"GbC@@ZkBbG@ZkBh%GbTG@ZkC,4GH@ݴ=Ì%GGpBGxbGF 0]G1v@JG (@Zkh4GH4GT}4G`H=4GL] G%tGB *@+" BHR"bCCG@ZkBGb@Zk8!Z@`BGChbtG@Zk&!E A"`} , C"0HC?D I.i.@JS iJSF"3fB rB`..@. P CJU JJF6B8BtBGTBwJ AhC`}@v@i.)  ,""").aJ.@ Hb9#B6JJb AC`FCG@ZkBGb@Zk8!Z@`BGCChbtG@Zk),  " H0 D8 D ).0JQ0J4@BrPJ2F)>" ?Ei."tJjB`.8J@BA G_. #J/*#j/*"J.YKj.[ yKJ.*,7J¦[G.BBJS qJbJJA *H" #FCAFCJ /F$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1mp"3vJG@ZkBGb@Zk`B Z@hbGCtG@Zk(1A AA@ @ A@$ .Gq!JGF>T]tJ0@BT]d.tFd> @4GP@Tݢ&fA0B81C8bG B>GGtG@Zk@GG 4GH}3_!b0`@H}AB0"!bCCTG@ZkBbG,Z@@Zk8ݠG`BCtGhb@ZkEb_c8`D 4G@G"TG)!CCG4G@ݴG@btGBGp!bCC@ZkBbGPc @ZkCCTG @!- GmIGE= _E*-fHP@! &E*= @$d!! `G ,, ,"l"@ H < E .@"PJ > EL.RQJL> E.TJ> n=!A /0@X K!A ??eETp[Gz@ 0AI/IfSI.vI&AfSH*1ADDpŴt% ,E <=}! +DG0pB*7AI`E"xb1vJC C^4G~ G(GGGG@Zkh`$vHh@DhtGB !bCC@ZkBGb@ZkBGh%TGb@ZkjGš?!()'I Ť &H@ Ŵxe`mA,e, E*GI E,` C0}CpBG Axb1v`HGGG G(@Zk,š%Pݠ.1Ah&ELݱ@Gb T]!PXC`}C^"Ì@G!`}CCG¤@GLT=x PXC`}C>àbc GC@tGBb@ZkBbG@Zk@]@G@B8 H]bCC@ZkBGb,Z@@Zk8@G`BChbtG@Zk0ݤpBGxbG1vHGGG G(@Zk<} CBGbG`GtG@ZkCBGbGGtG@Zk8D$ʂ hŰ G`B ChbGGGtG@Zkh%Dhšʂ!E7 à@btGB!bCC@ZkBGb@ZkBGh%TGb@Zkh0bTGBh%bC@ZkhG0]4G B(b0v@I@ZkGhPBXb8D@Zk4GG] ](}08@ݤHPX=`]h}pxݥ#kG#?$~'^?! ^#~޴>^~޵G# G@= @=D]H}L4G糵UB C@}(BPC6`H0b9`HTA@a!@6C!B !A0HATG@Zk*, ."=C H(BP J0b2?J0DsHCSF.G.GGJW JG F CX]G@Zk "BCbTGG@ZkG]@G"\G ?$@'C$] G`X]TATBHBDg!PbTAp".CCJGFFtGx}@Zk' 0C8BC@@b1vHGTGG G(G@Zk'!v H'DCh'xBGb2&JT1$JFJ&J2BJQB=Cn"`GGGG@ZkG0=8BG@bGT1v HGGG (@ZkÀݡTݱ"ݡG"(C"4G47I0."8B F@b4B4G1vJ> G G(GGG@Zk0=8BG@bG1v HGGGG (@Zk'!v H'D'!BbM@C=GtG@ZkB@Gb! 2 BCCtG@ZkBQ@bCGTG@Zk.GBu@JbTJ!I@F>CGTG@Zk.GBu@JU@bTJCF>GTG@Zk ''"(BC0bC!?HTG[! '@ZkB I@bCGGtG@ZkD\=@hB".0@1ChBFbWJ>2NZ#CBXB9JxC08CGv$J3CFH=sBSuB3B`C@ZkBbGGGG@ZkXB4G`b4G@Zk(B 0bR@CGTG@Zk ,\2O@'C HB0B\DbC GCG@ZkXB`bGB!@ZkLݠC'' F4Gh]GG_h} 4Gݡ nB.Jr"_KAX#8/#C:KC?GV lG,;,HA ;HD? !+@ @_ .1"`AJP@0F8F.R"JTJ4BuJF>l]#'!bC.GZ#CJBBD  , tG H@Zkl]' BGbC.R"tGJC@Zkl=G"hbCBC,! s"bCHG@ .Q J >C=G@ZkXBG`b@ZkL A@(BGC0btG@Zkl,%,%".e"HA %HGJD @4@SJt@FrA@BwHRAG'@." /")/i#JI/KY 7K5JPGB5J[KC@),)""1H0D i.UBUBtJ@B2`J6`J`@B @B HB #/`/K[ yKGC@GUBX]UB@}5JUCGl]cBh`./ B"JbC"D"D /C)/G.R" KY )KJGCCG@ZkXB`bG4G@ZkL!A@(BG ~=  C80btG@Zk4G/, .).I. HP Jl hb JݢR @JB0Db2F1D /)/ps"." KY )KCJGCCGCG@ZkXBG`b)A@@ZkLݠ(BGC0btG@Zk4G./ ' BJbPJ Fq!JGF>" !@Zk8¤GHBtGPbPA@Zk&GxtGHBPb AG@Zk&G(B0bCb),b pITGA H0Db)<!A@ZkǠ%1@@G1'l BtG# bY`0,G"0HC B@ZkSh¥ =CABIH!bCCCGGG@ZkXB`bG @ZkCBCbG)tG@Zk)vHݡG  A}dHX).-IrHB#HbQ)JE2F)>CCCC@}CGGGG@Zk8`!@C2vHGLݡ/A@GCtG(B0b@ZkG Gl%-e,!-% %IC eHGI #E).A0 A t AHFoAw I BQA'@@ G@}P=r.".".2#tJ/JW J3bJFvB3aJKCR/r# [KCG`-SBSsBIA@0H Ha!@@ @ H B"..JW JFC@SBXݢSsB3aJBG # / `/)1 AABGK[ yKG A?]z `ZA-Z#IA4GB`"bР@CGtG@Zklݡ.-!.I @),A)H)CCCC ACGGGG@Zk8`!@C2vHGL)A@GCtG(B0b@ZkG Gǡl-%-% ,%"II %IGHE A2@Jt@RF pA `AwH KAgg@."."/s#JS/JPX K9JF7C9!K[KC@3-3 "!I/D 3.Y?CY9C0J J+JRB`ArRB @ HB"/`/K[ vKGC@GY?CX=Y9C@9!K 9AG@G  . `-5YJvJ!JK aIF+FC D@G#s/4J3/3GJB8BxKY 8KaJyGx`K@b+JxF@G1JH'PB +BpB/?I+pAEH'P+aIP"B @" .C /G TG JY KC9F(GGG@Zk/vID'GBbTG @ZkBGg!BM@bCeIR`I) IG +A ,E4 GtG@ZkB @ Gbk!C2 ACtG@Zk'Cl=ChbC.Р@.4G,k!BJW J}! bF޶C^H@ZkXB`bG)A@@ZkL}G(BCtG`0b@Zk.1AA2} 4G=G?"Hh= QA0 @h=8FgG4G`}cG4G`_G4G`[G4G`ݶWGU`lCh"CBMX/x# 9#[KBCbCGG@ZkXBG`bb!G@Zk'CBCbG) tG@Zk*vHݠoH  AaHX¥j-#HB,IoDbKjIC aEj=CCC AGCGGG@Zk8}` @C2v`HGGL.A@GCtG(B0b@Zk`'!hBCBCh]J!bCCG@ZkXBG`b,A@@ZkL}`G(BC`0btG@ZkpݤTݡCxBGf,G- bGfHO ItG oD C@ZkH") 8 E?0]4GBb0v@I@Zk\G]]}ݤ=]}ݥ #k4G, PARSE_ITEM4b# PARSE_ITEM4(@, PARSE_ITEM4DGXDECC$GXSPRINTF4Hb#DECC$GXSPRINTF4T@XDECC$GXSPRINTF4XGhPUT_DISP4`b#PUT_DISP4 `$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m"d@hPUT_DISP4pG PARSE_ITEM4|b# PARSE_ITEM4@ PARSE_ITEM4G PARSE_ITEM 4b# PARSE_ITEM4@ PARSE_ITEM4G PARSE_ITEM4b# PARSE_ITEM4@ PARSE_ITEM4G4 PARSE_ITEM4 b# PARSE_ITEM40@4 PARSE_ITEM44Gh PARSE_ITEM4<b# PARSE_ITEM4d@h PARSE_ITEM4hG PARSE_ITEM4tb# PARSE_ITEM4@ PARSE_ITEM4G PARSE_ITEM4b# PARSE_ITEM4@ PARSE_ITEM4G PARSE_ITEM4b# PARSE_ITEM4@ PARSE_ITEM4G< PARSE_ITEM4b# PARSE_ITEM48@< PARSE_ITEM4<Gp PARSE_ITEM4Db# PARSE_ITEM4l@p PARSE_ITEM4pG PARSE_ITEM4|b# PARSE_ITEM4@ PARSE_ITEM4G PARSE_ITEM4b# PARSE_ITEM4@ PARSE_ITEM4G PARSE_ITEM4b# PARSE_ITEM4 @ PARSE_ITEM4G@ PARSE_ITEM4b# PARSE_ITEM4<@@ PARSE_ITEM4@Gt PARSE_ITEM4Lb# PARSE_ITEM4p@t PARSE_ITEM4tG PARSE_ITEM4|b# PARSE_ITEM4@ PARSE_ITEM4G PARSE_ITEM4b# PARSE_ITEM4@ PARSE_ITEM4G PARSE_ITEM4b# PARSE_ITEM4@ PARSE_ITEM4G4 PARSE_ITEM4 b# PARSE_ITEM40@4 PARSE_ITEM44Gd PARSE_ITEM4<b# PARSE_ITEM4`@d PARSE_ITEM4dG PARSE_ITEM4lb# PARSE_ITEM4@ PARSE_ITEM4G PARSE_ITEM4b# PARSE_ITEM4@ PARSE_ITEM4G PARSE_ITEM4b# PARSE_ITEM4@ PARSE_ITEM4G$ PARSE_ITEM4b# PARSE_ITEM4 @$ PARSE_ITEM4$GT PARSE_ITEM4,b# PARSE_ITEM4P@T PARSE_ITEM4TG PARSE_ITEM4\b# PARSE_ITEM4@ PARSE_ITEM4G PARSE_ITEM4b# PARSE_ITEM4@ PARSE_ITEM4G PARSE_ITEM 4b# PARSE_ITEM4@ PARSE_ITEM4G PARSE_ITEM4b# PARSE_ITEM4@ PARSE_ITEM4GD PARSE_ITEM4b# PARSE_ITEM4@@D PARSE_ITEM4DGt PARSE_ITEM4Lb# PARSE_ITEM4p@t PARSE_ITEM4tG PARSE_ITEM4|b# PARSE_ITEM4@ PARSE_ITEM4G PARSE_ITEM4b# PARSE_ITEM4@ PARSE_ITEM4G PARSE_ITEM4b# PARSE_ITEM4@ PARSE_ITEM4G4 PARSE_ITEM4 b# PARSE_ITEM40@4 PARSE_ITEM44Gd PARSE_ITEM4<b# PARSE_ITEM4`@d PARSE_ITEM4pG PARSE_ITEM4|b# PARSE_ITEM4@ PARSE_ITEM4GDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4GPUT_DISP4b#PUT_DISP4@PUT_DISP4G SINGLEMSG4b# SINGLEMSG4@ SINGLEMSG4 ( GH STRINDEX4 4 b#STRINDEX4 D @H STRINDEX4P G DECC$FOPEN4\ b# DECC$FOPEN4 @ DECC$FOPEN4 G DECC$GXSPRINTF4 b#DECC$GXSPRINTF4 @ DECC$GXSPRINTF4 G PUT_DISP4 b#PUT_DISP4 @ PUT_DISP4# G DECC$FGETS4$ b# DECC$FGETS4# @ DECC$FGETS4  G( STRINDEX4  b#STRINDEX4 $ @( STRINDEX4 H G` DECC$FCLOSE4 P b# DECC$FCLOSE4 \ @` DECC$FCLOSE4 h G DECC$STRCPY4p b# DECC$STRCPY4  @ DECC$STRCPY4 G OTS$MOVE4 @ OTS$MOVE4 G DECC$STRLEN4 b# DECC$STRLEN4 @ DECC$STRLEN4 G OTS$MOVE4 @ OTS$MOVE4 G` SYS$PARSE4, b# SYS$PARSE4\ @` SYS$PARSE4x G DECC$GXSPRINTF4 b#DECC$GXSPRINTF4 @ DECC$GXSPRINTF4 G PUT_DISP4 b#PUT_DISP4 @ PUT_DISP 4 G SINGLEMSG4 b# SINGLEMSG4 @ SINGLEMSG4! G SYS$SEARCH4"  &i$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m;w"b# SYS$SEARCH4! @ SYS$SEARCH4 G< DECC$GXSPRINTF4 b#DECC$GXSPRINTF48 @< DECC$GXSPRINTF4< GL PUT_DISP4@ b#PUT_DISP4H @L PUT_DISP4L Gd SINGLEMSG4X b# SINGLEMSG4` @d SINGLEMSG4  G DECC$STRCPY4 b# DECC$STRCPY4  @ DECC$STRCPY4 G SYS$ASSIGN4 b# SYS$ASSIGN4 @ SYS$ASSIGN4X G SYS$QIOW4l b#SYS$QIOW4 @ SYS$QIOW4 G DECC$GXSPRINTF4 b#DECC$GXSPRINTF4 @ DECC$GXSPRINTF4 G PUT_DISP4 b#PUT_DISP4 @ PUT_DISP4 G SINGLEMSG4b# SINGLEMSG4 @ SINGLEMSG4 GTDECC$GXSPRINTF4,b#DECC$GXSPRINTF4P@TDECC$GXSPRINTF4XG DECC$STRLEN4`b# DECC$STRLEN4|@ DECC$STRLEN<4GDSMG$READ_COMPOSED_LINE< 8b#SMG$READ_COMPOSED_LINE<@@DSMG$READ_COMPOSED_LINE4tb# DECC$MEMCPY4G DECC$MEMCPY4@ DECC$MEMCPY4G DECC$MEMCPY4b# DECC$MEMCPY4@ DECC$MEMCPY4G DECC$MEMCPY4b# DECC$MEMCPY4@ DECC$MEMCPY4 GH DECC$MEMCPY4,b# DECC$MEMCPY4D@H DECC$MEMCPY4PGt DECC$MEMCPY4Xb# DECC$MEMCPY4p@t DECC$MEMCPY4b#SYS$QIOW4G$SYS$QIOW4 @$SYS$QIOW4HGlDECC$GXSPRINTF4Tb#DECC$GXSPRINTF4h@lDECC$GXSPRINTF4lG|PUT_DISP4pb#PUT_DISP4x@|PUT_DISP4|G SINGLEMSG4b# SINGLEMSG4@ SINGLEMSG4GDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4GPUT_DISP4b#PUT_DISP4@PUT_DISP4G(SYS$QIOW4b#SYS$QIOW4$@(SYS$QIOW 4!<GX SYS$SEARCH4"@b# SYS$SEARCH4!T@X SYS$SEARCH4%lG| SYS$DASSGN4&pb# SYS$DASSGN4%x@| SYS$DASSGN4GDO_ABORT4b#DO_ABORT4@DO_ABORT4G PARSE_ITEM4b# PARSE_ITEM4@ PARSE_ITEM4G SINGLEMSG4b# SINGLEMSG4@ SINGLEMSG4 ,G@ DECC$FCLOSE4 0b# DECC$FCLOSE4 <@@ DECC$FCLOSE4HG\DECC$GXSPRINTF4Pb#DECC$GXSPRINTF4X@\DECC$GXSPRINTF4\GlPUT_DISP4`b#PUT_DISP4h@lPUT_DISP4G8SYS$QIOW4b#SYS$QIOW44@8SYS$QIOW4\GSYS$QIOW4db#SYS$QIOW4@SYS$QIOW4GDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4GPUT_DISP4b#PUT_DISP4@PUT_DISP4G SINGLEMSG4b# SINGLEMSG4 @ SINGLEMSG4 G8STRINDEX4  b#STRINDEX4 4@8STRINDEX4LGtDECC$GXSPRINTF4Tb#DECC$GXSPRINTF4p@tDECC$GXSPRINTF4tGPUT_DISP4xb#PUT_DISP4@PUT_DISP4G SINGLEMSG4b# SINGLEMSG4@ SINGLEMSG4 GSTRINDEX4 b#STRINDEX4 @STRINDEX4GhSYS$QIOW4b#SYS$QIOW4d@hSYS$QIOW4GDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4GPUT_DISP4b#PUT_DISP4@PUT_DISP4G SINGLEMSG4b# SINGLEMSG4@ SINGLEMSG4GSYS$QIOW4b#SYS$QIOW4@SYS$QIOW40GPDECC$GXSPRINTF4<b#DECC$GXSPRINTF4L@PDECC$GXSPRINTF4PG`PUT_DISP4Xb#PUT_DISP4\@`PUT_DISP4`GSYS$QIOW4hb#SYS$QIOW4@SYS$QIOW 4TGSYS$QIOW4b#( SYS$QIOW4@SYS$QIOW4G8SYS$QIOW4b#( SYS$QIOW44@8SYS$QIOW4GDSYS$QIOW4b#( SYS$QIOW4@@DSYS$QIOW4 HGhSTRINDEX4 Pb#( STRINDEX4 d@hSTRINDEX4|GDECC$GXSPRINTFYJ3$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m"4b#( DECC$GXSPRINTF4@DECC$GXSPRINTF4GPUT_DISP4b#( PUT_DISP4@PUT_DISP4!G!SYS$QIOW4!b# SYS$QIOW4!@!SYS$QIOW4X#G#SYS$QIOW4d#b#SYS$QIOW4#@#SYS$QIOW4#G#DECC$GXSPRINTF4#b#DECC$GXSPRINTF4#@#DECC$GXSPRINTF4#G $PUT_DISP4$b#PUT_DISP4$@ $PUT_DISP4 $G$$ SINGLEMSG4$b# SINGLEMSG4 $@$$ SINGLEMSG4/L$G$ DECC$STRSTR40T$b# DECC$STRSTR4/$@$ DECC$STRSTR4$G$DECC$GXSPRINTF4$b#DECC$GXSPRINTF4$@$DECC$GXSPRINTF4$G$PUT_DISP4$b#PUT_DISP4$@$PUT_DISP4$G %SYS$QIOW4$b#SYS$QIOW4%@ %SYS$QIOW474%GX% SYS$EXPREG48<%b# SYS$EXPREG47T%@X% SYS$EXPREG4p%G%DECC$GXSPRINTF4|%b#DECC$GXSPRINTF4%@%DECC$GXSPRINTF4%G%PUT_DISP4%b#PUT_DISP4%@%PUT_DISP4%G% SINGLEMSG4%b# SINGLEMSG4%@% SINGLEMSG4%G%SYS$QIOW4%b#SYS$QIOW4%@%SYS$QIOW4&Gl&SYS$QIOW4D&b#SYS$QIOW4h&@l&SYS$QIOW4&G&DECC$GXSPRINTF4&b#DECC$GXSPRINTF4&@&DECC$GXSPRINTF4&G&PUT_DISP4&b#PUT_DISP4&@&PUT_DISP4&G& SINGLEMSG4&b# SINGLEMSG4&@& SINGLEMSG4&G'SYS$QIOW4&b#SYS$QIOW4'@'SYS$QIOW4,'GT'DECC$GXSPRINTF44'b#DECC$GXSPRINTF4P'@T'DECC$GXSPRINTF 4T'Gd'PUT_DISP4X'b#PUT_DISP4`'@d'PUT_DISP4d'G'SYS$QIOW4p'b#SYS$QIOW4'@'SYS$QIOW4;'G' OTS$DIV_I4<'b# OTS$DIV_I4;'@' OTS$DIV_I4'G(DECC$GXSPRINTF4'b#DECC$GXSPRINTF4(@(DECC$GXSPRINTF4'(G( PUT_STATUS4((b# PUT_STATUS4'(@( PUT_STATUS4/$)GD) DECC$STRSTR408)b# DECC$STRSTR4/@)@D) DECC$STRSTR4)G)DECC$GXSPRINTF4)b#DECC$GXSPRINTF4)@)DECC$GXSPRINTF4)G*PUT_DISP4*b#PUT_DISP4*@*PUT_DISP4P*Gp*DECC$GXSPRINTF4X*b#DECC$GXSPRINTF4l*@p*DECC$GXSPRINTF4'p*G* PUT_STATUS4(x*b# PUT_STATUS4'*@* PUT_STATUS4*G*DECC$GXSPRINTF4*b#DECC$GXSPRINTF4*@*DECC$GXSPRINTF4*G*PUT_DISP4*b#PUT_DISP4*@*PUT_DISP4*G+SYS$QIOW4*b#SYS$QIOW4+@+SYS$QIOW4+G+SYS$QIOW4+b#SYS$QIOW4+@+SYS$QIOW4),G8, SYS$DELTVA4* ,b# SYS$DELTVA4)4,@8, SYS$DELTVA4P,Gh,DECC$GXSPRINTF4X,b#DECC$GXSPRINTF4d,@h,DECC$GXSPRINTF4h,Gx,PUT_DISP4p,b#PUT_DISP4t,@x,PUT_DISP4x,G,SYS$QIOW4,b#SYS$QIOW4,@,SYS$QIOW4 -G.STRINDEX4 -b#STRINDEX4 .@.STRINDEX4 .G,.STRINDEX4  .b#STRINDEX4 (.@,.STRINDEX4S4.Gt. DECC$STRCAT4T<.b# DECC$STRCAT4Sp.@t. DECC$STRCAT4x.G.OTS$MOVE4.@.OTS$MOVE4.G. DECC$STRLEN4.b# DECC$STRLEN4.@. DECC$STRLEN4.G.OTS$MOVE4.@.OTS$MOVE4.G / SYS$PARSE4/b# SYS$PARSE4/@ / SYS$PARSE48/GP/DECC$GXSPRINTF4@/b#DECC$GXSPRINTF4L/@P/DECC$GXSPRINTF4P/G`/PUT_DISP4X/b#PUT_DISP 4\/@`/PUT_DISP4`/Gx/ SINGLEMSG4p/b# SINGLEMSG4t/@x/ SINGLEMSG4/G/DECC$GXSPRINTF4/b#DECC$GXSPRINTF4/@/DECC$GXSPRINTF4/G/PUT_DISP4/b#PUT_DISP4/@/PUT_DISP4_/G/SOR$BEGIN_SORT4`/b#SOR$BEGIN_SORT4_/@/SOR$BEGIN_SORT4!/G$0 SYS$SEARCH4"0b# SYS$SEARCH4! 0@$0 SYS$SEARCH451G01COPY_FID461b#COPY_FID45,1@01COPY_FID4U01GH1SOR$RELEASE_REC4V81b#SOR$RELEASE_REC4UD1@H1SOR$RELEASE_REC4W d$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m"X1Gl1 DECC$MALLOC4X`1b# DECC$MALLOC4Wh1@l1 DECC$MALLOC4Wx1G1 DECC$MALLOC4X1b# DECC$MALLOC4W1@1 DECC$MALLOC451G1COPY_FID461b#COPY_FID451@1COPY_FID452G 2COPY_FID462b#COPY_FID452@ 2COPY_FID41(2G@2 DECC$STRNCPY4202b# DECC$STRNCPY41<2@@2 DECC$STRNCPY4!x2G2 SYS$SEARCH4"2b# SYS$SEARCH4!2@2 SYS$SEARCH42G2DECC$GXSPRINTF42b#DECC$GXSPRINTF42@2DECC$GXSPRINTF42G2PUT_DISP42b#PUT_DISP42@2PUT_DISP4]2G3SOR$SORT_MERGE4^3b#SOR$SORT_MERGE4]3@3SOR$SORT_MERGE4Y3G 3 SOR$END_SORT4Z3b# SOR$END_SORT4Y3@ 3 SOR$END_SORT4[(3G@3SOR$RETURN_REC4\03b#SOR$RETURN_REC4[<3@@3SOR$RETURN_REC4 P3Gp3STRINDEX4 X3b#STRINDEX4 l3@p3STRINDEX43G3DECC$GXSPRINTF43b#DECC$GXSPRINTF43@3DECC$GXSPRINTF43G3PUT_DISP43b#PUT_DISP43@3PUT_DISP4[3G3SOR$RETURN_REC4\3b#SOR$RETURN_REC4[3@3SOR$RETURN_REC4Y4G(4 SOR$END_SORT4Z 4b# SOR$END_SORT4Y$4@(4 SOR$END_SORT4 4G4STRINDEX4 4b# STRINDEX4 4@4STRINDEX4 4G4STRINDEX4 4b# STRINDEX4 4@4STRINDEX4S4G@5 DECC$STRCAT4T5b# DECC$STRCAT 4S<5@@5 DECC$STRCAT4H5G\5OTS$MOVE4X5@\5OTS$MOVE4\5Gp5 DECC$STRLEN4`5b# DECC$STRLEN4l5@p5 DECC$STRLEN45G5OTS$MOVE45@5OTS$MOVE45G5 SYS$PARSE45b# SYS$PARSE45@5 SYS$PARSE46G$6DECC$GXSPRINTF46b# DECC$GXSPRINTF4 6@$6DECC$GXSPRINTF4$6G46PUT_DISP4(6b# PUT_DISP406@46PUT_DISP446GL6 SINGLEMSG4@6b# SINGLEMSG4H6@L6 SINGLEMSG4d6G|6DECC$GXSPRINTF4l6b# DECC$GXSPRINTF4x6@|6DECC$GXSPRINTF4|6G6PUT_DISP46b# PUT_DISP46@6PUT_DISP4!6G6 SYS$SEARCH4"6b# SYS$SEARCH4!6@6 SYS$SEARCH4W7G7 DECC$MALLOC4X7b# DECC$MALLOC4W7@7 DECC$MALLOC4W7G7 DECC$MALLOC4X7b# DECC$MALLOC4W7@7 DECC$MALLOC4508GP8COPY_FID46D8b# COPY_FID45L8@P8COPY_FID45X8Gt8COPY_FID46`8b# COPY_FID45p8@t8COPY_FID41x8G8 DECC$STRNCPY428b# DECC$STRNCPY418@8 DECC$STRNCPY4!8G8 SYS$SEARCH4"8b# SYS$SEARCH4!8@8 SYS$SEARCH49G8: PARSE_ITEM4$:b# PARSE_ITEM44:@8: PARSE_ITEM48:Gh: PARSE_ITEM4D:b# PARSE_ITEM4d:@h: PARSE_ITEM4h:G: PARSE_ITEM4p:b# PARSE_ITEM4:@: PARSE_ITEM4:G: PARSE_ITEM4:b# PARSE_ITEM4:@: PARSE_ITEM4:G: PARSE_ITEM4:b# PARSE_ITEM4:@: PARSE_ITEM4 :G;STRINDEX4 :b# STRINDEX4 ;@;STRINDEX4<;GT; SINGLEMSG4@;b# SINGLEMSG4P;@T; SINGLEMSG4 `;Gx; DECC$STRCPY4h;b# DECC$STRCPY4 t;@x; DECC$STRCPY4x;G; DECC$STRLEN4;b# DECC$STRLEN4;@; DECC$STRLEN4;G; PARSE_ITEM4;b# PARSE_ITEM4;@; PARSE_ITEM4K;G;LIB$INIT_TIMER 4L;b# LIB$INIT_TIMER4K;@;LIB$INIT_TIMER4;G$< PARSE_ITEM4 <b# PARSE_ITEM4 <@$< PARSE_ITEM4a$<G@< CLI$PRESENT4b,<b# CLI$PRESENT4a<<@@< CLI$PRESENT4L<Gp<DECC$GXSPRINTF4`<b# DECC$GXSPRINTF4l<@p<DECC$GXSPRINTF4p<G<PUT_DISP4x<b# PUT_DISP4|<@<PUT_DISP4e<G< CLI$GET_VALUE4f<b# CLI$GET_VALUE4e<@< CLI$GET_VALUE4g<G< DECC$ATOI4h<b# DECC$ATOI4g<@< DECC$ATOI4e<G= CLI$GET_VALUE4f<b#  CLI$GET_VALUE4e=@= CLI$GET_VALUE40=GH=DECC$GXSPRINTF48=b# DECC$GXSPRINTF4D=@H=DECC$GXSPRINTF4H=GX=PUT_DISP4P=b# PUT_DISP4T=@X=PUT_DISP4g`=Gt= DECC$ATOI4hh=b# DECC$ATOI4gp=g$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m"@t= DECC$ATOI4e|=G= CLI$GET_VALUE4f=b# CLI$GET_VALUE4e=@= CLI$GET_VALUE4=G=DECC$GXSPRINTF4=b# DECC$GXSPRINTF4=@=DECC$GXSPRINTF4=G=PUT_DISP4=b# PUT_DISP4=@=PUT_DISP4g>G> DECC$ATOI4h>b# DECC$ATOI4g>@> DECC$ATOI4$>G> SYS$ASSIGN4,>b# SYS$ASSIGN4|>@> SYS$ASSIGN4>G> SINGLEMSG4>b# SINGLEMSG4>@> SINGLEMSG4>G ?SYS$QIOW4>b# SYS$QIOW4?@ ?SYS$QIOW48?Gl?OTS$MOVE4h?@l?OTS$MOVE4|?G? DECC$STRLEN4?b# DECC$STRLEN4?@? DECC$STRLEN4?G?OTS$MOVE4?@?OTS$MOVE4?G @ SYS$PARSE4@b# SYS$PARSE4@@ @ SYS$PARSE48@GL@DECC$GXSPRINTF4<@b# DECC$GXSPRINTF4H@@L@DECC$GXSPRINTF4L@G\@PUT_DISP4P@b# PUT_DISP4X@@\@PUT_DISP4\@Gt@ SINGLEMSG4h@b# SINGLEMSG4p@@t@ SINGLEMSG4!@G@ SYS$SEARCH4"@b# SYS$SEARCH4!@@@ SYS$SEARCH4 @G A DECC$STRCPY4@b# DECC$STRCPY4 A@ A DECC$STRCPY 4 AGHA SYS$ASSIGN4,Ab# SYS$ASSIGN4DA@HA SYS$ASSIGN4 PAGpA DECC$STRCPY4\Ab# DECC$STRCPY4 lA@pA DECC$STRCPY<cAGASMG$SET_CURSOR_MODE<dAb# SMG$SET_CURSOR_MODE<cA@ASMG$SET_CURSOR_MODE4BGMMOVE4>lb#  DECC$MEMMOVE4=m@m DECC$MEMMOVE4@mG\mDECC$GXSPRINTF4Hmb# DECC$GXSPRINTF4Xm@\mDECC$GXSPRINTF4\mGpmPUT_DISP4`mb# PUT_DISP4lm@pmPUT_DISP43xmGmDECC$GXFPRINTF44mb# ?DECC$GXFPRINTF43m@mDECC$GXFPRINTF4nGnDECC$GXSPRINTF4 nb# DECC$GXSPRINTF4n@nDECC$GXSPRINTF4nG0nPUT_DISP4 nb# PUT_DISP4,n@0nPUT_DISP4oGoSYS$QIOW4ob# SYS$QIOW4o@@oSYS$QIOW4pG pDECC$GXSPRINTF4pb# DECC$GXSPRINTF4p@ pDECC$GXSPRINTF4 pG0pPUT_DISP4(pb# PUT_DISP4,p@0pPUT_DISP40pGHp SINGLEMSG4@pb#  SINGLEMSG4Dp@Hp SINGLEMSGA4pGpSYS$QIOW4pb# SYS$QIOW4p@pSYS$QIOW4qGqDECC$GXSPRINTF4qb# DECC$GXSPRINTF4q@qDECC$GXSPRINTF4qGqPUT_DISP4qb# PUT_DISP4q@qPUT_DISP4 rG(rDECBC$GXSPRINTF4rb# DECC$GXSPRINTF4$r@(rDECC$GXSPRINTF4(rG%%DFU-]S-DONE, %s : %d files; was : %d/%d, now : %d/%d blocks=(%%DFU-I-TOTAL, %s : %d files=PD%%DFU-I-TESTONLY, %s : %d files; old size : %d/%d, new : %d blocks =8/%%DFU-E-WRITEERR, Error writing directory %s,P=( Choose a higher fill factorp=q%%DFU-E-EXTERR, %s cannot be extended,%%DFU-E-LOWFILL, Directory entry too large, choose a higher fill factor^=0" Version: %d, FID : (%d,%d,%d)=@7Size: %d, Version limit: %d, Type: %d, Name(%d): %.*sH=(DUMP of directory block %dh=8.%%DFU-E-READERR, Error reading directory %s,=@4%%DFU-E-INSFMEM, Error allocating %d pages memory =H:%%DFU-E-INSFMEM, Error allocating %d pages memory for %s=8-%%DFU-W-INVDIR, %s_ is not a valid directory@=8.%%DFU-E-OPENERR, Error opening directory %s,p=8)%%DFU-S-CREATED, Created directory %.*s=@1%%DFU-E-NOTCREATE, Error creating directory %s,=8) %%DFU-I-READY, DIRECTORY command ready=8/%%DFU-E-SYNTAXERR, missing required qualifier8=(Use VERIFY/DIRECTORY insteadX=8-`%%DFU-W-OBSOLETE, This command is obsolete,=8,%%DFU-E-RATIOERR, fill factor out of range=0%%%DFU-S-MOVED, File %s defragmented=0%%%DFU-E-NOTMOVED, Error moving %s, =0& %%DFU-I-READY, DEFRAG command ready0=@1%%DFU-I-DEFRAG, Start defragmenting file(s) ...h=PG%%DFU-E-ILLIOFUNC, This function not supported on this version of aVMS=0#%%DFU-S-DELETED, File %s deleted =8*%%DFU-E-NOTDEL, Error deleting file %s , =8)%%DFU-E-NOTDEL, Error deleting file %s,8 =@3%%DFU-E-NOACCESS, Error accessing file for deletep =0#%%DFU-S-TOTAL, %d file(s) deleted =8* Progress : 100%% Status : READY =wo%%DFU-S-DELETED, File %.b*s;%d deleted Progress : %3d%% Status : Deleting directory (%d files done) 8 =H9%%DFU-E-JUNKDIR, Corrupted directory (byte offset 0) %sx =0" %%DFU-I-CLEANUP, Deleting %s... =pe%%DFU-W-NOSUBDIR, no subdirectories found in this tree%%DFU-I-PARSEDIR, Parsing directory tree... =8)%%DFU-I-PARSEDIR, Parsing directory ...8 =0& %%DFU-I-READY, cDELETE command ready` =@3%%DFU-E-ERRFID, Incorrect File id on command line =XI%%DFU-E-NOFID, Missing /FILE_ID or /DIRECTORY qualifier on command line =2*%%DFU-S-ENTERED, File %.*s entered in %s = indexed= streamcr = sequential0= streamlf@=fixeddH= streamvfcX ;=Modify %s ? : DO_ABORT SYS$ASSIGN DECC$FOPEN SYS$PARSE7DECC$GA_RMS_FAB= new_name= backup_date=creation_date= updatedirectory=revision_date= vfcsize =eprint(= fortran8= rvcountH=ebyteP ;=p1` STRINDEX DECC$FCLOSE DECC$STRCPYSYS$QIOW ;PUT_DISP; PARSE_ITEM=0 ;= P 7T$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1mH"ef;;DECC$GXSPRINTF SINGLEMSG DECC$MEMCPY;8OTS$MOVE= ` DECC$STRLEN SMG$READ_COMPOSED_LINE! SYS$SEARCH= eblockrecsize= implied= bucketsize=(maxrecbadaclconfirm=(lockedexpiration_dateg=log=none7DECC$GA_RMS_NAM=r0# DECC$FGETS% SYS$DASSGN7 DFU_ASSIGN;=uich= undefinedx= nospanvariable= relative=ident=direct' PUT_STATUS=h) SYS$DELTVA=%s%s is empty ;+ DECC$STRNCMP=] -SYS$FAO/ DECC$STRSTR1 DECC$STRNCPY=%s X=0 pt;=  3DECC$GXFPRINTF;5COPY_FID;=%.*s =[i7 SYS$EXPREG=.DIR;=9 MAKE_LIST= [000000; OTS$DIV_I=0 b;=(  .DIR;1.DIR;= DECC$MEMMOVE=> ף=0 ];=@< ? SYS$CONNECTA SYS$CREATE7DECC$GA_RMS_RABCSYS$OPENjE SYS$CLOSEG SYS$WRITE=empty=format7 DFU_NOPRIV=w= SYS$OUTPUT: =dump(=:0= devicestatisticsH=ratioPILIB$SHOW_TIMERKLIB$INIT_TIMER=0p S;=< M DECC$STRNCAT7 DISPLAYk_STAT=createtest= truncate= SYS$COMMAND= compress= version= outfile OBUILD_DIR_TABLE = allocate0=alias8=check@=0 M;=P|  l;=0 O;=< =0p (F;=  file=5.5Q SYS$GETSYIW=lbn= besttry= writecheck=0 ;=p =0( X";=  .DIR@S DECC$STRCATm USOR$RELEASE_REC= ...]*.DIR;1pW DECC$MALLOC;=0 H-;=@ ;Y SOR$END_SORT[SOR$RETURN_REC=.]SOR$SORT_MERGE_SOR$BEGIN_SORT=0 h4;=( ]*.DIR;10 a CLI$PRESENT=H = noremovenX =.DIR;1nologp  cSMG$SET_CURSOR_MODEe CLI$GET_VALUE=00 (9;= g DECC$ATOI ;=keep =tree = FILE_ID =i DECC$FREE= =0 X ;=0 =0 o;=P| x x= 4= 4=4=4=4=4=V4=4=P4=  4=. 4= : p4=.@ 4= 4=(4= 4= VX4=4=4= 84= 4= . 4=< <=P4A A=1q)( DFU_FILEDIRDEC C V5.2-003q q= 44= set_command4=  DS DQ DS DQ DT DT DU DU DP D\ DS >E =E =E >E @E ?E ?E H GP G$ $= z"4: := ,4=  d d= H-44= parse_treeH-4= CH CH CH CH CH CH VH VH YH CH \H \H YH _H aH aH bH gH hH iH hH hH oH lH mH oH tH |H }H ~H H{ H H$ H H Hn H H H H H H H H H @$ $= -4: := ,44=   = h44 4= parse_singleh44=\T H  H H H  H  H H H H H H |H H H H H H H H H H H H H H HK H H H$ H4$ $= 44: := 84=  = (94 4=delete_command(94= I I I I I I I}" I" I I I #I )I #I $I (I &I $I $I $I 'I ,I -I .I /I 1I 3I 7I @I DI GI JI JI JI LI QI QI RI VI VI VI WI `I `I aI cI jI kI jI jI kI kI kI qI~ wI xI xI  I I I ~I ~I I I I I I I I I I I I I I I I I  I  I  I  I  I I I I I I I I I I I I I I I I I Iu I I I  I I I I I, I 3 I@$ $= 94: := E4=   = (F44=defrag_command(F4=JB I I I I I I I I I J I I I J J J J J J J J J #J $J &J (J (J (J .J 0J 3J 7J 6J 5J 9J :J BJ BJ IJ LJ WJ WJ _J TJ  gJ; pJ pJ pJ GJ24$ $= F4: := M4= ' '= M4@4= move_to_lbnM4= J J J J J J J J J J J J J7 J J J J J4$ $= N4: := N4= HB B= O4h4=movefileO4= J J J J J J J J J J J J J J J J JK( J J J J J J  J  J J J J K K K K K K KS K K K K "K J $ $= lO4: := P4= N N= S4p4=directory_commandS4= )K )K )K )K )K )K )K )K )K =K K =K M =M =M >M =M :M  JM KM KM LM QM QM MD MH _M ^M cM M  'M 'M TM iM jM mM rM tM yM xM }M }M M M M M M M M M M M M M M M M M L M M^ M M M M M, L  MT$ $= b4: :=  t4= X^ ^ = pt4X4=scan_directoriespt4= MP MQ MP MQ MP MQ MP MR N N N N MT N N N N N N N N N N !N !N !N .N /N 9N 9N 9N >N >N DN AN DN DN IN KN XN VN YN UN XN YN XN YN ]N dN dN dN fN fN fN iN iN mN mN oN mN rN qN oN oN qN qN xN }N {N xN {N }N N N N N N N N N N N N N N N N N N N؂ N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N2 N N N N N N N N N N N N N N N N N N N N N O O O O O O O O O O !O O O $O %O 'O 'O (O 'O )O (O 'O 'O 'O *O 4O 7O 7O 7O 7O ;O ;O ;O ;O ;O =O ?O EO HO HO HO HO MO MO MO MO NO NO NO PO PO PO SO ZO ZO ^O ^O ^O ^O ^O ^O ^O ^O bO gO 9O2 N N oO N pO oO N  yO uO uO yO yO yO |O }O O O O O O O O O O O O O O O O O3 O O O OP$ $= u4: := 4= h =  5ww1,(4sV1.0FF DFU_IFSCANV1.022-AUG-1996 11:40DEC C V5.2-003  $ABS$i$CODE$ $LITERAL$w$LINK$H$DATA$(h$BSS$ $READONLY$FIRSTLIST DYN_ARRAYCTRLC  SOR$GK_RECORD  SOR$M_STABLEKEYB_IDTCHANROWSCOLLSDISP1_IDPASTE_IDLBNSTARTLBNCOUNTTRIGGER SMG$ENABLETRACE_ONOUTBUFIOCNTBLOCKHEADER DECC$FCLOSEDECC$GXFPRINTF DECC$GXPRINTFDECC$GXSPRINTF DECC$FOPEN LIB$EXTZVLIB$FFCLIB$FFSLIB$FID_TO_NAME LIB$FREE_EF LIB$GET_EFLIB$INIT_TIMERLIB$INSVLIB$SHOW_TIMERLIB$SUBXSOR$BEGIN_SORT SOR$END_SORTSOR$RELEASE_RECSOR$RETURN_RECSOR$SORT_MERGE DFU_NOPRIV DFU_EXPREG DFU_ASSIGN DFU_INDEXERR DFU_EXHFAIL DFU_IOERR(JCLEANUP0JxCOPY_FID0JHxDISASS_MAP_PTR0J ADD_ITEM8J@READ_INDEXF_BITMAP0J FID_TO_NAME0J  OPEN_DEVICE0J`GET_NEXT_HEADER0J DISPLAY_STAT PUT_STATUS0JDO_ABORTPUT_DISP0J PSEARCH_COMMAND0J PARSE_ITEM8JREAD_INDEXF_MULTI8JGET_MAP_POINTERSSTRINDEX SINGLEMSG DECC$STRCPY SMG$SET_CURSOR_MODESYS$QIOW0Jh VERIFY_HEADER0JFOLLOW_EXTENTS DECC$MEMCPYSTR$MATCH_WILD DECC$ATOL DECC$STRLENSYS$FAO SYS$ASCTIM0J /REPORT_COMMAND ADD_USAGE REPORT_USAGE SYS$ASSIGN SCAN_BITMAP0J PR UNDEL_COMMAND0J DFU_HANDLER ADD_QUOTA DECC$STRNCMP SYS$DCLEXH SYS$EXPREG READ_BITMAPREBUILD_BITMAP DECC$STRNCPY DECC$STRSTR SMG$READ_COMPOSED_LINE DECC$MALLOC SYS$CANEXH SYS$DASSGN ENTER_FILE DECC$FREE0Jz MAKE_SYSLOST0Jh~ MAKE_LIST0J@VERIFY_COMMAND NEW_BITMAP CHECK_USAGE8JXREPORT_LOST_FILES SYS$DELTVA SET_BITMAPCOMPARE_BITMAP SCAN_DIRECTORIES DELETE_FILE REMOVE_FILE0JBUILD_DIR_TABLE CLI$PRESENT CLI$GET_VALUE DECC$ATOI DECC$MEMSET DECC$STRCAT SYS$BINTIM PARSE_UIC SYS$GETDVIW FLUSH_CACHESYS$QIO SYS$WAITFR OTS$DIV_UI OTS$DIV_I =#G~^^G0;G({@[dC!GGH{ pG2vJ@ZkpBTGxb4G@Zk 0L@PBtGPGXb1v H@ZkG]4G] #k#TG~^^~ G;Gh{[! {CC@Zk0B8bG@ZkB bCCTG@ZkBTGb4G@ZkG]]} 0#k?&@@#&~8%^&@%^1"H%~O"P%U"X%_&`%޴R"h%$p% x%>G%^%~%%%޵%%G#({ۤ4GG=c H=j@8hC#!?H@L}&?@=0]_& 'R"]{#`}_&@b?R"P&X]_&s"(}#  R" ] ""T}P \{#dݰ""C =3Y@}C]"C<]C4C}`"CC,3$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m"Y@$=GDݲCCGGb#0@8D@B" HbCCGtG@Zk4@X=TG0v H2?H4B@wJ.s JSFVJF>X=]#%b#C]"}" GC%CT]GCCtGb#X0@Ә= ]"}"CT=[@CCCtGb#K0@}"0W@CT}CGTGb#A0@=8 D6 ]"}"H@CCC4Gb#40@C !E@]"}"GCCC4Gb#&0@C =8F8 D0DJ } BF`@CBTGb"C@Zk`BGhb@Zkb#<8@m H@]"}"GCCC4Gb#/@C` !E@]"}"GCCC4Gb#/@CR =8F8 D0D } B`@BCbTG"C@Zk`BhbG@Zkb#8@6 ]"W@CGCGGb#/@!U@`}"GCCC4Gb#/@C X@}"GCCC4Gb#/@C !^@X}"GCCC4Gb#/@C _@}"GCCC4Gb#/@C H]"" CCCGTGb#/@@]"^@CGCGTGb#/@8]"![@CGCGTGb#u/@0]"]@CGCGTGb#k/@(]"!]@CGCGTGb#a/@ ]"!T@CGCGTGb#W/@]"!H@CGCGTGb#M/@]"" CCCGTGb#C/@h]"J@CGCGTGb#9/@0]"!L@CGCGTGb#//@0=8 D C0"G0J@CC4Gb# /@C M@0}"GCCC4Gb#/@Cv G4G0=K@CG(}"GCGTGb#/@(=8 D C("G0G@CC4Gb#.@CV S@(}"GCCC4Gb#.@CI 4G(=1R@CG}"GCGTGb#.@Ӱ]"U@CGCGTGb#.@!P@]"}"GCCCGb#.@O@]"}"GCCCGb#.@!N@]"}"GCCCGb#.@Q@x]"}"GCCCGb#.@Ӑ" `]"}"CCCCGb#.@X" X]"}"CCCCGb#.@Ӡ" p]"x}"CCCCGb#.@h" h]"p}"CCCCGb#t.@x"H}"CT=CCCGTGb#g.@x" P}"TGCCCCGb#[.@Ӏ" P}"GCCCCGb#O.@P" P}"GCCCCGb#C.@" P}"GCCCCGb#7.@0" P}""CCCCGb#+.@" P}""CCCCGb#.@8" P}" "CCCCGb#.@Ӱ" P}"@"CCCCGb#.@$@"H" CCCCGb#-@@=4G8 D PB"CCCP"GG&CݲGb#-@ӈ" P}"&CCCCGb#-@ " P}"&CCCCGb#-@" P}" &CCCCGb#-@0" P}"@&CCCCGb#-@" &}P"CCCCGb#-@ӈ=4G PHB"T}CC8"CGGCGb#-@8=@"8}"C CCCGb#-@CD%TG@"B `1"bC@Zk`BGhb@ZkBG%TGb@ZkG0=H"B ""bC!?HC#@0=TG@Zk]"0 CCCGGGb#`-@=]"x"C CCGGb#T-@H"="" =B4GbC C]TG@ZkB# ""b CCTG@Zk@ Hp@@@0vJp@P.RPJP>Bh"#c"bH"H"X"h"#CC>CCCCCG@Zk%hC D%!DB="B}"CbRCGG^GG4G@ZkBbGGTG@Zkbè%!D%GB8Fb@ZkC%hb#GpGq"DG%"/@b#5@Aà"4Gb"pC!TGB BbGG@Zk"Gp%@AXQA 2I3IXŲq1BrB1QB1!J8Dq@߱"ߑX#C8FF2vJCC0B(ݡG@b8EE s"!I0IQABq1B!1@!!HCa@A"C0HBACGBbG@Zk`BhbG@ZkCG b#2@? C@"tG8EB 7H1"b`@@C@Zk`BGhb@Zk @"CBtG/7Ib! o@AC@Zk`BhbG@Zk@"Ԟ BC/7Ib! o@ACtG@Zk`BGhb@ZkC@tGB/7I bC/ICo@勒I@Zk`BhbG@Zk@CBtG/7Ib C/ICo@$O@Zk`BhbG@Zk@"CBtG Ib!IOA @oA @ H`1"`@C@@Zk`BhbG@Zk@"CBtG Ib!IOA @oA @ H@1"`@C@@Zk`BhbG@Zk@BC]tG  bC@Zk`BGhb@Zk 8Epb#2@pTGl%{X=hQB8 D@¦< 2J0J}q1BpBB0Bb0J"p@C߈CB @Zk`BhbG@Zkb#2@C*GXEGdG=27AJpB0B@B^@8b 1@_"^B1vI G(4GG@Zk? _"BCCbA!!H11A!H#F}!1 @0!H!7!H(A(1A(I2@I@AAC%1@GGGG@Zkt!D=" /.O.0JR PJ2F G4"4@8D@ 4.7/JX KFCFF=0A:/ 8 G :O/!o/ GAKhKA=(B CGGb#(5@0A]HB@?@@C 4G]?"..F#%G"JV JB/"FXŢVF.G/,B,JCO.0HF!"H[B :J(7J{{CB0B7B8bw@HR QJw!!H67JD @B`BTB" 1@B1vJG4GGGG@ZkMA@-vIDC@"BTGb! C@Zk`BhbG@ZkB%GbTG@Zkb#1@CJGG4@8Dm-.!./#/ IU Jo/O/JX K.E/.(IFyKZ YK7J/ (IJQ !JzG7JAFC B@ o. 1A!.oJT JtF`F9Ap8CA0]/":"@/,Cb#1H=:.GJ4Gz4@BZ/@P4/ 8D4.7/.]JH}Q !JF2D=`CF@`Go#BO#8G G//B,C.;KH=9"KP J9!KD CD H="8 D o..tJV JvF`8]<"8@F @<.?/x}JX KFCuG04GC]G8FG3@,O#/,CGHA :HCDGb#4@= 0@= !B (ݢF"PBh"XbCGGtG@Zkx|# PBCXb&ApHTGDtG@Zk@Bh " HbCCGtG@Zk8=qH0?HF8}%% G!8`F(`G"@#P]CWB5נJwBBC;_KBP5CCG&KGa KTGaGP=bT@Zk=]0 @=0 @ D AB4D?e lF~%% G!8F(G"@ݢ=#P}CXB6JxCB6C0KbPVCCTGFKq@KBFPGTݲG@Zk=]0 @=0 @ D AB4D?e lFP(h"8 "@BC8FHb5vJCu@Gh5/Y5Kh5?tG@ZkB`@i bC4G@Zk= @3  B/} B"P"(b8`F`"ACCtG@ZkT] @= BP]"(b"A 8ECCtG@ZkT]@ B= P]"(b 8E#ACCtG@ZkT]@x= BP]"(b#A 8ECCtG@ZkT]@.) 2I" 8E. .1).JQ !J =FC 2i.5.rJT JtFC@ B`"P"(b%ACCtG@ZkT]@X= BP]"(b%A 8ECCtG@ZkT]@x&) *I" 8E& .)).JQ !JFC *i.-.rJT JtFC@ Bp"P"(b$ACCtG@ZkT]@ph= BP]"(b$A 8ECCtG@ZkT]@.) 2I" 8E. .1).JQ !JFCC 2i.5.rJT JtFCC@&"*)#8F&.) /JX KFCCu*I/-i/YK[ yK[GCCm ] Ah@Bc= =A^ }`BY]j@8]ݢ}=BBrC7Cݲ0@]8@Gb#C@*@Bj@b4G@ZkH]pH@= GB!_Ib55jA0DCH= 0}G4vH`FGB@Zk`M75jAGFC"`]!H=!GCCCGG@*5jAB Gb,vI8DEGA@Zk`M/5jAGݢECC޶CCGGGG@G4G0B8b@ZkhG`B9h]hbG*v@I @*-I*I*=@ZkhC C0BG,vI8bC @mIL-CGJLIG MEL=` H@`@Zk!=C@BCG h]Z|{$DFU_FREEWARE_024.A`9n=7c:Ӫ\ Z@ &4__dKS뉚NJfT)f:|dp[,lkJSug!X; pV}S0yuP:L IPhǒw` &Ԝaje )PWcQz"|h |l٫t3\LD^m*D'&pU 27oz}+#fe'i\H*sii2cn fY~wN\,l.Uՙ.)#K1D2a*ܗm-[ D.ѩ>퓡kmLVN$# FF󨌙Hջ@+O*b)7e-];Ń HN-攄ːm? ?29m- .P |wBbPMͳ S?*Ϙ$/(oͩ Uh/ '{g6QT!hMC"_կg_]I#O;Y+yc>Hj:Mԋcw.6r  10ns倍#ϧ/sPKxJ3Dl=LhrZ fgJJa]hi{ss &LMV7Ulk t<‍VVt972@ UTFbZi1CpSgt;\hTpnv/S BEN>ďn$Cʦ?'$@;8DFfdTU)+@QRk["nׯz r^iAE|*\ĸVJv= kv)_M<߰X DO3.amIS-4CzCeB{< *1%}"n-\|`pkxD*ώo"^t|{3z: l"y^TWep#aʠ^W򵈸P3$rXγ?A Kb%2W)~I]nh(z ?z2]a6G2;jd?r 6P(NsKA'0}#U54_We)ֆo3b]q;bj6QP D" @M;Bb?"-8",ӌ9% ƍxubeS7<1ӢdP@)5_nz,9^ʆS@|e\ϛvQ? Imt^x[cPm[@-+h+^LV|wF/HvJ`1W K^\ w5(.\sqO[E}۝@Ld7C,R^`%mNN1DufGy8]S3\cu Sf-N`CLuwd v3H[z\#x!K!O(h+dIXB/MvҦ/b3[@]#T\&gլLHajV64 2&5?-Ow8HOǦQ깅 ӽyQrcYt^&WUWb}X@nUv(1權+=(iعYRK(R1Oہ6$opǬOE6{☦Ă+k647jTž2Yi¿B"rw1dk ?Vu VR.??e =#>,Ē\ Nŀ:L/;箣B:yBpÆ0jG-n2اȖ-R2tdL|#P.Tu o" [< 2\'@!M\m^PIVmѣ6QũU& &A /15&cCDP+W6$8dxw >E`],v4#Rp!%Ƕ@Ydln?fJ)z,/ey*W9k2cVebbȑCC1}z}j:w12K-JCi/c]Jn-^YNߞ< ڜ@lrK| AeTZG}ARCKtSN@.1jyZ;)^Ecvb͎G\ۋRbu?ق>V5(egRJ* ;ۏG[C:&UJǟgK0w꬙Nנ=  REԇU Gfj).7kff|M ġ^TjFYƿ*=N0DխRTqփ'#n",ZR8",P3?Eh!֣#b袢xDwiIeuXp'߳;/F|Jjq(]W j3"#BfuJ17&_ aL<< 'Oδ&9DqKrCM@/ O:ǸC93W΁ „~PjE)>Ǐ}%)d杁 [f6zW g%1Ml0k?k6}~S^F '/eQ1Iþr?i99eCj EE eE@e 8@u,蕓鹙 y,2}g2V l<-39_-x\ IkO|vUN]Z$p?G CbS #- T['It)VJqjaN& //1ǡIl١E\Mj6˕ܧI䮅y>+%~G:}e.oiq(_eҞ4oN;V| l\ Kl3]Mkxym@øLC@ Nbz6u`svKRfD)\ַDsu],0럑W1j׭PpvDXVhA 8EQbo8[0$ԕw A;ORx" $mE&͝߿_$XytM$).ϲR*r ueӈ2e)e(^W9 C8yB˄ATa~UL~2(|JqrOL&d詅WZs']jm*}_Q䝶 ,,жwU7 gIgybd8*;kmWHSun"' mMEƃl 9so5\?OK@IJ3Prt y Qfk@a *C#K08׮WZ-Ӿ&dua\05G35aEYoF$J 聚tEg۰Z+Ԩ]C)e2~0y ,fY4pcqb7D};-m>YTߖ4蘙N˾ Ap7EɊ- VlF^ePŷ{QpfUuE6'e,{$~9' vʶ[xR8O3RYQ( JA$cwkLO)ԍȀs]@*'Zb`'&裧yL1ee܎7#tڶ{ZP6¥T_c^^ۡR2MQg֣e&/)bEcO^rPEEjI4'gޢI5uc*O-a{>'C&;3֨vV踞 Mbpކ5i &}hMcTȚ6!x bq^Q@!ۙ%eF}e]an.KX0MRKKGN M@<5db6Dl?ֱyɆٷ _KXCE`Yul-).n5ɚvs$#EgugI]\Y? aZ7*,6ePnuݸAs2Mf-©QM}m߳OP%^n[h ;/E|3g:>70\VAĂbNgs04q{̸&]|j9S޼sάЙj> p8k "`a4 4T6LwJM 8/t׭7Xu[VtG"L5RMS \~ΨˉcAsZ©.Ud)sj &Xi9_r @$O:w#-ǿA"|Y Z_wFO7^W_rm\KtZ C *f70*<=qLNZNjBʌ1$`_<?ZYmH{{3!"M+ 5aәTL8g<1ntrrJsE;7u:@TMuDy`D,J d[p43k!ʙ 8fa돺Cjeۓ$n!R]O1m7sriZR-Y߮Np˸v"(y Nz(JgXJ5AEM0h5^-bT;zϼTFhW;{GmmNlDY֪Gx5fP շg<=VKfECScXʆd߸E(jsfdN¤a5@)'AoAq- _e2!= `8iⳭlzڎym[~"ЫJp>88db'3qH}H0 G{* tć48kAPUpF[FÛL&gpfRs1ލg#L!U}㤌HXA /q.:'M>is1`mpӁӧjKT7CKeFI- :1D,w+DQdj:G?'oRKnx$'b m6hiy De4G~ctH(`ȋT_p2f7+$"܄v40wX Ǯea`5vQg |Ǐ9C#= `^HSdUa E(emdg7m|6}Y^%ƿbdX0zWO=x єix.RJ1Lb ?7k <7 v#ԣFeA=Bg /Ijh DJMȬ՜K؋޸;֢'SZB݇C[mcy8c^s_-D[LRgg z2>zȅ0+[NL?!=zIC}ᵩh,l $ 9RuhMQ%8.~ŵQkٞg0 2|&i^Ao@'ԑ4~\C5v&9rs0G :P-sRCq+ЎΞ1h;^HV uEN=XԀ{*#V!Dy6*Sw^8ђzHςUx{V%p ~ p锛gZs[@]˅LKdtw2WHB+îDZSӈÅwғYLW#ƈ!c)R]Z9B֠ *04߽)9^* _ѱG"Nހ>"8K! -Fq HIsxS6aypuQb{$I=`̤Ϣj|r)G#3v=Oa[B ARjQ"vXe/B$<$^ML\#PZ|ton!Y4y hwl D%5C 3`cԅ.E:SqQP/}%G:rRbqI_roTtO<|q@YSf.$C7-K$q*?חn&TSC濵 uGn8m{Fu{r GdOpOJ@S6$QO 3JPZq4tK{$UNO#񏄍]&[IVHK~F̠'2{X*!Κޟᇬ 2z;Poud)&y;XcLg&=9Jױ LQX`cfbs8'}Gj3n_lxE$q_NPn#}z(5=e^br7aocg̻3{]#'mz_~JL}^rت `~.m:nX҅>rϲ *{E]b[/ O6v8!DئX ͩ0:! #z3:2 J_R\EeAeڤauQҮ*:W}G)=·qteUYa1ʮ[mĻ6wهu (L> 9o]Sl3{.#˩/F/;&7xX G!8+nox'28TБR|3_D(`Lekaka͋|yFqJi~t6"O /Nf#n'97[hp|'!צeZvBl$睊8 fl2X4Ԁ_rR؁uA Bbuܾ>p I\X-sgla"E22ŇQ&̜]>U)>6m&r f)8!5܎Ttj2km"v%m2n+A3m=^'AdpAn?g{p#=2YMiwd]ѥH2zr`Wtshy1niD.8K7s+hrke+bP@Ue=|+uS [0"Po)P|F^2c%)q ]U\9D+ fZ5Pry]SIm yDo|v;.O[]9F%Z-wJ2j@$0K8#UOo!DJm}˙(...c\bDz-Pv5M9W n>SmV7&CLܯUhO EH{- bm4ݍcBG}/= Wy,8%)d[)-8λ,ZKD+Z-,D~Fs2ǣfQ[Òa&zk\TFV]W<,;&Ԩ }} ֳ&P#q%йպaJ)GnvGoPǾzq`TcQ :J|\:h_SW;pL Lp+$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m"Hb2v@I@Zk`b#-I A`#/@CCG`=ChGBG,?IbjITGE`@Zk`b#-I A` /@+CzG@BBC!!HbCCGtG@Zk 0@B j@B!b" CCCtG@Zk`BGhb@ZkP @BCCHbtG@ZkG-G B.B/ C/.D"@BIJD.Q !JE. HF/Z#bFCB HJW JF/#BC"K@CFCGG@Zk`BhbGPB!@ZkC@BCtGHb@Zk<O-?,<!0BCLI8b@  HG@ECCCGG@ZkE "o. #,@I .1@I /,J_A0jJA O/ ,B //*A@b0HoJT J*AI!"HtF j@ .!!HJ !6vJOKBJ޶Y 8K3@"P{# SACFCb21@ACG@Zk`BGhbP!@Zk]@BCC@HbtG@Zk0!@"CBG,Ib(! ЃA0C.G ,GP!J@ HF@Zk`BhbG@Zk]@BCC@HbtG@ZkB(!b"ACCGG@Zk(BC!X!b2vICCCG@Zk`BhbGP!@ZkC@BCtGHb@ZkBb#ACCGG@Zk(B!B!b2vICCCG@Zk`BhbGP!@ZkC@BCtGHb@Zk&I-)-&!* !@"MIBL Ib" LE C @* ,1"-),CCHA (HTGDC!@ZkBh!bCCCtG@Zk`BhbGP!@Zk]C$@GB$AbCCGG@Zk(]!B!bC2v@ICCG@Zk`BGhbPB!@ZkC@BHbCtG@Zk.-. !1-2I!@""IBM Ib1"EC2 ,C5),CTG HA *H!DC@!@ZkBbCCCtG@Zk`BGhbPB!@ZkC#B%AbCCGG@Zk(C!B"!bC2vICCG@Zk`BGhbP!@ZkC@BHbCtG@Zkb#b-@CC@TGB GbX!8EC@ZkBb4G4G@ZkBJ!bCCGtG@Zk`BGhb@Zk% 4G( 0 Ap峬5A% PEpw%! G`B 0@AhbC4G@Zk)! LAQEcG"0b#8F _h@"CBTG 8EbU G)!C@Zk`BhbGJ!@ZkBGb@ZkCBbCTG@Zk`BGhb@ZkBG%TGb@ZkB`!h!bCCTG@Zk GhG`B!hb(vI@,DH<@Zk@BCCh}HbG2v`I@ZkBCbCTG@Zk BPB!bCCTG@Zk`BGhb@Zk0}C@G}`h ]C G@CG} !C]Bb@Zk`BGhb@Zkb#-@}GBGBG 8`Eb`G@Zk4GG8%]@%]H%}P%X%`%ݤh%p%x%=%]%}%%%ݥ%%%#k?&O1"PP#'~=^# =^&(=~?"0=8=@=޴H=P=X=>`=^h=~p=x==޵===^=~G{#[" /=CPc ۤ# Pc"CCP CG==4G }C=GGݰGG {#$}F%@8DB" bCCGtG@Zk4@=TG0v H2?H4B@wJ.s JSFVJF>=C9H@CGGGGTGb#!%@CO@GGCGTGb#%@CM@GGCGTGb# %@CK@GGCGTGb#%@C" GCCGTGb#$@!G@GCCCGb#$@Ӱ="=="8 D d"B" B"(bCFCTG@ZkC CGCGGGb#$@=C" GCCGGb#$@=" B""4G(b CC]TG@Zk# B""(bCCTG@Zk Hp@0vJp@P.RPJP>"#@Bc""Hb"""#C>CCCCCCG@Zk%CG D8F% B(b@ZkC%Gb#q#D%&@C"4G4Gpb"!CXTGB BbG@Zk"Gp%@=2H; 3HQ@XŲq1BrB1QB1!J8D q@!8ኢ#C8FT2vJCC0A ðC0JC0A CGG B(bGG@ZkBGb G G@ZkCGb#)@ӘG G GCG堰" B@@(b!H'H`@@  @ Hx1"`@@"C0@C@ZkBbG @ZkCBCtGb@Zk塰 BC/7I(bH o@ACtG@ZkBGb!@ZkBCCbtG@Zk堔!C BtG'7H(b g@@C@ZkBbG!@ZkCBCtGb@Zk堰|! BC'7H(b g@@CtG@ZkBGb!@ZkBCCbtG@ZkCtG B'7H!(bC'HCg@!礒H@ZkBGb@ZkCBCtGb@Zk堰C BtG'7H(b!C'HCg@̞G@ZkBbG @ZkCBCtGb@Zk塰"C BtG'I(b IOA@oA @ HX! `@C@@@ZkBbG!@ZkCBCtGb@Zk堰"C BtG/H(b HG@@g@ @ H(! `@C<@@ZkBbG @ZkCBCtGb@Zk BC`]tG (bC@ZkBGb @ZkBCCbtG@Zk@b# *@p? _"BCC@h!!Hb11@!H#F=!1 @0!H!7!H'@'1@'H2@H@A@CG$1@GGG@Zkt D./ /.:"/#JQ !J FG,@8D0@B8F:.Jݲo//AB6JgKKba!@1C0B@Zk /O"./ .//KO/V Jo.J.Y /K/.GF8K7JRKS rJJQ !JKJSGF CB o/!,41AoK@ H`GtG4.4/#7/,&]s"JA 9H]0AFC3DLBF] 'A D0CLC]@ "}4D! hCG0`C;D4Gp=ݲGG+@,O#/,CGHA :H0BDb#CGG,@%h8 D8FPF`0B!8 D=F0 C=E A]-qA;@K @KZ_C@zZC @ HGB`@< @BG5B A-qABpA0`Ap=D8 D D A YA G!o. . O#ݦ "oJU J7JuFx`JF} O. ,ZJ@ H@F v~JzS@JD -6HIh0JBwJF}w @<O"=#8`GaG <o.?O/CpGrJXbZ RKGzFPBCG@Zk@b#(@C0G`CTG BX (bC 8E@ZkPB4GXb4G@ZkOCTG5@A B(b LE@ C@ZkBGbB!@ZkBCCbtG@ZkC BGB! }]C(b@ZkBGb@ZkCBCtGb@Zk BC(bGP CtG@ZkBGbB!@ZkBCCbtG@Zk'u@$@ BC(bG !CtG@ZkBGb @Zk]BCC@btG@ZkC BG(btG!C@ZkBbG @Zk]CBC `?=tG@b@Zk BC]tG!(bC@ZkBGb @Zk]BCC@btG@ZkCBtGGJ!C GCG}P ]C BB!(b@ZkBGb@ZkCBCtGb@Zk BC]tG  (bC@ZkBGbB!@ZkBCCbtG@ZkC BtG]B! (bC@ZkBGb@ZkCBCtGb@Zk BC]G (bCG@ZkBbGB!@ZkCBCtGb@Zk BC(bG CtG@Zkݵ?'GC "}9#WG]B! BW(b` T` C@@UWB\@ZkBbG@ZkBCtGbC@ZkBBTB'7HGC'Hb bg@W"CTH@ZkG=BW `T@ T@T BP"(bG@CGTG@Zk BP!E@(b@TCGTG@ZkPC! B I@(bC@TGTG@ZkCT BP *F@(bCGTG`@Zk BP!?'(b0 B\CCC9#@ZkBbG!@Zk]CBtG@bC@ZkBbGG@ZkBC B G(bGJ!CGtG@ZkBbGB!@ZkCBCtGb@Zk BC(bTG C@ZkBbG@ZkBB!bCCtG@ZkBCb C CCGGGGGGG@ZkB bCCGtG@Zk_"(=`@C*I B'׀IݢLA(b@lA޶'@! @"(=g@C@3v HG@ZkBbG!@Zk]CBCtG@b@ZkBC BTG8D(bqw$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1mk"J!C@ZkPB4GXb4G@Zk B (bC'I*׀ILAGAlA'@g@@TG@ZkEC=G@B,@I'@IHbJ_A@jJA'@'H1?Hg@g"0HrH0vJ2FHPsBGGG@Zk4GBh"bGJA'I!׀I,7IjJA C,I'@ l@!*@!!Ha@ID@ZkG_B'BC "CHV^h}#B CCGCLVbR@IGGG@Zk8DU B(bCX CTG@ZkPB4GXb4G@Zk]CbTG6@8=,7I@Hhs" C B,I(bC l@B!I,LL8= LH@@ZkBGb@Zk=CBCtG b@ZkBC BtG'I(b)׀ILA'AlA'@'H8J!g@CDG@ZkBbG!@Zk=CBCtG b@Zk BC@]tG (bC@ZkBGb!@Zk=BCC btG@ZkEC@tGBG_A)@IB*@Ibg@ IA''A'HAAg@,Ia!@R"D'0AC@Zk B(bGGG@ZkBbG"!@Zk]CBCtG@b@Zk BCP]tG!(bC@ZkBGb"!@Zk]BCC@btG@ZkBC BG8} hJ!H](bC@ZkBbG@Zk=BCtG bC@ZkP GB@P=b@Zk GC BG(btG8"C@ZkBbG G@Zk BCtGbC@ZkEPB*7AI,1A CG}*AI@ j@WbJFI@Zk ` 1@G]WbbT@@TG_ BP"(bG@CGTG\P @ZkB B E@(bCbTGTG@@ZkB BPC!I@(bbTCGTG@@Zk BP! B*F@(bCbTGTG@@Zk BP ?'(b!c\CCC9#@ZkBbG @Zk]CBCtG@b@ZkC BTG 8E(b C@ZkBGb 4G!@Zk=CBCtG b@Zk4Ge!*@Ah = TGA/TG`TGQA@ZAK $FࢳSA{JRA[GdFA??Da.TGUADFA"Fu2JSrJ"uFa>?DA/{JA"uKZTKWA[GA?TG?Da.F"v7JSrJ uFa>Q@?D. ]"G(bCTJGF>! ,@_ BCGG@ZkBGb@Zk" BCCbtG@Zk0@" @ B(bh! CCTG@ZkBbG"!@ZkCBCtGb@ZkE"C BtG,@I(b'@IJ_A@jJA'@'H)!g@CDG@ZkBbGB!@ZkCBCtGb@Zk%]_%sJ! B' I(b, II?AAi)A'@'H 8O= g@CDCtG'HL*N@6H CG@ZkBbG@ZkBGCbtG@Zk0@8EphB!C BC(bTG@@ZkBbG@Zk 4GPE! GB 0@AbC4G@Zk! GAQFhG`"TGBbG%@Zkhb#Y%@\Ghb#T%@W`B4GCTG8D5A BD* G (bC@ZkPB4GXb4GX!@Zk!BCEG)I0+I}HAb iAhA((A(Ih@HcR`H@Zk BC(bCTG@ZkPB4GXb4G@ZkJb# 8@E@_hb#%@ӰC BTG(b C@ZkBGb@ZkGBG`BG8DbG@Zk4GG=] =](=}0=8=@=ݤH=P=X==`=]h=}p=x==ݥ==]=}==#k #?$~_&`^O! h^R"p~&xU"$޴ &?">TG^~޵G{#G =c ]k@u@$}y@ݲ C#C$ #(P 0C ],}4{G0[8{G@ZkG (# ""CC=CGC]4GGGGGb#Z@8DB(" bCCGtG@Zk4@0=TG0v H2?H4B@wJ.s JSFVJF>0=C"#CGCGGTGb#5@C!H@GGCGTGb#+@CJ@GGCGTGb#!@Ө$CG DK@$CGGb#@Ӑ=G(L@ BbTG0vJtGp@Cq.SqJq>G@ZkC"C`B" hbB"b"""C޶CCCCCCG@Zk$C D$0E@CCCGb#@ӈ=0F@CC CGb#@TGD$"@B (`1"HbC@ZkBGb@Zk0BG$TG8b@Zk _&R"C]C$=I@CCGtGb#@Ә=C@B1K@ HbTG@ZkB D@bCGGtG@Zk4@B " bCCGtG@Zk``@@.R@J@>5D@BCbG$}GtG@Zk =sH$GG"2?Jq"DSF 8F G$8ݲ@BHb@ZkC=b#?@@CÈ#TG"@B8 D( 1"HbC@ZkBbG@Zkb##@Ӛ`#TG"@BV"H(1"Hb C@ZkBbG@Zkb#y#@ӈÐ=0@PB4GP"G XbD@|$4Gd@ZkC "0BTG8bG@Zkb#_#@nG"TG(b@B! HbCpC@ZkBGb@Zk4G`=CG`=C@BTGHbT?B5 J1 JtB5B14Bq@81"C@Zk`0C`BG1Hhb2H@@`@QB  B`@5J`8 P@v`JGF0}GG@ZkE`=B=#b67!H2 HC4 HS?@v@ssBB@֦2SBr@J8"@Zk`" PBFXbTBHGBGGG@Zk#)`=BGbR?@3 H4 HrRBB2rBr@A8@Ⲣ8"!RBRJ@Zk `=D0 @`=2@?)GbTG0B$8bG@Zkb#"@G8¤TG0B$8bC@Zkb#"@GBC@BTGHbxJ!C@ZkBGb@Zkb#"@0 ""BCbTG,0 @Zk$p@!XĢ2I"3I0QA(q1BrB1QB1!J8Fq@8e!ⅢH9#C8FDC2vJC0hAG G"C(0hAEG! GCG@BHb@ZkBbG@ZkCGpb#@`b#)!@iGp&hd"l .+ +.4K"JQ !JX "F 4k.7.87K&rJT JCtFCUFFx8KPF8CPFKK@+, +.+HQ +J1D G0#@8Dݢ<"8F <+/? /P7KX K8GCFBy@bGGtG@ZkB{@bЦ@pHTGDtG@ZkBy@b4G @ZkBby@CGtG@Zk0vH=rHBp@b1?H.2FCTJ>CCGTG@Zk%?$! $Dxq`E2v Jp`EvWJ"JUJFWB +/ #z8JY8K4G:G +? G_|07I!IB IdC[A@p@{{C @@`@b4G GJG@Zk .+ +.D"J@Q !J  _=K#FFGk#W`RDBk.+/+,tJ+.:KEB;HVA 7I(8IvBC6Bv@Q ;J9"K1D!CbC@" 1@1vJHBG4GGGG@Zk CG@@'vHCD$B0"BP.C DQJDТ. . "6vJJU JCFTF@ / )/ GP/G"KY 7KPKGF i/`KF GDB+.B+ Ck.r!G@B!JHbS aJ"3F CCTG@Zk4G, PhAC4Gxb#!@0#:I IAAb)v I0#8@a!@@" @B'H8`@ C^TGPB B(1vHGG(GG@Zk) @BCHbCI$ATG@))v I$ @Zk4GMGB"!bCCGtG@ZkPB`@GXbr"`2 BCCtG@ZkB'O@bCGTG@Zk G ,Bq IH@bA HC1D <GTG@Zk ,GpHA H0D <G@B""HbCCTG@ZkBT@bCGTG@Zk x#@By HbC)?IC[)!x#TG@ZkBH@bCGGtG@Zk``@s s.PJs>=Gb (B@B0 B= s"HbGCCy@@ZkBbG@Zk=(CBtG bG@Zk G`=1K@ TG0B Eb ԭA  E=; "C@Zkp" C "C0BCG8bC޶CGGG (GG@ZkB !bCCTG@Zk!G " 0B!C8bC>CCCG (GGG@Zk G@B #!'L@HbCGTG@Zk  E 8E 8Ex<+"" 4Gc<K.?k.G+, G .QJS qJ+H SFP J C].0D.!&H`ݰJV J$HF5@G;7IdXAC9I:IxC{@YCB88C@{x@GfK8bGG@Zk0Ag+, . 'HP J0D G`k"K.+#K# /SJk/E ,KUA@B6I 7IuB*B 5B(u@zK@ H8K`GBCbC^@A$@_"^'1@1vJ(@G4GGGG@Zk CJJDA@J*v@I-$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m."DDCB"B!.C5m. . "0JDmJT J5vJtF3F .C / m#G!/G! JX K!KFF M/[K:D ?BBTG(4G@B J!HbGC@ZkBGb@Zk`b#pI@!CGTG( 4G@B G(!HbCC@ZkBbG )!@Zk0BG$TG8b@Zk@BCHbCTG@ZkBGb@Zkd`b#pd@ClGD4GXC@GX"@GBGAAb0I͢1Ia!@0B!Ba@HAAVBGGR@JR@J`!BG(7I >CTG(@ZkMA@-vIDX0AAXN"TG(b 4G@B G ! HbCC@ZkBbG` !@Zk0BG$TG8b@Zk@BCHbCTG@ZkBGb@Zk`b#pD䰹@CGTG(" 4G@BG( !HbCC@ZkBbG @Zk@BCHbCTG@ZkBGb@Zk`b#pd@mCGX$ 4Gd `-7I C A -- . -. I@" JQ -J HF @_ . "M.4"m"UJ >SJ4.`b#7 /AFAFJZ KX K:G'G 6KWJy6KGF7 ?4>C@Bby@TG@Zk4-.7M.4 " ? 0JT PJR PJtFaF pJQ0JspJTF3F7M>4->C"qFpFXKW C Xu#G_.U" .@#u.? .JQ JrJW JFFBT J JSrJvJF>vFu>XU"0CX .0C.u..:JP JrJW J0FFBT J JSrJvJF>vFu>X@# .u"@.0CF.:J.R ZJJY J2FFBV J JTJwJF>F>X@# ."`.0CF.:J.S zJJP J3F0G1CW J 4KVJy4KF>F>X5"@/0C .GF.@K.P JJY JPGFBV J JTJwJF> F>@XQA4`I6`IIq1B`]Bb1B>q@ZDC 27AJ1HCBAB^71B1v J(GGGGG@Zk)A$@@!!v H$D-"D"SM.m.-# "QJS qJUBSFH@xF`G. /-.Jm.K n=zEB0J `I !`I([A @{{C @`@bS pJ@8K3F CJBC21@B޶B^"޶1vHG4GGG@Zk_&CR"&RA!35B CJESE@4?Ju`JCF!BJ?D . "xVJWJF >-GG*B 4G("HbG Z#C@BGCTG@ZkBGb` @Zk0B$G8bTG@Zk@BHbCCTG@ZkBbG@ZkpD`b#@CgTG(!@B XdCHbC@ZkBbG+7aI@ZkD C+aI B (bHA(I AIX= (1A/I'7I/OA/1A/I@@I *1@ACOA CEh]G4GCXCCG@ZkC)GBG*7I Ib!I C OA( @oA*AI @ j@ HHJI$A`@ FI(AHA1vHGGG@ZkxC!C@BC(HbTG@Zkl#C0GpCj I`B/Hhb(vIE0G GG@ZkC"0BTG8bG@Zkp]BG}G0v@I=b@Zk@B!HbCCTG@ZkBGbF !@ZkBF,4G$4GHBDb@Zk G4GB4Gb(@ZkhI-e-e! HJ MIa HOI PEhI=Ee=(eq.h.eQ"rJT JtF(PhAբc"qFpF8zHBY;K:G8W`C@Gxb#9@$B E  - !OI = GF -F , P#I@HaHD <aAGxb#!@J$ TG4DHb, !k(IbJ#GHaIDej>@Zk`b# @CWÀ4Gb#8Dp_8GbTG ("@BXk!Hb0ACC@ZkpBxb4G4G@Zkp@B PE4G B0@bC4G@Zk  @d Q`Ed䡈" C@BCHbTGA@ZkBbG@Zkp䠥A_ Ð]b#@@B@b4G@Zkp}B4Gb0v`I@Zk8TG/I8-(@B  HbGC@ZkBbG@Zk@¥4G!CGNGGBGJDAbHA1vIGG 0@(!@Zk@M@G2c!CGO C@Ac -d,xb#, \@/CGxb#W@@By@HbTG@@ZkBy@b4Gc*!@Zk IE HϡiH`BEhb%I(IDb,b!I(#"H4E8D!I0IGABg@!'@a@C!CtG0v H@ZkGTG4G0B8be-e0!hP-IJ II E-@ZkġCݠGb#@)IG.IHAhA 8E@ A((A Ch@CGGxb#@( `BChbC0vIGtG@ZkXEB(y@@BtG GHbX J!CC@ZkBGb k!@Zk0B$G8bTG@Zk@BHbCCTG@ZkBbG@ZkMg_ 4Gb#@Ӑ"tG(¡ @B )!]GHbC@ZkBbG@Zk¤(TG@B HbGC@ZkBGb@ZkG0BGBG8D8bG@Zk4GG`]h]p}xݤ=]}ݥ#k 0@JFF GR>3tB<G80H?G:G8>Ð#_"~4G0^8^@~HPX޴`G# ;G[G(=({!8H1@(=C ]G@Zk=sH=C4 2?HbD#5?JvJCxBSFFC@GGGG@Zk, TGø$ ¤C$G$_&R"B2WDJb1!J4G2B$d"" C4JC޶J(C GTGGGG@Zk$!v H%4GD$Bb1&J&J@ZkTG{ $?&"0b"!>H0J1@ $6JD4GD#C2AJDd#CCCG5JTGBG$G^B9&K~b&KG ޴(@ZkĤ&vHŰTGDŠ"@"XBx1"`bGC@ZkBbG@ZkHB%GPbTG@ZkdB4Gb#fHfH@ZkTG(G $CB"^!&HTG^4G^Cb&H G(GGGG@Zk4GĤ Bb&HH@ZkCGGb#@4GG0]8]@}HPXݤ`p#kG#4G ~=~4G^^~ (G({G8[@{# @Zk "G b4G8B4G@b@Zkh$.e.e$ HQ !JrHPJ3Fh$>Fe>e.h.e"JW JFG]]} (0#k_&&#OR"~;^U";^&;~";?'; 9#;޴;;;>;^;~;<<޵<<G#xGG=H ݶ@ ]!?H$=@T @='{#}@G]G="C}T@p¤CC4G$?&P ?1"=(]8!0=G G,G4ݰGTGb#@C!O@GGCGTGb#@CR@GGCGTGb#@ `=0D BGx"TGb@ZkG CV@CGGGGGb#@8DBb bCCGtG@Zk4@0}TG!v`H1H4 @@vaJ.rJ2FUJF>0}8T@CCGGGGTGb#@CU@CGGGGTGb#@}4G`= =";]"_d1"2BB"7R@FCTGbG@ZkP@CCGGGGGb#@}C!G@`GGCGGb#y@}$ B4GbC`L@]TG@Zk}BN@bC`GTG@Zk(}#Hpa@(}(=!v H@!.Q!J!>D" B3M@C(b4K@G5I@GM@GW@CGG@Zkf$ CHBG`DfPbCL=GH}8FG#*Bb@Zk&_&R"Cq#D&& p$"1>J2Bp$tdx4JxP5JBPCGb#5CV@CA TG$"B8 Db 1"CC@ZkBbG@Zk4GG3@&B4G8F1v Jb@ |Ff@Zk @"BCbTGG@ZkHb#@ "4G4Gpb"!CxTGB BbG@Zk&8p@Gơ!xGX3I4IRA"rRB0B2rB2AJH @8F@寢!X 9#8FCC2vKC0AG ÐC0A8OG( !GCGBGb@ZkBGb@Zk`BGhb4G@ZkG@ Jv J/I ..נI.MABAbmA.A.IU JTJ@F >F>H.#4C\ CdXCXC8KG6KG0CG@Zk`B"ƦGNAhb!I0I/7InAC/IB!.@@!!HF@L\崢I@Zk¥@B0Hb"BƶJGG@Zk桐/7I #C/̼$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1mR"IC@/ Ȣ/Ғ J4v J@o&JfJ ` ТCԢϢآ7vIRIÐ !GCBbTG@ZkBbG@Zk ⠐B CbGtG@ZkCGpb#@ b#@p_"&?#V?BhVB6J2BG/,2AJB.BC.G"AJv/0HBo"JU J21@B!"HV#8AJ[zKFv? .!!Hv.88B81C 4@"27AJ8K pIU JapISpJKYBF@ >aFv>F V/RC / 6#lZ YK V?XK ?F6,v#v.B71 BA;HS {Jv>R!6<CCbCFCGGGG@Zk?$t! DCG@8D78Du o. / "¦GwJBX Kp "FGbCxF@ZkBGb @ZkCBtGbG@ZkB !bOCCCGCG@Zk b#d@4GoCGfCxC0B4G17aJݢ@BC!`J8b0`J`@޶1!JB  @ HH @@1d4G &JG@Zk@G" @. . Hs HR @JQ JTF3F @> >..J.W JXCF XC8K8Cx#,8"H@H4FpJ8b#DHCG@,/"/,o#PBPBO.Ho.A /H0JD HBQJS qJ .H .SF @ " 5IW Jx5IVJFF > >o"/,/.,;HQ ;JO.H1D!&HR SJ$HD @ .51A!.JP JFFx¦BGbGH"BtG@Zkx@BTGbtG H @p H$D @Zkx⤐BH bCH @GtG@Zk4.7/.4/ _&J"Q !J¢R" F CErFGW@Fx O#0 9#T_BTB4JH B"/C@XK? o.G o/GGzJ =[ zKBb!{Fb@ZkBGb@ZkCtGBGb@Zk(b#:_HbCG8b# h@e-E#% qHzI`.PJF>b.4Gb"vtJUJGFb>Dh%/e"e/ WJY 7K{WJXK'Gh%?Ge?G EB Ex# o. . / GBaJT JFH"b BtFCGG@ZkBbG@Zk" BCbGtG@Zk4,4!7/,@"x¦ " HBA -H"BH"DbCD  o. R" .GCFtJU JBuF޶GG@ZkBbG@Zk" BCbGtG@Zk4,4!7/, "& HA -HnR?BDCD MRRB2AJrB".JUJFvJF>HAHA(IhB"(// 7Jz7JY 7KXK;GG(??G&F B`E7 @xB 0A& F."HZ#bTCJB` ! D5FG=@bCGCGG@ZkBbG@Zk" BCbGtG@Zk O"5 o. .Gx "rJT JBH" ! FBtFbGCG@ZkBbG@ZkCBtGbG@ZkBCCb C4G}GGGCG@Zk4G<,<!?O- O"xGH"J MIBH"DbC o.! .BGrJT JFGtFCG@ZkBbG!@Zk]CBGtG@b@ZkF`孕`A @F MEf@ o. . / xGaJT JBH" btFB޶CCG@ZkBGbB!@ZkBCCbtG@ZkAMA jE @MA-I@ %, HA HTFpJ0D%<(b#=/ s_HBCG 8b#@JTGG .* qHxB EPJEF >bj"b.uSKe"B HTJyHFb>HR" _Eh /TBe.AAX KWJGFh ?bGe>tG@ZkF O!x¦F/ "@B rEB mEbY` ,F, "H"HHX1"DP o.B . GCtJU JGuFG@ZkBbGb!@ZkCBGtGb@Zk(b#2_HCG 8b#@mPAG`A8b#@FGx"tGm- zDIbb KdIG zEm=pHb-,eM" HBuHA HH1"0Db-<4B Eh.Aem.T JSrJFh>uFem>G@ZkFO-Fo!F KIgH@F-MI EF=F/ EF,Fo".HPBDPB0JFO.0BSJ."vTJP"UJF>F.JWJGxKF>4G`o!h=CO- C,GGKIE HG EE@b#@< !0BC8bGw@ <o-G?O-GheIJ EIjEC@Zk b#@(CU*vHHqD pDlIIMI EW AZ qDpDqrIPJFW@BV .e". HvHBU J"TJbF >F>8Z#CB GQGTG@ZkBbG!@ZkCBGtGb@ZkFxGpBtGL_Axb-@I*@IlA MA*LA*AIH! AdJ!CC@ZkfG`B!hbG$`I%`IHA+7aI@ ChA+aI$@ A$HkAdLfI@Zk @B0H b@氐JGG@ZklL- ,LIE HEE9GGBNAb)I@+I-.(7IM. iA.C.nA(I).AA)!Im"-JR MJJU J A2FFd CCI4G@Zk@]4GBb,G j-HK jIDC@Zk- -IH IEHb C "!BGkCIGbG~G4G @ZkG b# Xp EG@ Gp&TGhF4G% Gy@8Df0BC$7aJEB8b+`J.`JCe@ A$H%eAA%HGAdH@Zk b#@CWPBGXb@ZkTG¥"B!bCC@ZkBbG@ZkB&GbTG@Zke@Bo!HbCCTG@Zk [ _B CCbGCGCGGG@ZkB"!bACGtG@Zk}GϥB+`AA!b@}2vIRICCG@ZkBbG!@ZkݡCBCtGb@ZkBCOG obC@ZkBbGB!@Zk}CBCtG`b@Zk@B/!HbCCTG@Zk p= B4Gb@Zk@& 8C@Gx"G/7HB8DbV]C/IR@L@P`'H$׀H>H)!/A @(lAآϥ$@Ȣ$H.vI$A.7IP儠H.IGC1vH޵GG@Zk@f+v`IfDTGBb!BXJ!bCC@ZkBbG@ZkBCCbtG@ZkGTG"B  bGC@ZkBbG@ZkB&GbTG@ZkbTG¥ 8EBXk!bCC@Zk0B4G8b4G@ZkxCBTG*Hb'נHE@@e@%@H!A@@Zk&0C BG$ I(b/ II?AAi)A$@$H%HA$ 8DPdP3@G`@I#v`HPdD0GG@ZkBCbTG!C@Zk0B8b4G4G@Zk&G`Bhb% I' IJ?A)7!I@ CjJA)!I%@ A%H)ALPe&I&IG@Zk0BR`HݢGGTed%8b޶@ZkBCbCTG@Zk0B8b4G4G@ZkGFtGpBD_Axb/@I*@Id@ OA$DA$HAd CC@Zk&# I% II?A@i)A#i@#aHAd4G 8EpƱ*è4Gf pPD 0`AfO @B0@bC4G@Zk/  @?fQ`DfơH CbTGBAbG@ZkBGb@ZkFpLAE@CGTGB&bC@ZkHb#@G"TGB&bC@ZkHb#@GBGbGTG@ZkHb#|@wuTGB&bC@ZkHb#o@jG@bTGB&bC@ZkHb#c@^GHb#^@Y@¥ 4GfTGB 8Eb, G!CC@Zk0B4G8b4GXk!@Zk!x"CBG*HF%׀H}D@d@b@$@$HH)!$AP儠RH@ZkBCbCTG@Zk0B4G8b4G@ZkPb#@ӠBb@4G@ZktG"G4G 8EB7]()!]bC1@C@ZkBbG 4G@ZkTGC4D GGxBGBG 8EbJ!CGG@Zk`@ 0A0@ABCbTGX!C@Zk0B8b4G4G@Zkpb# 8E]=@}4GP`x䠭CL G%GBGLAbA1v IGG 0A( @ZkAnTG `Bx!bGC@ZkBGb@Zk${ H4GNGdGxGPBGeb!`@b,c!XbH HG8D -I-`I,`IKA AkkA+A @P1vH@ZktGxTGBb0-bP!bH!*IB E ҒI@Zkb-b!loHMI Eb=4Gx"GPB4Gbp-bP!H)!Xb4GjI)G x@E@ђ I@ZkX!Cb#bh,b!hHX`D8` }_xCGj!C8b#@]x"CG 8@E(@H)!" !CG8b# @%CG8b#@B4AbTGA@Zk@B4AHb4G@ZkjH B)!+I(bCjE'S$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m]"ВICGtG@ZkG%8b#xB%!b,b!HJ!Hj!DIC@ /WI Bj !(b,vIC A (*CtG C)9I(* ВI@ZkdfpJ!B CKAb @CђHhAG ^G(GGG@ZkdG@'H@@'vHDftG" `P)!BAbCGG@ZkBbG@ZkxbG8b#b-bh Hk!I `DE`H-"!ACGIZ@+!%CG8b#T@塇4DBtA-Hb#HATG@Zk@BG@m@Hbg@#g@tA4G@Zk]cA BlH(bPc(_I+!C E0v`HCGtG@ZktABtG( bGC@ZkBbG@ZkB&GbTG@ZkxBtGBbp,b!bHJ!hHJB`D+`Ғ@I@Zk8DtG"B!bCCA@ZkBGb@ZkGbtGBk!bCGA@ZkBbG@ZkB&GbTG@ZkB4Gbep,hP-e!hHJ HIjDd@Zk$?Ρb#_Hb#@ӐTGB!bGC@ZkBGb@ZkGBG@BG8DbG@Zk4GG;];];};;;ݤ;;;=;];};<<ݥ<< <#k0@I E E0`I H=FFà#TG~^^~޴> ^(~08@޵HPG ;#xۤG[CH! G{C ]C@Zk@BHbG@ZkF@ BGL (bCtG@Zkp 4GC(!=y!0@IP1@IA_Aa!@0B!BA 4GNLr". .JU JFC \`EPQWAWB C7#W/ "YK0@G8@GE@w/`KPDX F@ 7,D W.D0HR PJ2DCw."Y@DwJY9CHT@5H6׀HtBB4BABZ@ZZCCGBo//"!TGqKb 1`A"E"DF NCC"@1vJ޶@G 4G(GGG@Zk0B!8bCD@AGGtG@Zk0BC8bGpIЦ@ETGtG@Zk B (bCCGtGC@Zk d.C G!CCeJGGGGGP E =XDBY E EbU 31`A NC"rBGC1vJ^@ G(4GGGG@Zk=!0BC8bGD@AGtG@ZkG0B C8bGpIЦ@ETGtG@Zk B!(bCCGtGC@Zk ! d. CB G bC>CoJGGGG@Zk@BHbG0!@ZkCG!1`A.CB C @"b1v I@G4G G(GG@Zk,C0BG8bG ?E )A AGtG@ZkpHD0BC8bG&ATGtG@Zk B C (bGCGtG@ZkA@0H1׀HBa!@b0B!BA 31@(A"! GGrBG^1v H@4GGGG@ZkC0BG8btGFBA" CGG@Zk80BC8bGpH&ADTGtG@Zk B(=!(b CCGtG@Zk/,!=C b "/HGP DX D `s"C r. . "C^CJCuJ (=C " O" o.C . "1" CJCC rJ(>GGGGBF@b@Zk@BGHb@ZkG BC(btG@Zk=4A% !oAkE?%$5 Ab#_ӏI`DdE`"PC.% qAIPJqDF>rpDtHSuJtFrWB .  qDJpDyJXKGW@C %."BrIQ0JtG2F%>be"b.uJGe% TJ aKFb>Dh.waKe,b4GV J@HFh>De<4G@Zkh%.e% e. HrHQ !JPJ3FFh%>e>e.e"h.JW JFC ?E x/X#`ZIqG[zKpG`Gx?pHEHDW Bs Y. 9 AJ8 q Dp DvWJUJFWBl.8 zIb TJpdHF>b,`DPAGEHDb<C`b# @) - i zDII` ,EHD CTFeI>G!AGtG@Zk }8EE 0`A cA8DD 0@AEAG]]}ݤ= ](}08@ݥHP`#kG8$@6Gr0HFtFrB0JGGI0HDD0@JFFp#_&~&(^&0^G8~R"@?s"HO"P޴TGX`h>p^x~G#ۤG`[GGHP } ]C ݶh{ $ݰ@ZkBCb4G@Zk=qHBI@b0?HtGFGCG@Zk4@= TG0v H2?H4B@wJ.s JVJSFF>=%C4GG#G%Gb#@GC@GP"H@TGp!0B8b P@Zk%?!p@ECX%GŢ2@I3@IQ_Aq1BrB1QB1!J8F @!拢#2vJ8F6CC0A GCKC0A CGG`Bhb@ZkBGb@ZkGpBGxbGKA*I,׀IkkA A*KA*AI G @ " B곬@@@@ H6H0@@ZkQeCb#*`I!`IKA*@ BkkA!+@!!HF@G!*@Ӏb#@Epeh`leG& @8DŢ5/VB u/VB6J5KBqF[ uK:pF;Gp1KA1H0DW B: u. . U"rJT JV"q@FtF`p@FwaJ[aKwGW @` 5. 5/ "0JY 0K"qF9FpF`!JTJFW @GU.  =Gu"Bu/C5/B"SJ .wK6,2BJY 7K2AJyG[B @JP Jq@JA HF >1D6<F v.  V/"S `JZ@K v> V? F6/ ".Y K6?WJ>u/5#5,5.uKU.A 5HF V/aG;fK v.0JR PJdK2FqC 4JZ TK`4JStJWG`F V? v>4"5,$/ 6"9HX K4"8D\ 4U. ?#7u/PJ[ pK[FCbFFQv.@GqJSqJFtJGtFv>4U/7/WKX KXGCBF9#= FF:5,"tG5H!D!D3 @Zk`pHDB@bfATGtG@Zk B P@(bG@TG@Zkj%LALA lA "L. 0H,.s0HR PJQ0JTFL>3F,>U?@UB5J0A uA". GJWJGxKF>b#@C "e!0v`IbIq Dp DrtJSuJtFrWB"qFpFxyIWJFW CBZ8@G@p)èE 4Gep P@E`0`Ce@E!, BCb4G 0`A@Zk,J! aA?%Q F%e"EC`BChbTGSB@@ZkBbG@ZkeEpKA@gXTGPB%XbG@Zkb#@GbC`BTGhb GXk!C@ZkB4Gb4G()!@ZkBC`BChbGtG 8E@ZkBbG@Zk 4GL&!C`GG GBG@@b1vJ@GG 0A()!@Zk%A?G 4GC 4G_*F"`BChbG8 F GGGGG@Zk@% 0A 0 AA?`BChbCTG@ZkB4Gb4Gb @Zk`BChbCTG@ZkBGb@ZkJb# 8@E@%_`BChbG CtG@ZkBGb@Zkb#d@4GG(]0]8}@HPݤX`h=p]x}#kG:0 K?D0D:9`0`JGwG`C0 JFFMr0JFtFr0`IFFp#G~&@^"H^TGP~X`h޴pxGG([&Gp 0{O"G@ GGCG@ZkhBpbC4G@ZkpHXBC`b4G!H%0DG@Zk?$! !DGD 4G@%`\@CkG(BC0bGGGtG@ZkG2DGCG(BtG0b0J BGG@ZkHB4GPb@ZkbTG(Bpc 0bCC@ZkBGb@ZkGGC(BCG0bCGtG@ZkV$ 8q Dp D0rH$ Q3JD2F0W`B@bGBS@bGGGtG@Zk4@B!R@bGGGtG@Zk8B@@bG4GtG@ZkBT@bGGTG@ZkV,V W$,HQ %HA %HF@HTB@8B`"@b@.0@TGtGSJV DF@4G@ZkV,W$,HQ %HA %HF@H4B JpJ1D%<D<gC(BC@0b0`BgGGGtG@ZkV$ 8q Dp D0rHDQ3J2F0W`Bl@C4GG@]H]P}X`hݤpx#kCâDCD#6JBò$//Y $K$?XK?D$,d/A :H[zK$<d?(B 0bCGGtG@ZkxBbGGTG@ZkcD(B C0b$0GCCtG @ZkDB } 0 bCCTG@Zk, C0G0ݠİGD䳠"00H?F2F0200H?F2F0@#~h^p^x~޴> 1$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m7"G #G$GG G.G!"BA. Ca.B F.J@JS `JxF!"0JJSFBDG4G_@!@4Gb#L@EC"G`:v@KE(B0b Hx$IG0 H 1 HA?@a!@0B!B(!!HRDB@2CB!GGTG1v HG@Zk)I$A))v I$D$ 4G'G8B""@bCK@GtG@ZkD G A@0H&Ha!@@!@@)! C CBbGTG4 A@Zk(B @")!0bCGTG@Zk@HB PbCGGtG@Zk ݤ CHBGPbІ@pHTGDtG@ZkhB pbCCTG@Zk,DH<O@BGbGTG@Zk(BC0bGTG@ZkB"%!bCGTG@Zk8B@bCGGtG@Zk gH$ID Gh]p] =x}ݤ=#k#?$~! ^TG^~޴> ^(~08@޵HPG#TGG 0ݰ4G8=&%"D%0JH[!!!H 0@%rC 4GP{C! H4! (@Zkt CCCGGTG@l]! A@]CGGGG@x}!H}ACGGG@ӄ!PCCGGGG@Ӑ!CXCGGTGG@CGCGTGG@CCGGGGG@Cx!GCCGG@CCGGGTGG}@CGGGGGv@C0bG(BAGGGGG@Zk G|(-v H8BG@bGTG@ZkGt =&bTG0B0D0FHB 8s"PbGC@ZkBGb@Zk  `(TG"0" 8EHB 1"PbGC@ZkBGb@Zk  NTG"0" XEHB 1"PbGC@ZkBGb@Zk  <8 XD(ETG"HBA 1"0CPb@ZkBGb@Zk  &=)DU$@&@aF%Ô%% &FF%ÐC7A HBTGPb@Zkt襡#qI0?HF# GcCXBtG#`b2v`J@Zk-vIt襱CGCG7@5@TGD*G@CCCGG@HGGGGG@(BC0bAGGGGGG@ZkG|/vI 8B@bGGTG@ZkGG8!襡CG8DhBDpb`GGG@Zk G8BG@bTGC@Zkb#@G4GxBTGb!0vI@Zk.IB GCb'HA@G0GG1vIGG (@ZkG'H0ݰ|.vI"TG0HBh! PbCC@ZkBbG@Zk8B@bGGTG@Zkb#A@GeG¤TG0HB8 PbGC@ZkBbG@Zk G4E4G G_ȡ&I IhBGApbAGg@@ @ @@, 3@GGGG@ZkG̠GxBTGb0vH@Zk8qI,4DXD%0?HF%Heu@J4JFEC̢ABGbTG1vJGGG 0A(@ZkG|!7IBTGCb&vH@ @G"C^_"^1vJA (G4GGGG@ZkG|ȤBAbG$vH0AH' HX D P`LJ'vH 1v@J(B'HGC84GGC"G@Zk G|C@"*vHC@!"A.A0vJl"0JQJJCB0B aCCGGG@@GGGGG@(B` 0bACGGGGG@Zkš@% HBC`IPb*ITG@E!@Zk CCGGGGj@@CGTGGGc@H-I.I ]!OAGCGTGGX@ APoA-A @@!AACGGL@XGGGCGE@(B0bACGGGGG@Zk Gm|e@#XBtG-vI`be ]AA0I1Ia!@0B!B@KFKBa@"ACCE@ZkÈG8BTG@bC@Zkb#@G&ØbG8BTG@bC@Zkb#@GG8BG@bGTG@Zkb#@GTG0HB!PbGC@ZkBbG@Zkb#@4GG]]}ݤ= ](}08@ݥHP`#kG8BG@bGTG@Zkb#@GbTG0"HBk!PbCC@ZkBbG@Zkb#@GGp#G~G(^G0^8~@HP޴X`h>p^x~GG#[ $ G{07!H@?@ 1 H(C! H`@0J1@  @@ H P$ @C>B2v@JJ27AJ^1vH@G4G@Zk?%4G!H0H@@`@B  @ HG@t)!B HH0@.27H 4GC@r!_t@AG tA_ BCC(bCGGGCG@Zk D 0B=0 B=1A =GG7B 0@A85PA0@ @?D!HC4G G;@K @KZ_C@zZC @ H_!@B  @ @B }47HC@B"."J*1@A@&1@_!4DGG = 0BC !8bGCCtG@Zk8D 4G=)1 A=4 E&H? C@FFA@ İ@ &HL6H TC G(]0]ƴDİ8}@HPݤX`h=p]x}#k#~^^~ (0޴8@H>PG{#@4G # c G H0 HA?@Ba!@ @ H @;0BC8b4G@ZkGC#01@# ¦"NPBR?B3 JXb1 JrRB3B 12B(1!Jt@@!7!H1t@BC1v J>4GGG07JBBG@Zk G0#D 0B0@ @ 4GG]]} (0ݤ8@H=P`# kGbTG(B@BlBHbGG@ZkBbG@Zk0B8bGGTG@ZkGG@bG0BTG8bC@ZkGG#~^^~ (0޴8GP{#G#c 4 @G p;G[tG@{GG@ZkBb4G4G@Zk n@Gb#I_ӄ(b#@ӄGP#4G0B4G T D8bP#@Zk (b#`@ H`@%!v H# !  @ӄÈ#$1@%."E.L0JR PJ2F%H6H0 @@#31 @c%1@G Dâ0B5vJ0B0BòD4G 0B㲷C$8 G C c{aC;aK!7H{@";.C[.0JR PJ2FCB4Gc4GxX¦#5H4נHE@e@B%B%H"B墐C71BBC CD#"B1 C"#01@B>N>{@B;aK rAB({@r@SBb1vH4GG 7H@BGG@Zk BCbTGC@Zk(b#x@ӄk" !0@@4 D 4GGD #(0B8bq B1!J q@@Zk (b#`@ H`@&!v H# !  V@4G#GÈ%1@F.&"f.LQJS qJSF&H6H0@@&1@ðtG@B6JpUBuB#Hb0B@ZkBCbGGG@ZkB4Gb4G@Zk4G8DGà4G#&@  #B17!JC1!JQB#C.JsB3B#4GG]]} (0ݤ8@#kG#4G~^^~ (0޴8G({#H[#c GT D P{@Zk8B G@bD@Zk4GH PD $ hBCpb4G0@@Zk @4G#0BQ¤CN L _fGG8BGScB@b1vJsBGG (@Zk%XB4G`b0v H@ZkFG8BG0JRCB@bRJSB RJGGG (@Zk%4GXB`bR H@Zk.%.JQ %JF0vJb#C2v@J@P@XBz@`b4G@Zk0@ @#4G0""D CX _eC(BC0bG`tG@Zk(B% 0bCCGtG@Zk0@ @G]]} (0ݤ8@#k1,qFq.pFբ1HS qJVJ3Dw8HFղWC0q.0 1/q D `JY Kp DyFvwJUJFWB&/ 0,0#"KA9HsH 3D0<p".1"F.J8;w5JVJF>@J !YJt3H4G0?kGբ0 HFFղ0`JFF0,0" 1HX D kG0.0  !J k0. 0J1$B k,P"0.H2J B kGP.p"SJ QB kGp." tJ rB`kG:.:p"1QB J 3B k. P.JR PJFk 0. p" 0, 3JA 3H!F4 FkG0,P":,:p"C2HHG @ @R G_RB!JPBB0C.5J.JW JBFJ6JC88F,XF xF4!/VBa/0@Bu.!K[ aKS uJ;Gu/9W&KV&KuK9"KsG9!K4`C;aKBB@BkGa.VB.0@B@BaJU JuF3WfJVfJ4`B3aJBkG.VB0@B!r$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m4"@BJ4 @!!HBk81CVB0@B@BkGQCRB AJB`..`JT JtFaJ5vJu8FYXF1xFs./P@B6JJX KBF.6/7WJ@BVJJY 6K7JۦF8KB4BB4J@B.9!K.BJV J.F.4JW JJFB4JB0Bk.@B /6JP@BJY KBF =XP7WJ8KVJB4B7J6/..6KT JJۦ4G.9"KT JF7C7JB0BkG/P@B2AJ??#KB4@ HyF.3aJ.JW JFvB3aJxB0Bk[B0BkG#0 ~^^ ~(08޴@HG#GGp.G. `X aJ0ۤT J1HtFr`J0 2F3v`J.0.EJQ 0J _JFuJD0.P.!JR AJ!vH2FpS J0DA`G%PJBpJbUF4J A_B(0@J2@Ja!@PB!BF!!H4J@&J4RGB@!BC@" 1@NB1v HG4GGG@Zk &A'@p!!v H 'CD C_=@$0 B$EFJ_4GG]] }(08ݤ@HP#kGTGb0BB8bGG@ZkBbG@Zk B 'G(bTG@Zke#gHe #G~_"^2wFJ^G ~G(G#(; {CG=G =r@!0[8{1'J2B!G1vH G (@ZkTG@"BbGG@Zk`BGhb@Zk4GPBXb0vH@ZkG]] }(0#kqFpFv7JUJFWB!#qGpGyaQJ[qKaGW By .." uJW JauJVJF>F>F / JP.yJX KRPJGYF ?P>k0 JFFy0@JGaGy4(GXDECC$GXSPRINTF4<b#DECC$GXSPRINTF4T@XDECC$GXSPRINTF4XGl PUT_STATUS4`b# PUT_STATUS4h@l PUT_STATUS4xG DECC$GXPRINTF4b# DECC$GXPRINTF4@ DECC$GXPRINTF4GDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4 GPUT_DISP4 b#PUT_DISP4 @PUT_DISP4G DECC$GXSPRINTF4 b#DECC$GXSPRINTF4@ DECC$GXSPRINTF4 G4 PUT_STATUS4(b# PUT_STATUS40@4 PUT_STATUS41G4STRINDEX42b# STRINDEX410@4STRINDEX4GDECC$GXSPRINTF4b# DECC$GXSPRINTF4@DECC$GXSPRINTF4 GPUT_DISP4 b# PUT_DISP4 @PUT_DISP4GDECC$GXSPRINTF4b# DECC$GXSPRINTF4@DECC$GXSPRINTF4 GPUT_DISP4 b# PUT_DISP4 @PUT_DISP4GDECC$GXSPRINTF4b# DECC$GXSPRINTF4 @DECC$GXSPRINTF4 G PUT_DISP4 b# PUT_DISP4 @ PUT_DISP4  G8 SINGLEMSG40b# SINGLEMSG4 4@8 SINGLEMSG4'HGp DECC$STRCPY4(Pb# DECC$STRCPY4'l@p DECC$STRCPY4'G DECC$STRCPY4(b# DECC$STRCPY4'@ DECC$STRCPY 4'G$ DECC$STRCPY4( b# DECC$STRCPY4' @$ DECC$STRCPY4qPG DECC$FOPEN4r\b# DECC$FOPEN4q@ DECC$FOPEN4kGSOR$BEGIN_SORT4lb# SOR$BEGIN_SORT4k@SOR$BEGIN_SORT4  G$ SINGLEMSG4b# SINGLEMSG4  @$ SINGLEMSG4S@GTLIB$INIT_TIMER4TLb# LIB$INIT_TIMER4SP@TLIB$INIT_TIMER<EGSMG$SET_CURSOR_MODE<Fb# SMG$SET_CURSOR_MODE<E@SMG$SET_CURSOR_MODE4GDECC$GXSPRINTF4b# DECC$GXSPRINTF4@DECC$GXSPRINTF4 GPUT_DISP4 b# PUT_DISP4 @PUT_DISP4G@DECC$GXSPRINTF4,b# DECC$GXSPRINTF4<@@DECC$GXSPRINTF4 @GPPUT_DISP4 Hb# PUT_DISP4 L@PPUT_DISP4`GDECC$GXSPRINTF4lb# DECC$GXSPRINTF4@DECC$GXSPRINTF4 GPUT_DISP4 b# PUT_DISP4 @PUT_DISP4GDECC$GXSPRINTF4b# DECC$GXSPRINTF4@DECC$GXSPRINTF4 GPUT_DISP4 b# PUT_DISP4 @PUT_DISP4GDECC$GXSPRINTF4b# DECC$GXSPRINTF4@DECC$GXSPRINTF4 G$PUT_DISP4 b# PUT_DISP4  @$PUT_DISP40G\DECC$GXSPRINTF4<b# DECC$GXSPRINTF4X@\DECC$GXSPRINTF4 \GlPUT_DISP4 `b# PUT_DISP4 h@lPUT_DISP4xGDECC$GXSPRINTF4b# DECC$GXSPRINTF4@DECC$GXSPRINTF4 GPUT_DISP4 b# PUT_DISP4 @PUT_DISP4G DECC$GXSPRINTF4b# DECC$GXSPRINTF4@ DECC$GXSPRINTF4  GPUT_DISP4 b# PUT_DISP4 @PUT_DISP4 G@DECC$GXSPRINTF44b# DECC$GXSPRINTF4<@@DECC$GXSPRINTF4 @GPPUT_DISP4 H b# PUT_DISP4 L@PPUT_DISP4GDECC$GXSPRINTF4b# DECC$GXSPRINTF4@DECC$GXSPRINTF4 GPUT_DISP4 b# PUT_DISP4 @PUT_DISP 48GSYS$QIOW4Lb# SYS$QIOW"8s$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1mD" !4@SYS$QIOW,OGLIB$FFS,Pb# LIB$FFS,O@LIB$FFS4GSYS$QIOW4b# SYS$QIOW4@SYS$QIOW40GLDECC$GXSPRINTF4<b# DECC$GXSPRINTF4H@LDECC$GXSPRINTF4 "LG\PUT_DISP4 Pb# PUT_DISP4 X@\PUT_DISP4 \Gt SINGLEMSG4hb# SINGLEMSG4 p@t SINGLEMSG43 G@ DECC$MEMCPY44(b# DECC$MEMCPY43<@@ DECC$MEMCPY43HGp DECC$ME#MCPY44Pb# DECC$MEMCPY43l@p DECC$MEMCPY41pGSTRINDEX42|b# STRINDEX41@STRINDEX4G,STR$MATCH_WILD4 b# STR$MATCH_WILD4(@,STR$MATCH_WILD4b# STR$MATCH_WILD4G$STR$MATCH_WILD4@STR$MATCH_WILD41(G`STRINDEX424b# STRINDEX41\@`STRINDEX4`G| DECC$ATOL4lb# DECC$ATOL4x@| DECC$ATOL4GLIB$SUBX4b# LIB$SUBX4%@LIB$SUBX4GLIB$SUBX4b# LIB$SUBX4@LIB$SUBX4GDLIB$SUBX4$b# LIB$SUBX4@@DLIB$SUBX4XGLIB$SUBX4`b# LIB$SUBX4|@LIB$SUBX&4GLIB$SUBX4b# LIB$SUBX4@LIB$SUBX4 G8 LIB$SUBX4 b# LIB$SUBX44 @8 LIB$SUBX4 G LIB$SUBX4 b# LIB$SUBX4 @ LIB$SUBX4 G LIB'$SUBX4 b# LIB$SUBX4 @ LIB$SUBX4?P"Gd" DECC$STRLEN4@X"b# DECC$STRLEN4?`"@d" DECC$STRLEN4t"G" OTS$DIV_I4|"b# OTS$DIV_I4"@" OTS$DIV_I4"G# OTS$DIV_I4#b#( OTS$DIV_I4#@# OTS$DIV_I,l#Gx#SYS$FAO,p#b# SYS$FAO,t#@x#SYS$FAO4 #G#PUT_DISP4 #b# PUT_DISP4 #@#PUT_DISP,#G$SYS$FAO ,#b# SYS$FAO, $@$SYS$FAO)4M $GD$DECC$GXFPRINTF4N8$b# DECC$GXFPRINTF4M@$@D$DECC$GXFPRINTF4$G$SOR$RELEASE_REC4$b# SOR$RELEASE_REC4$@$SOR$RELEASE_REC41$G$STRINDEX42$b# STRINDEX41$@$STRINDEX4$G %DEC*C$GXSPRINTF4%b# DECC$GXSPRINTF4%@ %DECC$GXSPRINTF4  %G0%PUT_DISP4 (%b# PUT_DISP4 ,%@0%PUT_DISP4M8%GX%DECC$GXFPRINTF4NL%b# DECC$GXFPRINTF4MT%@X%DECC$GXFPRINTF4%b# DECC$GXSPRINTF4%G+%DECC$GXSPRINTF4%@%DECC$GXSPRINTF4 %G%PUT_DISP4 %b# PUT_DISP4 %@%PUT_DISP4M%G&DECC$GXFPRINTF4N &b# DECC$GXFPRINTF4M&@&DECC$GXFPRINTF, &GT&SYS$FAO,,&b# SYS$FAO,P&@,T&SYS$FAO4&G'DECC$GXSPRINTF4&b# DECC$GXSPRINTF4 '@'DECC$GXSPRINTF4 'G$'PUT_DISP4 'b# PUT_DISP4  '@$'PUT_DISP4M('GH'DECC$GXFPRINTF4N<'b# DECC$GXFPRINTF4MD'@H'DECC$GXFPRINTF4X'-G'DECC$GXSPRINTF4d'b# DECC$GXSPRINTF4'@'DECC$GXSPRINTF4 'G'PUT_DISP4 'b# PUT_DISP4 '@'PUT_DISP4M'G'DECC$GXFPRINTF4N'b# DECC$GXFPRINTF4M'@'DECC$GXFPRINTF4'G' SYS$ASCTIM4.'b# SYS$ASCTIM4'@' SYS$ASCTIM4'G$(DECC$GXSPRINTF4(b# DECC$GXSPRINTF4 (@$(DECC$GXSPRINTF4 $(G8(PUT_DISP4 ((b# PUT_DISP4 4(@8(PUT_DISP4M@(G\(DECC$GXFPRINTF4NT(b# DECC$GXFP/RINTF4MX(@\(DECC$GXFPRINTF4\(G|( SYS$ASCTIM4`(b# SYS$ASCTIM4x(@|( SYS$ASCTIM4(G(DECC$GXSPRINTF4(b# DECC$GXSPRINTF4(@(DECC$GXSPRINTF4 (G(PUT_DISP4 (b# PUT_DISP4 (@(0PUT_DISP4M(G(DECC$GXFPRINTF4N(b# DECC$GXFPRINTF4M(@(DECC$GXFPRINTF4'(GL) DECC$STRCPY4()b# DECC$STRCPY4'H)@L) DECC$STRCPY4L)Gl)DECC$GXSPRINTF4T)b# DECC$GXSPRINTF 4h)@l)DECC$GXSPRINTF4 1l)G)PUT_DISP4 p)b# PUT_DISP4 |)@)PUT_DISP4)G) SYS$ASCTIM4)b# SYS$ASCTIM4)@) SYS$ASCTIM4)G)DECC$GXSPRINTF4)b# DECC$GXSPRINTF4)@)DECC$GXSPRINTF4 )G)PUT_DISP#[$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m "124 )b# PUT_DISP4 )@)PUT_DISP4M *G *DECC$GXFPRINTF4N*b# DECC$GXFPRINTF4M*@ *DECC$GXFPRINTF4'<*G* DECC$STRCPY4(D*b# DECC$STRCPY4'*@* DECC$STRCPY4*G*DECC$GXSPRINTF4*b# 3DECC$GXSPRINTF4*@*DECC$GXSPRINTF4 *G*PUT_DISP4 *b# PUT_DISP4 *@*PUT_DISP4*G* SYS$ASCTIM4*b# SYS$ASCTIM4*@* SYS$ASCTIM4*G +DECC$GXSPRINTF4+b# DECC$GXSPRINTF4+4@ +DECC$GXSPRINTF4  +G4+PUT_DISP4 (+b# PUT_DISP4 0+@4+PUT_DISP4MD+GX+DECC$GXFPRINTF4NH+b# DECC$GXFPRINTF4MT+@X+DECC$GXFPRINTF4+G+DECC$GXSPRINTF4+b# DECC$GXSPRINTF4+@+DECC$GXSPRINTF45+G+ PUT_STATUS4+b# PUT_STATUS4+@+ PUT_STATUS4+G+DECC$GXSPRINTF4+b# DECC$GXSPRINTF4+@+DECC$GXSPRINTF4 +G+PUT_DISP4 +b# PUT_DISP4 +@+PUT_DISP4(,G@, LIB$FREE_6EF40,b# LIB$FREE_EF4<,@@, LIB$FREE_EF4,G,DECC$GXSPRINTF4,b# DECC$GXSPRINTF4,@,DECC$GXSPRINTF4 ,G,PUT_DISP4 ,b# PUT_DISP4 ,@,PUT_DISP4Y,G,SOR$SORT_MERGE4Z,b# 7SOR$SORT_MERGE4Y,@,SOR$SORT_MERGE4,G-DECC$GXSPRINTF4,b# DECC$GXSPRINTF4,@-DECC$GXSPRINTF4 -G-PUT_DISP4 -b# PUT_DISP4  -@-PUT_DISP4 -G(- SINGLEMSG4 -b# SINGLEMSG4 $-8@(- SINGLEMSG4e(-GH-SOR$RETURN_REC4f4-b# SOR$RETURN_REC4eD-@H-SOR$RETURN_REC4 `-G-PUT_DISP4 h-b# PUT_DISP4 -@-PUT_DISP4M-G-DECC$GXFPRINTF4N-b# DECC$GXFPRINTF 4M-@-DECC$GXFPRINT9F4e-G-SOR$RETURN_REC4f-b# SOR$RETURN_REC4e-@-SOR$RETURN_REC4-G-DECC$GXSPRINTF4-b# DECC$GXSPRINTF4-@-DECC$GXSPRINTF4 -G.PUT_DISP4 -b# PUT_DISP4 -@.PUT_DISP4\.Gh.:DECC$GXSPRINTF4`.b# DECC$GXSPRINTF4d.@h.DECC$GXSPRINTF4 h.Gx.PUT_DISP4 p.b# PUT_DISP4 t.@x.PUT_DISP4m.G.LIB$SHOW_TIMER4n.b# LIB$SHOW_TIMER4m.@.LIB$SHOW_TIMER41 0G,0STRINDEX420;b# STRINDEX41(0@,0STRINDEX4'1G1 DECC$STRCPY4(1b# DECC$STRCPY4'1@1 DECC$STRCPY4' 2GH2 DECC$STRCPY4(,2b# DECC$STRCPY4'D2@H2 DECC$STRCPY4'P2Gp2 DECC$STRCPY4(X2b# DECC$STRCPY4'<l2@p2 DECC$STRCPY4q2G2 DECC$FOPEN4r2b# DECC$FOPEN4q2@2 DECC$FOPEN4S 3G3LIB$INIT_TIMER4T3b# LIB$INIT_TIMER4S3@3LIB$INIT_TIMER<Ex3G3SMG$SET_CURSOR_MODE<F|3b# SMG$SET_CURSOR_MODE<E3@3=SMG$SET_CURSOR_MODE4,4G@4DECC$GXSPRINTF404b# DECC$GXSPRINTF4<4@@4DECC$GXSPRINTF4 @4GX4PUT_DISP4 H4b# PUT_DISP4 T4@X4PUT_DISP44G4DECC$GXSPRINTF44b# DECC$GXSPRINTF44@4DECC$GXSPRINTF4 >4G5PUT_DISP4 5b# PUT_DISP4  5@5PUT_DISP4M5G45DECC$GXFPRINTF4N,5b# DECC$GXFPRINTF4M05@45DECC$GXFPRINTF4@5Gh5DECC$GXSPRINTF4L5b# DECC$GXSPRINTF4d5@h5DECC$GXSPRINTF4 h5G|5PUT_DISP?4 p5b# PUT_DISP4 x5@|5PUT_DISP4M5G5DECC$GXFPRINTF4N5b# DECC$GXFPRINTF4M5@5DECC$GXFPRINTF45G5DECC$GXSPRINTF45b# DECC$GXSPRINTF45@5DECC$GXSPRINTF4 5G5PUT_DISP4 5b# @PUT_DISP4 5@5PUT_DISP4M5G 6DECC$GXFPRINTF4N6b# DECC$GXFPRINTF4M6@ 6DECC$GXFPRINTF46G@6DECC$GXSPRINTF4$6b# DECC$GXSPRINTF4<6@@6DECC$GXSPRINTF4 @6GT6PUT_DISP4 H6b# PUT_DISP 4 AP6@T6PUT_DISP4MX6Gx6DECC$GXFPRINTF4Nl6b# DECC$GXFPRINTF4Mt6@x6DECC$GXFPRINTF46G6DECC$GXSPRINTF46b# DECC$GXSPRINTF46@6DECC$GXSPRINTF4 6G6PUT_DISP4 6b# PUT_DISP4 6@6PUT_DISPB4M6G6DECC$GXFPRINTF4N6b# DECC$GXFPRINTF4M6@6DECC$GXFPRINTF46G$7DECC$GXSPRINTF47b# DECC$GXSPRINTF4 7@$7DECC$GXSPRINTF4 $7G87PUT_DISP4 (7b# PUT_DISP4 47@87PUT_DISP4M@7G\7$Y$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m"BCDECC$GXFPRINTF4NT7b# DECC$GXFPRINTF4MX7@\7DECC$GXFPRINTF4h7G7DECC$GXSPRINTF4t7b# DECC$GXSPRINTF47@7DECC$GXSPRINTF4 7G7PUT_DISP4 7b# PUT_DISP4 7@7PUT_DISP4M7G7DECC$GXFPRINTF4N7Db# DECC$GXFPRINTF4M7@7DECC$GXFPRINTF47G$8DECC$GXSPRINTF47b# DECC$GXSPRINTF4 8@$8DECC$GXSPRINTF4 $8G88PUT_DISP4 (8b# PUT_DISP4 48@88PUT_DISP4M@8G\8DECC$GXFPRINTF4NT8b# DECC$GXFPRINTF4MEX8@\8DECC$GXFPRINTF4`8G8DECC$GXSPRINTF4t8b# DECC$GXSPRINTF4|8@8DECC$GXSPRINTF4 8G8PUT_DISP4 8b# PUT_DISP4 8@8PUT_DISP4M8G8DECC$GXFPRINTF4N8b# DECC$GXFPRINTF4M8@8DECC$GXFPFRINTF,O8GP9LIB$FFS,P8b# LIB$FFS,OL9@P9LIB$FFS49G9 OTS$DIV_I49b# OTS$DIV_I49@9 OTS$DIV_I4t=b# ADD_USAGE4s=G$= ADD_USAGE4s =@$= ADD_USAGE4P=Gp=DECC$GXSPRINTF4G\=b# DECC$GXSPRINTF4l=@p=DECC$GXSPRINTF4p=G= PUT_STATUS4x=b# PUT_STATUS4=@= PUT_STATUS4=G=DECC$GXSPRINTF4=b# DECC$GXSPRINTF4=@=DECC$GXSPRINTF4 =G=PUT_DISP4 =b# PUT_DHISP4 =@=PUT_DISP4M=G=DECC$GXFPRINTF4N=b# DECC$GXFPRINTF4M=@=DECC$GXFPRINTF4=G >DECC$GXSPRINTF4>b# DECC$GXSPRINTF4>@ >DECC$GXSPRINTF4  >G0>PUT_DISP4 (>b# PUT_DISP4 ,>@I0>PUT_DISP 4M8>GT>DECC$GXFPRINTF4NL>b# DECC$GXFPRINTF4MP>@T>DECC$GXFPRINTF4X>Gx>DECC$GXSPRINTF4`>b# DECC$GXSPRINTF4t>@x>DECC$GXSPRINTF4 x>G>PUT_DISP4 >b# PUT_DISP4 >@>PUT_DISP4MJ>G>DECC$GXFPRINTF4N>b# DECC$GXFPRINTF4M>@>DECC$GXFPRINTF4>G>DECC$GXSPRINTF4>b# DECC$GXSPRINTF4>@>DECC$GXSPRINTF4 >G>PUT_DISP4 >b# PUT_DISP4 >@>PUT_DISP4M>G?DECC$GXFPKRINTF4N ?b# DECC$GXFPRINTF4M?@?DECC$GXFPRINTF4 ?Gb# CLI$PRESENT4=@ CLI$PRESENT478GX CLI$GET_VALUE48@b# CLI$GET_VALUE47T@X CLI$GET_VALUE47xG CLI$GET_VALUE48b# CLI$GET_VALUE47@ CLI$GET_VALUE4;G DECC$ATOI4<b# DECC$ATOI4;@ DECC$ATOI4GDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4 GPUT_DISP4 b#PUT_DISP4 @PUT_DISP47G0 CLI$GET_VALUE48b# CLI$GET_VALUE47,@0 CLI$GET_VALUE41pGSTRINDEX42xb#STRINDEX41@STRINDEX41GSTRINDEX42b#STRINDEX41@STRINDEX49G DECC$MEMSET4:b# DECC$MEMSET49@ DECC$MEMSET4/G DECC$STRCAT40b# DECC$STRCAT4/@ DECC$STRCAT49GP DECC$MEMSET4:$b# DECC$MEMSET49L@P DECC$MEMSET47G CLI$GET_VALUE48b# CLI$GET_VALUE47@ CLI$GET_VALUE47G CLI$GET_VALUE 48b# CLI$GET_VALUE47@ CLI$GET_VALUE4AG SYS$BINTIM4Bb# SYS$BINTIM4A@ SYS$BINTIM47G CLI$GET_VALUE48b# CLI$GET_VALUE47@ CLI$GET_VALUE4CG@ PARSE_UIC4D,b# PARSE_UIC4C<@@ PARSE_UIC4GSYS$QIOW4b#SYS$QIOW4@SYS$QIOW41PGpSTRINDEX42Xb#STRINDEX41l@pSTRINDEX4'G DECC$STRCPY4(b# DECC$STRCPY4'@ DECC$STRCPY4/G DECC$STRCAT40b# DECC$STRCAT4-$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m"/@ DECC$STRCAT43G DECC$MEMCPY44b# DECC$MEMCPY43 @ DECC$MEMCPY43G@ DECC$MEMCPY44 b# DECC$MEMCPY43<@@ DECC$MEMCPY45@G\ DECC$STRSTR46Hb# DECC$STRSTR45X@\ DECC$STRSTR4'pG DECC$STRCPY4(xb# DECC$STRCPY4'@ DECC$STRCPY4/G DECC$STRCAT40b# DECC$STRCAT4/@ DECC$STRCAT4'G DECC$STRCPY4(b# DECC$STRCPY4'@ DECC$STRCPY41GSTRINDEX42b#STRINDEX41@STRINDEX4'G DECC$STRCPY4(b# DECC$STRCPY4'@ DECC$STRCPY4&Lb# SYS$GETDVIW4%TG| SYS$GETDVIW4%x@| SYS$GETDVIW4 G SINGLEMSG4b# SINGLEMSG4 @ SINGLEMSG4GDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4 GPUT_DISP4 b#PUT_DISP4 @PUT_DISP4G0DECC$GXSPRINTF4 b#DECC$GXSPRINTF4,@0DECC$GXSPRINTF4 0G@PUT_DISP4 8b#PUT_DISP4 <@@PUT_DISP4\GxDECC$GXSPRINTF4hb#DECC$GXSPRINTF4t@xDECC$GXSPRINTF4 xGPUT_DISP4 b#PUT_DISP4 @PUT_DISP4GDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4 GPUT_DISP4 b#PUT_DISP4 @PUT_DISP4'DGX DECC$STRCPY 4(Pb# DECC$STRCPY4'T@X DECC$STRCPY4)G DECC$STRNCPY4*b# DECC$STRNCPY4)@ DECC$STRNCPY4% G@ SYS$GETDVIW4&b# SYS$GETDVIW4%<@@ SYS$GETDVIW4 TGl SINGLEMSG4Xb# SINGLEMSG4 h@l SINGLEMSG4+G SYS$ASSIGN4,b# SYS$ASSIGN4+@ SYS$ASSIGN4 G SINGLEMSG4b# SINGLEMSG4 @ SINGLEMSG4-G FLUSH_CACHE4.b# FLUSH_CACHE4-@ FLUSH_CACHE4GlSYS$QIOW4b#SYS$QIOW4h@lSYS$QIOW4GDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4 GPUT_DISP4 b#PUT_DISP4 @PUT_DISP4 G SINGLEMSG4b# SINGLEMSG4 @ SINGLEMSG4GDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4 G$PUT_DISP4 b#PUT_DISP4  @$PUT_DISP4+LG SYS$ASSIGN4,Tb# SYS$ASSIGN4+@ SYS$ASSIGN4-G FLUSH_CACHE4.b# FLUSH_CACHE4-@ FLUSH_CACHE4GPSYS$QIOW4b#SYS$QIOW4L@PSYS$QIOW4`GSYS$QIOW4lb#SYS$QIOW4@SYS$QIOW4G\SYS$QIOW4b#SYS$QIOW4X@\SYS$QIOW4%G$ SYS$GETDVIW4&b# SYS$GETDVIW4% @$ SYS$GETDVIW4'0G\ DECC$STRCPY4(<b# DECC$STRCPY4'X@\ DECC$STRCPY4% G< SYS$GETDVIW4&b# SYS$GETDVIW4%8@< SYS$GETDVIW4)PG DECC$STRNCPY4*\b# DECC$STRNCPY4)@ DECC$STRNCPY4 G SINGLEMSG4b# SINGLEMSG4 @ SINGLEMSG4 G SINGLEMSG4b# SINGLEMSG4 @ SINGLEMSG4 G0 SINGLEMSG4 b# SINGLEMSG4 ,@0 SINGLEMSG4LGdDECC$GXSPRINTF4Tb#DECC$GXSPRINTF4`@dDECC$GXSPRINTF4 dGtPUT_DISP 4 hb#PUT_DISP4 p@tPUT_DISP4 G SINGLEMSG4b# SINGLEMSG4 @ SINGLEMSG4GDECC$GXSPRINTF4 b#DECC$GXSPRINTF4@DECC$GXSPRINTF4 G,PUT_DISP4  b#PUT_DISP4 (@,PUT_DISP4G4SYS$QIOW4b#SYS$QIOW40@4SYS$QIOW,!GLIB$FFC,"b#LIB$FFC,!@LIB$FFC4#G LIB$EXTZV4$b# LIB$EXTZV4#@ LIB$EXTZV4@GT LIB$GET_EF4Hb# LIB$GET_EF4P@T LIB$GET_EF,tGSYS$QIO,b#SYS$QIO,@SYS$QIO4tGDECC$GXSPRINTF4|b#DECC$GXSPRINTF4@DECC$GXSPRINTF4 GPUT_DISP4 b#PUT_DISP4 @PUT_DISP4 .61R$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m."G SINGLEMSG4b# SINGLEMSG4 @ SINGLEMSG4 G SINGLEMSG4b# SINGLEMSG4 @ SINGLEMSG4HGdDECC$GXSPRINTF4Tb#`DECC$GXSPRINTF4`@dDECC$GXSPRINTF4dGx PUT_STATUS4hb#` PUT_STATUS4t@x PUT_STATUS4G SYS$WAITFR4b#` SYS$WAITFR4@ SYS$WAITFR,`GSYS$QIO,b#`SYS$QIO,@SYS$QIO4 G SINGLEMSG4b#` SINGLEMSG4 @ SINGLEMSG4DG` SYS$WAITFR4Hb#` SYS$WAITFR4\@` SYS$WAITFR4G OTS$DIV_UI4 b#` OTS$DIV_UI4@ OTS$DIV_UI4G8DECC$GXSPRINTF4$b#`DECC$GXSPRINTF44@8DECC$GXSPRINTF48GL PUT_STATUS4@b#` PUT_STATUS4H@L PUT_STATUS4GD DECC$FCLOSE4<b# DECC$FCLOSE4@@D DECC$FCLOSE4HG` SOR$END_SORT4Pb# SOR$END_SORT4\@` SOR$END_SORT4G LIB$FREE_EF4b# LIB$FREE_EF4@ LIB$FREE_EF4GSYS$QIOW4b#SYS$QIOW4@SYS$QIOW4  G4 SYS$DASSGN4 (b# SYS$DASSGN$ $4 0@4 SYS$DASSGN4@GSYS$QIOW4Tb#SYS$QIOW4@SYS$QIOW4 G SYS$DASSGN4 b# SYS$DASSGN4 @ SYS$DASSGN4G SYS$CANEXH4b# SYS$CANEXH4@ SYS$CANEXH40GL SYS$DELTVA48b# SYS$DELTVA4H@L SYS$DELTVA4PGt SYS$DELTVA4Xb# SYS$DELTVA4p@t SYS$DELTVA4G(SYS$QIOW4b#SYS$QIOW4$@(SYS$QIOW4GDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4 GPUT_DISP4 b#PUT_DISP4 @PUT_DISP4 G SINGLEMSG4b# SINGLEMSG4 @ SINGLEMSG4tGSYS$QIOW4xb#SYS$QIOW4@SYS$QIOW4GDECC$GXSPRINTF4b#DECC$GXSPRINTF4@DECC$GXSPRINTF4 GPUT_DISP4 b#PUT_DISP4 @PUT_DISP4 G SYS$DASSGN4 b# SYS$DASSGN4 @ SYS$DASSGN =0!%%DFU-I-UNLOCK, Volume unlocked(=@2%%DFU-E-READERR, Error reading extension header,`=8*%%DFU-E-GETEF, Error getting event flag,=s Progress : %3d%% Status : Scanning INDEXF.SYS%%DFU-E-NOVOLSET, One ore more volume set members missing=8+%%DFU-NOTODS2, Device is not an ODS2 disk8=8)%%DFU-W-LOCKED, Volume now write lockedh=h]%%DFU-E-LOCKERR, Error locking volume,%%DFU-F-TOOMANYVOL, DFU does not allow > 32 volumes=H9%%DFU-E-NOTF11, Device does not have an ODS2 filesystem=8-%%DFU-E-NODISK, Device is not a disk device8=xl%%DFU-E-NOTMNT, Device is not mounted or not available%%DFU-E-PARSEERR, Value must be a positive integer=( PlX=@2 %%DFU-W-ABORTED , command interrupted by CTRL/C=`U%%DFU-S-DONE, Directories scanned : %d%%DFU-I-DIRSCAN, Scanning %d directories...X=8* Progress : 100%% Status : READY=PB%%DFU-I-INDSCAN, Making directory table for %.*s (%s) , RVN = %d=%%DFU-I-INDSCAN, Making directory table for %.*s (%s) %%DFU-W-LOSTHDR3, file (%d,%d,%d) %.*s found in invalid directory (%d,%d,%d) %.*s`=`W%%DFU-W-LOSTHDR2, file (%d,%d,%d) %.*s in directory with bad backlink (%d,%d,%d) %.*s=PA%%DFU-W-LOSTHDR4, file (%d,%d,%d) %.*s not found in a directory=PG%%DFU-W-LOSTHDR1, file (%d,%d,%d) %.*s found in nonexistent directoryH=8-%%DFU-I-CHKLOST, Checking for lost files...x=@7%%DFU-E-MKLOST, Error creating/accessing SYSLOST.DIR,=0& %%DFU-I-READY, VERIFY command ready=0%%%DFU-E-NOTREM, File %s not removed=0"%%DFU-S-REMOVED, File %s removed(=0'%%DFU-E-NOTENTER, File %s not enteredP=0#%%DFU-S-MFDFIX, %s backlink fixedx=0"%%DFU-I-REPAIR, Fixing errors...=H9 Progress : 0%% Status : Processing QUOTA.SYS=H: Progress : 0%% Status : Processing BITMAP.SYS =@1%%DFU-E-REBIFMAP, Indexf Bitmap rebuild failed,X=8,%%DFU-S-REBIFMAP, Indexfile bitmap rebuild=h\ blocks LBN %d through %d multiple allocated%%DFU-E-MULTALLOC, file (%d,%d,%d) %.*s , =8)%%DFU-E-SORTERR, Error sorting output, =H9%%DFU-W-MULTFND, reporting multiple allocated blocks...X=PC%%DFU-E-SLFBAKFID, file (%d,%d,%d) %.*s backlink points to itself=H>%%DFU-E-INVBAKFID, file (%d,%d,%d) %.*s has invalid backlink=@4%%DFU-W-NOOWNER, file (%d,%d,%d) %.*s has no owner =PF%%DFU-W-NOBITSET, file (%d,%d,%d) %.*s Index File bitmap bit not set` =%%DFU-W-BADMFDLNK, directory %.*s has backlink to 000000.DIR on RVN %d%%DFU-W-BADBLOCK, file (%d,%d,%d) %.*s has suspected bad blocks =H:%%DFU-W-LOCKED, file (%d,%d,%d) %.*s is deaccess locked 0 =H9%%DFU-W-DELETED, file (%d,%d,%d) %.*s marked for deletep =%%DFU-W-NOBITCLR, file (%d,%d,%d) deleted file header marked BUSY in Index File bitmap%%DFU-E-ERRHOME, Home block info not OK =6.%%DFU-S-CHKHOME, Home block info verified OK ( =`V%%DFU-I-VERIFY, Verifying %./#$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m"*s (%s) , RVN = %d%%DFU-I-VERIFY, Verifying %.*s (%s)  =%%DFU-W-WRITELK, Cannot rebuild or lock on write-locked device %%DFU-I-READY, UNDELETE command ready %%DFU-S-FND , %d recoverable files found =H9- Use ANALYZE/DISK/REPAIR to move the file to [SYSLOST]X =@5%%DFU-E-NOTENTER, File %s not entered in directory, =@1%%DFU-I-ENTER, Entering file(s) in directory... =8-%%DFU-S-RECOVER, File succesfully recovered =8.%%DFU-E-INDEXFERR, Error writing INDEXF.SYS,( =@4%%DFU-E-BADEXTHDR, Extension header linkage broken` =h^- Use ANALYZE/DISK/REPAIR to repair the volume%%DFU-E-BITMAPERR, Error writing BITMAP.SYS, =8,%%DFU-E-NOTUNDEL, File cannot be undeleted =(Recoverable file %s%s found =@5%%DFU-I-UNDEL, Start search on %.*s (%s) , RVN = %dH=8*%%DFU-I-UNDEL, Start search on %.*s (%s)x=hY%%DFU-E-NOTUNDEL, File undeletes not possible,%%DFU-I-READBMAP, Reading BITMAP.SYS...=PA%%DFU-E-ERASED, Cannot undelete ; erase-on-delete set on device =H9%%DFU-E-WRITELK, Cannot undelete on write-locked device`=8)%%DFU-E-INVID, Wrong uic or identifier,=0"Recover this file ? (Y/N) [N] : =0& %%DFU-I-READY, REPORT command ready=@3 Free space distribution; each * = %d free blocks=XJ LBN: 0 %dh=XN ----------------------------------------------------------------------=~ %%free---------------------------------------------------------------------- Free space fragmentation index : %.3f %s8=8) Average extent size (rounded) : %dh=H< Largest free extent : %d blocks at LBN: %d=8) Total free extents : %d=8) Percentage free (rounded) : %d=8) Total free blocks : %d8=8) Total blocks on disk : %dh=H; ***** Free space statistics (from BITMAP.SYS) *****=8+ %s%.*s ( %d/%d blocks; %d fragments) =0& Most fragmented file : =8) Average size per fragment : %d0=8. File fragmentation index : %.3f %s`=8+ Average fragments per file : %.3f=8) Total fragments : %d=8- Total used/ allocated size : %d /%d=8) Contiguous files : %d =8) Directory files : %dP=H< Files marked for delete : %d, size %d/%d blocks=8) Files marked for delete : %d=8) Files with extension headers : %d=8) Files with allocation : %d =8) Empty files : %dP=8) Total files : %d=}u INDEXF.SYS fragments/ map_in_use : %d /%d words ( %d%% used) ***** File Statistics (from INDEXF.SYS) ***** =8* Free headers  : %d (=8) First header VBN : %dX=8) Header count : %d=8) Maximum # files : %d=8) Cluster size : %d=8, Structure name : %.12s=8, Volume owner : %.12sH=8, Volume name : %.12sx=H: ***** Volume info for %.*s (from HOME block) *****=@4%%DFU-I-REPORT, Reporting on %.*s (%s) , RVN = %d =8)%%DFU-I-REPORT, Reporting on %.*s (%s)  =PA%%DFU-S-FND , Files found : %d, Size : %d/%d, Hdr/Frag : %d/%d h=8/%%DFU-S-FND , Files found : %d, Size : %d/%d =(%%DFU-I-SORT, Sorting ... =H= %%DFU-I-EOF, End of file INDEXF.SYS, Primary headers : %d = = (=0'Size : %d/%d, Revision count : %dP=8,VBN : %d , File ID (%d,%d,%d) , UIC : %.*s=8*Directory: %.*s , Backlink ID (%d,%d,%d)=@2%%DFU-E-READERR, Error  reading backlink header, =@5%%DFU-E-FIDTOOBIG, File id specified > max file id  =(Available headers : %d @=(First header VBN : %d`=(Header count : %d=(Maximum # files : %d=(Cluster size : %d=(Structure name : %.12s=( Volume owner : %.12s=( Volume name : %.12s =@7%%DFU-I-SEARCH, Start search on %.*s (%s) , RVN = %d X=8,%%DFU-I-SEARCH, Start search on %.*s (%s) =8/%%DFU-E-SIZEERR, Minimum size > maximum size =#!#AS!9UL/!9!4UL/!UL =0 ;=   %.*s ( ;;@DECC$GXSPRINTF DECC$GXPRINTF= %.*s p PUT_STATUS=0  ;=0 ;=0 ;\;SYS$QIOW; SYS$DASSGN PUT_DISP=0 ;=0 ;=P   SINGLEMSG;=0 x;;;=0 ;=0 ;=0 ;=@|  SYS$DELTVA SOR$END_SORT DECC$FCLOSE SYS$CANEXH LIB$FREE_EF=0 ;=` ;0 LIB$GET _EF7 DFU_IOERRPSYS$QIO=0 ;=@|  ; SYS$WAITFR OTS$DIV_UI=0( @;= !LIB$FFC# LIB$EXTZV==0  ;=`  % SYS$GETDVIW;@' DECC$STRCPY) DECC$STRNCPY+ SYS$ASSIGN- FLUSH_CACHE7 DFU_ASSIGN= 7 DFU_INDEXERR=0h ;= / DECC$STRCAT1STRINDEX3 DECC$MEMCPY=[;5 DECC$STRSTR=[]=0@ ;= @70F$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1mdn" CLI$GET_VALUE9 DECC$MEMSET; DECC$ATOI= CLI$PRESENT? DECC$STRLENA SYS$BINTIMC PARSE_UIC=;=;*=0 ;=0 =0( ;=  ; ESMG$SET_CURSOR_MODE=(=:0;7 DFU_EXPREG GSCAN_DIRECTORIESI SYS$EXPREG=.DIR;1=0 ~;=0 ;;K DECC$MALLOC=0 X;=` MDECC$GXFPRINTF=%s =00 z;=0(p| DIR;1SYSLOST.OLIB$FFSQ SET_BITMAPSLIB$INIT_TIMERU SYS$DCLEXH ;pWCOMPARE_BITMAP; ;YSOR$SORT_MERGE= statistics=w7 DFU_NOPRIV=  rebuild= mrs=255= rfm=var= ctx=rec=append[ REMOVE_FILE]LIB$INSV_ DECC$FREE=0; ;= < a ENTER_FILEc NEW_BITMAPeSOR$RETURN_RECg DELETE_FILE=a= rat=crSYS$OUTPUT:= outfile= dirscan=fix=lock = devicerop=WBH iLIB$FID_TO_NAMEkSOR$BEGIN_SORTmLIB$SHOW_TIMERo CHECK_USAGE;`q DECC$FOPENs ADD_USAGE7 DFU_EXHFAIL=.DIR;u READ_BITMAP=Y= *.*;*w DECC$STRNCMP= noconfirm=uic=ident=yREBUILD_BITMAP=0` PR;=  ;0  {SMG$READ_COMPOSED_LINE=]H =fileP =unmarklist` = SYS$OUTPUTp ; } ADD_QUOTASTR$MATCH_WILD= [000000 =%s  SCAN_BITMAP REPORT_USAGE=graph =usage = (excellent)  =@AA  OTS$DIV_I=0= /;= = @H = (fair) X = (poor) h = (good) x = nobitmap = novolume = nofileC = %3d |%.*s| = B = badacldirectory =(markedlockedbak_since = exp_since = nobackup =erase =@1Revised : %.*sExpired : %.*sBackup : %.*s X =Filename: %sh = nomoveisshelved  DECC$ATOL= multiple =fid = novolset = summary =!#AS!9UL/!UL = allocated = bakfidnosearch = bak_none = cre_before = mod_before0 = fragment@ = retr_minP =homeX = vers_minh = size_max  SYS$ASCTIM=08% P;=% LIB$SUBXSYS$FAO= size_min =sort =(version_numberretr_max = cre_since = mod_since( = vers_max8 = exp_noneH = formatlbnX = !%I (!%U)h = excludex =placedfull =over ;  SOR$RELEASE_REC= scratch = noshelvable =Backup : %s  =  =(Created : %.*sExpired : %s=or= besttry = bak_before0= exp_before@= badblockP= nocharge`= contiguousp =spool =.\4=  `4= _4=`4=$`4=000000.DIR;1$ $= @ @=0(' DFU_IFSCANDEC C V5.2-003 = 44= display_stat4=?76 lE lE lE oE oE$ $= $4: := 4=  = 44=do_abort4=+#" yE yE yE$ $= 4: := 44=  = P4 4=search_commandP4=ZR E+ E* E- E+ E* E- E. E. E2 E2 E E* E E  E E E! E E E E  E E E E E E E E E  E E$ E E E  E  E E E E E E E E E E E E E E E E F F F F F F F F F F F F #F 'F &F /F 0F 1F 2F 3F 4F 5F 6F 7F 8F :F F @F BF DF FF HF JF LF MF MF NF PF PF QF SF UF WF ZF YF [F ]F `F aF cF cF jF jF nF oF qF sF qF sF vF }F F F F  F  F F F F F F F F F F F F F F F F F F F F F F F F F F F F F1OLB$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m"  F F F F F F F F F F] F F F F F F F F F F F F F F F F F F F F F F G F G G G G  G G G G G G G G G G G G G G G G! G G G G G G# G #G #G #G $G #G #G $G #G $G $G +G 1G 3G 4G :G J >J >J >J >J >J >J JJ LJ LJ QJ 1IZ XJ XJ ZJ ZJ& ZJ ]JX$ $= /4: := Q4= P# = PR4 4= undel_comm,andPR4=]U jJ( jJ) jJ( jJ) jJ' jJ' jJ+ jJ+ jJ& jJ& jJ2 jJ' jJ& jJ( J J J J J J J J J J J  J J J J J J J J J J J J J J J J J J J J J J J- J J J J J J J J J J J J J J J J J J K J J K J J K  K K K K K K K K K K K K K K !K K K K $K *K K  9K :K :K :K. :K :K :K >K >K DK IK JK SK TK QK UK VK YK YK \K ^K jK oK pK qK pK pK qK pK rK sK tK {K vK wK K K K K K K K K  K  K K  K K K K K K K K K/ K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K0 K K K K K K K K K K K K K K K K K  L L L L L L L L L L L L L L L L L L L L L L L L L L L L L  -L .L .L -L L 1L 0L 0L /L -L2@"$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m]"01 1L -L L  L L #L "L "L "L $L (L @L BL BL BL BL BL BL EL DL DL @L  JL KLy PLy 5L 4L 4L 4L 6L 9L YL  ]L [L ZL YL ^L _L ^L cL bL cL cL cL eL eL hL mL mL nL nL nL2 nL oL nL oL oL nL nL  L rL  }L  }L }L L L L L L L L L L L L L L L L L L L L L `L `L tL uL yLQ zLP L L L L L L L L L L L L L L L L L3 L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L = L L L 7K L4 L L L LD L L L L L L L L L M L M L L M L M M M M M M M M L! MP {K -$ $= R4: := ,z4= x( = z44= make_syslo5stz4= (M  (M/ (M (M/ (M' 0M' 0M# XM YM ZM XM [M XM XM YM ZM aM `M cM cM cM hM kM kM rM yM sM rM  tM M uM zM {M }M ~M ~M M M# M M M0$ $= {4: :6= ~4=  = ~4h4= make_list~4=JBA M M M M M M $ $= ~4: := x4=  = 4@4=verify_command4=\T MA MC MA MC M M M7E ME MB M, M M, M) M) M  M) M6 M M M M M M  M M M M  M  M M M M M M N N N N N N N N N N N N N N N N N N 'N &N #N "N8 &N "N  +N (N 3N 1N  3N 6N @N CN CN CN CN EN HN KN KN KN KN KN NN YN YN ZN ]N `N aN `N bN bN bN bN bN bN fN fN kN kN pN tN rN sN tN tN yN yN tN tN zN sN9 yN yN yN N N N N N N N N N N N N N N N N N N N N N  N N N N N N N N N N N N N N N N N N N N N N N N N N N N: N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N ;N O O O O O O O O O O O O Oԁ O O O O O O O O O O *O ,O ,O ,O ,O ,O ,O ,O 0O 2O =O ;O ;O ;O ;O =O =O =O =O ?O FO FO FO GO FO FO FO< IO LO LO NO TO UO TO TO WO UO UO WO WO WO WO ^O [O [O [O [O ]O ]O aO `O `O `O cO eO kO mO nO mO mO oO nO nO oO oO tO tO xO vO vO xO xO xO }O O O O O O O O= O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O  O O  O  O O O O O O O O O O O O O O O O O O O >O O O O O O O O O O O O O O O O O O O P P P P P P P P P P P P P' '=# #P 'P -P .P -P 4P 4P ^N  Ol  ;P =P =P? =P @P GP QP NP NP OP WP VP TP WP YP YP XP  kP kP kPD mP mP mP mP pP xP wP wP xP zP zP P }P }P P }P P P P P P P P P P P P P P P P P@ P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P uPWP O$ $= $4: := ܭ4= .G G= XA44=report_lost_filesX4= P P P P P P P P P P P P P P P P P P P Q  Q Q Q Q P" Q Q Q P( Q Q Q  Q  Q  Q :Q =Q PU >Q܀ AQ  dCQ dQ dQ P| PL TQ$ $= ܮ4: := (4=  . .= 44=build_dir_table4= oQ oQ oQ oQ oQ oQ oQ oQ oQ oQ oQ Q Q Q Q Q Q Q Q Q Q Q  Q Q QD Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q  Q Q Q Q Q Q Q Q RE R R R QI R R R R RL R R R R "R $R #R' 'RD Q'$ $= h4: := \4= 0 = == 44= parse_item4= 2R 2R 2R 2R 2R BR 2R BR BR 2RF 2R FR FR IR LR VR VR fR iR jR lR lR pR xR xR xR xR ~R }R R mR mR)4 R R RH R R R R lR$ $= 4: := 4= H H= G44= fid_to_name4= R R R R R R R R R R R R RX R R R R R R4$ $= 4: := 4= h =  44= open_device 4=7H/ R R R  R R R S R S S S S S S S S S %S 2S 2S 8S 8S >S >S ES OS QS WS _S _S eS eS eS eS wS vS wS wS wS yS S SI S S S S S S S S S S S S S S S) S  S S S  S S S S S S S S S S S S S S S S S S S S S S S S S  S S S S SJ S S S;T S $ $= 4: := 4=   = @44= read_indexf_bitmap@4=g_ T T T T  T  T T T T T T T T T T T T T  T T T  T T T TK T T T 4T 1TY ,T ,T CT 6T NT NT PT4$ $= 4: := |4= p = 44=read_indexf_multi4= ST ST ZT ST ZT  ZT fT fT fT fT fT fT fT [T< `T  $ $= L 4: := 04= 8\ \= 4`4=get_next_header4= sT  sT  }T T T T T T T T T T T T T T T+ T T T T T T T T T T T T TM T T T T T T T T T] T T T T T T T T0$ $=  4: := 4= ] ]= 44= cleanup4= T  T T  T T  T T T T T  T NT  To U U U U T U U U U U($ $= 04: := 4=  = 4x4=copy_fid4=@87 %U 'U 'U (U (U %U: := 4= ( = 4h4O= verify_header4=`XW 5U 5U  7U 7U 9U :U ;U U, = , 4 4$4H4h44444=  e e= 44=get_map_pointers4= PU OUP RU VU VU VU VU VU VU  fU gU fU fU fU fUn fU fU TU bU bU TU  TU ^U  TU  TU ZU TUv v= 4(4T4p4= M M= x4H4=disass_map_ptrx4= |U {U U U U UQ U U U U U U U U U UY U U U U U U U  U U Uv v= |44|44= 0p p= 44=follow_extents4= U U U U U U  U U U U RU U U Uy U U U U U U U U U U  U  U4 U$ $= 4: := 4= p = 44= dfu_handler4=zy U  U  U  U U U  U  U U U U$ $= 4a$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m"iBvݡ_w'/rct"hko܁Ye=NM{yGmc bc,T  J![ u:~ N|U7$٪ ]sdÝa#{i7$&Td|PZ) pt>f>Ͳ wI}m֎u22`܁p=dFր:ۭݦ?(mؕY_Rۍijcn]:w#5>wEOb'gԦ >㩳Ts b,~$!֭ Ij;p3_ًc(B&j{ֳlΓXאkW/Ğf3BRٳO!Ak+AI\`.tPgn_* dɤl?V~$3J0* 87`j,N\5_Xdv8 ǪSIzGM>+Ήk,,Y8bZ tZzBqS3 Cݯ7%d3ycz6e/9Au|vlZ|Cw7ǓLhUl[kr"D56'.E7p2h!Dk{p9@ƕ|Č;8j.1gΫQЂv&(OpOW[<v4'#t4q_>[ ̠n\ە<{*G6Jyp.u9\㶜[?' iN`JH;H%NAtXp?uzP9Ϛ-Ty,]1LeIfL7T !Dr \]D-ge-@|8qsʻd=X0;bM3AE\Ӆ Q g`泀tL|UB# #p#_0iA?jEYB]Y "9zھ'E=M%hO{2zO>x7K\M2 )dc3p~pvVN+/EHSnV7?0)jݢL: G=O|tCy<-;)DKUbrh]MiS Q(4$UZlTNPK`u9cJ5ײ.46IScKv`+I yD?˿j&f/GKLK=>$n%N8bZq%q꧴^%Ge萆W]"V=jh|֡(.8`LCg݅' zȕ|7*zOm;\DϜDl[-Q4Wm+p}A_[0(f ur3j4l%c@[qA_ఓv&G#K\&uZ8X0;aPd: 6xנFoͪ)iA4O5n8l5-XY˚t:Vu |"G{z _Tc{u/ni͂#Pu[H/3y!Ǯ1=p2m3pAmOPqvAqFY><452Zxs4j!TR4?ҺBD_4Oae\)x9ٹ05xV~e/P_ytf: z.qaTpikOْ-@(l#a~SHO~SjiWQQrJ/'/jFAo/ݔ)Lf|rN\WSK^ϺDx|r]2Zc`~ Dl%gǜ0+YQsǖ񑖍] +14~Tf&,@Ի7?Wg$MÁԍ^}14rX  /7C@$Z+ѱHY?uV0)5b-u(2--\_(o^QXօ%{V4qp3k肂5G)DEM5A\ttq=":(+#WD w{!/ִ!}7Q};z{Rz3SYkE .ua)XKwtN,Ed *x6ȹ5!`> eiXr3r~*)yCz_jgH`U'JԞGA!&t-Hm`A,cc`ރP0PMGͫ D7sH'C~ ?Nׯ x>Ƽ}em6 rj1 G:[oqRͭEyEAVaAϰA>'lQjZ"mE2- =t|BU\i%%ri|"Y.hJG\S=tfQ[(%!$&sIT@ԱX}Fpsr$n) TלS}D펴8i`u^L :0鄺 <wZ}`s&FR[]p >}游Fl3e؝Z-#2ې;G N-Fԗ!5Ǵ,@i1%w?8>J=-3SŨqf%rCcS> )*QH8h=~If DYGk%Q9BRנ] 6{"P tI\䜵Ę &u'CFf]PIqF;Ϻ?sQ.n XՂd:pCFԑ$oB=Hk~-F Lec*Mqb[k¼Y/=5DGcY (AK~PlܙewNy&UO׳ k܌#gxԛswZڕ{;jMu}kPTVjoXPRk%<fKXhGP+Ux9N10pC_6eO2>`>Ӻ\ag(6C»iQz*2::}G(<՝,]n¦7nFxΪ}%xuNC܏-2[ta)9I#"W:)A?|۟wfq}<|{ 0{Utw.TEk>̣p@`+I7Tw^j_#1yL#*v"> (fWL&'_~v5E/)ct݄oŽ+CIFf/)C0]Kse@sq tN=R5)\HZ‚bAs5AYsQPJՙx*1)_nŋԕ[;MrO5 BIc}w46;c M4v$^#r!1 J`o{&G|Vy1Ŝ 5Wx\*)hEf4{T'<}e_U聝#Ta >:F66텃x)=iNE[.+d[4`9fpD$bsڐ{۠՚,jz]')H93v&\VX!΃UAj Yݕ7xL3{NL&uQ ?knuNfc*|gwLS{,v{a+~AG"yk-)Al࠮ ic^wjp^ʼ 3^"h 9_駎U#"t f$ . ;6y 6xe:/ui!G{gc*6s0{cVh1H4n:>o nf`|/[A۩LL4j:^Jv㉩% Qc8%0i 31_b[2V\ח* ( (WmueCsؐlK' 㫾y~':g2r pC!CPpP0sdX+\pgW;ku5H95PzF & /SPtya\\vMjk:B!Z~'(J2d_\2nS@uro,;3yA,`.xr*̷l}6;{0\1TAykk4Bgtf1ܿ~z/?Z,962rOĭۛ(%wHX~ڌBm@*zD8s$X!/GQ倉.3 H:(@@p1gR݈pe&,zLMTGHi*k\1BfUr -ofDW K.MtnU));6=xf/nŞtXqONiףxq`rf2%=N2t`RmtIFܑr(ߋM nȿ!ݤ1'H1Xr)HWsXH6H) + 7R0zUPK Xs*ζkH^JA|M*1ڼ6ı(l&|I4KK6lDp XL4"m"KfB(Z< t JA ZPj÷dۮ|tjZ,ƝG_w }nҋTj"юvsoƕK$l"P&&G.m[v6GR.2V9=׻8OpQxZ QTBk]!MzW>dk] WԲPYL`=*g}xQPmm;^$/>u,a4S:jy{5U v2[AFUMc2DWMٿ 1&U&٠ї \>gK^f!c`b(YdYl?QK}ߌGH)z4h|X6!g2Eo.)Wom'*,zA7X=fHc0ȝHn1RP5sȯ>08p0بA+HtaŒrxĝeѪlhtJKΚBC^8GC #\L*plw̚G%s5lۋ+H @A QV5.ۊd`WZTPHdBDQx 'ii%7)_*!gQ"#OOT _D?(UxfzJkG Z͠ c/Ue+q TDu&Sv* FD:b[V.կ?,jN`ŭ;/Yq$J&.V|hu4YqyCI .q9yP}_!Xlcuf+s~An~ $XG&lIs~a2|k \zdGWYݚ#Q7Q]Ѷ$ᡅ qS K KN i1(WۀVo J-$KXΎ8KUk9W,ڋXuM-NVOͱe / 5+^א=cl '8")Xf"I恒3gD=42ƼA6@a}H p""AE7rԧ \.c1[\-͂`3y]K+<JCY?Q0SubhDk˓Kc@IK XS{VK9;O 7SQ{: *ڏ.*)sGg] nksVDV PC9y1?g 7x`NY8D{#pVSem?Oc؏NOZmZ5o`/->=K#7gŐh~Y-猠Ċ>&4Ǹ;[.HJF֖#9gτ4$G; b~ Nc5|:?3pBzGtïb=Ұ%yb~盡޺QpW&l`yuKU5J,_ $JBѢݤ46 > di䐖rg =}Гsd<~x3cF9ikY ̤dm!2ao_p"Kog 4یUfP;#;;gYV,Y qwwoԇ¿IJK 0 N[c]j<9+f%Yl:W?/5$cXRdhr_9]2pJJV,~J|#AUipxswvHr21 SloMmnu{PkZ"@.LCkKv30Ō huqʕS2NpV5e\%ft`ńmθD껅0AS0ʼAYL%{cwJdu2`UDUUN*5/"܎^i 3dxw^\AwEmw< 9BYoFăP?SNg.aCޠ\ZY%C;I{#hɸް#^kt0cs5tV6Vs.JFU^MuhO4>6-=+ٍ8_V.A0|^)V!jTɈ""2%mn`d}$['C3No^7 5%2%j)L 6K/n֍'=p ݎɽs7EaQoPkdpT!{UڰG ٧ oq3Tqf$1 #CLX)r^5ˠQZgn)(g*< 8(~?3Xz0$k.Xr^8A]~%|')[|/k".3#q\hDD0w s $Ҁ-u }?h`̂rTX\Lw)xu"R +@A"cƬWZ^DqMXSa:F':l78O/a5Kl$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m"R S`4: := 4=  =  44=add_item 4= U U: := 4=  =  Hww1U9` s0-044 DFU_TABLES0-022-AUG-1996 11:39//OpenVMS Command Definition Utility A05-138 8S Co0 T DFU_TABLES{x{ S Co<) CLI$TABLES  =H<)4DEFRDELEDIREEXITHELPREPOSEARSETSPAWUNDEVERI4 | <  %\%T'<=` (DEFRAGDEFRAG_COMMAND,q&!P1WhatFILE,%=DEVICEDEVICE0@&BESTTRYBESTTRY4t) WRITECHECK WRITECHECK4=U) STATISTICS STATISTICS("LBNLBN< < (DELETEDEL=ETE_COMMAND0!(P1DEVICEDevice0ql&FILE_IDFILE_ID4=( DIRECTORY DIRECTORY0'NOREMOVENOREMOVE,$NOLOGNOLOG(=$#TREETREE4X) STATISTICS STATISTICS(V#KEEPKEEP= X  l l < =  <D\d , DIRECTORYDIRECTORY_COMMAND,!!P1 DI=RECTORY,%DEVICEDEVICE,%CREATECREATE0'C=OMPRESSCOMPRESS4D) STATISTICS STWATISTICS0t%OUTPUTOUTFILE,=%FORMATFORMAT(#TESTTEST,$EMPTYEMPTY, = $CHECKCHECK,L $ALIASALIAS(t #DUMPDUMP,= %REPAIRREPAIR0 'ALLOCATEALLOCATE4'0TRUNCATETRUNCATE=004X* FILL_FACTORRATIO0&VERSIONVERSIONH(p= 4 h  < p     =L  4 @LXd L    = L    L   Y=   ( D P  \ x =      4   = $ 0  L X t d  =   t  DZ t  4=< (EXIT EXIT_COMMAND< x  (HELP HELP_COMMAND,=!!P1HELPKEY<   (REPORTREPORT_COMMAND0!(P=1DEVICEDevice,< %APPENDAPPEND0l %OUTPUTOUTFILE, =$GRAPHGRAPH, [%NOFILENOFILE0 'NOVOLUMENOVOLUME0$ ='NOBITMAPNOBITMAP,P $USAGEUSAGE4) STATISTICS STATIS=TICS    < < $ (SEARCHSEARCH_COMMAND0=!(P1DEVICEDevice(qL#FILEFILE0q|&EXCLUDEEXCLUDE(=\$OWNERUIC,$IDENTIDENT4( ALLOCATED ALLOCAT=ED$q( SIZE0aX'FRAGMENTFRAGMENT<a -VERSION_N=UMBERVERSION_NUMBER( #FULLFULL0 &SUMMARYSUMMARY4 = ) STATISTICS STATISTICS0P 'MULTIPLEMULTIPLE,| ]%APPENDAPPEND0=%OUTPUTOUTFILE,%FORMATFORMAT(#SORTSORT=0q0&CREATEDCREATED0q` 'MODIFIEDMODIFIED,q`%B=ACKUPBACKUP0q&EXPIREDEXPIRED@q`.CHARACTERISTICSCHARACTERISTICS,=(%PLACEDPLACED(P#^HOMEHOME(x"LBNLBN(="FIDFID,%BAKFIDBAKFID4-OVER_ALLOCATEDOVER=00'NOVOLSETNOVOLSET0'NOSEARCHNOSEARCH| CHAR_TYPE4=( DIRECTORY DIRECTORY0'NOBACKUPNOBACKUP4) C=ONTIGUOUS CONTIGUOUS0_D&BESTTRYBESTTRY,p%BADACLBADACL0='BADBLOCKBADBLOCK,$ERASEERASE,%LOCKEDLOCKED,=$ %MARKEDMARKED,P $SPOOLSPOOL,| %NOMOVENOMOVE0= 'NOCHARGENOCHARGE0 &SCRATCHSCRATCH8* NOS`HE=LVABLE NOSHELVABLE4H( ISSHELVED ISSHELVED,t$MATCHMATCH= MATCH_TYPE$!OROR  EXP_DATE_TYPE,#NONEEXP_NONE=00$SINCE EXP_SINCE0%BEFORE EXP_BEFORE  BAK_DATE_TYPE=,#NONEBAK_NONE0$SINCE BAK_SINaCE0%BEFOR=E BAK_BEFORE , MOD_DATE_TYPE0\$SINCE MOD_SINCE0%BEFOR=E MOD_BEFORE  CRE_DATE_TYPE0$SINCE CRE_SINCE0%BEFOR=E CRE_BEFORE , VERSION_TYPE0\&MINIMUMVERS_MIN0&MAXIM=UMVERS_MAX RETRIEVAL_TYPE0b&MINIMUMRETR_MIN0&MAXIM=UMRETR_MAX( SIZE_TYPE0X&MINIMUMSIZE_MIN0&MAXIMUMS=IZE_MAX0 d T |   = $4`DT``t=c0   =  0<  H |dp =    P | 0  =(8<hH$% (SET SET_COMMAND,1!P1File(s)06l]$DFU_FREEWARE_024.Agf[DFU024.KIT]ALP_DFULIB.OLB;1m/cd=&NEWNAMENEW_NAME(EBLOCK$EBYTE(  =RVCOUNT,8 CREATION_DATE,d REVISION_DATE0=EXPIRATION_DATE, BACKUP_DATE( $OWNERUIC, =$IDENTIDENT(< UPDATE$e` LOG( C=ONFIRM( DIRECTORY(LOCKED4 CONTIGUOU=S_BEST_TRY(4 BADACL(\ RECSIZE,  BUCKE=TSIZE( VFCSIZE( MAXREC(!#RECTYPE=,q,!$"f RECATTRIBUTES,X! ORGANIZATION(!ORGANIZATION_KEYWORDS=(!DIRECT(!INDEXED(!RELATIVE,= SEQUENTIAL,P"RECORD_ATTRIBUTES_KEYWORDS(x"FORTRAN(="IMPLIED$"PRINT$"NONE(g=NOSPAN(8#RECORD_TYPE_KEYWORDS$\#FIXED(#VARIA=BLE$#VFC(# UNDEFINED(#STREAM(= $STREAMLF(STREAMCR\$$$l$x$  =$$$$  8 $$h%%!P"!x"=!"!"< (SPAWN SPAWN_COMMAND@%% ' , UN=DELETE UNDEL_COMMAND0!(P1DEVICEDevice8&#(FILEFILE SYS$OUTPUT=:"(,&$OWNERUIC,X&$IDENTIDENT4&#(LISTLIST= SYS$OUTPUT4&) STATISTiICS STATISTICS4&( NOCONFIRM NOCONFIRM,=%MARKEDUNMARK ,'<'H' & ,&<'') (VERIFY=VERIFY_COMMAND0!(P1DEVICEDevice0'%OUTPUTOUTFILE,(=%APPENDAPPEND(D(#LOCKLOCK(l("FIXFIX8(=-D jIRECTORY_SCANDIRSCAN0(&REBUILDREBUILD4) STATISTICS ST=D<ATISTICS )$)0) ' ' MANDDEFRAG_COMMAND+ +>DEFRAG_COMMAND DELETE_COMMANDF+ +>DELETE_COMMAND( ( DIRECTORY_COMMANDE_COMM/ /D>DIRECTORY_COMMAND(  EXIT_COMMANDDIR) )( > EXIT_kCOMMAND  HELP_COMMANDEXI) )d > HELP_COMMAND  REPORT_COMMANDL+ + >REPORT_COMMAND  SEARCH_COMMANDP+ + >SEARCH_COMMAND  SET_COMMANDSEA) ),> SET_COMMANDA  SPAWN_COMMANDET+ +H%> SPAWN_COMMANDD % UNDEL_COMMANDPA+ +%> UNDEL_COMMANDD %VERlIFY_COMMANDD+ +|'>VERIFY_COMMAND ww1ވXJmV1CC PARSE_UICV114-AUG-1996 09:20AMAC V2.2-16 P$LINKAGECODE _LIB$KEY1$ _LIB$KEY0$ _LIB$STATE$( TPARSE_DATA $ABS$ . BLANK . . ABS .0  UIC_STATELIB$TmABLE_PARSE( UIC_KEY0J PARSE_UIC =0 ;=@ =";;; LIB$TABLE_PARSE""t t=>C~ ^(^0 G8G(GCGBtG.JG@tG0MHm B@M=8-@Zk=($עѲG (^08Ck`/V `KF4`m#LIB$TABLE_PARSE4hGxLIB$TABLE_PARSE4t@xLIB$TABLE_PARSE\ \=E$f4= $ $$=  ww*[DFU024.KIT]ALP_DFULNK.COM;1+,h./7@ 4?-f0123KPWO5 6}t77w89G7@HJ$! Link procedure for Alpha$ set on$ on error then goto error $ on sever_error then goto error:$ write sys$output "%DFU-I-LINK, Linking DFU 2.4 image...")$ link/nodebu/notra/exe=vmi$kwd:dfu.exe -4vmi$kwd:dfu_alp,vmi$kwd:alp_dfulib/lib,sys$input/optIDENTIFICATION="DFU ALP V2.4-0"$ ! Link ready1$ write sys$output "%DFU-S-DONE, DFU.EXE created"$ exit$error:?$ write sys$output "%DFU-E-NOLINK, Linking of DFU image failed"$ exit vmi$_failure*[DFU024.KIT]DECC_DFULIB.OLB;1+,i./7@ 4-f0123 KPWO56}t7ww89G7@HJ% VAX-11 Librarian V04-00 '¦sL¦s!C   bDFUMSGl DFU_BITMAP DFU_FILEDIR_P DFU_IFSCANd DFU_TABLESj PARSE_UICh_PADD_ITEMl ADD_QUOTAl ADD_USAGE_PBUILD_DIR_TABLEl CHECK_USAGE_PCLEANUPlCOMPARE_BITMAPCOMPDIR_PCOPY_FID CREATE_DIRDEFRAG_COMMANDDELETE_COMMANDDELETE_DIRECTORY DELETE_FILE DFU$_FACILITY DFU_ASSIGN DFU_EXHFAIL DFU_EXPREG_P DFU_HANDLER DFU_INDEXERR DFU_IOERR DFU_NOPRIVDIRECTORY_COMMAND_PDISASS_MAP_PTR_P DISPLAY_STAT_PDO_ABORT ENTER_FILETMAPj_P FID_TO_NAMEl FLUSH_CACHE_PFOLLOW_EXTENTS_PGET_MAP_POINTERS_PGET_NEXT_HEADER_P MAKE_LIST_P MAKE_SYSLOSTMOVEFILE MOVE_TO_LBNl NEW_BITMAP_P OPEN_DEVICE_P PARSE_ITEM PARSE_SINGLE PARSE_TREEj PARSE_UICl READ_BITMAP_PREAD_INDEXF_BITMAP_PREAD_INDEXF_MULTIlREBUILD_BITMAPLE_PREPORT_COMMANDl REPORT_USAGEl SCAN_BITMAPSCAN_DIRECTORIESl SET_BITMAP SET_COMMAND7s$DFU_FREEWARE_024.Aif[DFU024.KIT]DECC_DFULIB.OLB;10"M DFU_INDEXERR ENTER_FILEREBUILD_BITMAP VERIFY_HEADER REMOVE_FILE_PREPORT_COMMAND_PREPORT_LOST_FILESl REPORT_USAGEl SCAN_BITMAPSCAN_DIRECTORIES_PSEARCH_COMMANDl SET_BITMAP SET_COMMANDjUIC_KEYj UIC_STATE_P UNDEL_COMMAND_PVERIFY_COMMAND_P VERIFY_HEADER1l00DFUMSG013-AUG-1996 10:3013-AUG-1996 10:30VAX-11 Message V04-00k$ABS$ MSG$SECTIONMSG$AAAAAAAAAAAMSG$AAAAAAAAAABMSG$AAAAAAAAAAC2 DFU_NOPRIV* DFU_INDEXERR" DFU_IOERR DFU_EXPREG DFU_EXHFAIL  DFU_ASSIGN DFU$_FACILITYPeP*P'P(`8{` (0H2ASSIGN Error assigning channel to disk,0EXHFAILFailed to setup exit handler,0EXPREGError creating dynamic memory,*IOERRError reading INDEXF.SYS,,INDEXERRError opening INDEXF.SYS,PNOPRIV?No privilege to perform this function (DFU_ALLPRIV not granted)DFUww1 IlV1.07 DFU_BITMAPV1.013-AUG-1996 10:16DEC C V5.2-0038P%s P% %DFU-S-REBQUOTA, QUOTA.SYS succesfully rebuildP%s P%%DFU-W-QUOTAERR, %.*s has %d blocks used, QUOTA indicates %d blocksP%s P%%DFU-I-CHKQUOTA, Checking QUOTA.SYS...P!%IP%*s |P%s ,P ---------------------------------------------------------------------------(P%s P Identifier/UIC Used/Allocated HeadersP%s P ***** Disk Usage Table (from INDEXF.SYS) *****P%s \P Identifier/UIC  Use d/Allocated Headers Quota Used/PermXP%s P ***** Disk Usage Table (from INDEXF.SYS and QUOTA.SYS) *****P!30AS!9UL/!9!6ULP!30AS!9UL/!9!6UL !9UL/!9P!%IP%%DFU-I-ADDQUOTA, updating diskquota...P%s rP%%DFU-S-RBDBITMAP, BITMAP.SYS succesfully rebuildDP%%DFU-E-RBDBMAP, Error rewriting BITMAP.SYS,@P%s P%%DFU-E-ALLOCCLR, blocks LBN %d through %d incorrectly marked allocatedP%s P%%DFU-E-ALLOCSET, blocks LBN %d through %d incorrectly marked freeP%s `P%%DFU-E-ALLOCCLR, blocks LBN %d through %d incorrectly marked allocated\P%s P%%DFU-E-ALLOCSET, blocks LBN %d through %d incorrectly marked freeP%s P%%DFU-I-CHKBITMAP, Checking BITMAP.SYS...P%%DFU-E-MULTALLOC, file %.*s blocks LBN %d through %d already allocatedP PP%%DFU-E-MULTALLOC, file %.*s blocks LBN %d through %d already allocatedNP &P%%DFU-E-READERR, Error reading bitmap,P%%DFU-E-BITMAP, Err or opening bitmap,@P% ^RP Ѭ$|~|~|~b82~ SYS$QIOWPS"P|~|~|~b82~ SYS$QIOPSSP<^RPX\^|`[լ  Џ8XЏXrT|~|~|~bT2~ SYS$QIOWPSʏPPRZ*X[XďdX[Z֮ѮF Ь S[XcS XXԭTR1P RYUí PPdSP߭T߭fPSˏSPPԭRTRWSSYRQR UQPQU UxQSUSSQQQQU UxYSUSRW1 SYS$DELTVAЮ ЮЮЮnЮP^WǸǨǼЬ ެ$о$Sc:nYѬмXЮnѭ1 LIB$EXTZV4LIB$INSV8COPY_FID(SOR$RELEASE_REC, DECC$MALLOC0߭ݾ(DISASS_MAP_PTR1QPЬ R RP Q{RPQPQQPЬ R RP Q{RPQPQTQTPЏR RP QP{RPQPQ QTPЏRRRPRQPQP{RPPQQ׮ TSSǏSSzP{PQPP SSzP{ PQPPTRR1SzRP{PQPPPT֮ TUUzTP{ PQPPѮUѮ  íSSí  Sx SS STE߭߭@PE߭߭߭H1PRVRSSVS1PE߭߭@P%YYŀ VZ Z[[`VPĬ PP[RPYKYѬ'ZǨ[Ǭо(Pǰ4Ǹ4 Zh[ 4PPXXE߭߭߭H֭VRPPVP1SRR1YMYѬ)ZǨ[Ǭо(Rǰ4Ǹ4P Zh[ 4PPXXѭ1B^Ь[լԭլ1ì RRƬ ƬЬ TǏTVVzTP{PQPPVTWWǏWYրYzWP{PQPPX XZZzXP{ PQPPXTRRWszRP{PQPPPTV TUUzTP{ PQPPZUVY íXSSí VSx SS[SE߭߭߭LIB$INSVRRWP^ެоSSTЬccR>BdW:nXԭЮn ѭ 1LIB$EXTV<LIB$INSV DECC$MEMCPY[STRINDEX0 DECC$DSPRINTF4PUT_DISP8߭ݾ DISASS_MAP_PTR1QPЬ R RP Q{RPQPQQPЬ R RP Q{RPQPQTQTPЏR RP QP{RPQPQ,QTPЏRRRPRQPQP{RPPQQ׮,TSS(Ǐ(SS z(P{PQPP$ $SSz$P{ PQPP$TRR(1kzRP{PQPPPT֮, TVVzTP{ PQPPѮVѮ,  í$SSí ,Sx SSSUF߭߭HPլ1F߭߭߭$1լ<(RԮ1PԮRTRSSTS1PF߭߭HP&XXŬ TY YZZb DFU_EXPREGSYS$FAOSTRINDEX DECC$MEMCPYLIB$EXTV SET_BITMAP DECC$MALLOCSOR$RELEASE_RECCOPY_FIDLIB$INSV LIB$EXTZVDISASS_MAP_PTRLIB$FFCLIB$FFS SYS$DELTVA SYS$EXPREG SINGLEMSGPUT_DISP READ_BITMAPSYS$QIOSYS$QIOW DECC$DSPRINTF DECC$DFPRINTF h FLUSH_CACHE < READ_BITMAP  SCAN_BITMAP   NEW_BITMAP \  SET_BITMAP d REBUILD_BITMAPTPĬ PPZSPXLXgkPP  B~6kV~/🭒P.DIR;<P[ P. P 8.X8P%s P%%DFU-E-JUNK, invalid directory format at block %d for %sP%%DFU-S-DONE, %s : %d files; was : %d/%d, now : %d/%d blocksP%%DFU-I-TOTAL, %s : %d files^P%%DFU-I-TESTONLY, %s : %d files; old size : %d/%d, new : %d bl!ocks0P%%DFU-E-WRITEERR, Error writing directory %s,,P%s (P  P Choose a higher fill factorP%%DFU-E-EXTERR, %s cannot be extended,P%s P Version: %d, FID : (%d,%d,%d)P%s PSize: %d, Version limit: %d, Type: %d, Name(%d): %.*s8P%%DFU-E-LOWFILL, Directory entry too large, choose a higher fill factor4P%s PDUMP of directory block %d P%%DFU-E-READERR, Error reading directory %s, P%%DFU-E-INSFMEM, Error allocating %d pages memory " P%%DFU-E-INSFMEM, Error allocating %d pages memory for %sT P%%DFU-W-INVDIR, %s is not a valid directoryL P.DIR;1 P%%DFU-W-INVDIR, %s is not a valid directory P%%DFU-E-OPENERR, Error opening directory %s, P%%DFU-E-SEARCHERR, Error searching file %s, P%%DFU-E-PARSEERR, Error parsing filename from %s,P h P%%DFU-S-CREATED, Created directory %.*s8 P%%DFU-E-NOTCREATE, Error creating directory %s,0 P.DIR;1(P  P %%DFU-I-#READY, DIRECTORY command ready P  P%%DFU-E-OPENERR, Error opening file %s Pr P  P%%DFU-E-SYNTAXERR, missing required qualifier Pw PSYS$OUTPUT: Poutfile Pemptyh PUse VERIFY/DIRECTORY instead< P%%DFU-W-OBSOLETE, This command is obsolete,6 Pcheck0 Palias' Pallocate Pformat Pversion Pstatistics Ptruncate Ptest Pcreate P%%DFU-E-RATIOERR, fill factor out of range Pratio Pcompress Pdump P$directory P: Pdevice PSYS$COMMANDt P%%DFU-S-MOVED, File %s defragmentedP P%%DFU-E-NOTMOVED, Error moving %s, $ P%%DFU-E-SEARCHERR, Error searching file %s, P%%DFU-E-PARSEERR, Error parsing filename from %s, P %%DFU-I-READY, DEFRAG command ready P  Pfile P  P%%DFU-E-OPENERR, Error opening file %s Prh P%%DFU-I-DEFRAG, Start defragmenting file(s) ...b P - P%%DFU-E-NOFILSPEC, No file specified on command line( Pfile Pbe%sttry Pwritecheck Plbn PstatisticsP:PdeviceP%%DFU-E-ILLIOFUNC, This function not supported on this version of VMSP5.5PSYS$COMMANDzP %%DFU-I-READY, DELETE command readylPxP vP]TP %%DFU-I-CLEANUP, Deleting %s...hP(P%%DFU-E-SEARCHERR, Error searching file %s,P%%DFU-E-PARSEERR, Error parsing filename from %s,P%%DFU-E-ERRFID, Incorrect File id on command lineP%%DFU-E-ERRFID, Incorrect File id on comm&and lineHP%%DFU-E-NOFID, Missing /FILE_ID or /DIRECTORY qualifier on command line:Pnoremove4Pnolog2P +Pdevice PstatisticsPkeepPtree PdirectoryPSYS$COMMANDPFILE_IDP%%DFU-I-PARSEDIR, Parsing directory ...P%%DFU-E-PARSEERR, Error parsing filename from %s,P]*.DIR;1P.P]jP %%DFU-I-CLEANUP, Deleting %s...hP 0P%%DFU-W-NOSUBDIR, no subdirectories found in this treeP%%DFU-I-PARSEDIR, Parsing director'y tree...P%%DFU-E-PARSEERR, Error parsing filename from %s,P...]*.DIR;1P.P]P%%DFU-S-TOTAL, %d file(s) deletedrP Progress : 100%% Status : READYKP%%DFU-S-DELETED, File %.*s;%d deleted FP.DIRP Progress : %3d%% Status : Deleting directory (%d files done)P%%DFU-E-JUNKDIR, Corrupted directory (byte offset 0) %sP%%DFU-E-READERR, Error reading directory %s,`P%%DFU-E-INSFMEM, Error allocating %d pages memory for %s4P%9I7T!$DFU_FREEWARE_024.Aif[DFU024.KIT]DECC_DFULIB.OLB;1{)"'(%DFU-W-INVDIR, %s is not a valid directory,P.DIR;1P%%DFU-W-INVDIR, %s is not a valid directoryP%%DFU-E-OPENERR, Error opening directory %s, P   P%%DFU-S-ENTERED, File %.*s entered in %sP]0 P.h P%%DFU-S-DELETED, File %s deleted ZP%%DFU-E-NOTDEL, Error deleting file %s ,XP 0P%%DFU-E-NOTDEL, Error deleting file %s,,P P%%DFU-E-NOACCESS, Error accessing file for deleteH PV8 @ P %%D)FU-I-READY, SET command readyPp1P%%DFU-S-MODIFIED, File %s modified P%%DFU-E-SETERR, Error modifying file %s,uPModify %s ? : LP%%DFU-E-OPENERR, Error accesing file %s, P%%DFU-E-SEARCHERR, Error searching file %s,P%%DFU-E-PARSEERR, Error parsing filename from %s,P P%%DFU-E-OPENERR, Error opening file %sPrP P%%DFU-E-INVID, Wrong uic or identifier,PuicPidentPsequentialxPrelativepPindexedcPdirectZ*PstreamcrQPstreamlfJPstream@Pundefined<Pvfc0Pvariable*Pfixed#PnospanPnonePprintPimpliedPfortranPmaxrecPvfcsizePbucketsizePrecsizePrvcountPeblockPebytePrevision_datePexpiration_datePcreation_datePbackup_datePlogzPdirectorysPbadacllPlockedXPcontiguous_best_tryPPupdateHPconfirm8Pnew_nameP%%DFU-E-NOFILSPEC, No file specified on command line+Pp1@P   VL PP(P DFU_NOPRIV DFU_ASSIGNDECC$GA_RMS_RABDECC$GA_RMS_FABDECC$GA_RMS_NAMSYS$FAO MAKE_LIST DECC$MEMMOVESYS$OPEN SYS$CLOSE SYS$WRITE SYS$CONNECT SYS$CREATECOMPDIR CREATE_DIRBUILD_DIR_TABLE MOVE_TO_LBNMOVEFILE DECC$STRNCAT DECC$STRNCMP SYS$GETSYIWLIB$SHOW_TIMER DECC$FREE,SMG$SET_CURSOR_MODE DECC$ATOI CLI$GET_VALUE CLI$PRESENTLIB$INIT_TIMER PARSE_SINGLE DECC$STRNCPY DECC$MALLOCCOPY_FID DECC$STRCAT PARSE_TREE SYS$DELTVA PUT_STATUS SYS$EXPREG DECC$STRSTRDELETE_DIRECTORY DELETE_FILEDO_ABORT SYS$DASSGN DECC$MEMCPYSMG$READ_COMPOSED_LINESYS$QIOW SYS$ASSIGN SYS$SEARCH SYS$PARSE DECC$STRLEN DECC$STRCPYSTRINDEX SINGLEMSGPUT_DISP PARSE_ITEM DI-SPLAY_STATSOR$SORT_MERGESOR$RETURN_RECSOR$RELEASE_RECOU? .DIR;.DIR;1 ^ [V}o8<}i0Ơ4}[(ơ,}U Ơ$}O}I}C }kf0 PARSE_ITEMPfϴk DECC$DSPRINTFPUT_DISP< 1 4 PARSE_ITEMRbPf< ϳbPf͸ ϥbPfͰ .bPfʹ ϑbPf πbPfͼ obPf͜ ]bPfͬ IbPfͤ =bPfͨ 9bPf͠ 1bPf|D #bPf@ bPf͘ bPf͔?0 bPf| bPf߀x bPft bPf͐ ϿbPf͌ ϱbPf͈ ϣbPf̀ ϓbPf̈́ ςbPfp /sbPfl cbPfh YbPfd GbPf` ;bPf\ ,bPfX bPfT bPfP bPfL bPfͣH bPf8 bPf88 bPfˏfRR(ϸk DECC$DSPRINTFPUT_DISPf SINGLEMSGf1JPԮ11STRINDEXn DECC$DSPRINTFXPUT_DISPZ DECC$STRCPY DECC$STRLEN SINGLEMSG SYS$SEA0RCH SYS$QIOWSMG$READ_COMPOSED_LINE DECC$MEMCPYY~LƠ PPRޔBƠƠRR@yծ("ơ DECC$FOPENPơ khj1ݮ~Ƣ DECC$FGETSPf!~ Ƣ PPRBƢ"Pݮ DECC$FCLOSEԮ1PƠƢP@PDDECC$GA_RMS_FABR(PbƢԟƢPܞHDECC$GA_RMS_NAMR(`bHJLRT|~ SYS$PARSEPfˏPRR$ƢRkhjf(Џʂf1P|~Pffʂ1KRBˏ1fRR%1khjf(Џʂf1PKRB\8]|~?28 SYS$ASSIGNPfˏPRRfݏ DFU_ASSIGN SINGLEMSGf1lTnVpX͸ ЏP PЏ(P8 ȏPrS@|~@|~HS<2~ LPfˏPRRݬ cߟ  DECC$DSPRINTFPUT_DISP|~|~|~|~4ݬ SYS$QIOWPe18Tݬ  DECC$STRSTRP>ݬ Gߟ  DECC$DSPRINTFPUT_DISP|~|~|~|~4ݬ SYS$QIOW8Pe1nѮp|~߭ݮ SYS$EXPREGPeˏPRRMݬ ݮߟ  DECC$DSPRINTFPUT_DISPe SINGLEMSGR|~|~|~|~4ݬ SYS$QIOWPe1oЮnSѮ  ٮPЭ|~x S~ݮ0|~H1ݬ SYS$QIOWPeˏPRRSEARCHPffʂ1DXXP^W XV(?}8( <}0h 4}(p ,} g$}a}ϊ 0L PARSE_ITEMRbPf09bPfߦ@0)bPf0bPf ( bPf~؟p STRINDEX@p 9լݏ DFU_NOPRIV SINGLEMSG$n1Fp (  DECC$STRCPY(  DECC$STRLENP80ϩ PARSE_ITEMPf LIB$INIT_TIMERPf1J0| P?ARSE_ITEMPf  CLI$PRESENTP hן  DECC$DSPRINTFPUT_DISP< n10?00  CLI$GET_VALUEPfh  DECC$ATOIPSQSPЏRRRPRQPQP{RPPQQ QSPЏR RP QP{RPQPQ0?00  CLI$GET_VALUEPfˏPRR"֟  DECC$DSPRINTFPUT_DISP< n1Ph  DECC$ATOIPSS0?00  CLI$GET_VALUEPfˏPRR!ϻ֟  DECC$DSPRINTFPUT_DISP< n1h  DECC$ATOIP@TSTRRSSQTPЏRRRPRQPQ{RPPQQ|~?8 SYS$ASSIGNPfˏPRRfݏ DFU_ASSIGN SINGLEMSGfn12~?  DELETE_FILEPf|~|~|~|~4<~ SYS$QIOWPf<~ SYS$DASSGNPf1xDECC$GA_RMS_FABR(Pbؐݞp ԟp  DECC$STRLENPܞHDECC$GA_RMS_NAMR(`bHJLRT|~ SYS$PARSEPfˏPRR-p q՟  DECC$DSPRINTFPUT_DISPf SINGLEMSGfn1A|~ SYS$SEARCHPffʂ1 DECC$STRCPYYSMG$SET_CURSOR_MODECOPY_FIDUSTRINDEXT DECC$STRLENSYS$QIOWZ DECC$FREE[KRBˏfRR- ՟  DECC$DSPRINTFPUT_DISPf SINGLEMSGfn1bB7Bԟ  DECC$DSPRINTFPUT_DISPl<~DELETE_DIRECTORYPfզ@1P@Dh1PhggR?begR"e~gR dPS~gR dgR@ gRC i  P|~|~@|~H3<~ jPfgR hRkh1d+DO_ABORT|~|~|~|~4<~ jPfЏʂfP|~ SYS$SEARCHPf l fʂ1<~ SYS$DASSGNPfӟ  DECC$DSPRINTFPUT_DISP DISPLAY_STAT|~LIB$SHOW_TCIMERPfP^ [ZR}ρܭ؞}ύܭОp}YܭȞ°}ϕܭϯҭլݏ DFU_NOPRIV SINGLEMSG$n1PఏXޭԭ|~|~ SYS$GETSYIWPbʏPPb SINGLEMSGbn1:PYF DECC$STRNCMPP9ҟk DECC$DSPRINTFPUT_DISPn1P߭ПX PARSE_ITEMPbխ9@~IҟpSTRINDEXPSYS$QIOW DECC$DSPRINTFLPUT_DISPP SINGLEMSG SYS$EXPREGެD DECC$DFPRINTFH DECC$MEMMOVE( SYS$DELTVAKRBˏhRR-=ǟk DECC$DSPRINTFPUT_DISPh SINGLEMSGh 1P<&RM\(] DECC$STRCPY|~?&( SYS$ASSIGNPhˏPRRhݏN DFU_ASSIGN SINGLEMSGh 1l<n>p@ը0ը$ <8 Џ8Ȱ|~@|~H<&~<&~ HPhˏPRR 32 volumesh!P%%DFU-E-NOTF11, Debvice does not have an ODS2 filesystemP%s PExpired : %.*sP%s PExpired : %sPP%s PRevised : %.*sP%s tPCreated : %.*spP%s HPSize : %d/%d, Revision count : %dDP%s PVBN : %d , File ID (%d,%d,%d) , UIC : %.*sP%s PDirectory: %.*s , Backlink ID (%td,%d,%d)P%s PFilename: %sP]P%.*s P;P P%%DFU-E-READERR, Error reading backlink header, dP%%DFU-E-FIDTOOBIG, File id specified > max file id HPAvailable headers : %d 0PFirst header VBN : %dPHeader count : %dPMaximum # files : %dPCluster size : %dPStructure name : %.12sPVolume owner : %.12sP Volume name : %.12s\P%%DFU-I-SEARCH, Start search on %.*s (%s) , RVN = %d 0uP%%DFU-I-SEARCH, Start search on %.*s (%s) <_P(Prop=WBH Prat=crPctx=recPrfm=varPmrs=255PSYS$OUTPUT:PaPappendPoutfilePwP%%DFU-E-INVID, Wrong uic or identifier,PuicPidentPisshelvedPnoshelvablePnomovePscratch|PeraserPnochargekPmarkedbPbadblockXPdirectoryRPspoolJPbadacl?Pcontiguous8Plocked0Pbesttry'Pnobackup$PorPexp_sincePevxp_beforePbak_sincePbak_beforePmod_sincePmod_beforePcre_sincePcre_beforePexp_nonePbak_nonePvers_maxPvers_minPversion_numberPretr_maxPretr_min~PfragmentyPsortnPstatisticsiPhome`PnosearchWPnovolsetPPplacedHPsummary>Pfull5Pmultiple0Pover,Pfid(Plbn!PbakfidPformatP%%DFU-E-SIZEERR, Minimum size > maximum size Psize_maxPsize_minP%w%DFU-E-SIZEERR, Minimum size > maximum size Psize_maxPsize_minPallocatedPexc DFU_IOERR DFU_EXHFAIL DFU_INDEXERR DFU_ASSIGN DFU_EXPREG DFU_NOPRIV SYS$WAITFRSYS$QIO FLUSH_CACHE SYS$GETDVIW PARSE_UIC SYS$BINTIM DECC$STRCAT DECC$MEMSET DECC$ATOI CLI$GET_VALUE CLI$PRESENT REMOVE_FILE DELETE_FILESCAN_DIRECTORIESCOMPARE_BITMAP SET_BITMAP SYS$DELTVAREPORT_LOST_FILES CHECK_USAGEx NEW_BITMAP MAKE_SYSLOST DECC$FREE ENTER_FILE SYS$DASSGN SYS$CANEXH DECC$MALLOCSMG$READ_COMPOSED_LINE DECC$STRSTR DECC$STRNCPYREBUILD_BITMAP READ_BITMAP SYS$EXPREG SYS$DCLEXH DECC$STRNCMP ADD_QUOTA DFU_HANDLER SCAN_BITMAP SYS$ASSIGN REPORT_USAGE ADD_USAGE SYS$ASCTIMSYS$FAO DECC$STRLEN DECC$ATOLSTR$MATCH_WILD DECC$MEMCPYFOLLOW_EXTENTS VERIFY_HEADERSYS$QIOWSMG$SET_CURSOR_MOyDE DECC$STRCPY SINGLEMSGSTRINDEXGET_MAP_POINTERSREAD_INDEXF_MULTI PARSE_ITEMPUT_DISP PUT_STATUS DISPLAY_STATGET_NEXT_HEADER OPEN_DEVICE FID_TO_NAMEREAD_INDEXF_BITMAPDISASS_MAP_PTRCLEANUPSOR$SORT_MERGESOR$RETURN_RECSOR$RELEASE_REC SOR$END_SORTSOR$BEGIN_SORTLIB$SUBXLIB$SHOW_TIMERLIB$INSVLIB$INIT_TIMER LIB$GET_EF LIB$FREE_EFLIB$FID_TO_NAMELIB$FFSLIB$FFC LIB$EXTZVz DECC$FOPENlude|PfilezP:rPdeviceXP!#AS!9UL/!9!4UL/!ULJP!#AS!9UL/!UL@P!%I (!%U)>P  P %%DFU-W-ABORTED , command interrupted by CTRL/CP %.*s P%.*s \P.\Px#P?OU   SYSLOST.DIR;1 P^'ЬPݠ<`~۟ DECC$DSPRINTF PUT_STATUSЬPݠ<`~ DECC$DPRINTFPP^ϰ۟ {DECC$DSPRINTFPUT_DISP۟ DECC$DSPRINTF PUT_STATUSp^[ZW( +ۚ}ϾHݞkL}Ϻ@ݞp[D}ϲ8ݞ\<}Ϫ0ݞ]4}ϒ(ݞ`^,}ϒ ݞ@]$}ϊݞ^}ς͢ݞ^}zݞ }tݞ}nܞ}(ܞ^[ͼ@ݟ PARSE_ITEMPX[X[7@~ڟp[STRINDEXP<@R:Bp[<@RRR@݊gR<͠ܟ8ݟό PARSE_ITEMScPX[<͜ܟ͘ݟ8ݟn|cPX[\<8ݟScPX[1ͬ@ܟ8ݟ7cPX[ˏPRR X[n1ͨ<ܟ8ݟ cPX[ˏPRR X[n1ѵ|Ͱͬ1ͨ1@<1ٟk DECC$DSPRINTFPUT_DISPCLEANUPn1oP1ʹ@ܟ8ݟcPX[ˏPRR X[n15Ͱ<ܟ8ݟϙcPX[ˏPRR X[n1|ͨʹ1Ͱ*@<!aٟk DECC$DSPRINTFPUT_DISPCLEANUPn1Lܟb PARSE_ITEMScPX[lܟ>a$DFU_FREEWARE_024.Aif[DFU024.KIT]DECC_DFULIB.OLB;1%"|}8ݟFcPX[ˏPRR X[n1p͸ ܟ8ݟcPX[ˏPRR X[n1=hܟ8ݟcPX[ˏPRR X[n1 H۟8ݟϺ؀cPX[ˏPRR X[n18ݟύcPX[8ݟ|cPX[8ݟlcPX[8ݟZ؀cPX[8ݟGcPX[8ݟ6cPX[8ݟ%cPX[8ݟcPX[p8ݟυcPX[T8ݟcPX[Tr| T$ܟ8ݟcPX[ˏ~PRR X[n1PT ܟ8ݟϢcPX[ˏPRR X[n1]TP8ݟt PARSE_ITEMScPX[Pp|Pܟ8ݟUcPX[ˏPRR X[n1Pܟ8ݟ+cPX[ˏPRR X[n1P͘8ݟ PARSE_ITEMRbPX[͔8ݟbPX[͐ܟ͐ݟ8ݟbPX[͌ܟ͈ݟ8ݟbPX[͈ܟ̀ݟ8ݟϰbPX[̈́ܟxݟ8ݟϠbPX[̀ܟ`ݟ8ݟώbPX[|ܟXݟ8ݟ~bPX[xܟpݟ8ݟlbPX[tܟhݟ8ݟ\bPX[<`8ݟAbPX[d۟8ݟ#bPX[ d۟8ݟ bPX[@d۟8ݟbPX[߀d۟8ݟbPX[<d۟8ݟϾbPX[<d۟8ݟϣbPX[< d۟8ݟφbPX[<@d۟8ݟmbPX[<\۟8ݟSbPX[\dЏd۟8ݟ)bPX[Џͅd۟8ݟbPX[Џd۟8ݟbPX[Џ d۟8ݟbPX[Џ@d8ݟϻbPX[Џd۟8ݟϢbPX[dܞ\<X۟8ݟ|bPX[XX۟8ݟ`bPX[ˏX[RR)Eԟk DECC$DSPRINTFPUT_DISPX[ SINGLEMSGn1ݟ?ԟ8_ DECC$STRCPYͤ(ݟ* PARSE_ITEMPX[ͤD(ݟ PARSE_ITEMPX[Dͤܟӟ8_ DECC$STRCPYͤӟ`^ DECC$STRCPYɰ (P<(RB`^ӟӟӟӟϼӟ8_`^ DECC$FOPENP\gpgK|~|~|~ܟ SOR$BEGIN_SORTPX[ˏPRRX[ SINGLEMSGX[n1gLIB$INIT_TIMERPX[ggg||(Ԯ$Ԯ8 \@ OPEN_DEVICEPX[ˏPRRCLEANUPX[n1IL[([<_ SMG$SET_CURSOR_MODEL[@[1{[1p DECC$DSPRINTFhPUT_DISPlGET_NEXT_HEADERSTR$MATCH_WILD`STRINDEX0 DECC$ATOLLIB$SUBXX FID_TO_NAME DECC$STRLEN SYS$FAOT DECC$DFPRINTFdSOR$RELEASE_REC SYS$ASCTIMP DECC$STRCPY4 LIB$FREE_EF[ŏL[RBDSc1@@[ BIDp[<@~ ҟk|IP H[L[L[ŏL[RBIDBD؞BDRbџkހld[Ԯ88READ_INDEXF_BITMAP1x L[RBџktlx L[RBџktlx L[RBџktlx L[RBR`Y$DFU_FREEWARE_024.Aif[DFU024.KIT]DECC_DFULIB.OLB;10"RbϥŸh DECC$DSPRINTFPUT_DISPh\ DECC$DFPRINTFx L[RBϦŸh DECC$DSPRINTFPUT_DISPh϶\ DECC$DFPRINTFx L[RBϚŸh DECC$DSPRINTFPUT_DISPhϪ\ DECC$DFPRINTFx L[RBώŸh DECC$DSPRINTFPUT_DISPhϞ\ DECC$DFPRINTFx L[RBR\TCLEANUPX[1bPL[[L[@[ hjkeRR,RB[PX[RReL[@[ [1XL[ e\ύh DECC$DSPRINTF PUT_STATUS\ŏL[RBDRbSRbcRL[ծDRb RbRԢeaR H$PX[ˏPRR X[1+[10[ϦpdŔpxL[쩟p[dRR.UPE[PX[UUdL[@[ϷpdL[@[ [1~PghbͨͬUͨRbeR a DECC$STRCPYa DECC$STRLENPRbRR)ȟbŏVRBDR͞SRbcȟbŏVRBDR DECC$DSPRINTFPUT_DISP$ DISPLAY_STAT|~LIB$SHOW_TIMERPX[ЮP|(^V(Yڮ؟ DECC$STRLENP螭ڭDRbSRTSRbdUUPP^Ri~ DECC$MALLOCPbPPi~ DECC$MALLOCb\Peb\ЬebPx^ZV(Ϟ}PŞT}HŞp[L} @ŞxcD}8Ş(c<}0Şc4}ʰ(Şd,} Şe$ԮH@e0eDe[8şޣ PARSE_ITEMRbPX[8şţbPX[8şϳbPX[լݏ DFU_NOPRIV SINGLEMSG$L1sPHşx PARSE_ITEMPX[X[7@~ap[STRINDEXP\`READ_INDEXF_BITMAPPPX[ˏPRR X[L1P[1 DECC$DSPRINTFxPUT_DISP| DECC$DFPRINTF[LIB$INSVh DECC$MEMCPYd DECC$MALLOCp DECC$STRNCPY`[W[ŚGRxRXb͠Ğ͜͠SA݂$DFU_FREEWARE_024.Aif[DFU024.KIT]DECC_DFULIB.OLB;1h"͜RbcjSRL[jRbjRԢe1Pˏ4RR@DcUL[< ~d[ޔ| ğ\kˏ4RR@DcUL[< ~d[ޔ| ݟ\kˏ4RR 1Td[SCRRRCͬSͬRBRd[bd[֮ͬH@[bFd[ L[X?8ğcUqތ| ̟Ϛ\k~cUL[< ~d[oޔ| Ϙ\k4tRx RRBSRBcxէ<DcUL[< ~d[8ޔ| M\kXd[1X1cUL[< ~d[ޔ| 5\kX%d[Td[SCRRRC1i~tPjPPi~tjRPejRТejjR>b͔Ğ͔͐S͐RbcjRL[d[ jRb PjRbjRԢeUcjR ld[TXT1T1  SFRSR1cUL[< ~T"ޔ| G\k1i~tPjPi~tjRPejRТejjR>b͈Ğ͈̈́S̈́RbcjR|ĞBx|TxRbdjRL[jRbjRԢeUcjR lFRL[FFRRL[1Sd[RFBTd[SCRRRCͼ͸<Rͼ͸W PX[d[ͼYݧ<`$PPX[ˏPRR X[L1P[1SQd[PЏRRRPRQPQP{RPPQQcSQd[PЏR RP QP{RPQPQRd[ͤ1GdX a\`ŏL[RBDRbbPX[ŏL[RBDRbŏL[SCDTx L[RBR\`S\Rbcʹ1ReT>PTSPRbcLeHjR>bDHTDRbdjR cHc@P0ş0şHed8b $T RbdjR cHc@P0ş0şHeŏURBDR`bPUT_DISPY`b PUT_STATUSZϗ DECC$DSPRINTFPUT_DISPCLEANUPP8^X}T`f}^fݬ`f DECC$STRCPY`f DECC$STRLENPԼ CLI$PRESENTP[[ [1ЬPPP1iPF_?PЬR?bR CLI$GET_VALUEPSˏSRR19SZ1<1/Ь UeЬSPc?cS CLI$GET_VALUEPTˏTRRTZ1Pݣ DECC$ATOIPe1 DECC$DSPRINTFPUT_DISPԼZ111Ь RެYiSУWgb߭S CLI$GET_VALUEVP1STRINDEXV DECC$MEMSETUTV~@bfPSS5V~'bf@beb DECC$STRCAT2VPPPVCPP *Ce2VPPPVgXRb߭T CLI$GET_VALUEVP1dЬRW1ЬTɤdЬ U[ eԥ1P?dT CLI$GET_VALUEPSˏSRRSZ1eT SYS$BINTIMyPЬRȼ kԭ?蟭蟭 CLI$GET_VALUEP0߭ PARSE_UICPX[ˏPRRX[Z-PPԭЭ PЬ Rb[bZZZP^SPfW[TGPxPUxXDʹxWPETgTԧUDD@E@@eD@Td||~[xݬ|~ SYS$GETDVIWPSˏSRR<[SˏSRRS SINGLEMSGS(1l[Ѭ1 XE1|~?l[ݬ SYS$ASSIGNPSˏSRR Sݏ DFU_ASSIGN SINGLEMSGCLEANUPS(1nPxTD$D @d4$ Sc||~[x0[[|~@DkDݫ DECC$STRCPY>xZhj.ԪYDiԩXphԨWŏRP@HD@D@gԫUe||~[x[|~@PSʏPP<[SˏSPP*s DECC$DSPRINTFPUT_DISPCLEANUPS(1PhRŏRSCDPD`ˏpPP CDP` CDP`CDPD`DDCD DECC$STRNCPYR@[1(Ю(P^Vx L[SC(R Contents{ B*;DECdocument V3.0a/ gCONTENTSCONTENTS8 E\TitlePageTitle Page@E\ CopyrightPageCopyright Page@g$K1 Introduction1 Introduction Rw' $K1.1&KSupportonDFU1.1 Support on DFU [w+ $K1.2&KGeneral description1.2 General description _g. $K1.3!&KNewfeaturesofV2.41.3 New features of V2.4lg 4 $L1.4'&L Restrictionsand Parameters1.4 Restrictions and Parameters;w $L2UsingDFU2 Using DFUaw. $K2.1!&K Installation procedure2.1 Installation procedure \w, $K2.2&KSecurityandaccess2.2 Security and access+Kw# $K2.3&KRunningDFU2.3 Running DFU3nw 6 $K2.4)&KUsinganindirectfilelist2.4 Using an indirect file list9[w(($K3TheSMGoutput interface3 The SMG output interface;aw. $K3.1!&KEnabling/DisablingSMG3.1 Enabling/Disabling SMG<w2J $K3.2=&K Automatic switchingbetweenSMGandLinemode3.2 Automatic switching between SMG and Line mode=hw3 $L3.3&&LLayoutoftheSMGscreen3.3 Layout of the SMG screen>dw0 $K3.4#&KSpecialScreencommands3.4 Special Screen commandsBMg$ $K3.5&KSideeffects3.5 Side effectsF=g $K4DFUbasics4 DFU basicsH4g $K5DEFRAG5 DEFRAGTJw" $K5.1&K Description5.1 DescriptionUQw& $L5.2&LErrormessages5.2 Error messagesX/gEKDEFRAGDEFRAG[4g $K6DELETE6 DELETEfLg# $K6.1&K Introduction6.1 Introductiong/gEKDELETEDELETEk:g $K7 DIRECTORY7 DIRECTORYzLg# $L7.1&L Introduction7.1 Introduction{}w(= $K7.20&K Discussionof directory compression7.2 Discussion of directory compressionWw) $L7.3&LOutput formatting7.3 Output formatting5g EK DIRECTORYDIRECTORY4F$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.DECW$BOOK;1j5 ^" g $K8REPORT8 REPORTJw" $K8.1&K Description8.1 DescriptionXw* $K8.2&KSyntaxandOutput8.2 Syntax and Output/gEKREPORTREPORT4g $L9SEARCH9 SEARCHLg# $K9.1&K Introduction9.1 IntroductionXw* $K9.2&KSyntaxandOutput9.2 Syntax and Output`w. $K9.3!&KVolumeSet processing9.3 Volume Set processingWw) $K9.4&KOutput formatting9.4 Output formattingqw"7 $K9.5*&KUICand identifier processing9.5 UIC and identifier processing/gELSEARCHSEARCH0g$L10SET10 SETNg$$K10.1&K Introduction10.1 Introductionsw#8$K10.2*&KUICand identifier processing10.2 UIC and identifier processing)g  EKSETSET:g $K11UNDELETE11 UNDELETENg$$K11.1&K Introduction11.1 Introduction\g,$K11.2&KHowUndeleteworks11.2 How Undelete works gg2$L11.3$&LFilesmarkedfordelete11.3 Files marked for delete)sw#8$L11.4*&LUICand identifier processing11.4 UIC and identifier processing*3g EKUNDELETEUNDELETE+4g $K12SPAWN12 SPAWN76g $K13VERIFY13 VERIFY8Ng$$K13.1&K Introduction13.1 Introduction9`w.$L13.2 &LBasicrepairactions13.2 Basic repair actions>[w+$L13.3&L Directoryscanning13.3 Directory scanningAfw1$K13.4#&KAdvancedrepairactions13.4 Advanced repair actionsD]w,$K13.5&K Interpretingerrors13.5 Interpreting errorsHUw($K13.6&KError reporting13.6 Error reportingI/gEKVERIFYVERIFY^lB"6* CopyrightAugust1996 ~AllRights Reserved.=ODFUV2.4rHHODFUDiskandFile UtilitiesforOpenVMSVAXandAlpharH ORevision Information:(^Thismanual supersedesV2.2O%ODate:^August1996,fO OperatingSystem:*^OpenVMSVAXV5.5-2thru7.1, ^AlphaV6.1thru7.1b8ONote:)^PartoftheFreewareCD-ROMss /! p  O8O6OpenVMSFreewareforVAXandAXPSystemsbOTheOpenVMSFreewareCD-ROMcontainsfreesoftwaretoolsand utilitiestoaid^Osoftware developersincreating applicationsandmanagingandusingOpenVMSOVsystems.fOManyofthesetoolsarepopularpackagesalreadywidelyknownandinuse,whilemO3othersare internally developedDigitaltoolsour engineersaremaking availabletoour^OuOpenVMS customers.'Forexample,theOpenVMSFreewareCD-ROMincludesBliss-[O32forOpenVMSVAX,Bliss-32forOpenVMSAXP,andBliss-64forOpenVMSOAXP.multipleversionsP5.JSearchall directoriesonthediskforaliasfileentriesA=6.JSearch all directories on the diskforemptyY directories `IREPORT: GeneratesafileandfreespacereportforaKmdisk.*Alsoadiskspaceusagereport,basedonUIC'sorJ identifiers,canbe generated,evenonadiskwhichhas diskquota disabled. `QSEARCH:Lookupfilesonadiskbyspecificfile attributes?(eg.&filessizes,dates, ownership,andsoon) `vOvSET:This functionsallowssettingoffile attributeswhich6arenot availablethroughDCL commands. `M9MUNDELETE:Asafefilerecovery function. `GVERIFY:Thisfunctionperformsafastdisk structureK% verificationandcan optionallyrepaircertaindiskstruc-@~tureerrors (comparablewithANALYZE/DISK/REPAIR).]KOEachfunctionis describedindetailinthe correspondingOchapter. pFODFUis supportedonOpenVMSVAXV5.5-2throughV7.1,HOandOpenVMSAlphaV6.1thruV7.1.*DFUhasbeentestedNO5ontheFieldtestversionsofVMS7.1;sofarnoproblemsQOhavebeenfound.'TheofficialfreewarerGCk$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.DECW$BOOK;1j5 k"eleaseofDFUwillbeCO distributedwiththeofficialreleaseofVMSV7.1.BB  &O1.3BNewfeaturesofV2.4EOUThisversionofDFUoffersseveralimprovedandnewPO features,aswellasacoupleof bugfixes.*Thenew functionsOandfeaturesare: '  `mDmImprovedhandlingofUIC'sand Identifiers.*DFUnow@acceptsallvalidnumericand alphanumericUIC'sDand identifiers..Thisoptionisusedinthe/OWNER>wand /IDENTIFIER qualifier.,TheSEARCH,SETand5UNDELETEcommandsusethese qualifiers. `OAOInsomecasesthe DFU_ALLPRIV identifierwastooD restrictive; thereforeithasbeenremovedfromthe8DIRECTORY/COMPRESS, DELETE/DIRandtheSETYcommand. `EOutput formattingisnowpossibleontheSEARCHand80DIRECTORY/VERSIONcommandsviathe/FORMATB qualifier.2ThisallowsthebuildingofactionDCLEcommand proceduresdirectlyfromtheoutputofthese: commands. `IOutputfilehandling:'thenew/APPEND qualifierallowsKDFUtoaddoutputtoanexistingoutputfileinsteadof jcreatinganewone. `ADELETE/DIRECTORY:thenew/KEEP qualifierallowsGB preservationofthe directorytree;onlythe directorycontentisdeleted. `?SEARCH:addedthe/OVER_ALLOCATED qualifierto.ssearchforover allocatedfiles. `HREPORT:Severalnew qualifiersallowcontrolovertheGK output.+The/USAGE qualifiercannowalsobeusedasE  /USAGE=toreportaspecificuicor identifier. `" F"  UNDELETE:abilitytoundeletefilesmarkedfordelete ` ? VERIFY:several enhancements.(VERIFY /DIRECTORYC allowsacomplete directorycheck;!thisresultsinMS better detectionoflostfilesandsomecasesof directory?  problems.*Notethat/DIRECTORY_SCANreplacesthe> DIRECTORY/CHECKcomand.)Also incorrect backlinksF] oftheMasterFile Directory (000000.DIR)cannowbeJ  repaired.)Finallytheoutputofmultiple allocatedblocks> hasbeenimproved(isnowsortedbyLBN's).\22OThe followingbugshavebeenfixed:! P `m>mOnVAX/VMSV5.5-2withoutthepatchonSMGSHRC installed,DFUcouldexitwithanACCVIOerror.-AE workaroundhasbeenbuildintoavoidthisproblem. `HWhen processingacorrupt directoryDFUcouldendwithJanACCVIOerror.'Thishasbeenfixedbybetterchecking#Oofthe directoryfile. `/ SET/MAXRECdidnotwork properly. `M9MIf,duringanUNDELETEcommandCTRL/YwasHenteredanextraRETURNhadtobegiventoabortthe3UNDELETEcommand.'Thisisnowfixed. `~>~ VERIFY/FIXandUNDELETEdidnotalwaysreenterJthefilewithitsoriginalversionnumber.)DFUwillnowO/enterthefilewiththecorrectversionnumber,orthenextFhigherversionifthecurrentversionalreadyexists. `KIssueacorrecterrormessagewhentryingtouseDFUon;_nonODS-2diskssuchasaSpiralogvolume. `HInabatchjobDFUcouldproduceunwantedblankpages67whenthelogical DFU$NOSMGwasdefined.*   ne,O1.4B Restrictionsand Parameters9OUTheDFUprogramhasafew restrictions: I `mCmDFUcannothandlevolumesetswithmorethan32members. `EFEDuetochangesinVMSruntime librariesforDECCHDFU.EXEfileslinkedonVMS6.2cannotberunonVMSE6.1andlowerwithout relinkingtheimage.-Thebest?Osolutionisto reinstallDFUonthosesystems. `ETheSMG interfacemaynotworkatallonVMS5.5-F'2.+Inthatcaseyouneedtoinstall CSCPAT_0320and; re-installDFU.Warning:/ CSCPAT_0320replaces> SMGSHR.EXEandmayhavesideeffectsonother-0 applicationsusingSMG routines.! ^IOThe followingminimumprocessquotasare recommendedforODFUusage:$ `mmWSQUOTA:1500 `WSEXTENT:3000 `llDIOLM:40 `ASTLM:40 `kkFILLM:40 `BYTLM:30000 `ii PGFLQUOTA:30000NIOIfyouuseDFUonvolumesetswithalargenumberofGOmembersyoumayneedtoincreasetheSYSGEN parameterO5 CHANNELCNT.NKOIfyouusethe directorycommandonverylarge directoryNOfiles(>1000blocks)andrunintoerrorsyoumayneedto/O5increasethe following parameters:E `mGmWSQUOTAatleast1000+size-of-largest directoryfile `2WSEXTENT:WSQUOTA+atleast1000 `l:lCTLPAGES(SYSGEN parameter):'atleast100 `<WSMAX(SYSGEN parameter):&atleastWSEXTENT NOODonotchange parametersunlessyourunintoerrorssuchas9OEXCEEDEDQUOTAor INSUFFICIENTWORKINGSETO5LIMITS.O 2.2Using!DFULOThischapter describesthe installation procedureandother8OactionswhichmustbetakentorunDFU.  &O2.1B Installation procedureIOUDFUcanbe installedwiththe VMSINSTALutility.)During=Othe installation VMSINSTALdoesthe following:!  `m=mMovesthe documentationtoSYS$HELP (Optional) `RelinksDFU `lDlCreatesthe DFU_ALLPRIV identifierneededtoperform7thespecial functions.&(Seechapter2.2)l"BBOTheDFUutilityinfactcontainsjust2files:#`+Om1.JDFU.EXE:theDFUprogram5O2.J DFUHLP.HLB:theon-linehelpfile$@ lDODFU.EXEwillbemovedto SYS$SYSTEM,and DFUHLP.HLB(Owillbemovedto SYS$HELP.% wCOYoucan optionallyget documentationofDFUduringPO installation.*ToinstallDFUloginintoa privilegedaccountO5andenter:"O$&@sys$update:vmsinstalC#VAX/VMS%Software%Product% Installation% Procedure&V6.2)It&is& 01-Aug-1996&at&13:46.BEnter&a%question%mark%(?)%at%any&time%for&help.S^*%Are&you% satisfied%with%the%backup&of&your%system&disk%[YES]? & IO VMSINSTALnowasksforthe distributionmediaandprod-NOuct.*Youcanalsospecifythe directorywhereyouhavetheAO5DFU_FREEWARE_024.Afileinsteadofadevicename:K*%Where%will%the% distribution&volumes%be%mounted:%[DDCU:]_#Enter&the%products%to%be% processed%from%the%first% distribution&volume%set.(*% Products:&DFU_FREEWARE_024F*%Enter% installation&options%you&wish%to%use&(none):8=The% following%products%will%be% processed: DFU_FREEWARE_&2.4E Beginning% installation%of% DFU_FREEWARE_%V2.4Kat%13:46Fx%VMSINSTAL-I-RESTORE,% Restoring%product%saveHP$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.DECW$BOOK;1j5 ",&set%A&...' Installing%DFU&version%2.4'F lIOThenextquestionwillpromptyouforthe documentationLOfiles.*TheDFU documentationis availableinLineprinter,FO5 PostScript,HTMLand Bookreaderformat.'The documenta-6Otionfileswillbecopiedto SYS$HELP.P*%Do%you&want%the& documentation%in% Lineprinter%format&?%[Y]?BZ%VMSINSTAL-I-DOCMOVED,% DFU024.LINE%moved%to%SYS$HELPS*%Do%you&want%the& documentation%in%PostScript(TM)%format&?p[N]?O *%Do%you&want%the& documentation%in% Bookreader%format%?%[N]?IS*%Do%you&want%the& documentation%in%HTML%format%?%[N]?Y( b/GO VMSINSTALnowlinkstheDFUimageandaddstheiden-UOtifiertothe Rightslist(seechapter2.2forthemeaningoftheO5 identifier)."Linking%DFU&image&...3 %DFU-I-LINK,%Linking&DFU%2.4Kimage...(I %DFU-S-DONE,%DFU.EXE&created) EONext VMSINSTALwillcreatethe DFU_ALLPRIV identifierOif necessary.P%VMSINSTAL-I-ACCOUNT,%This& installation%adds&an& identifier%named DFU_ALLPRIV.S%UAF-I-RDBADDMSG,& identifier% DFU_ALLPRIV%value:& %X80010008%added%toZrights&data%baseI%VMSINSTAL-I-MOVEFILES,&Files&will%now&be&moved&to&their ,target%directories...; Installation%of%DFU%V2.4J completed&at&13:47,*JOYoumustgrantanyDFUuser includingyourselfthenec-LOessary DFU_ALLPRIV identifierifauserbeallowedtouseMO5thespecialDFU functions.)Seechapter2.2forthemeaningOofthis identifier.F+ $O2.2BSecurityandaccessJOUDFUhassome functionswhichmustnotbemade availablePOforgeneralusage.' ThereforeDFUhas2groupsof functions:I,Om1.JNormal functions-Y }h1.JDELETE/DIRECTORY2.J DIRECTORYf3.JREPORT4.JSEARCHe5.JSET6.JSPAWN?d7.JVERIFY(except VERIFY/FIXandVERIFY/REBUILD)J.  O2.JSpecial functions/ph1.JDEFRAG2.J DELETE/FILEf3.JUNDELETE-4.J VERIFY/FIXandVERIFY/REBUILD0 $FOThenormal functionsneedSYSPRVorBYPASS privilege.KOThespecial functionsrequireBYPASS privilegeaswellasBO5the DFU_ALLPRIV identifiergranted.(The DFU_ALLPRIVQO identifieriscreatedduringthe installation procedure.'Toen-NOableausertoperformspecial functionsthesystemmanager7O>mustgrantthis identifierasfollows:O$&mc& authorize/O UAF>&grant/id& DFU_ALLPRIV&username1sIOItishighly recommendedthatspecial functionsareNOT*Omade availabletotheworld.*2::3fO2.3BRunningDFU*OUTorunDFUyoucanenter:!O$&RUN%disk:[mydir]DFUq4!G3Oor(ifDFUis installed systemwide):O$&MC&DFU5iyMOYoucanalsodefineanduseasymbolforDFUasfollows:O$&DFU%==%"$DFU"OP$&DFU6$ODFUnowpromptswith:=Disk%and%File% Utilities%for&OpenVMS%DFU&V2.4PFreeware%version? Copyright&(C)%1996&Digital% Equipment& CorporationODFU>"7 5EOYoucannowenterDFU commands.*HELPgivesyouon-HOlinehelp.*AftereachcommandDFUreturnstotheDFU>IO5prompt.-Youcanrecallandedit commands,justaswithNODCL(20commandswillbestoredintherecallbuffer).)UseIOEXITorCTRL/ZtoleaveDFU.IfyouuseasymbolforNO>DFU,youalsoprocessasinglecommandandreturntoDCLO immediately:'O$DFU&SEARCH%disk/qualifiersg8=HODuringaDFUrun,youcan interruptDFUwithCTRL/CJOorCTRL/Y.These interruptsarecatchedbyDFUtoallowJO5acorrectrundownofthecurrentcommand.)Itmaythere-MOforetakesometimebeforeDFUrespondstoaCTRL/CorYO interrupt.9 =Z.O2.4BUsinganindirectfilelist@OUThereare3 commands, DIRECTORY,DEFRAGandSETLOwhichacceptanindirectfileasinput parameter.,ThisisSOachievedbyusingthe@sign.*Anindirectfileisafilecon-VO^tainingalistofvalid filenames(eachlineinsuchafilemustTOcontainexactlyonefile).'Suchindirectfilescanbetheoutput3OfileoftheDFUSearchcommandeg.:O$&DFU8ODFU>&SEARCH% mydisk/CHAR=DIRECTORY/OUTPUT=x.x(O$DFU>&DIRECTORY/COMPRESS%@x.x*:;! )O 3.2The!SMG!output" interfaceJOAsofversionV2.2DFUusesSMG(Screen managementrou-POtines)toperformoutputforan interactiveDFUsession.'ThisNOBchapter describesthelayoutoftheDFUscreen,thespecialJOcommandsusedonlyintheSMG interfaceandotheritems1OwithrespecttotheSMG interface.<)&O3.1BEnabling/DisablingSMGIOUDFU automaticallyselectsSMGoutputifyourunanin-JO teractiveDFUsessiononaterminalor workstationwhichJOsupportsSMG.Inabatchjoboranon-DECterminalDFUPO^willusenormallineorientedoutput.)Youcan explicitlydis-COableSMGbydefiningthelogical DFU$NOSMGtoanyOvalue.= BO3.2B Automatic switchingbetweenSMGandLinemodeLOUYoumayprefertoperform interactiveDFUsessionsinSMGJOmode,andsingleDFUcommandsinnormallinemode.(ThisKOcanbedonebyusingthecommand procedurelistedbelow:AOo$!% Procedure%to%switch&beteen%SMG%and&line%modeO$&DFU%=&"$DFU"O$&if&p1&.eqs.&""OG$&then O $!Interactive&seesion-O$&def/user& sys$input% sys$commandO$&dfuOg$&else-O$!Single%command&so&disable%SMG#O$&def/user& dfu$nosmg%x@O?$&dfu%'p1'&'p2'%'p3'%'p4'&'p5'%'p6'%'p7'&'p8'O$&endifO$&exitM??B> "+O3.3BLayoutoftheSMGscreenBOUAfterstartingDFUthescreenlooksasfollows:\O+-----------------------<&DFU%V2.4& (Freeware%)&>----------------------------+ O"| d "|@Oi|Disk&and%File& Utilities%for%OpenVMS%DFU%V2.4 d i|O|Freeware%version d |@O| Copyright%%1996&Digital% Equipment& Corporation d | OA| d A|#O|DFU% functions&are%: d | O| d |-O| DEFRAGMENT&:% Defragment%files d |OOa|DELETE:%Delete&files&by&File-ID;&delete% directory%(trees) d a|2O| DIRECTORYK:% Manipulate% directories d |;O|REPORT:%Generate%a%complete%disk&report d |*O9|SEARCH:%Fast%file&search d 9|O|SET%:%Modify&file% attributes d |1O|UNDELETEp:%Recover%deleted&files d |;O|VERIFY:%Check%and&repair%disk& structure d | OY| d Y| O| d |WOM+----------------------------------Statistics---------I $DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.DECW$BOOK;1j5 or"=----------------------+ O1| d 1| Oy| d y|WOM+---------------------------------------------------------------------------+t DFU>a?77OThisscreenisdividedinto3 sections:X@. `mNmMainScreen:)thetoppartofthescreenisusedfortheAoutputfromDFU commands.*Also broadcastmessages&aresendtothiswindow. `J Statistics:,thelowerpartcontains statisticsfromtheBcurrentcommand.*DuringmostofthecommandsthisLOscreenwillcontainaprogress indicatorandastatusfor thecurrentcommand. `'K'DFUprompt:(thebottomlineisusedastheinputcom-mandline.*ABnu(O3.4BSpecialScreencommandsMOUInSMGmodethe followingkeysperformspecial functions:aC7 `mDmDO:invokesa subprocess(sameastheSPAWNcom-mand) `EFEHELPorPF2:+invokesaspecialSMGwindowforthehelpcommand. `)CTRL/W:redrawsthescreen `APF4:1createsascreendumpintothefileDFU_ SCREEN.TXT `t>tPREVSCREEN:Scrollsbacktheoutputscreen. `@NEXTSCREEN:Scrollsforwardtheoutputscreen `s=sSELECT:Togglesbetween80and132columns.D]POAlthoughonlysome20linesarevisibleintheoutput(main)IOscreenDFUinfact remembers500outputlines.+YoucanLO5scrollbackandforwardthroughtheselineswiththeNEXTEOandPREVSCREENkeys.,Atthe beginningofeachnew3ODFUcommandtheselinesarecleared.*EFOOna workstationwithDecWindows/MotifyoucanchangeKOtheDecTermsizetobemorethanthestandard24lines.JO5DFU'sSMGscreenwill automaticallyadjusttothescreen%OsizeofsuchaDecTerm.UF! )O3.5BSideeffectsLOUThereareafewsideeffectswhenusingSMGmode.&CTRL/CIOandCTRL/Yarecatchedbutnotechoed.-Alsoallbroad-OOcastmessagesaretrappedandwillbe displayedinthemainJO^screenattheendofthecurrentDFUcommand.( SometimesJOthismayslightlydisruptthemainscreen,whichcanbe+OrepairedwiththeCTRL/Wkey.G! NLOFurther,duringthe executionofaDFUcommandthecursorLOwill disappear.*Afterthecommandfinishesthecursorwill*O5reappearattheDFU>prompt. H[O 4.2DFU!basicsRONote:*thischapterismeantforfirsttimeusersofDFU.IfIOyoualreadyusedDFUbeforeyoumayprobablyskipthisOBchapter.I NLOThischaptergivesabriefoverviewofthecommandswhichNOcanbeusedwithDFU,andhowtheycanprovidethesystem5O5managerwiththe necessary information.)J JOOneofmostcommonactionsbyasystemmanageristry-UOingtolocatespecificfileseg.-fileswithacertainfilesize.JO5AlthoughalotcanbedonewiththeVMS DIRECTORYcom-ROmandthiscanbeatime consumingprocess, especiallyiftheFOcompletediskmuchbescanned.(TheSEARCHcommandofSO>DFUisexactlymeantforthis situation.'ItgivesaveryquickVOlistofspecificfiles,withtheirsize,andifneededthenumberGOoffile fragments.'SomeusefullSEARCHcommandsare:HOtDFU>&SEARCH%disk/SIZE=MINIMUM=1000&(files%>&1000%blocks)EODFU>&SEARCH%disk/IDENT=SYSTEM%(files%owned%by%SYSTEM)YODFU>&SEARCH%disk/FRAGMENT=MINIMUM=10%(files&with%at%least%10% fragments)KOLDFU>&SEARCH%disk/CHAR=MARKED&(all%files%marked&for%delete)]ODFU>&SEARCH%disk/CREATED=SINCE=YESTERDAY&(all%files%created%since% YESTERDAY)KWKOOfcoursethese qualifierscanbecombinedtonarrowtheFOsearch.(AstheSEARCHcommandscans INDEXF.SYS,notHO5 directories,theoutput generatedbySEARCHmaylookaTObitrandom(butitisjusttheorderinwhichthefileheadersMOareinthe INDEXF.SYSfile).)TosmooththeoutputusetheO>/SORT qualifier.L! MOAnother importantactionforasystemmanageristogatherSOsomeoveralldisk information,suchasnumberoffiles,freeJO5space statisticsand fragmentation information.&TheREPORTLOcommandwillgeneratesuchadiskreport.)Togetindivid-OOualdiskspaceusage informationthe/USAGE qualifiercanbeTO>used.'ThiswillworkevenifthereisnodiskquotaenabledonOthedisk.DMJOAtregular intervalsasystemmanagermayneedtocheckAOadiskwith ANALYZE/DISK.TheDFUVERIFYcommandNO5providesmoreorlessthesame functionalitybutmanytimesHOfaster.+The/FIX qualifierprovidessomeREPAIRoptionsBOwhich(unlikeANALYZE/DISK/REPAIR)doNOTlocktheNO>disk,andthusdonot interferewithotherdisk operations.KOHowever,thediskcanberebuild completelybyusingtheO/REBUILD qualifier.N iSO Occasionalyauserwilldeletethewrongfile,leavingthesys-MOtemmanageroroperatorwiththetedioustaskof restoringGO5thefilefromabackupset.(TheUNDELETEcommandmayTObeabletorecoverthefileifithasnotyetbeen overwrittenJOwithanewone.,MuchcarehasbeentakentomakethisLO>commandassafeas possible; thereforenodisk corruptionsJOwillbetheresultofan UNDELETE.IfDFU encountersaNOproblemwithadeletedfileitwillrefusetoUNDELETEit.Oa\FOAnothertypeoftypicalsystemmanagerproblemsdeals?Owith directories.-TheDFUcommand DIRECTORYcanDO5handlesuch problems.* DIRECTORYcangeneratereportsFOaboutempty directories(/EMPTY qualifier)ordirecto-NOrieswhichcontainsfileswithacertainnumberofversionsJO> (/VERSION=n qualifier).)Also, directoriesmaybecomein-HOternally fragmentedwhichdegrades performance.)ThiscanMObequicklysolvedbyusingDFU's directory compressing(the OH /COMPRESS qualifier).hP >LOAsecondproblemwith directoriesisindeletingadirec-KOtorywithmanyfiles.,Onlarge directoriesthismaytake/O5severalhoursusingaDCLDELETE @* 5. @*5command.,ThisAOproblemissolvedbyusingDFU'sDELETE/DIRECTORYJOcommandwhichcandeletelarge directoriessome10timesGO>fasterthanthenormalDELETEcommanddoes.*Also,us-JOingDELETE/DIR/TREEwilldeleteacomplete directorytree#Owithjustonecommand.QJOThelast2commandsdealwith individualfiles.,SETal-JOlowssettingsofsomespecialfile attributes..SinceVMSJO5V6.0this functionalityisalsoprovidedbytheDCLSETAOFILE/ATTRIBUTEcommand,butDFU'sSETofferssomeJOmoreoptions.(TheDEFRAGcommandisan interfacetotheGO>MOVEFILEfunctionofferedbyVMS5.5andhigher.)ThisDOallowsJD'$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.DECW$BOOK;1j5 ˘"Nasimpledefragmentationof individualfiles.RnOOThenextchaptersgivesadetailed descriptionofeachindi-OvidualDFUcommand.*S.TO 5.2DEFRAGCOThischapter describestheDEFRAGcommandwiththe/Orelated parametersand qualifiers.XXU nO5.1B DescriptionHOUTheDEFRAGcommandcanbeusedto defragmentasingleSOfileoragroupoffiles.)Youcanalsoenteranindirectcom-UOmandfile containingalistoffiles.(ThisfeatureallowsyoutoOO^createanoutputfilewithSEARCHandusethatasaninputOtoDEFRAG.|V RFODEFRAGmakesuseofthefile-primitiveMOVEFILEfunc-LOtion.* Thereforefileswhichareopen,orwhicharemarkedFO5NOMOVEwillnotbe DEFRAGmented.*StillyoushouldbeGOcautiousaboutusingDEFRAG.Youshouldnotmakethis3Ofunction availableforgeneralusage.*WXn_O5.2BErrormessagesAOUThemostcommonerrorsreturnedbyDEFRAGare:Y `m8m ACCONFLICT:Fileisopenbyanotheruser `A DEVICEFULL:Devicehasnotenough contiguousfree,Espacetomovetheentirefile `7 FILNOTACC:FilehasbeensettoNOMOVE. `DCD FILENUMCHK:Youtriedtomoveareservedfile(eg INDEXF.SYS). `CRMSErrors:-Almostalwayscausedbyaninvalidor$twrongfile specifcation.*Z   :[ODEFRAG*\o]EEO Defragmentafileoralistoffilesonthedisk.`^6OFormat&OsDEFRAGMfile1,file2,@file...k_AO ParametersOsfile1,file2,@file...POThefile(s)tobe defragmented.)YoucanalsouseanindirectRO$commandfile(@file)whichcontainsalistoffilestobede-LO| fragmented.)Thismaybeanoutputfile generatedwiththe!O SEARCH/OUTPUTcommand.` O QualifiersOs/BESTTRYNONormallyDEFRAGtriestocreatea contiguousfile.)IfthereOO$isnotenough contiguousfreespacethe operationwillfail.LO|Withthe/BESTTRY qualifierDEFRAGtriestomovethefileGOwiththecontiguous-best-trymethod.)Thismeansamax-JO-imumof3 fragments.-Youshouldonlyusethis qualifier@OwhenanormalDEFRAGfails.,IfaDEFRAG/BESTTRYWOalsofailsthisisan indicationthatthedisksfreespaceistooBO7 fragmented.-RunaREPORTcommandtoseewhattheMOlargest contiguousfreespaceis,andcheckthefreespaceO fragmentationindex.%aO/DEVICELO(Thedeviceonwhichthefilesreside.,ThedevicenameisROaddedtothefilename.+IfyougenerateafilelistwiththeGODFUSEARCHcommandyoudon'tneedthis qualifierany-LO2more.*HoweveryoumayhavealistoffilesproducedfromPOanothersourceandthusneedtoappendadevicenametoit.OExample:;hDFU>%SEARCH&#mydisk/...../frag=min=50/output=x.xDFU>%DEFRAG&@x.xb#O/LBN=logical-block-numberTO(Forcesasinglefiletobemovedtothe specifiedlogicalblockOOnumber.*Donotusethis qualifierwhen processingalistofOfiles.cO /STATISTICSNO(This qualifierdisplaysthe performance statistics:(CPUtime,/OElapsedTime,I/Oand PageFaults.dO /WRITECHECKMO(Performa writecheckonthe resultantfile.+ThedefaultisAO/NOWRITECHECK.Notethata writecheckdoublesthe,OnumberofinvolveddiskI/O's.*e fO 6.2DELETECOThischapter describestheDELETEcommandwiththe/Orelated parametersand qualifiers... !gnZO6.1B Introduction?OUTheDELETEcommandisdesignedfor2 purposes:h! \QOm1.JDeleteafilebyfileid(withthe/FILE qualifier).,ThisO functionalityisneededtobeabletodeletefileswhichnoLlongerhaveaparent directory.)Thisway'lost'filesandIw (sometimes)filesmarkedfordeletecanberemovedfromadisk.NOO2.JAfastmethodtodeleteacomplete directoryorevenaD directorytree(withthe /DIRECTORYand/TREEqual-Oifier).)Firstallentriesofa directoryaredeletedwithoutMYremovingthe directoryentry;thissavesalotofunnec-Lessary directoryupdates.*Finallythe directoryfileitselfK isdeleted,unlessthenew/KEEP qualifierisused.*ThisGbwaya directoryiscleanedupmanytimesfasterthan withtheDCLDELETE >* c. s*'command.(Onlargedirecto-KriesDFUmaybeeven10ormoretimesfasterthanDCL.JlTodeleteacomplete directorytreeusethe/TREEqual-9ifier.)TheDCLcommandDELETE [.SUBDIR...] * . * ; *8willKalmostalwaysfailtodeletethe intermediate subdirectoryMvfilesforcingyoutoissuethiscommandseveraltimes.'TheBDFUDELETEcommandissmartenoughtodeletetheO'filesandthe subdirectoryfilesintheproperorder;there-Kforeonlyonecommandis sufficienttodeleteacomplete directorytree.i!IWThenew/KEEP qualifierallowsyoutopreservethedi-Jrectorytree.*Thecontentsaredeletedbutthe directory#file(s)remainsintact.*j<<! ":kODELETE*lTm**ODeletesfilesor directories.lnBOFormat2OsDELETEN device[:]&ordirectory-file(s)o=}O ParametersOsdeviceGOThedeviceonwhichtoperformtheDELETE/FILE=file-idO$command.cp K9Odirectory-file(s)QO(Thefilespecificationofthe directoryonwhichtoperformthe@ODELETE/DIRECTORYcommand.*Wildcardfile specifica-MOtionsmaybeused.)DFUwill automaticallyadd.DIRtothe@O2filespecificationifafiletypeisnot provided.q yO QualifiersOs /DIRECTORYMOSpecifythe directoryfilewhichmustbedeleted.* WildcardsJO$maybeusedbutmustbeusedvery carefully.+MakesureJO|thatthe directorydoesnotcontain non-empty subdirecto-POries.*Fileswithinsucha subdirectorywillbecomelostafterBO-theDELETE/DIRECTORYcommand(butcanbe recoveredGOwithANALYZE/DISK/REPAIR).Notethatthe directoryfile4Oitselfwillalsobedeleted.'Example:Oc$&DIR%EXAMPLE%O Directory%MYDISK:[RUBBISH]O6 EXAMPLE.DIR;1O$&DFU-ODFU>&DELETE/DIRECTORY% EXAMPLE.DIREOP%DFU-I-CLEANUP,%Deleting% MYDISK:[RUBBIK6$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.DECW$BOOK;1j5 V"_SH]EXAMPLE.DIR;1...6O%DFU-S-DELETED,%File% DBGINI.COM;3%deleted4O%DFU-S-DELETED,%File% ICON.COM;1&deleted6O(%DFU-S-DELETED,%File% I_FOOL.COM;1%deleted9Op%DFU-S-DELETED,%File%LOGICALS.COM;51%deleted6O%DFU-S-DELETED,%File% LOGIN.COM;79%deleted6O%DFU-S-DELETED,%File% LOGOUT.COM;4%deleted=OH%DFU-S-DELETED,%File%NOTE_COMPRESS.COM;3&deleted6O%DFU-S-DELETED,%File% SHOWCL.COM;3%deleted8O%DFU-S-DELETED,%File%SYMBOLS.COM;89%deleted8O %DFU-S-DELETED,%File%TPUBUILD.COM;5%deleted-Og  %DFU-S-TOTAL,&11&file(s)%deleted7O %DFU-S-DELETED,%File% EXAMPLE.DIR;1&deleted]rL :3O /FILE=file-idLO(Specifyacompletefile-id (num,seq,rvn)ofthefilewhichUOmustbedeleted.)This qualifierallowsthedeletionoflostfiles5Oorfilesmarkedfordelete.'Example:O^$&DFUODFU>&VERIFY%MYDISK::O%DFU-S-CHKHOME,%Home%block%info&verified&OK1OW%DFU-I-IFSCAN,%Scanning% INDEXF.SYS...XO%DFU-E-INVBAKFID,%file& (86,17915,1)%0004CF04$BFS.;1%has&invalid%backlinkZO%DFU-W-DELETED,%file% (537,2878,1)%APPL_UTRYIT_BOOK.TMP;1%marked%for&delete t/. tw. t.0O(DFU>&DELETE%MYDISK/FILE=(86,17915,1)9Op%DFU-S-DELETED,%File%0004CF04$BFS.;1%deleted0ODFU>&DELETE%MYDISK/FILE=(537,2878,1)@O!%DFU-S-DELETED,%File%APPL_UTRYIT_BOOK.TMP;1&deleted*st! O/KEEPRO(Preservethe directorytree;onlydeletethe contents.'/KEEPisKOonlyvalidwiththe /DIRECTORY qualifier.'/KEEPworksfor+O DELETE/DIRandDELETE/DIR/TREE.umO/NOLOGKO(Donotlog succesfulldeletesto SYS$OUTPUT./LOGistheOdefault.vO /NOREMOVEGO(Canonlybeusedwith/FILE.Default DELETE/FILEwillTOtrytoremovethefilefromtheparent directory.(Ifthefile'sQObacklinknolongerpointstoavalid directorythiswillgen-GO2erateanerror.+The /NOREMOVE qualifier overrulesthisTOAnindirectcommandfile containingalistoffilescanbeusedIOasa parameterto /COMPRESSor/DUMP.Suchalistcan>O5be generatedwiththeSEARCHcommand.'Example:;ODFU>&SEARCH%#disk/FILE=*.DIR/SIZE=MIN=50/OUT=x.x(ODFU>&DIRECTORY/COMPRESS%@x.x3  HOCaution:+Careshouldbetakenwhen compressingcriticalQOsystem directories.(Tobesafeyoushouldfirstusethe/TESTKO5 qualifierbefore compressingthe directory.)AnotherproblemMOmaybecausedbya systemcrashjustwhenDFUis rewritingMOthenew compressed directory (althoughthechancethatthisLO>happensisverysmall).(Whenthishappensyoucanrecover?Othefilesby executingthe following procedure:uKDOm1.JDoa$SET FILE/NODIRofthe corrupted directory>O2.JDeletethe directoryandcreateanewoneHOl3.JDoa$ANALYZE/DISK/REPAIR;thiswillmoveallthe%lostfilesto [SYSLOST].HOD4.JMovethefilesfrom [SYSLOST]tothenewlycreated directory.*s  $#%  )5O7.2B Discussionof directory compressionOOUVersionV2.2ofDFU introducedamajorchangeinthedirec-JOtory compressionprocess(issuedbytheDIRECTORY/COMPRESSFO command).* Previouslyversionsalways performedamaxi-KO^mum compression,andthen truncatedthe resultantdirec-ROtory.(Thismaybeusefullonadormant directory,butonanEOactive directorythismethod introducednew problems: h `mKmWhennewfileswereaddedtothe directoryitmustveryOquicklybe extended.'Notonlyisthisaslow operation,butIona fragmenteddiskthiscanleadtoDIRALLOCerrors. `IActive directorieswherefilesareinsertedinarandomJ alphabeticalorderveryquicklyleadto expansionofthe&Ojust compressed directory. ML:"Y$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.DECW$BOOK;1j5  "pOThefirstproblemisnowsolvedbyNOTdoingan automaticAO TRUNCATIONofthe directory.*The /TRUNCATEquali-QO5fierhasbeenaddedtoallow truncationontheusersrequest.GOAlso/TRUNCATE=blocksizeispossibletoperformpartialKO truncation;DFUwillnottruncatebelowthe blocksizeis-JO>suedin /TRUNCATE.(Theactual blocksizewillberoundedROuptoamultipleofthedisksclustersize.))Thesecondprob-JOlemissolvedbythenew /FILL_FACTOR qualifier.)HereaSOHusercandirectDFUtofilleach directoryblockuptoacer-MOtain percentage(between50and100).'Not specifying/FILL_COFACTORisthesameasdoing/FILL_FACTOR=100(fullIOR compression).+Notehoweverthatthe directory's allocatedUOsizemustbelargeenoughtoallowalowerfillfactor.(IfthatKOisnotpossibleDFUwillissuea DFU-E-EXTERRerror,andSO[youmustuseahigherfillfactor.'So,whatstrategyshouldbe0Ousedwhen comnpressing directories?COm1.JInactive directories:&useDIR/COMPRESS/TRUNCATE.CO2.JNotveryactive diredctories:.use DIR/COMPRESSE(/TRUNCATE=n).OO3.JActive directories,filesaddedattheend(suchasMAIL, directories):'use DIR/COMPRESSJO4.JActive directories,filesaddedinrandom alphabetical3order:'useDIR/COMPRESS/FILL_FACTOR=n*jj%$&`2 w6!O7.3BOutput formattingMOUAnew qualifier/FORMATcanbeusedwithDIRECTORY/VERSION.KOThisallowsthebuildupofacommand proceduredirectlyFOfromtheoutput generatedbythe DIR/VERSIONcommand.7O^/FORMAThasthe following restrictions:: EOm1.J/FORMATisonlyvalidwiththe/VERSIONandthe/OUTPUT qualifier.POE2.JTheformatstringusedmustcontainthe!AS directive(inL uppercase).*Thefilefoundwillbe substitutedatthe!ASlocationF !bOExample:PODFU>&2DIR/VERSION=4/OUTP=PURGE.COM/FORMAT="$PURGE/KEEP=3&!AS"%mydisk*&%'=O DIRECTORY*S))OPerforms directory functions.oEOFormat5Os DIRECTORYN device[:]&ordirectory-file(s) =O ParametersOsdevicePOThedeviceonwhichtoperformoneofthediskwide directoryO$ functions.t KJOdirectory-files(s)SO(Thefile specificationofthe directoryonwhichtoperformtheEO/CREATE, /COMPRESSor/DUMP function.(WildcardfileMOspecificationsmaybeused.(DFUwill automaticallyadd.DIRIO2tothefilespecificationifafiletypeisnot provided.FO QualifiersOs/ALIASOOThe/ALIAS qualifierdirectsDFUtoscanall directoriesforOO$aliasfileentries.(Onlyaliasfilesin DIFFERENT directoriesNO|willbefound(thisisthemostcommon situation).(NormallyROonlythesystemdiskshouldcontainaliasfiles.(This qualifier;O-canbecombinedwith /VERSION=nand/EMPTY. O /ALLOCATE=nJO(Usedin combinationwith/CREATE.Createsthenewdirec-;Otorywithan allocatedsizeof'n'blocks.q J]O /COMPRESSHO(Performsthe directory compressionunless/TESTisalsoPO specified.+TheoutputwillshowtheresultsintermsoffileOsizes.'Example:+O^DFU>&DIR/COMP&OWN$:[000000]MAIL_O %DFU-S-DONE,%OWN$:[000000]MAIL.DIR;1:&31&files;%was%:%4/9,&now%:&3/3%blocksO1DFU>O/CREATEQO(Createanew,empty directory.)The allocatedsizewillbe14Oclusterunless /ALLOCATEis specified.UO/DEVICELO(Thedeviceonwhichthefilesreside.,ThedevicenameisROaddedtothefilename.+IfyougenerateafilelistwiththeBODFUSEARCHcommandyoudon'tneedthis qualifier.NO2HoweveryoumayhavealistoffilesproducedfromanotherMOsourceandthusneedtoappendadevicenametoit.+ThisJO qualifiercanonlybeusedin combinationwith /COMPRESSO<or/DUMP. f K O/DUMPMO(Produceablockleveldumpofa directory.)/DUMPwillin-QOterpretthe directoryentriesfoundineachblock.'A directoryLOentrycontainsasize,version-limit,typeandnamefield.QO2Nextthe directoryentrycontainsalistofversionsandfileNOID'sforthisentry.*/DUMPwillproducearatherlowlevel4Ooutputofthis information.'Example:OhDFU>&DIR/DUMP&C.DIR'ODUMP&of& directory%block%1KOSize:%22,%Version%limit:%3,%Type:%0,% Name(10):& CHKDSK.EXE-aVersion:%3,%FID%:% (1027,1456,0)NOSize:%26,%Version%limit:%3,%Type:%0,% Name(13):& CHKDSK.README.Version:%2,%FID%:%(33892,1171,0).9Version:%3,%FID%:%(1256,11234,0)KOSize:%22,%Version%limit:%3,%Type:%0,% Name(10):& CHKDSK.SAV-Version:%2,%FID%:% (13947,100,0)LOSize:%24,%Version%limit:%3,%Type:%0,% Name(11):& CHKDSK.SAVE.YVersion:%1,%FID%:%(12531,2114,0)OOSize:%26,%Version%limit:%3,%Type:%0,% Name(14):&CHKDSK_LNK.COM,Version:%2,%FID%:% (12314,72,0)EO1Size:%18,%Version%limit:%3,%Type:%0,%Name(5):%C_D.C,yVersion:%3,%FID%:% (32650,32,0)GOSize:%20,%Version%limit:%3,%Type:%0,%Name(7):%C_D.EXE+ Version:%9,%FID%:% (2675,64,0)GOPSize:%20,%Version%limit:%3,%Type:%0,%Name(7):%C_D.OBJ,Version:%4,%FID%:% (9835,117,0)GOSize:%20,%Version%limit:%3,%Type:%0,%Name(7):%C_D_2.C-( Version:%15,%FID&:% (12428,84,0)IOp Size:%22,%Version%limit:%3,%Type:%0,%Name(9):% C_D_2.OBJ, Version:%9,%FID%:% (8439,119,0)IO Size:%22,%Version%limit:%3,%Type:%0,%Name(9):% C_D_3.CLD,H Version:%3,%FID%:% (9777,178,0)IO Size:%22,%Version%limit:%3,%Type:%0,%Name(9):% C_D_3.OBJ, Version:%2,%FID%:% (9737,161,0)GO Size:%20,%Version%limit:%3,%Type:%0,%Name(7):%C_D_4.C.h Version:%3,%FID%:%(10594,1580,0)IO Size:%22,%Version%limit:%3,%Type:%0,%Name(9):% C_D_4.OBJ- Version:%2,%FID%:% (10177,109,0)'Oa DUMP&of& directory%block%2EO Size:%18,%Version%limit:%3,%Type:%0,%Name(5):%DFU.C. Version:%169,&FID%:& (31123,52,0) tZ . t . t .IO2 %DFU-I-TOTAL,&%OWN$:[SOURCES.FORTRAN.DFUSRC]C.DIR;1:%42%files*O/EMPTYKO(The/EMPTY qualifierwillproducealistofemptydirec-HOtories..This qualifiercanbecombinedwith/ALIASandO /VERSION=n.]3O/FILL_FACTOR=nPO( Specifies,in percentage,thefillingof directoryblocksdur-GOinga /COMPRESS operation.+FillfactormaybebetweenMO50and100.*Omittingthis qualifieristhesameas/FILL_AO2 FACTOR=100(maximum compression).,Ifthe directoryLOhasnotenough allocatedspacealowfillfactormayre-OOsultinfailureoftheCompress operation.*DFUwillissueaHO< DFU-E-EXTERRerror,andthe directoryfilewillnotbeO modified.w KMO/FORMAT=format-stringMO(CreateanoutputfiMjX$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.DECW$BOOK;1j5 "leinaformat describedbytheformatOOstring.)Thestringmustcontainthe!AS directive(thismustQObe uppercase).(Atthe!ASlocationthe resultantfilenamewillAO2befilledin.'The/OUTPUT qualifieris required.O/OUTPUT=filenameRO(This qualifier redirectstheoutputtoafile.*Theoutputwill#Oalsogoto SYS$OUTPUT.O /STATISTICSNO(This qualifierdisplaysthe performance statistics:(CPUtime,/OElapsedTime,I/Oand PageFaults.* O/TESTLO(The/TESTcanonlybeusedin conjunctionwith /COMPRESS.KOThe qualifierwillshowtheresultsofthe /COMPRESSbut4Owillnotcompressthe directoryfile.O/TRUNCATE=blocksizeHO(Duringacompress operationtruncatethe directorybackQOtothe blocksize specified.-If blocksizeisnot specified,theOOfilewillbe truncatedbacktothe end-of-fileblocknumber.KO2 Truncationwillalwaysberoundeduptothenexthighest2Omultipleofthedisksclustersize.<KO /VERSION=nLO(The/VERSION qualifierdirectsDFUtoscanall directoriesWOonthedevicetoproducealistoffileswhichhaveatleast'n'JO versions.+This qualifiercanbecombinedwith/ALIASandO2/EMPTY.*'&(O 8.2REPORTCOThischapter describestheREPORTcommandwiththe/Orelated parametersand qualifiers.('))O8.1B DescriptionGOUTheREPORTcommandfunction generatesareportoftheOOfileandfreespace fragmentationofthedisk.*AlsoagraphKOmaybe generatedbythe/GRAPH qualifier;this visualisesNO^thefreespace distributiononyourdisk.(The/USAGEquali-ROfierwillgeneratea diskspaceusagereport.(Thisis especiallyBOusefullif DISKQUOTAisnotenabledonthedisk.WNOThedefaultreportcontains informationoftheVolume,filesLOandthebitmap.*Thisoutputcanbe suppressedbythenew>O5 /NOVOLUME,NOFILEandNOBITMAP qualifiers.+AlsoIOthe/USAGE qualifiercanbeusedby displayinginforma-LOtionofaspecificUICor Identifiersimplyby specifying0O> /USAGE=or/USAGE=.) (*"O8.2BSyntaxandOutput4OUThesyntaxofthereportcommandis:)ODFU>&REPORT%device/QUALIFIERSq 'MOBelowfollowsanexampleandoutputofthereportcommand:*O*DFU>&REPORT%USER3:/GRAPH/USAGE=O%DFU-I-REPORT,% Reporting%on%USER3:& ($1$DUA102:)F*****&Volume%info&for%USER3:%(from%HOME%block)%*****tDVolume&nameDD:JUSER3tVolume&ownerD:JSYSTEMt Structure&name D:t ClustersizeD:J3tdMaximum%#&filesDd:J367618tFirst%header&VBND:J103tHeader&countD:J51547%(1)t;Free%headersD;:J10951%(2)<*****&File% statistics%(from% INDEXF.SYS)%*****Lt INDEXF.SYS% fragments% /map_in_use%:J21%/%61%(39%&used)p(3)t5Total%filesD5:J40595/t|Files%with% extension%headers:J0$tFiles%marked&for%delete*D:J19%,%size&:%25/63%blockst  Directory&filesD :J1957tTEmpty%filesDT:J177!tFiles%with% allocationD:J40418t Contiguous%filesD:J40326%(4)'t,Total%size%used& /allocatedD,:J2492431%/2533209ttTotal% fragmentsDt:J40770'tAverage% fragments%per&fileD:J1.009K(5)$tFile% fragmentation&index$D:J0.692% (excellent)%(6)&tLAverage%size&per%fragmentDL:J62 tMost% fragmented&file D:K$1$DUA102:[LARGEUSER]A.DAT;1%(&180/630%blocks;%30J fragments)CE *****&Free%space% statistics%(from% BITMAP.SYS)%*****!t Total%blocks&on&diskD :J2940951t Total%free%blocksD :J407742%t  Percentage%free& (rounded)D :J13te Total%free%extentsDe :J260t Largest%free&extent2D :J42912%blocks&at&LBN:%2463597%(7)3t Average%extent%size% (rounded):J1568Gt= Free%space% fragmentation&indexp:J0.191% (excellent)%(6)Qt G%free------------------------------------------------------------------t 100&| |6 95&| 6 |~ 90&| ~ | 85&| j * | 80&| j *  |V 75&| jV * V | 70&| j * Z * | 65&| j * Z * |-60&| j-* Z -* -|u55&| ju* Z u* u|50&|** *&* |45&|** *&**|M40&|M*** M*&**|35&|*** *&***p|30&|*p*&***%**K*&***p|%25&| :%*d%**p*&***%*%*p**K*****%*%|m20&| :m*dm**p*&***%*!m*%*&**K*****%*%|015&|*K*K*&*p*&*% **********%*!*%*&**K*****%*%|010&|*K*K*&*p***% **********%**"*%*&**&******%*%|1E5&|*K*K*&*%*****%**************"E*%*&**&******%*%|M/C-------------------------------------------------------------------tLBN:%0: 2940951DtFree%space% distribution,&each%*%=K2100Kfree&blocksN*****&Disk%Usage%Table%(from% INDEXF.SYS%and% QUOTA.SYS)%*****tIdentifier/UIC3Used/AllocatedpHeaderspQuota& Used/PermStI-------------------------------------------------------------------------t^[SYSTEM]-^ 499554/5056264954510580/2000000t [SSG,MRX]( 42079/463562259 48615/60000t [SSG,TESTJE], 189306/2547424935 259677/300000t6[SSG,LARGEUSER](6 47961/502381648 51886/65000 t~. t. t.i??OThevariousitemshavethe followingmeaning:E! = JOm1.JTheheadercountis calculatedbasedonthesizeofA INDEXF.SYS.Ifmoreheadersareneeded INDEXF.SYS hastobe extended.KO2.JThefreeheadersgivesthenumberoffreeentriesin2 INDEXF.SYSbeforeithastoextend.COv3.JThe INDEXF.SYSnumberof fragmentsandmapwordsHinusearevery importantfiguresto determineiftheF' INDEXF.SYSfilecanbe extended.'The theoreticalmax-Dimumnumberofmapwordsis155.*ThisvaluemaybeGlessifthereareACL'son INDEXF.SYS.Each fragment,K0and thereforeeach retrievalpointermustbeinthemap-Hwordarea.-Asthesizeofa retrievalpointerdependsPonthephysicalsizeofadisk,itisnoteasytosayhow@:many fragments INDEXF.SYScanstoreinthemap-Kwordsarea.(IfthemapwordareaisfulltheINDEXFfileJcannolongerextend,andcreatingnewfilesmayresult,DinaSYSTEM-W-HEADERFULLerror.KO4.JFileswhichhaveexactly1 retrievalpointerarecon-Fsideredtobe contiguous.-Thisdoesn'tmeanthatthe:t CONTIGUOUSbitissetinthefileheader.OO5.JTheaverage fragmentsperfilegivesome indicationabout*Lthetotalfilefragmentation.KO6.JThefileandfreespace fragmentationindex classifies$$ yourdiskasfollows:~ hYh0-1N &$DFU_FREEWARE_024.Aif[DFU024.KIT]DECC_DFULIB.OLB;16:eZ `m+ֺo;(%b߇_"p ><H_'mONꇬ)Y|aZ$M @ɩ͍wvX@^{MoqNY6rn tzTg5o!T'W(W꼨a4,#=-rpApڦN͍g OAX9 Q-ޥeNbv'e HkHA2`mj51O,C"Όj:JC@f|:[ \G|~Uz^N <ӿ@Ne "-W'ωcTkvuH_5a8,̡a\M^K9+* U?>gw#5~/$ŕ }Vzzoq`̃|8SZ i$pY4^q4{` c !ԬGi7%Nj2,ԫ`j^' os,2C-yUgor[kif);/gCgx1TݼLQ軞(uZO0`>MwQT95>r7*W{oOQ*Lq)>aLBa"񂙛RBsIpaټxU0RV/>\4I)[W{=OUoDչ5(˶vI6+&[.k&}ͣZ0}o5PBZȂn-1GQ4 [_2ץ1twDrxUiPwKsFgvzPr^$,ݪL͹uIS}W'x1C!ݝz NRBOuK0;& lfn3\엫EgCDWp*W) W|XLZu=bci3X"rbK#GL.oesNfv _R^;:d|q_,u"+q @ ,xKqOi)x!;+p@|ڥ'3$1+:zk؍Nw@ZiTjm͹Iâyx^.J}onbWY,H 1;,a 2x)v E_ki UHk$.7}z{HWFZQ*.PDfO,$0 uYvK -˥#.G9 ~f?p[K~ZܭY-d#]^GQ: 6WZD\õ,u}3klyI+7F'=!_!Lf]9Y0׫|.Dw&`h,`x l=5t3<ِn 0Ejp2twJLZTcAE(kbԈ| dʧSLX{ <* 8,2 ކtiujy*;?Gѐ5Dc{f^(":ܿ(eݖv'C>3;ND9*1OoRc@R8QL$fXkڹvdAXu+-!V@{2Q{]g'J}O֎-G @aDӴ Qm sXq,wS+<'{Ѧvs6b <[ru|p"~~B&!Z, [oq:-9n" =d Rbm!㖆!&8[$vpHN@,JLl.{ (ZKwaro]~b@ ԫ>"joO5_7B!^Ks WQp/ @p";B%ts6'"#Y\7bN1 [c4!,ŁNXo ݗ|TtZ)aNykuԗ mCVݯBR0R&߱=Wm!~*3Dj"bla(!&J`o %1M{!SD,KYf )V뼠a2K$x}b5݈* Lr gNe?T+cvvO3[D/>oAC,/B@[ó~A6r?29u%.Q/ UT*4>^D1Hq92\[{ T 5%l 3y<6@1p@-.~QH'iH,6ܡZ9F߳f81Sewa3(e(s-]!ߘ+e%4¼’dT8tuPHLWw-V :s8L2g@~cìifgpE_:usz+qgulfs&\͒_;ϰ~&&3 H]pޅ^u9;ڏP&0xBPb 9 oi|v2⨫=@f7_%Xw;9Jt:h 0{Ckb{Y/%EI2t_*ȴ lD~ڼ ' aTv~.U.n`1,wo#~gͿ:'F rٌ)Bf* YO gtކl_@T5wȹ9kw̒dӤB͟7"\%hwBB3ط..N0DNYՀ{'ET1K=;q";MJ!:5HDJnͱR8>}eY*:^,WGz)sqĚPi{-~D^6g1U997s&v'TD>k_X-Yô*.] -ʶywX9"M?OQ̭=DQ )q a~WUnl9,d:oIҁĽn,T^:l&1ƒQ\>4r1c'J a9?i4C=Lx ,#1\q[Q4%VSIOjJPl6Es<)3&sȄIhf;h7>Y=vSh"wY_WҒਣƁV\fɊbP\ڏX?C)U0]W촚Ks=l_6PW[0T_o:c#tFMzNJ7*Y0!CK#բaABz"EHVMkفui'tk| ;Z.qդPkU$j(NJKoa ʕ(hY*,qdv )<'=^py8#L: *7 .c%%ьf%?tH@6NM4ahg>iz0z~c-RNg )zA 9~TUkeS/*øe,d퇗X7+m˹5"Cwᘪ/pn6(%VAՑHB;Q-BߵNİW *1y,Thf慎d.{$϶77FہȃKc7sGg&յUl;A☤jR:v\IFP|*:w]4g^( Q͘w<zg3hI%|N*=c;yf6ML_%nY0&*Z0_mzJZGˊ"=c~{Kd4j"ˆ*Ǚ ,&Q`\?z 7SCЉC@e w'SwZ4dpV䐑JJ#)'MNUʑ{Q2M9(\YhĦ Ȯ}ҸF CBKRRV7Xjg-aVʱ픟9j653I]ΫC*Bh<iѻVWjr4`D >ioxp_ J#}=Q:B/f 55c_R=h41M@} Sx8S1u@KH( &It"ǐ:qm2B+sɢ9=h1aJQs1+ urC\͢ cί$_gg_<աRw!;=i"@mԊs>>Eּf^th6ÅxP:yk.՘^R)B'MMх#)Ԥ4]oA\_گufosധ-"--)i1CKG@c89h>Ipzn 5 aY A{#?tDzh"$\^~b6_hT=l[>6M;? #6۷RR[Po-<{֌wZe툐ҊeYu58w/ULU SkK]bgAxKhUj>=$r3PMܿ'_q-V Dzhş;[-2ud }x1"Rv/ض$cF~/'*i;^9qQK̟ey{$l#}lA:~Y$+;h𑖪wq^J~a[KU7N-e?N }[B&5.΄vO@F($|K]);.3SD騡c%j-tk Q̱;-`4"= M.I6[!cT&@oܷ T(CQŤq:)GS\elif 0R]2S砋;qU؅ɘ$j<\W4HB5VT?t ֧Rad#r])tA_X9[ǷǪ>C _l ioGxX75P}ghe7FTc]oB!^Xn٦OTRtK -kłxNL/ʫ$-Agv8k}هa~0m;XmC3\q]JaOk҂8@®1zȠV?Mq@ [r:C&}Yf 兑.ڒxT\ 6bɺǀܮ4<5ɤ7r_wÙ06SJ~0?ӖI'~`TAsI<˿omrBtb)w!h+9IR%>$dޕ2K4oqAԮ|Mĸ.zKB^;. '[n!f=Nm-<%Tx)qWPV2ُ UZT6GoGxɜ6Cw NY⢚YK<|"AX^[xkԭenNJc\IoVLN\7,Oz6̴x›ixD50y.p-Ri=4驚me-@K.SvBJ0 e~8.Cu"%V@qqd5iwOlQ`_D|媈5E#ht惚B@_IyEc9RY*mIy<8>&5?KGy6(VLkk|.hVSK30r#ynh˛ً0_ v>:]JxM]L_0c (E>xl=(#}-M֪jDL(SET_COMMANDOW$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.DECW$BOOK;1j5 $":' Excellent Y1-2:'Good fYf2-3:'Fair Y3-4:'Poor eYe>4:&Bad RKWIfyourindexisgreaterthan3youshouldconsiderde-I fragmentingthediskusingDigitalsDFO software,orby4 performinganImageBACKUP/Restore.QO7.JThelargestfreeextentisausefullfigurefor defragmen-Htation purposes.*Youcannot defragmentafilewhenits/9sizeisgreaterthanthisvalue.T*LOThedisksfreespace distributionasabargraph.,OntheJO horizontalaxistheLogicalBlockNumber(LBN)isshown,BO5runningfrom0tothemaximumblocknumber.-Each !@*GO representsacertainnumberof contiguousfreeblocks.QOIfyouusethe/USAGE qualifierausagetablewillbeadded.KOPer Identifier/UICtheblocksused/allocated,andtheLO5numberoffileheadersareshown.*If DiskquotaisenabledIOathirdcolumnwillbeincludedwhichshowstheblocksCOused/permittedallowingto QUOTA.SYS.Normallyquota2O>shouldsatisfythe followingrule:DtQuota%used%=&blocks% allocated%+%#&of&file%headers*  *)+:OREPORT*sIIOCreateafileandfreespacereportofadiskdevice.U+OFormatOsREPORTM device[:]=O ParametersOs device[:]QODevicetobe reported.(Youmayalsospecifyalogicaldevice-O$name.HO QualifiersOs/APPEND=filenamePOThis qualifier redirectstheoutputtobeappendedtoanal-XO$readyexistingfile.)IftheoutputfiledoesnotexistsitwillbeHO|created.'Youcanuse/APPENDor/OUTPUTbutnotboth. O/GRAPHMO(This qualifier generatesagraphtablewhich visualizesthePOfreespace distributiononthedisk.'/NOGRAPHisthedefault. vO /NOBITMAPKO(The /NOBITMAP qualifier suppressesthe"Freespacestatis-Otics"output. A`O/NOFILEOO(The/NOFILE qualifier suppressedthe"File Statistics"output.hO /NOVOLUMEDO(The /NOVOLUME qualifier suppressesthe"Volumeinfo"Ooutput.O/OUTPUT=filenameRO(This qualifier redirectstheoutputtoafile.*Theoutputwill#Oalsogoto SYS$OUTPUT.O /STATISTICSNO(This qualifierdisplaysthe performance statistics:(CPUtime,/OElapsedTime,I/Oand PageFaults.' &O /USAGE(=uicor identifier)MO(The/USAGE qualifierwillgeneratea diskspaceusagereportPObasedonIdentifiers/UIC.If diskquotaisenabledonthediskJOtheblocksused/permittedallowingto QUOTA.SYSwillalsoNO2beshown.(/USAGEisveryusefullwhen diskquotaisnoten-ROabledonthedisk.*Whenauicor identifieris specifiedonlyPOthe informationforthisuicor identifierwillbe displayed.*+*,O 9.2SEARCHCOThischapter describestheSEARCHcommandwiththe/Orelated parametersand qualifiers.!!,+- O9.1B IntroductionNOUThesearchfunctionallowsveryquick disk-widesearchesforUOspecificfiles.(Youcanusealmostanypossiblefile attributeasOasearch qualifier.%**-,.{"O9.2BSyntaxandOutput0OUThecommandsyntaxforSEARCHis:)ODFU>&SEARCH%device/qualifiers :[OOTheoutputis displayedonyour terminal.)YoucanalsosortOOtheoutputwiththe/SORT qualifier.(Theoutputisshownin O52or3columnseg:0ODFU>&SEARCH%MYDISK/FILE=X.X/FRAGMENT t. tI.'O$1$DUA102:[USER.COMMAND]X.X;1 o1/3  1/1 t. t!.! WQOThefirstcolumnshowsthefullfilename.*Asofthisver-NOsionofDFUthedevicenameisincludedinthefilename.LO5Thesecondcolumnsshowsthefilesizeasactual/allocatedQOsize.'The3rdcolumnisoptionalandwillonlybeshownwhenJOthe /FRAGMENT qualifierisused.)Itshowsthenumberof6O> fileheaders/numberoffile fragments..-/ w&O9.3BVolumeSet processingEOUSEARCHchecksifthedeviceto-be-searchedismemberROofavolumeset.*Ifso,thecompletevolumesetwillbepro-KOcessed,startingwithRelativeVolumeNumber1uptothePO^lastmemberinset.(Youcanoverridethis behaviourwiththeO /NOVOLSET qualifier.*/.0Pw&!O9.4BOutput formattingHOUAnew qualifier/FORMATcanbeusedwithSEARCH.ThisKOallowsthebuildupofacommand proceduredirectlyfromDOtheoutput generatedbytheSEARCHcommand.(/FORMAT.O^hasthe following restrictions: hVKOm1.J/FORMATisonlyvalidwiththe/OUTPUT qualifier,andHcannotbeusedtogetherwiththe/FULLorthe/SORT qualifiers.PO2.JTheformatstringusedmustcontainthe!AS directive(inL uppercase).*Thefilefoundwillbe substitutedatthe!ASOlocationl !cOExample:QODFU>&(SEARCH/OUTP=DEL.COM/FORMAT="$DELETE/CONF%!AS"/FILE=*.LOG&mydisk*f0/1 [/O9.5BUICand identifier processingGOUThisversion introducesanimprovedhandlingofUIC's.FOPreviousversionsofDFUonlyacceptedanumericUICIOinthe/OWNER qaulifieroran identifierinthe/IDENTPO^ qualifier.+V2.4nowacceptsallvaliduicand identifierfor-BOmats(numericand alphanumeric)inthe/OWNERandOO/IDENT qualifiers.' Technicallythereisnolongeranydiffer-TOhencebetweenthesetwo qualifiers,buttheywillbeleftinfor!O compatibilityreasons.j5j51002:OSEARCH*\22OFastfilesearchthrough INDEXF.SYS.U+OFormatOsSEARCHN device[:] =O ParametersOs device[:]QODevicetobe searched.'Youmayalsospecifyalogicaldevice-O$name. frO DescriptionIOsTheSEARCHcommandisusedforquick disk-widesearchesQOforspecificfiles.,The qualifiersdescribethefile attributesSO$usedasthesearch criteria.'YoucancombinealmostalloftheDO|possible qualifiers,unless otherwise specified.&Eg.:KODFU>&SEARCH%3DISK1/SIZE=MIN=10/OWN=[1,4]/CREATED=SINCE=YESTERDAYOOisavalidcommand.+Notethat qualifierswillbeusedinaNOlogicalANDmanner,thatis,SEARCHwillonlydisplayfilesDOMwhichobeytoall qualifiersandoPuJ$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.DECW$BOOK;1j5 >"ptions specified.EO QualifiersOs /ALLOCATEDDODefault,"SEARCH will use the actual file size.3TheHO$ /ALLOCATED qualifierforcesSEARCHtousethe allocatedQO| filesize.*This qualifierisonly meaningfullifyoucombineitOwith/SIZE.4 O/APPEND=filenamePO(This qualifier redirectstheoutputtobeappendedtoanal-XOreadyexistingfile.)IftheoutputfiledoesnotexistsitwillbeHOcreated.'Youcanuse/APPENDor/OUTPUTbutnotboth.!O/BACKUP=option(,option)MO(The/BACKUP qualifierisusedtosearchfiles dependingon>Otheirbackupdate.'Thepossibleoptionsare:p `mm/BACKUP=BEFORE=date `/BACKUP=SINCE=date `ll /BACKUP=NONEd:HOTheNONEoptiongivesfileswhichdon'thaveabackupNOdate recorded.Theother2optionscanbeusedtogetfilesMO5whichhaveabackupdatebeforeorafteraspecificdate.EOTheBEFOREandSINCEoptioncanbecombinedinoneOcommand.+ "O/BAKFID=backlink-file-idSO(Youcanusethis qualifiertolookforafilewithaspecificTO backlink.*Onlythefirstpartofthefileidmustbe specified,`Othatis,ifthefileidis(x,y,z)youmustspecify'x'asthefileid.SO2Youcanusethis qualifiertogetfilesfromaspecificdirec-SOtory.'Ifyouuse /BAKFID=0youwillgetfilesnot belongingto2Oa directory(often temporaryfiles). *O /CHARACTERISTIC=(char1,char2...)WO(This qualifierisusedtogetfileswithspecificfile characteris-GOtics.Thecharacteristicscanhavethe followingvalues:} `m(m Directory:' directoryfiles `.Nobackup:'filesmarkednobackup `l6l Contiguous:'filesmarkedas contiguous `1Erase:'erasefilebeforedeletion `k kSpool:'spoolfiles `FBadblock:'fileswhichcontain suspectedbadblock(s) `i3iBadacl:'fileswitha corruptedACL `8Besttry:'filesmarkedcontiguous-best-try `h7hScratch:'filesmarkedasscratchfiles `:Nocharge:'filesnotchargedagainstquota `f7fNomove:'filesmarkedNoMove(VMS5.5+) `?Locked:'fileswiththedeaccesslockbitset `e1eMarked:'filesmarkedfordeletion `= Noshelvable:'fileswhichcannotbeshelved `d2d Isshelved:'fileswhichareshelvedM+#IOTheseveralcharacteristicscanbecombinedinonecom-KOmand.IfyouwantalogicalOR behaviourinsteadoftheGO5defaultAND behaviour,youcanusethespecialoptionOMATCH=OReg:1SEARCH%disk/CHAR=(NOMOVE,DIR,MATCH=OR)* "O/CREATED=option(,option)NO(The/CREATED qualifierisusedtosearchfiles dependingon6Otheircreationdate.'Theoptionsare:{Q `mm/CREATED=BEFORE=date `/CREATED=SINCE=date NTOThese2optionscanbeusedtogetfileswhichhaveacreationNOdatebeforeorafteraspecificdate.'TheBEFOREandSINCE6O5optioncanbecombinedinonecommand.#O/EXCLUDE=(file1,file2...)PO(This qualifierisusedtoexcludefilesfromthesearch.+YouQOcanusewildcard filenames;youcanalsospecifiyalistofOfiles."O/EXPIRED=option(,option)NO(The/EXPIRED qualifierisusedtosearchfiles dependingon8Otheir expirationdate.'Theoptionsare:s `mm/EXPIRED=BEFORE=date `/EXPIRED=SINCE=date `ll /EXPIRED=NONEo EIOTheNONEoptiongivesfileswhichdon'thaveaexpira-TOtiondate recorded.Theother2optionscanbeusedtogetfilesQO5whichhavea expirationdatebeforeorafteraspecificdate.EOTheBEFOREandSINCEoptioncanbecombinedinoneOcommand. O /FID=file-idRO(The/FID qualifierisaspecialfunctionofSEARCH.ItdirectsQOSEARCHtogodirectlytothe specifiedfilewithout processingROtherestoftheIndexfile.( Therefore,youcannotcombinethisNO2 qualifierwithothersearch qualifierssuchas/FILE.NormallySOafile-idconsistsisintheform(x,y,z)wherexisthenum-NOberofthefileheaderwithin INDEXF.SYSyisthesequenceHO<number,andzistheRelativeVolumeNumber.+YouonlyFOneedtospecifiythexvalueinthe/FID qualifier.  O/FILE=(file1,file2...)TO(This qualifierisusedtosearchforfileswithaspecificfilePOname.Youcanusewildcardfilenames;alsoyoucanspecifyaOlistoffiles.w KMO/FORMAT=format-stringMO(Createanoutputfileinaformat describedbytheformatOOstring.)Thestringmustcontainthe!AS directive(thismustQObe uppercase).(Atthe!ASlocationthe resultantfilenamewillAO2befilledin.'The/OUTPUT qualifieris required.`-O#/FRAGMENT(=(MINIMUM=nr,MAXIMUM=nr))JO(This qualifierdisplaysthenumberof fragmentsandfileOOheadersofeachfilefound.,YoucanfurtherlimitthefilesAOfoundbyusingtheMINIMUMandMAXIMUM=options.O2Forexample:ODFU>& disk/FRAG ODFU>&disk/FRAG=min=10*OGDFU>&disk/FRAG=(min=10,max=100)*E! KO/FULLTO(Ifyouusethis qualifier,SEARCHwillgiveafulloutputforTOeachfilefound.'Thisoutputisa look-alikeoftheoutputfromFODIRECTORY/FULL.Youcannotcombinethis qualifierwithO2/SORTor /SUMMARY.! O/HOMEOO(This qualifierdirectssearchtogiveoutputfromthedisk'sMOhomeblock.'SEARCHusesthehomeblockfor calculatingthe=Ofreeandusedfileheaderswithin INDEXF.SYS.U(O/(NO)IDENT=identifieroruicJO(Youcansearchforfilesownedbyaspecific identifierKOoruic..Anyvaliduicor identifierformatmaybeused.BOAnotherwayisthe /OWNER_UIC qualifier;youcan-CO2notcombinethese2 qualifiersinoneSEARCHcom-IOmand.*Issueing/NOIDENTdirectsDFUtosearchforfiles>ONOTownedbythis IDENTIFIER,eg:.DFU>SEARCH'O<sys$sysdevice/NOIDENT=SYSTEM. o#O/LBN=logical-block-numberPO(The/LBN qualifierisaspecialfunctionofSEARCH.Thisal-POlowsyoutofindafilewhichcontainsaspecificLBN.ThisNOmaybeusefullifyouhavebadblocksloggedintheerrorNO2log.(Youcannotcombine/LBNwithsearch qualifierssuchasO/FILE.,O/(NO)OWNER_UIC=uicor identifierTO(This qualifierisusedtogetfilesownedbyaspecificuicorNO identifier.+Anyvaliduicor identifierformatmaybQB%J$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.DECW$BOOK;1j5 E"eused.JOYoucannotcombinethis qualifierwith/IDENT. SpecifyingHO2/NOOWNERdirectsDFUtosearchforfilesNOTownedby$OthisUICor identifier.! #O/MODIFIED=option(,option)OO(The /MODIFIED qualifierisusedtosearchfiles dependingon:Otheir modificationdate.'Theoptionsare:}S `mm/MODIFIED=BEFORE=date `/MODIFIED=SINCE=date  NSOThese2optionscanbeusedtogetfileswhichhaveamodifi-OOcationdatebeforeorafteraspecificdate.(TheBEFOREand=O5SINCEoptioncanbecombinedinonecommand.uO /MULTIPLEQO(This qualifiersearchesforfileswhichhavemorethan1fileOheader.O /NOSEARCHMO(This qualifiercanonlybeusedin combinationwith/HOME.OOItisusedtogetthe Homeblockinfo,without searchingtheOentiredisk.! O /NOVOLSETPO(Thedefault behaviourofSEARCHistoprocessanentirevol-JOumeset.(Youcanoverridethis behaviourwith /NOVOLSET.?OThismaybeusefullwhendoinga/LBNsearch.O /OUTPUT=fileMO(This qualifier redirectstheoutputfromSEARCHtoanout-SOput file.ThisfilecanlaterbeusedasinputtotheDEFRAG,&O DIRECTORYorSETcommand.O/OVER_ALLOCATED=nOO(Searchesforfileswherethe differencebetweentheusedand6O allocatedsizeisatleast'n'blocks.! O/PLACEDKO(Checksforfileswhichhavea placementcontrol retrievalKO pointer.Thisis sometimessetbynon-DECdisk defragmenta-Otion programs.p-O#/SIZE=(minimum=size1,maximum=size2)SO(The/SIZE qualifierisusedtolimitfilesfoundbytheirfileEOsize.Youcaneitheruseminimum=ormaximum=oruseNObothoptions together.*SEARCHwillusetheactualfilesizeNO2for selectingfiles,exceptwhenthe /ALLOCATED qualifierisOused.! O/SORTUO(This qualifierwillsortthefilesfoundbeforebeingoutput.'YouJOcancombinethiswiththe/OUTPUT qualifier(thedefault"Ooutputis SYS$OUTPUT).O /STATISTICSNO(This qualifierdisplaysthe performance statistics:(CPUtime,/OElapsedTime,I/Oand PageFaults.0 KO/SUMMARYVO(This qualifierwilllimittheoutputtothetotalnumberoffilesMOfound,withtheirsize(andoptionalthe fragmentationwhenAO/FRAGisused).,Youcannotcombine/SUMMARYwithO2/FULL.| U=O3/VERSION_NUMBER=(minimum=version1,maximum=version2)GOThe/VERSION_NUMBER qualifierisusedsearchforfilesKOwithinarangeofspecificfileversionnumbers.-LogfilesJO2whichareproducedwiththesamenamemayposeproblemsDOwhentheyreachthemaximumversionnumber(32767).FOUsing/VERSION=MIN=32000isaquickwaytofindsuchO<files.*213O 10.2SETIOThischapter describestheSETcommandwiththerelated&O parametersand qualifiers.h324c 9O10.1C IntroductionMOUTheSETcommandallowsyoutomodifyfile attributeswhichGOcan'tbemodifiedthroughDCL commands.+NotethatyouMOshouldbecarefullaboutusingthis function;youmayeas-LO^ilycorruptfiles.)NOTE:Thismuchwanted functionalityisGOfinally introducedinVMS6.0withanewDCLcommandGO$SETFILE/ATTRIBUTES.StillDFU'sSEThassomeoptionsJOhwhicharenotinSETFILE/ATTRIBUTES(suchassettingaOBACKUPdate).*u,,435! 0O10.2CUICand identifier processingMOUAsofthisversionofDFUthe/OWNERand/IDENT qualifierOOnowacceptsallvaliduicor identifierformats.*SeechapterO9.5fordetails.X#X#5467  OSET*M##OModifyfile attributes.^4OFormat$OsSETNfile1,file2,...,@fileFO ParametersOsfile1,file2,...,@fileOOThefilestobe modified.+The attributestobemodifiedarePO$ specifiedwith qualifiers.( Wildcardsareaallowedinthefile-RO|name.(Anindirectfilecanbeusedbyusingthe@sign.(ThisMOallows processingofafilelistproducedbyaDFUSEARCHO-command. O QualifiersOs/BACKUP_DATE=dateO/NOBACKUP_DATEOO$Controlswhetheranewbackupdateisassignedtothespec-UO|ifiedfiles.(Specifythedate accordingtotherules describedinJOChapter1oftheVMSDCLConceptsManual.(AbsolutedateOO-keywordsareallowed.*Ifyouspecify0asthedate,today'sHOdateisused.(Ifyouspecify/NOBACKUP_DATEtheBackup)Odatefieldwillbecleared.O/BADACLO( /NOBADACLMOSetsorresetsthe'BADACL'flaginthefileheader.,ThisBOenablesdeletionofafilewitha corruptedACL.AgO/BUCKETSIZE=sizeMO(Setsanewvalueforthebucketsizeinthefileheader. {O/CONFIRMO( /NOCONFIRM (default)MOControlswhetherarequestisissuedbeforeeach individualMOSET operationtoconfirmthatthe operationshouldbeper-OO2formedonthatfile.(Whenthesystemissuestheprompt,you9Ocanissueanyofthe following responses:YESNOQUITWTRUEFALSEKCTRL/Z 10ALLNOYoucanuseany combinationofupper-and lowercaselettersJOforword responses.*Word responsescanbe abbreviatedtoOO3oneormoreletters(forexample,T,TR,orTRUforTRUE).HO AffirmativeanswersareYES,TRUE,and1.*Negativean-DOswersareNO,FALSE,0,and.+QUITorCTRL/ZLO= indicatesthatyouwanttostop processingthecommandatJOthatpoint.(WhenyourespondwithALL,thecommandcon-OOtinuestoprocess,butnofurtherpromptsaregiven.*IfyouUOGtypearesponseotherthanoneofthoseinthelist,thepromptOwillbe reissued. O/CONTIGUOUS_BEST_TRY O(/NOCONTIGUOUS_BEST_TRYJOSetsorresetsthe'CONTIGUOUS_BEST_TRY'bitinthefileOheader. ! O/CREATION_DATE=dateO(/NOCREATION_DATEQOControlswhetheranewcreationdateisassignedtothespec-UOifiedfiles.(Specifythedate accordingtotherules describedinJO2Chapter1oftheVMSDCLConceptsManual.(AbsolutedateOOkeywordsareallowed.*Ifyouspecify0asthedate,today'sOdateisused. ! O /DIRECTORYO( /NODIRECTORYTOSetsorresetsthe directory attributeofafile.*This qualifierUOallowsyoutosetthe directorybitRvy$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.DECW$BOOK;1j5 M"ofafilewhichwasmistak-FO2inglyresetbythe'SETFILE/NODIRECTORY'command.'IfVOitisdoneona non-directoryfile,thenaccesstothat directory.Owillgivea 'BADIRECTORY'error.) O/EBLOCK[=block]PO(This qualifierwillresetthe end-of-filemarktothehighestPOblock allocatedifnoblockhasbeen specified.) OtherwisetheFO end-of-filemarkwillbesettothe specifiedblock.%  O /EBYTE[=byte]RO(This qualifierwillsetthe end-of-filebytemarktothehigh-TOestbyteifithasnotbeen specified.( Otherwisethe end-of-file>Obytemarkwillbesettothe specifiedbyte.  O/EXPIRATION_DATE=dateO(/NOEXPIRATION_DATEPOControlswhetheran expirationdateisassignedtothespeci-TOfiedfiles.(Specifythedate accordingtotherules describedinJO2Chapter1oftheVMSDCLConceptsManual.(AbsolutedateOOkeywordsareallowed.*Ifyouspecify0asthedate,today'sOdateisused.>K$O/IDENT=identifieroruicEO(Modifythefile ownership.,Seealso /OWNER_UIC.ThisPOallows modificationofthefile-ownershipevenifthefileisFOopen,eg.* INDEXF.SYS.Youcannotuseboth/IDENTandO2 /OWNER_UIC./ KO/LOCKEDO( /NOLOCKEDUOThis qualifierwilllockafileforfutureuse.(NothingelsecanVOthenbedonewiththefile,untilitisunlocked(whichcanalso6O2bedonewiththeVMS'UNLOCK'command. O/LOG (default)O(/NOLOGMOControlswhethertheSETcommanddisplaysthefilespecifi-EOcationofeachfileafterthe modificationismade. xO/MAXREC=recordOO(SetsanewvalueforthemaximumrecordnumberinthefileOheader. wO/ORGANIZATION=keywordBO(The followingkeywordsareused as parameters for:Othe ORGANIZATION qualifier:0DIRECT,INDEXED,FORELATIVEand SEQUENTIAL.Thiswillallowyoutomod-VO2ifythefile organizationtypeinthefileheader.(Ofcoursethis@Owon'tchangethereal organizationofthefile.[K1(O/OWNER_UIC=uicor identifierOO(Modifythefile ownershiptoanuicor identifier.+SeealsoLO/IDENT.Thisallows modificationofthefile-ownershipevenLOifthefileisopen,eg., INDEXF.SYS.Youcannotuseboth"O2/IDENTand /OWNER_UIC.^! 4 O/RECATTRIBUTES=keywordGO(The followingkeywordsareusedas parametersforthe>O RECATTRIBUTES qualifier:'NONE,FORTRAN,IMPLIED,FOPRINTandNOSPAN.ThiswillallowyoutomodifytheMO2file'srecord attributesinthefileheader.(NONE,FORTRAN,FOIMPLIEDandPRINTaremutually exclusive,butcanbeGOusedin combinationwithNOSPAN.WhenNOSPANisomit-RO<tedSPANisassumed(thedefaultistoallowrecordstocrossOblock boundaries).AdO /RECSIZE=sizeMO(Setsanewvaluefortherecordsizeinthefileheader._5O/RECTYPE=keywordGO(The followingkeywordsareusedas parametersforthe9ORECTYPE qualifier:0FIXED,STREAM, STREAMCR,:O STREAMLF, UNDEFINED,VARIABLEandVFC.ThisPO2willallowyoutomodifythefile'srecordtypeinthefileOheader. O/REVISION_DATE=dateO(/NOREVISION_DATEMOControlswhetherarevisiondateisassignedtothespeci-TOfiedfiles.(Specifythedate accordingtotherules describedinJO2Chapter1oftheVMSDCLConceptsManual.(AbsolutedateOOkeywordsareallowed.*Ifyouspecify0asthedate,today'sOdateisused.AhO/RVCOUNT=countPO(Setsanewvaluefortherevisioncountinthefileheader.]O/UPDATEO( /NOUPDATE (default)NONormallythefile'srevisiondatewillbeupdatedafteranyLO modificationtoit.+SEThoweverdisablesthisupdate(oth-KO2erwisetheREVISIONdatecouldnotbeset).+SpecifythisIO qualifierifyouwanttherevisiondatetobeupdated.O /VFCSIZE=sizePO(SetsanewvaluefortheVFCsizeinthefileheader.+ThisDOvaluewillonlybeusedwiththeVFCrecordtype.*657O 11.2UNDELETEEOThischapter describestheUNDELETEcommandwiththe/Orelated parametersand qualifiers.u768 )O11.1C IntroductionEOUTheUNDELETEfunctionisdesignedtorecoverdeletedLOfiles,if possible.*UNDELETEoperatesinasafemodesuchROthatitfirstchecksifthedeletedfileheaderand diskblocksSO^arestill available.+Onlyinthatcasewillthefileberecov-IOered.( OtherwiseUNDELETEwillleavethedisk unmodified.2OUNDELETEhassome powerfulloptions:! w `mMmGeneratealistof recoverablefileswiththe/LISTquali-Qfier.&This qualifierwillnotundeleteanyfile,and therefore-itdoesnotlockupthedisk. `3Undeletemultiplefilesinonepass. `BMakefile selectionsbasedontheownerwiththe(v/OWNERor/IDENT qualifier. `G UndeletedfileswhichcannotbeenteredbackintheirJMoriginal directorywillbemovedtothe [SYSLOST]direc-Atory.)Thissavesan additionalANALYZE/DISK/REPAIRaction.*8 79 n^$O11.2CHowUndeleteworks:OUTheUNDELETEcommandoperatesasfollows:z! b PPOm1.JLockthevolume.'InthesamemannerasANALYZE/DISK/REPAIR:andSETVOLUME/REBUILDUndeletelockstheFdiskforotherwriterssuchthatno modificationsto?wtheINDEXF,BITMAPorQUOTAfilecanbemade.PO2.JSearchthe INDEXF.SYSfileifthe requestedfileisstillQOthere.*Acheckismadeifitreallyisavaliddeletedfileheader.SO'3.JChecksifthedeletedfileheaderandallpossible extension%headersarestillvalid.TO4.JChecksiftheblocks previouslyownedbythisfilearestillWfree.QO5.JIfallthese conditionsaremetDFUwilldisplaythefile*/andasksfora confirmation.NO6.JRebuildsallofthedeletedfileheadersandbitmapsinFmemory..IfnoerrorsarefoundallthefileheadersK_andbitmapsarewrittenbacktodisk.*Thefilesoriginal8backlinkissavedinatableinmemory.NO77.JIf appropiatetheblocksandheadersarechargedagainst diskquota.HO8.JWhenallof INDEXF.SYShasbeenscannedthevolumehis unlocked.VO9.JThefile(s)is(are)enteredintheoriginal directoryifpos-K@ sible,usingthetablebuildupinmemory.+IftheenterF commandfails (probablybecausetheoriginal directoryL isgone)thefilewillbeenteredin [SYSLOST].DFUwill.I createthis directoryifneeded."! NTOIfS$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.DECW$BOOK;1j5 |"the/LIST qualifierisused,DFUwilljustlisttherecover-ROablefileswithout performinganyactiononthedisk.&Thedisk O5willnotbelocked.#! WSOItis importanttonotethatduringthebitmapandfileheaderMO processinganyerrorwill immediately terminatetherecoveryMO5process,andunlockthedisk.*Fileswhichhavebeenrecov-ROereduptothatpointwillstillbeenteredinthe appropiateNO directory.(Asnowrong informationhasbeenwrittenbacktoJO>thediskthisshouldleavethediskinaproperstate.E$! MONOTE:Theblocks recoveredwillNOTbe subtractedfromtheOOVolume'sfreeblockcount.(Togettheactual freeblockcount?O5aSETVOLUME/REBUILD=FORCEis necessary.+Alsoa@OcompletereMOUNTwillresetthe freeblockcount.% [GO IMPORTANT:DFUtakescaretorecoveronlyfileswhoseIOoriginalblocksarefree.,HowevertheseblocksmayhavePO5beenmodifiedinthemeantimebyanotherfilewhichalsohasMObeendeleted.( Thereforeeach recoveredfilemustbechecked.Omanuallytocheckits integrity.*&'  .OExampleofaUndeletesession:&ODFU>&undel&$1$dua102:/list:Oq Recoverable%file&[TEST]CHANGE_UIC.FOR;2%found8O Recoverable%file&[TEST]CHECK_ID.FOR;1&found9O Recoverable%file&[TEST]CHKPRDIMG.FOR;1%found6OI Recoverable%file&[TEST]CHRLEN.FOR;1%found,ODFU>&undel/file=*.for% $1$DUA102:2O%DFU-I-READBMAP,&Reading% BITMAP.SYS...9Od%DFU-W-LOCKED,%Volume%now&LOCKED%for%write6O %DFU-I-UNDEL,&Start&search%on% $1$DUA102::O Recoverable%file&[TEST]CHANGE_UIC.FOR;2%found0O]Recover&this%file?%(Y/N)%[N]&:%n8O Recoverable%file&[TEST]CHECK_ID.FOR;1&found0ORecover&this%file?%(Y/N)%[N]&:%y7O5%DFU-S-RECOVER,%File% succesfully% recovered2O|%DFU-I-ADDQUOTA,&updating& diskquota...9O Recoverable%file&[TEST]CHKPRDIMG.FOR;1%found0O.Recover&this%file?%(Y/N)%[N]&:%n6Ov Recoverable%file&[TEST]CHRLEN.FOR;1%found0ORecover&this%file?%(Y/N)%[N]&:%y7O'%DFU-S-RECOVER,%File% succesfully% recovered2Oo%DFU-I-ADDQUOTA,&updating& diskquota...*O%DFU-I-UNLOCK,%Volume%unlocked&EXIT*(((98:))*O11.3CFilesmarkedfordeleteIOUNormallyDFUdoesnotundeletefilesmarkedfordelete.JOThisversion introducesanew qualifier,/MARKED,whichLO specifically undeletesfilesmarkedfordelete.,ThisallowsTO^therecoveryoffileswhicharedeletedbutstillopen,suchasKO INSTALLedfilesorevenrecoveryofthesystemdumpfileprompt.)Ifthe/FILE3O- qualifierisomittedDFUwillassume 9* -. 9* -; 9* 9-.)1$O/IDENT=identifieroruicTO(Youcansearchforfilesownedbyaspecific identifieroruic.DOAnotherwayisthe /OWNER_UIC qualifier;youcannotCOcombinethese2 qualifierinoneUNDELETEcommand.2"O/LIST(=output-file-name)NO(Generatealistof recoverablefiles.+NoundeletewilltakePOplace,andthediskwillnotbelocked.+The defaultoutputisO SYS$OUTPUT.3O/MARKEDMO(Consideronlyfilesmarked-for-delete.(Suchfilesareusual-SOllystillopenbysomeutility,suchas INSTALLedfilesortheOsystemdumpfile.4 (O/OWNER_UIC=uicor identifierZO(This qualifierisusedtoselectfilesbyauicor identifier.(You9Ocannotcombinethis qualifierwith/IDENT.5O /STATISTICSNO(This qualifierdisplaysthe performance statistics:(CPUtime,/OElapsedTime,I/Oand PageFaults.*6<;=7eO 12.2SPAWNBOThenewSPAWNcommandcreatesan interactivesub-MOprocess.+ThisallowsaquickescapetotheDCLlevelfromJOBan interactiveDFUsession.,The subprocesshasadefaultFOprompt DFU_sub$.)InSMGmodethekeyalsoper-FOformsaSPAWNcommand.+Youmustlogout explicitlyto(OLreturntotheDFUsession.D=<>8O 13.2VERIFYCOThischapter describestheVERIFYcommandwiththe/Orelated parametersand qualifiers.h  >=?9 qO13.1C IntroductionJOUTheVERIFYcommandmakesananalysisofthedisk,scan-JOningforfileanddisk structureerrors.+VERIFYperformsKOalmostallofthechecksnormallydonebya ANALYZE/DISKAO^command.1ButVERIFYisseveraltimesfasterthan5O ANALYZE/DISK,andusingless resources.i:??OVERIFYchecksandreportsthe followingerrors:; o `mFmChecksthelogical information containedinthedisksHOMEblock `E/EReportsfilesmarkedfordeletion `=Reports mismatchesintheindexfile'sbitmap `D!DChecksall backlinks. `.Reportsmultiple allocatedblocks `BDBReportsblocks incorrectlymarkedfreeand allocated `#Reportsalllostfiles `AEAChecksfor mismatchesbetweenblocksusedandblocksCchargedin QUOTA.SYS.(Onlydonewhen diskquotaisenabled)*<*=.ll?>@!>&O13.2CBasicrepairactionsOOUThe/FIX qualifiercanbeusedtoperformsomebasicrepairFOactions.)UnlikeANALYZE/DISK/REPAIRthisdoesnotlock&VERIFY%mydisk,O"%DFU-I-VERIFY,% Verifying%MYDISK::Oi%DFU-S-CHKHOME,%Home%block%info&verified&OK3O%DFU-I-IFSCAN,%Scanning% INDEXF.SYS&...4O%DFU-I-CHKBITMAP,%Checking% BITMAP.SYS...8OA%DFU-I-CHKLOST,%Checking%for&lost%files...2O%DFU-I-CHKQUOTA,&Checking& QUOTA.SYS...-ODFU>&VERIFY/REBUILD& sys$sysdevice4O:%DFU-W-LOCKED,%Volume%now&write&locked3O%DFU=I-VERIFY,% Verifying%SYS$SYSDEVICE::O%DFU-S-CHKHOME,%Home%block%info&verified&OK[O%DFU-W-DELETED,%file% (620,351,1)%RSF_DI_RSF_SERVER0.TMP;3%marked&for%deleteUOZ%DFU-W-DELETED,%file% (6349,173,1)%DCLTABLES.EXE;937%marked&for%delete\O%DFU-W-DELETED,%file% (19745,35,1)%RSF_DI_RSF_SERVER0.TMP;3&marked%for%delete4O%DFU-I-CHKBITMAP,%Checking% BITMAP.SYS...bO2%DFU-E-ALLOCCLR,&blocks%LBN%2667141%through&2667143% incorrectly%marked& allocatedbOz%DFU-E-ALLOCCLR,&blocks%LBN%2667153%through&2667161% incorrectly%marked& allocated . .=OR%DFU-S-RBDBITMAP,% BITMAP.SYS& succesfully&rebuild8O%DFU-I-CHKLOST,%Checking%for&lost%files...*O%DFU-I-UNLOCK,%Volume%unlockedOKDFU>`J66OVERIFYcanreportthe followingerrors:D CEK &\ 000000.DIR directoryonRVN1, thendo a SET4 FILE/REMOVEfromthewrong 000000.DIR.P.O DELETED,filemarkedfordelete,k Severity:PkWARNING Explanation:5Afilewasfoundmarkedfor deletion.O^SuchfilesusuallyexistsasaresultoffilebeingdeletedOwhileitwasstill INSTALLed,orasaresultofasystemLcrash.+Itisnot consideredasanerror.+Youcantryto5hdeletesuchfilesbyusing VERIFY/FIX.SQ k)/O ERRHOME,HomeblockinfonotOK,k Severity:PkERROR Explanation:4TheInfo containedintheHomeBlock.^wasnot consistentor corrupted. UserAction:4RunANALYZE/DISK/REPAIRtotrytofixRtheerror.uR ~K3O INVBAKFID,filehasinvalid backlink,k Severity:PkERROR Explanation:>Thefilesbacklinkfileidisnotfilledin.R^Thisislikelytobealostfile.'(NotethatU$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.DECW$BOOK;1j5 7A"onceVERIFYre-Nportsthiserror,itwillnotbereportedagainduringthePLOSTFILEcheck).'ButisalsopossiblethatthefileisinaUhvalid directory,butthattheBacklinkfileidisnotfilledin. UserAction:,RunANALYZE/DISK/REPAIR.IftheO\fileisinavalid directorythebacklinkwillbe repaired.K Otherwisethefilewillbemovedtothe [SYSLOST]direc-L tory.'Youcanalsouse VERIFY/FIXbutthenthefilewill4eunconditionallybemovedto [SYSLOST].wS kM.O LOCKED,fileisdeaccesslocked,k Severity:PkWARNING Explanation:<Thefileisdeaccesslocked.(Thismaybea'^resultofasystemcrash. UserAction:9TrytounlockthefilewiththeDFUSET2Rcommand,ortheDCLUNLOCKcommand.T =O LOSTHDR1,filefoundin nonexistent directory,k Severity:PkWARNING Explanation:<Duringthelostfilecheckafilewasdis-G^coveredina nonexistent directory.-ThiserrorcanbeJcausedasfollows:'seta directoryfileto NODIRECTORYanddeleteit. UserAction:7Run VERIFY/FIXtomovethefiletothe [SYSLOST] directory.U! &AO LOSTHDR2,filefoundin directorywithbadback-( link, Severity:PWARNING^ Explanation:<^Duringthelostfilecheckafilewasdis-Jcoveredinavalid directory.)However,the directoryhasLaninvalid backlink.(Thiserrorcanbecausedbydoinga3hSET FILE/REMOVEofa directoryfile. UserAction:7Run VERIFY/FIXtomovethe directorytoF\the [SYSLOST] directory.)Thenmovethe directorybackQtothecorrect location.'Thefilesinthe directoryshouldbe  accesibleagain.VuU9O LOSTHDR3,filefoundininvalid directory,k Severity:PkWARNING Explanation:<Duringthelostfilecheckafilewasdis-I^coveredina directorywhichisnotavalid directory.OEitherthefilehasawrong backlink,orthe directoryfile9hasthe directoryfile attributenotset. UserAction:6Lookupthe directoryanduseDFUSETPtosetthe directorybit.(Ifthe directoryfilewasOKthen8\run VERIFY/FIXtorecoverthelostfile.YEDFW! 2O LOSTHDR4,notfoundina directory,k Severity:PkWARNING Explanation:/Whenthe/DIRECTORY_SCAN qualifierP^isused,DFUdetectsfileswhichhaveavalidbacklinkbutMwhicharenotseeninthe directory.(Thiscanberepairedwith/FIX. UserAction:9Using/FIXwillenterthesefilesinthecorrect directory.dX :2O MULTALLOC,blocksmultiple allocated,k Severity:PkERROR Explanation:9Afilehasblocks allocatedwhichalreadyG^belongtoanotherfile.+NotethatVERIFYwillmakeaHsecondpassthrough INDEXF.SYStoreportallthefilesQ involved.(Thisisaseriouserror,andmaybearesultofaGhdiskbeingmountedontwo seperated VAXClusters(ora# partitioned VAXCluster).\ UserAction:3\CopyallthefilesfoundtoanotherC location.1Nextallthefilesmustbedeleted.2RunA VERIFY/REBUILDtorepairtheBITMAP.Alltheaf-Neflictedfilesmustbemanually inspectedtoseewhichfiles1arevalidandwhichare corrupted.Ykm9O NOBITCLR,DeletedfileheadermarkedBUSY,k Severity:PkWARNING Explanation:9Afilewasdeleted.)The correspondingbitL^intheINDEXFbitmapshouldbeclearedbutisstillset.+Thisisnotaseriouserror.R UserAction:3RRunVERIFY/REBUILDtofixtheerror.ZkX8O NOBITSET,indexfilebitmapbitnotset,k Severity:PkWARNING Explanation:9Avalidfilewasfound,butthecorre-J^spondingindexfilebitmapbitisclear.-Thisisnotaseriouserror.R UserAction:3RRunVERIFY/REBUILDtofixtheerror.O[ %)O NOOWNER,filehasnoowner,k Severity:PkWARNING Explanation:8AfilewasfoundwithUIC[0,0]asthe6^owner.'Thisisnotanormal situation. UserAction:=Lookupthefileandmodifythefileowner.n\ /D=O QUOTAERR,UIC[x,y]hasnblocksused,QUOTA( indicatesmblocks, Severity:PWARNING^ Explanation:7^Ifadiskhas diskquotaenabled,VERIFYG calculatestheblocksusedandcomparesthemwiththeHvalueinthe QUOTA.SYSfile.(Anymismatchis reported.JhThiserrorisoftenseenwhenVERIFYisrun,andthereMis concurrentfileactivityonthedisk.-Also,ifafteraAsystemcrashthediskismountedwith /NOREBUILDCrsuchQuota mismatchesmayexist.(ReRunVERIFYwith;/LOCKtoseeiftheerrorisstillthere.e UserAction:/eRunVERIFY/REBUILDtorebuildthe=QUOTAfile.)Orruna DISKQUOTA>REBUILDcom-mand.] 3O SLFBAKFID,backlinkpointstoitself,k Severity:PkWARNING Explanation:7Thiserror indicatesthatDFUhasfoundO^a directorywithabacklinkpointingtoitself.'ThisfeatureJisonlyallowedfortheMFD 000000.DIR.ThiserrorwillEresultin ANALYZE/DISKgoingintoa COMputableloop. UserAction:3Run VERIFY/FIXtomovethe directoryFtothe [SYSLOST] directory.)Thenremovethe directoryB\entryfromitselfwithaSET FILE/REMOVEcommand.GThefilesinthe directoryshouldbe accesibleagain.  F E:^OVERIFY*_d`::OVERIFYadevicefordisk structureerrors.Ua+OFormatOsVERIFYN device[:]vbLO ParametersOsdevice(OThedevicetobe verified.HcO QualifiersOs/APPEND=filenamePOThis qualifier redirectstheoutputtobeappendedtoanal-XO$readyexistingfile.)IftheoutputfiledoesnotexistsitwillbeHO|created.'Youcanuse/APPENDor/OUTPUTbutnotboth.d O/DIRECTORY_SCANOO(Performsafull directoryscan.(Thismaytakeupsometime,OObutitallows detectionof mismatchesbetweenthe directoriesOand INDEXF.SYS.eKO/FIXO(/NOFIX (default)IORepairerrorsonthedisk.0FilemarkedfordeletewillNObedeletedandlostfilesand directorieswillbemovedtoO2 [SYSLOST].tf JO/LOCKO(/NOLOCK (default)QOLocksthediskforfileallocation/deletion.)Thisgivesacon-QOsistentreportforthedisk,butotherusersmay experienceaPO2delaywhen accessingthedisk.'Thedevicewillbeunlockeda-OtheendoftheVERIFYcommand.gXO/OUTPUT=filenameRO(This qualifier redirectstheoutputtoafile.*TheoutputwiV"P$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.DECW$BOOK;1j5 " llFOalsogoto SYS$OUTPUT.CAUTION:ifyouuse/LOCKinIO combinationwith/OUTPUTbecarefulltospecifyanout-MO2putfileonANOTHERdisk,orDFUwillfinishwithasevereOerror.hO/REBUILDO( /NOREBUILD (default)JOPerformavolumerebuild.,Usingthis qualifierwilltem-7Oporarilylockthediskforotherusers.iO /STATISTICSNO(This qualifierdisplaysthe performance statistics:(CPUtime,/OElapsedTime,I/Oand PageFaults.*j   !!!!!!!!!!!!!!!"############$$$$$%%%%&&&&&&&&&&&&&&&&&&&&&&'(()))))))))**************+,---.////011111111111111111111111111111111111111111111111123345555555555555555555555555555567778888888889:;;;;;;;;;;;;<=>>>>>???@@@AAAABCCDDDDDDDDDDDDEEEEEEEFFFFFFFFFFFFF1. Introduction1. Introduction1.1 Support on DFU1.2 General description1.2 General description1.2 General description1.2 General description1.2 General description1.3 New features of V2.41.3 New features of V2.41.3 New features of V2.41.3 New features of V2.41.3 New features of V2.4&1.4 Restrictions and Parameters&1.4 Restrictions and Parameters&1.4 Restrictions and Parameters&1.4 Restrictions and Parameters&1.4 Restrictions and Parameters&1.4 Restrictions and Parameters&1.4 Restrictions and Parameters&1.4 Restrictions and Parameters2. Using DFU!2.1 Installation procedure!2.1 Installation procedure!2.1 Installation procedure!2.1 Installation procedure!2.1 Installation procedure!2.1 Installation procedure!2.1 Installation procedure!2.1 Installation procedure!2.1 Installation procedure!2.1 Installation procedure!2.1 Installation procedure2.2 Security and access2.2 Security and access2.2 Security and access2.2 Security and access2.2 Security and access2.2 Security and access2.2 Security and access2.2 Security and access2.3 Running DFU2.3 Running DFU2.3 Running DFU2.3 Running DFU2.3 Running DFU2.3 Running DFU&2.4 Using an indirect file list&2.4 Using an indirect file list"3. The SMG output interface!3.1 Enabling/Disabling SMG83.2 Automatic switching between SMG and Line mode#3.3 Layout of the SMG screen#3.3 Layout of the SMG screen#3.3 Layout of the SMG screen#3.3 Layout of the SMG screen"3.4 Special Screen commands"3.4 Special Screen commands"3.4 Special Screen commands"3.4 Special Screen commands3.5 Side effects3.5 Side effects4. DFU basics4. DFU basics4. DFU basics4. DFU basics4. DFU basics4. DFU basics4. DFU basics4. DFU basics4. DFU basics4. DFU basics4. DFU basics4. DFU basics5. DEFRAG5.1 Description5.1 Description5.1 Description5.2 Error messages5.2 Error messages5.2 Error messages DEFRAG DEFRAG DEFRAG DEFRAG DEFRAG DEFRAG DEFRAG DEFRAG DEFRAG DEFRAG DEFRAG6. DELETE6.1 Introduction6.1 Introduction6.1 Introduction6.1 Introduction DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE DELETE7. DIRECTORY7.1 Introduction7.1 Introduction7.1 Introduction7.1 Introduction7.1 Introduction7.1 Introduction7.1 Introduction7.1 Introduction7.1 Introduction7.1 Introduction7.1 Introduction7.1 Introduction.7.2 Discussion of directory compression.7.2 Discussion of directory compression.7.2 Discussion of directory compression.7.2 Discussion of directory compression.7.2 Discussion of directory compression7.3 Output formatting7.3 Output formatting7.3 Output formatting7.3 Output formattingDIRECTORYDIRECTORYDIRECTORYDIRECTORYDIRECTORYDIRECTORYDIRECTORYDIRECTORYDIRECTORYDIRECTORYDIRECTORYDIRECTORYDIRECTORYDIRECTORYDIRECTORYDIRECTORYDIRECTORYDIRECTORYDIRECTORYDIRECTORYDIRECTORYDIRECTORY8. REPORT8.1 Description8.1 Description8.2 Syntax and Output8.2 Syntax and Output8.2 Syntax and Output8.2 Syntax and Output8.2 Syntax and Output8.2 Syntax and Output8.2 Syntax and Output8.2 Syntax and Output8.2 Syntax and Output REPORT REPORT REPORT REPORT REPORT REPORT REPORT REPORT REPORT REPORT REPORT REPORT REPORT REPORT9. SEARCH9.1 Introduction9.2 Syntax and Output9.2 Syntax and Output9.2 Syntax and Output 9.3 Volume Set processing9.4 Output formatting9.4 Output formatting9.4 Output formatting9.4 Output formatting(9.5 UIC and identifier processing SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH SEARCH10. SET10.1 Introduction10.1 Introduction)10.2 UIC and identifier processing SET SET SET SET SET SET SET SET SET SET SET SET SET SET SET SET SET SET SET SET SET SET SET SET SET SET SET SET SET11. UNDELETE11.1 Introduction11.1 Introduction11.1 Introduction11.2 How Undelete works11.2 How Undelete works11.2 How Undelete works11.2 How Undelete works11.2 How Undelete works11.2 How Undelete works11.2 How Undelete works11.2 How Undelete works11.2 How Undelete works#11.3 Files marked for delete)11.4 UIC and identifier processingUNDELETEUNDELETEUNDELETEUNDELETEUNDELETEUNDELETEUNDELETEUNDELETEUNDELETEUNDELETEUNDELETEUNDELETE12. SPAWN13. VERIFY13.1 Introduction13.1 Introduction13.1 Introduction13.1 Introduction13.1 Introduction 13.2 Basic repair actions 13.2 Basic repair actions 13.2 Basic repair actions13W$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.DECW$BOOK;1j5 2.3 Directory scanning13.3 Directory scanning13.3 Directory scanning#13.4 Advanced repair actions#13.4 Advanced repair actions#13.4 Advanced repair actions#13.4 Advanced repair actions13.5 Interpreting errors13.6 Error reporting13.6 Error reporting5ALLOCCLR, blocks incorrectly marked allocated,0ALLOCSET, blocks incorrectly marked free,/BADBLOCK, file has suspected bad blocks,2BADEXTLNK, link to extension header broken,@BADMFDLNK, directory has backlink to 000000.DIR on RVN n,'DELETED, file marked for delete,'ERRHOME, Home block info not OK,,INVBAKFID, file has invalid backlink,'LOCKED, file is deaccess locked,5LOSTHDR1, file found in nonexistent directory,=LOSTHDR2, file found in directory with bad back- link,1LOSTHDR3, file found in invalid directory,*LOSTHDR4, not found in a directory,,MULTALLOC, blocks multiple allocated,1NOBITCLR, Deleted file header marked BUSY,/NOBITSET, index file bitmap bit not set,"NOOWNER, file has no owner,GQUOTAERR, UIC [x,y] has n blocks used, QUOTA indicates m blocks,,SLFBAKFID, backlink points to itself, VERIFY VERIFY VERIFY VERIFY VERIFY VERIFY VERIFY VERIFY VERIFY VERIFY VERIFY VERIFY VERIFY  ch1 hd1_1 hd1_2 hd1_3 hd1_4 ch2 hd2_1+ hd2_23 hd2_39 hd2_4; ch3< hd3_1= hd3_2> hd3_3B hd3_4F hd3_5H ch4T ch5U hd5_1X hd5_2[defragf ch6g hd6_1kdeletez ch7{ hd7_1 hd7_2 hd7_3directory ch8 hd8_1 hd8_2report ch9 hd9_1 hd9_2 hd9_3 hd9_4 hd9_5search ch10hd10_1hd10_2 set ch11hd11_1 hd11_2)hd11_3*hd11_4+undelete7 ch128 ch139hd13_1>hd13_2Ahd13_3Dhd13_4Hhd13_5Ihd13_6^verify B-ADOBE-Helvetica-Medium-R-Normal--*-120-*-*-P-*-ISO8859-1@-ADOBE-Helvetica-Bold-R-Normal--*-180-*-*-P-*-ISO8859-1@-ADOBE-Helvetica-Bold-R-Normal--*-120-*-*-P-*-ISO8859-1B-ADOBE-Helvetica-Medium-R-Normal--*-100-*-*-P-*-ISO8859-1@-ADOBE-Helvetica-Bold-R-Normal--*-140-*-*-P-*-ISO8859-1O-ADOBE-New Century Schoolbook-Medium-R-Normal--*-140-*-*-P-*-ISO8859-1/-ADOBE-Symbol-*-R-*--*-140-*-*-P-*-*-*@-ADOBE-Courier-Medium-R-Normal--*-120-*-*-M-*-ISO8859-1B-ADOBE-Helvetica-Medium-R-Normal--*-140-*-*-P-*-ISO8859-1M -ADOBE-New Century Schoolbook-Bold-R-Normal--*-140-*-*-P-*-ISO8859-1t   lrsT  \B" ''/r2p:57v8H94:J?>AZCLNNXPQ WW.[<dem sjtfP t@!d*Nj5r,X#(,  l62iP< #*[DFU024.KIT]DFU024.DECW$BOOKSHELF;1+,./7@ 4-f0123KPWO56}t7w89G7@HJBOOK\dfu024\DFU V2.4 *[DFU024.KIT]DFU024.HTML;1+,.B/7@ 4UBB2Z-f0123 KPWOC56}t77'w89G7@HJ  M ( 1 * C  DFU V2.4  !

DFU V2.4






Abstract

7DFU Disk and File Utilities for OpenVMS VAX and Alpha 

(Revision Information: This manual supersedes V2.2 

Date: August 1996 

$Operating System: 1OpenVMS VAX V5.5-2 thru 7.1, Alpha V6.1 thru 7.1 

Note: Part of the Freeware CD-ROM 




*OpenVMS Freeware for VAX and AXP Systems 

:The OpenVMS Freeware CD-ROM contains free software tools 6and utilities to aid software developers in creating 6applications and managing and using OpenVMS systems. 

9Many of these tools are popular packages already widely 9known and in use, while others are internally developed 9Digital tools our engineers are making available to our =OpenVMS customers. For example, the OpenVMS Freeware CD-ROM 9includes Bliss-32 for OpenVMS VAX, Bliss-32 for OpenVMS $AXP, and Bliss-64 for OpenVMS AXP. 

/Disclaimer on Testing, Quality, and Licensing 

8The OpenVMS Freeware for VAX and AXP Systems CD-ROM is 7provided "AS IS" without warranty. Digital imposes no =restrictions on its distribution, nor on the redistribution 8of anything on it. Be aware, however, that some of the 8packages on the CD-ROM may carry restrictions on their <use imposed by the original authors. Therefore, you should =carefully read the documentation accompanying the products. 

:Digital Equipment Corporation is providing this software 6free of charge and without warranty. Included in the 6[FREEWARE] directory on this CD are the GNU software 8licenses. Unless otherwise stated in sources or source ;packages, the GNU licenses cover all software supplied on this CD. 

=Digital makes no claims about the quality of this software. 3It is provided to the customer as a free service. $

Copyright©August 1996




5

Contents

  


;

Chapter 1
Introduction



=The Disk and File Utilities (DFU) is a high perfomance tool Imeant as an aid to the system manager who is responsible for monitoring /and maintaining disks, files and directories. IIt makes use of low level I/O features of VMS. As a result a high level @of performance is reached with minimal overhead on the system. CDFU supports all types of disk sets which comply to the VMS ODS-2 standard ?such as volume sets, stripe sets , shadow sets and RAID sets, and combinations of these. 

DDFU does NOT work on Spiralog disks. Trying to use DFU on spiralog Fdisks will produce the error "%DFU-E-NOTF11, Device does not have an ODS-2 filesystem" .  6

1.1 Support on DFU



;Although there is no official support on DFU you may send 1questions/remarks/bug-reports to the author via /internet address dorland@utrtsc.enet.dec.com. EA next version of DFU will no longer work on VMS 5.5-2 and VMS 6.0.  ;

1.2 General description



@DFU provides the following functions (in alphabetical order) : 

    I
  • DEFRAG : This function allows simple defragmentation of a file or a list of files. F
  • DELETE : This function allows either a delete by file-id, or a fast delete Hof a complete directory or directory tree with all its subdirectories. 1 XYU-$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.HTML;1UB:M"
  • DIRECTORY : This function has 6 options : 
      
    1. COMPRESS a directory )
    2. DUMP a directory block by block 5
    3. CREATE a directory with a preallocated size A
    4. Search all directories on the disk for files which have multiple versions C
    5. Search all directories on the disk for alias file entries B
    6. Search all directories on the disk for empty directories 
    H
  • REPORT : Generates a file and free space report for a disk. Also a @disk space usage report, based on UIC's or identifiers, can be generated, even *on a disk which has disk quota disabled. I
  • SEARCH : Look up files on a disk by specific file attributes (eg. +files sizes, dates, ownership, and so on) H
  • SET : This functions allows setting of file attributes which are %not available through DCL commands. 1
  • UNDELETE : A safe file recovery function. =
  • VERIFY : This function performs a fast disk structure verification 9and can optionally repair certain disk structure errors ((comparable with ANALYZE/DISK/REPAIR).  

    DEach function is described in detail in the corresponding chapter. 

    HDFU is supported on OpenVMS VAX V5.5-2 through V7.1, and OpenVMS Alpha V6.1 thru EV7.1. DFU has been tested on the Field test versions of VMS 7.1; so Gfar no problems have been found. The official freeware release of DFU will 7be distributed with the official release of VMS V7.1.  =

    1.3 New features of V2.4

    

    ?This version of DFU offers several improved and new features, "as well as a couple of bugfixes. %The new functions and features are: 

      G
    • Improved handling of UIC's and Identifiers. DFU now accepts all Cvalid numeric and alphanumeric UIC's and identifiers. This option Fis used in the /OWNER and /IDENTIFIER qualifier. The SEARCH, SET and UNDELETE commands use these qualifiers. E
    • In some cases the DFU_ALLPRIV identifier was too restrictive; $therefore it has been removed from 9the DIRECTORY/COMPRESS, DELETE/DIR and the SET command. ;
    • Output formatting is now possible on the SEARCH and DIRECTORY/VERSION Hcommands via the /FORMAT qualifier. This allows the building of action DDCL command procedures directly from the output of these commands. F
    • Output file handling : the new /APPEND qualifier allows DFU to add Boutput to an existing output file instead of creating a new one. I
    • DELETE/DIRECTORY : the new /KEEP qualifier allows preservation of the 8directory tree; only the directory content is deleted. B
    • SEARCH : added the /OVER_ALLOCATED qualifier to search for over allocated files. F
    • REPORT : Several new qualifiers allow control over the output. The /USAGE Bqualifier can now also be used as /USAGE=<uic> to report a specific uic or identifier. =
    • UNDELETE: ability to undelete files marked for delete A
    • VERIFY : several enhancements. VERIFY /DIRECTORY allows a complete Adirectory check; this results in better detection of lost files Aand some cases of directory problems. Note that /DIRECTORY_SCAN &replaces the DIRECTORY/CHECK comand. DAlso incorrect backlinks of the Master File Directory (000000.DIR) can now be repaired. EFinally the output of multiple allocated blocks has been improved ( is now sorted by LBN's). 
    

    %The following bugs have been fixed: 

      D
    • On VAX/VMS V5.5-2 without the patch on SMGSHR installed, DFU could >exit with an ACCVIO error. A workaround has been build in to avoid this problem. A
    • When processing a corrupt directory DFU could end with an 6ACCVIO error. This has been fixed by better checking of the directory file. )
    • SET/MAXREC did not work properly. I
    • If, during an UNDELETE command CTRL/Y was entered an extra RETURN Chad to be given to abort the UNDELETE command. This is now fixed. H
    • VERIFY/FIX and UNDELETE did not always reenter the file with its Goriginal version number. DFU will now enter the file with the correct Cversion number, or the next higher version if the current version already exists. I
    • Issue a correct error message when trying to use DFU on non ODS-2 "disks such as a Spiralog volume. F
    • In a batch job DFU could produce unwanted blank pages when the logical DFU$NOSMG was defined. 
    

     C

    1.4 Restrictions and Parameters

    

    *The DFU program has a few restrictions : 

      A
    • DFU can not handle volume sets with more than 32 members. H
    • Due to changes in VMS run time libraries for DEC C DFU.EXE files Hlinked on VMS 6.2 cannot be run on VMS 6.1 and lower without relinking Dthe image. The best solution is to reinstall DFU on those systems. ;
    • The SMG interface may not work at all on VMS 5.5-2. =In that case you need to install CSCPAT_0320 and re-install IDFU. Warning: CSCPAT_0320 replaces SMGSHR.EXE and may have side effects +on other applications using SMG routines. 
    

    EThe following minimum process quotas are recommended for DFU usage: 

      
    • WSQUOTA : 1500 
    • WSEXTENT : 3000 
    • DIOLM : 40 
    • ASTLM : 40 
    • FILLM : 40 
    • BYTLM : 30000 
    • PGFLQUOTA : 30000 
    

    FIf you use DFU on volume sets with a large number of members you may 3need to increase the SYSGEN parameter CHANNELCNT. 

    FIf you use the directory command on very large directory files (> 1000 Dblocks) and run into errors you may need to increase the following parameters: 

      >
    • WSQUOTA at least 1000 + size-of-largest directory file *
    • WSEXTENT : WSQUOTA + at least 1000 2
    • CTLPAGES (SYSGEN parameter) : at least 100 4
    • WSMAX (SYSGEN parameter) : at least WSEXTENT 
    

    FDo not change parameters unless you run into errors such as EXCEEDED QUOTA %or INSUFFICIENT WORKING SET LIMITS.  


    8

    Chapter 2
    Using DFU

    

    EThis chapter describes the installation procedure and other actions !which must be taken to run DFU.  >

    2.1 Installation procedure

    

    =DFU can be installed with the VMSINSTAL utility. During the installation VMSINSTAL does the following: 

      6
    • Moves the documentation to SYS$HELP (Optional) 
    • Relinks DFU @
    • Creates the DFU_ALLPRIV identifier needed to perform the &special functions. (See chapter 2.2) 
    

    1The DFU utility in fact contains just 2 files : 

      !
    1. DFU.EXE : the DFU program *
    2. DFUHLP.HLB : the on-line help file 
    

    CDFU.EXE will be moved to SYS$SYSTEM, and DFUHLP.HLB will be moved to SYS$HELP. 

    BYou can optionally get documentation of DFU during installation. =To install DFU log in into a privileged account and enter :

     $ @sys$update:vmsinstal    8  VAX/VMS Software Product Installation Procedure V6.2      It is 01-Aug-1996 at 13:46.    3  Enter a question mark (?) at any time for help.    B  * Are you satisfied with the backup of your system disk [YES]?    
    

    DVMSINSTAL now asks for the distribution media and product. You can Galso specify the directory where you have the DFU_FREEWARE_024.A file instead of a device name:

     =  * Where will the distribution volumes be mounted: [DDCU:]    N  Enter the products to be processed from the first distribution volume set.        * Products: DFU_FREEWARE_024  8  * Enter installation options you wish to use (none):    -  The following products will be processed:             DFU_FREEWARE_ 2.4    :  Beginning installation of DFU_FREEWARE_ V2.4  at 13:46    :  %VMSINSTAL-I-RESTORE, Restoring product save set A ...      Installing DFU version 2.4    
    

    C The next question will prompt you for the documentation files. H The DFU documentation is available in Line printer, PostScript, HTML and @ Bookreader format. The documentation files will be copied to SYS$HELP.

     @  * Do you want the documentation in Lineprinter format ? [Y]?  8  %VMSINSTAL-I-DOCMOVED, DFU024.LINE moved to SYS$HELP    E  * Do you want the documentation in PostScript(TM) format ?   [N]?  ?  * Do you want the documentation in Bookreader format ? [Yw$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.HTML;1UB"N]?  9  * Do you want the documentation in HTML format ? [N]?    
    

    BVMSINSTAL now links the DFU image and adds the identifier to the Rightslist 6(see chapter 2.2 for the meaning of the identifier).

       Linking DFU image ...  *  %DFU-I-LINK, Linking DFU 2.4  image...     %DFU-S-DONE, DFU.EXE created    
    

    ENext VMSINSTAL will create the DFU_ALLPRIV identifier if necessary.

       D  %VMSINSTAL-I-ACCOUNT, This installation adds an identifier named      DFU_ALLPRIV.  G  %UAF-I-RDBADDMSG, identifier DFU_ALLPRIV value: %X80010008 added to      rights data base      <  %VMSINSTAL-I-MOVEFILES, Files will now be moved to their     target directories...    0  Installation of DFU V2.4  completed at 13:47    
    

    >You must grant any DFU user including yourself the necessary DDFU_ALLPRIV identifier if a user be allowed to use the special DFU functions. 5See chapter 2.2 for the meaning of this identifier.  ;

    2.2 Security and access

    

    EDFU has some functions which must not be made available for general 2usage. Therefore DFU has 2 groups of functions : 

      
    1. Normal functions 
        
      1. DELETE/DIRECTORY 
      2. DIRECTORY 
      3. REPORT 
      4. SEARCH
      5. SET 
      6. SPAWN 7
      7. VERIFY (except VERIFY/FIX and VERIFY/REBUILD) 
      !
    2. Special functions 
        
      1. DEFRAG 
      2. DELETE/FILE 
      3. UNDELETE '
      4. VERIFY/FIX and VERIFY/REBUILD 
      
    

    7The normal functions need SYSPRV or BYPASS privilege. ?The special functions require BYPASS privilege as well as the DFU_ALLPRIV identifier granted. ?The DFU_ALLPRIV identifier is created during the installation Eprocedure. To enable a user to perform special functions the system 1manager must grant this identifier as follows :

     $ mc authorize  'UAF> grant/id DFU_ALLPRIV username  
    

    >It is highly recommended that special functions are NOT made available to the world. 

     3

    2.3 Running DFU

    

    To run DFU you can enter :

     $ RUN disk:[mydir]DFU  
    

    &or (if DFU is installed systemwide):

     
    $ MC DFU  
    

    :You can also define and use a symbol for DFU as follows:

     $ DFU == "$DFU"  $ DFU  
    

    DFU now prompts with :

     2    Disk and File Utilities for OpenVMS DFU V2.4      Freeware version  6    Copyright (C) 1996 Digital Equipment Corporation    	DFU>  
    

    7You can now enter DFU commands. HELP gives you online 5help. After each command DFU returns to the DFU> 8prompt. You can recall and edit commands, just as with 8DCL (20 commands will be stored in the recall buffer). "Use EXIT or CTRL/Z to leave DFU. 9If you use a symbol for DFU , you also process a single (command and return to DCL immediately:

     $DFU SEARCH disk/qualifiers  
    

    9During a DFU run , you can interrupt DFU with CTRL/C or &CTRL/Y. These interrupts are catched 2by DFU to allow a correct rundown of the current *command. It may therefore take some time 1before DFU responds to a CTRL/C or Y interrupt.  C

    2.4 Using an indirect file list

    

    >There are 3 commands, DIRECTORY, DEFRAG and SET which accept Dan indirect file as input parameter. This is achieved by using the I@ sign. An indirect file is a file containing a list of valid filenames I(each line in such a file must contain exactly one file). Such indirect =files can be the output file of the DFU Search command eg.:

     $ DFU  1DFU> SEARCH mydisk/CHAR=DIRECTORY/OUTPUT=x.x  !DFU> DIRECTORY/COMPRESS @x.x  
    

     


    G

    Chapter 3
    The SMG output interface

    

    IAs of version V2.2 DFU uses SMG (Screen management routines) to perform ?output for an interactive DFU session. This chapter describes Ethe layout of the DFU screen, the special commands used only in the BSMG interface and other items with respect to the SMG interface.  >

    3.1 Enabling/Disabling SMG

    

    DDFU automatically selects SMG output if you run an interactive DFU :session on a terminal or workstation which supports SMG. HIn a batch job or a non-DEC terminal DFU will use normal line oriented @output. You can explicitly disable SMG by defining the logical DFU$NOSMG to any value.  U

    3.2 Automatic switching between SMG and Line mode

    EYou may prefer to perform interactive DFU sessions in SMG mode, and Dsingle DFU commands in normal line mode. This can be done by using %the command procedure listed below:

       1$! Procedure to switch beteen SMG and line mode  $ DFU = "$DFU"  $ if p1 .eqs. ""  $ then  $!Interactive seesion  "$ def/user sys$input sys$command  $ dfu  $ else  !$!Single command so disable SMG  $ def/user dfu$nosmg x  /$ dfu 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8'  	$ endif  $ exit  
    

     @

    3.3 Layout of the SMG screen

    

    2After starting DFU the screen looks as follows :

     U+-----------------------< DFU V2.4 (Freeware ) >----------------------------+  O|                                                                           |  O|     Disk and File Utilities for OpenVMS DFU V2.4                          |  O|     Freeware version                                                      |  O|     Copyright  1996 Digital Equipment Corporation                        |  O|                                                                           |  O|     DFU functions are :                                                   |  O|                                                                           |  O|     DEFRAGMENT : Defragment files                                         |  O|     DELETE     : Delete files by File-ID; delete directory (trees)        |  O|     DIRECTORY  : Manipulate directories                                   |  O|     REPORT     : Generate a complete disk report                          |  O|     SEARCH     : Fast file search                                         |  O|     SET        : Modify file attributes                                   |  O|     UNDELETE   : Recover deleted files                                    |  O|     VERIFY     : Check and repair disk structure                          |  O|                                                                           |  O|                                                                           |  O+----------------------------------Statistics-------------------------------+  O|                                                                           |  O|                                                                           |  O+---------------------------------------------------------------------------+  O DFU>                                                                       
    

    )This screen is divided into 3 sections: 

      G
    • Main Screen : the top part of the screen is used for the output from @DFU commands. Also broadcast messages are send to this window. H
    • Statistics : the lower part contains statistics from the current Acommand. During most of the commands this screen will contain a :progress indicator and a status for the current command. G
    • DFU prompt : the bottom line is used as the input command line. 
    

     ?

    3.4 Special Screen commands

    

    <In SMG mode the following keys perform special functions : 

      =
    • DO : invokes a subprocess (same as the SPAWN command) H
    • HELP or PF2 : invokes a special SMG window for the help command. #
    • CTRL/W : redraws the screen @
    • PF4 : creates a screen dump into the file DFU_SCREEN.TXT 5
    • PREV SCREEN : Scrolls back the output screen. 7
    • NEXT SCREEN : Scrolls forward the output screen 4
    • SELECT : Toggles between 80 and 132 columns. 
    

    EAlthough only some 20 lines Zq׍L$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.HTML;1UB>"+are visible in the output (main) screen ADFU in fact remembers 500 output lines. You can scroll back and Aforward through these lines with the NEXT and PREV SCREEN keys. CAt the beginning of each new DFU command these lines are cleared. 

    HOn a workstation with DecWindows/Motif you can change the DecTerm size >to be more than the standard 24 lines. DFU's SMG screen will automatically .adjust to the screen size of such a DecTerm.  4

    3.5 Side effects

    

    EThere are a few side effects when using SMG mode. CTRL/C and CTRL/Y Eare catched but not echoed. Also all broadcast messages are trapped Dand will be displayed in the main screen at the end of the current IDFU command. Sometimes this may slightly disrupt the main screen, which &can be repaired with the CTRL/W key. 

    @Further, during the execution of a DFU command the cursor will disappear. DAfter the command finishes the cursor will reappear at the DFU> prompt.  


    9

    Chapter 4
    DFU basics

    

    BNote : this chapter is meant for first time users of DFU. If you already 5used DFU before you may probably skip this chapter. 

    GThis chapter gives a brief overview of the commands which can be used @with DFU, and how they can provide the system manager with the necessary information. 

    DOne of most common actions by a system manager is trying to locate specific Ffiles eg. files with a certain file size. Although a lot can be done with Bthe VMS DIRECTORY command this can be a time consuming process , especially if Ithe complete disk much be scanned. The SEARCH command of DFU is exactly meant Hfor this situation. It gives a very quick list of specific files, with Ftheir size, and if needed the number of file fragments. Some usefull SEARCH commands are :

     @DFU> SEARCH disk/SIZE=MINIMUM=1000 (files > 1000 blocks)  :DFU> SEARCH disk/IDENT=SYSTEM (files owned by SYSTEM)  LDFU> SEARCH disk/FRAGMENT=MINIMUM=10 (files with at least 10 fragments)  ?DFU> SEARCH disk/CHAR=MARKED (all files marked for delete)  QDFU> SEARCH disk/CREATED=SINCE=YESTERDAY (all files created since YESTERDAY)  
    

    BOf course these qualifiers can be combined to narrow the search. FAs the SEARCH command scans INDEXF.SYS , not directories, the output Hgenerated by SEARCH may look a bit random (but it is just the order in Cwhich the file headers are in the INDEXF.SYS file). To smooth the output use the /SORT qualifier. 

    IAnother important action for a system manager is to gather some overall Hdisk information , such as number of files , free space statistics and Dfragmentation information. The REPORT command will generate such a Hdisk report. To get individual disk space usage information the /USAGE Fqualifier can be used. This will work even if there is no disk quota enabled on the disk. 

    EAt regular intervals a system manager may need to check a disk with EANALYZE/DISK. The DFU VERIFY command provides more or less the same Bfunctionality but many times faster. The /FIX qualifier provides Hsome REPAIR options which (unlike ANALYZE/DISK/REPAIR) do NOT lock the =disk, and thus do not interfere with other disk operations. CHowever, the disk can be rebuild completely by using the /REBUILD qualifier. 

    COccasionaly a user will delete the wrong file, leaving the system manager Gor operator with the tedious task of restoring the file from a backup set. HThe UNDELETE command may be able to recover the file if it has not yet Hbeen overwritten with a new one. Much care has been taken to make this Hcommand as safe as possible; therefore no disk corruptions will be the Hresult of an UNDELETE. If DFU encounters a problem with a deleted file it will refuse to UNDELETE it. 

    IAnother type of typical system manager problems deals with directories. CThe DFU command DIRECTORY can handle such problems. DIRECTORY can generate Ireports about empty directories (/EMPTY qualifier) or directories which >contains files with a certain number of versions (/VERSION=n qualifier). DAlso , directories may become internally fragmented which degrades Bperformance. This can be quickly solved by using DFU's directory (compressing (the /COMPRESS qualifier). 

    HA second problem with directories is in deleting a directory with many files. IOn large directories this may take several hours using a DCL DELETE *.* !command. This problem is solved @by using DFU's DELETE/DIRECTORY command which can delete large directories Gsome 10 times faster than the normal DELETE command does. Also, using EDELETE/DIR/TREE will delete a complete directory tree with just one command. 

    HThe last 2 commands deal with individual files. SET allows settings of Isome special file attributes. Since VMS V6.0 this functionality is also Fprovided by the DCL SET FILE/ATTRIBUTE command, but DFU's SET offers Gsome more options. The DEFRAG command is an interface to the MOVEFILE >function offered by VMS 5.5 and higher. This allows a simple defragmentation of individual files. 

    GThe next chapters gives a detailed description of each individual DFU command. 

     


    5

    Chapter 5
    DEFRAG

    

    GThis chapter describes the DEFRAG command with the related parameters and qualifiers.  3

    5.1 Description

    

    GThe DEFRAG command can be used to defragment a single file or a group of Ifiles. You can also enter an indirect command file containing a list of Efiles. This feature allows you to create an output file with SEARCH %and use that as an input to DEFRAG. 

    EDEFRAG makes use of the file-primitive MOVEFILE function. Therefore >files which are open, or which are marked NOMOVE will not be DEFRAGmented. FStill you should be cautious about using DEFRAG. You should not make ,this function available for general usage. 

     6

    5.2 Error messages

    

    1The most common errors returned by DEFRAG are : 

      1
    • ACCONFLICT: File is open by another user ;
    • DEVICEFULL: Device has not enough contiguous free space to move the entire file 1
    • FILNOTACC: File has been set to NOMOVE. G
    • FILENUMCHK: You tried to move a reserved file (eg INDEXF.SYS). ;
    • RMS Errors: Almost always caused by an invalid or wrong file specifcation. 
    

     


    (

    DEFRAG

    

    3Defragment a file or a list of files on the disk. 
    
    

    Format

    &

    DEFRAG file1,file2,@file...

    
    
    

    PARAMETERS

    

    file1,file2,@file...

    FThe file(s) to be defragmented. You can also use an indirect command Ffile (@file) which contains a list of files to be defragmented. This may be :an output file generated with the SEARCH/OUTPUT command. 
    
    

    QUALIFIERS

    

    /BESTTRY

    DNormally DEFRAG tries to create a contiguous file. If there is not enough Bcontiguous free space the operation will fail. With the /BESTTRY qualifier DDEFRAG tries to move the file with the contiguous-best-try method. IThis means a maximum of 3 fragments. You should only use this qualifier Gwhen a normal DEFRAG fails. If a DEFRAG/BESTTRY also fails this is an Findication that the disks free space is too fragmented. Run a REPORT command Fto see what the largest contiguous free space is, and check the free space fragmentation index. 

    /DEVICE

    GThe device on which the files reside. The device name is added to the Dfile name. If you generate a file list with the DFU SEARCH command Dyou don't need this qualifier anymore. However you may have a list Hof files produced from another source and thus need to append a device name to it. Example:

     6  DFU> SEARCH mydisk/...../frag=min=50/output=x.x    DFU> DEFRAG @x.x  
    #

    /LBN=logical-block-number

    IForces a single file to be moved to the specified logical block number. <Do not use this qualifier when processing a list of files. /STATISTICS GThis qualifier displays the performance statistics: CPU time, Elapsed Time, I/O and PageFaults. 

    /WRITECHECK

    <Perform a writecheck on the resultant file. The default is /NOWRITECHECK. CNote that a writecheck doubles the number of involved disk I/O's. 
    

     


    5

    Chapter 6
    DELETE

    

    GThis chapter describes the DELETE command with the related parameters and qualifiers.  4

    6.1 Introduction

    

    0The DELETE command is designed for 2 purposes: 

      A
    1. Delete a file by file id (with the /FILE qualifier). This functionality Dis needed to be able to delete files which no longer have a parent directory. FThis way 'lost' files and (sometimes) files marked for delete can be removed from a disk. H
    2. A fast method to delete a complete directory or even a directory tree C(with the /DIRECTORY and /TREE qualifier). First all entries of a directory are Ddeleted without removing the directory entry ; this saves a lot of unnecessary directory updates. DFinally the directory file itself is deleted, unless the new /KEEP qualifier is used. DThis way a directory is cleaned up many times faster than with the IDCL DELETE *.* command. On large directories DFU may be even 10 or more times faster than DCL. >To delete a complete directory tree use the /TREE qualifier. =The DCL command DELETE [.SUBDIR...]*.*;* will almost always Ifail to delete the intermediate subdirectory files forcing you to issue Gthis command several times. The DFU DELETE command is smart enough to delete Ethe files and the subdirectory files in the proper order; therefore only @one command is sufficient to delete a complete directory tree. F
      The new /KEEP qualifier allows you to preserve the directory tree. DThe contents are deleted but the directory file(s) remains intact. 
    

     


    (

    DELETE

    

    Deletes files or directories. 
    
    

    Format

    0

    DELETE device[:] or directory-file(s)

    
    
    

    PARAMETERS

    

    device

    8The device on which to perform the DELETE/FILE=file-id command. 

    directory-file(s)

    <The filespecification of the directory on which to perform Ithe DELETE/DIRECTORY command. Wildcard file specifications may be used. HDFU will automatically add .DIR to the filespecification if a filetype is not provided. 
    
    

    QUALIFIERS

    

    /DIRECTORY

    ISpecify the directory file which must be deleted. Wildcards may be used Hbut must be used very carefully. Make sure that the directory does not Icontain non-empty subdirectories. Files within such a subdirectory will Fbecome lost after the DELETE/DIRECTORY command (but can be recovered *with ANALYZE/DISK/REPAIR). Note that the 6directory file itself will also be deleted. Example:  

    0


    Next page...  | ,Contents   *[DFU024.KIT]DFU024.LINE;1+,.e/7@ 4 ee?-f0123KPWOf56}t7׭w89G7@HJ 8 DFU V2.4 DFU V2.4 DFU V2.4? DFU Disk and File Utilities for OpenVMS VAX and Alpha Revision Information: Revision Information: Revision Information: This manual supersedes, V2.2c Date: Date: Date: August 1996 Operating System: Operating System: Operating System: OpenVMS VAX V5.5-2 thru@ 7.1, Alpha V6.1 thru 7.1l Note: Note: Note: Part of the Freeware. CD-ROM  2 OpenVMS Freeware for VAX and AXP Systems< The OpenVMS Freeware CD-ROM contains free software; tools and utilities to aid software developers in> creating applications and managing and using OpenVMS systems.: Many of these tools are popular packages already> widely known and in use, while others are internally: developed Digital tools our engineers are making: available to our OpenVMS customers. For example,; the OpenVMS Freeware CD-ROM includes Bliss-32 for= OpenVMS VAX, Bliss-32 for OpenVMS AXP, and Bliss-64 for OpenVMS AXP.7 Disclaimer on Testing, Quality, and Licensing@ The OpenVMS Freeware for VAX and AXP Systems CD-ROM is< provided "AS IS" without warranty. Digital imposes9 no restrictions on its distribution, nor on the> redistribution of anything on it. Be aware, however,; that some of the packages on the CD-ROM may carry; restrictions on their use imposed by the original; authors. Therefore, you should carefully read the2 documentation accompanying the products.9 Digital Equipment Corporation is providing this@ software free of charge and without warranty. Included8 in the [FREEWARE] directory on this CD are the; GNU software licenses. Unless otherwise stated in@ sources or source packages, the GNU licenses cover all' software supplied on this CD.; Digital makes no claims about the quality of this< software. It is provided to the customer as a free service. __________ Copyright August 1996  A _______________________________________________________8 Contents Contents ContentsA _______________________________________________________ CHAPTER 1 INTRODUCTION 1-1 CHAPTER 1 INTRODUCTION 1-1 CHAPTER 1 INTRODUCTION 1-1A _________________________________________________ 1.1 SUPPORT ON DFU 1-1 1.1 SUPPORT ON DFU 1-1 1.1 SUPPORT ON DFU 1-1A _________________________________________________ 1.2 GENERAL DESCRIPTION 1-1 1.2 GENERAL DESCRIPTION 1-1 1.2 GENERAL DESCRIPTION 1-1A _________________________________________________ 1.3 NEW FEATURES OF V2.4 1-3 1.3 NEW FEATURES OF V2.4 1-3 1.3 NEW FEATURES OF V2.4 1-3A _________________________________________________ 1.4 RESTRICTIONS AND PARAMETERS 1-5 1.4 RESTRICTIONS AND PARAMETERS 1-5 1.4 RESTRICTIONS AND PARAMETERS 1-5A _______________________________________________________ CHAPTER 2 USING DFU 2-1 CHAPTER 2 USING DFU 2-1 CHAPTER 2 USING DFU 2-1A _________________________________________________ 2.1 INSTALLATION PROCEDURE 2-1 2.1 \=ru$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.LINE;1 ?es" INSTALLATION PROCEDURE 2-1 2.1 INSTALLATION PROCEDURE 2-1A _________________________________________________ 2.2 SECURITY AND ACCESS 2-3 2.2 SECURITY AND ACCESS 2-3 2.2 SECURITY AND ACCESS 2-3A _________________________________________________ 2.3 RUNNING DFU 2-4 2.3 RUNNING DFU 2-4 2.3 RUNNING DFU 2-4A _________________________________________________ 2.4 USING AN INDIRECT FILE LIST 2-5 2.4 USING AN INDIRECT FILE LIST 2-5 2.4 USING AN INDIRECT FILE LIST 2-5 iii iii iii  8 Contents Contents ContentsA _______________________________________________________ CHAPTER 3 THE SMG OUTPUT INTERFACE 3-1 CHAPTER 3 THE SMG OUTPUT INTERFACE 3-1 CHAPTER 3 THE SMG OUTPUT INTERFACE 3-1A _________________________________________________ 3.1 ENABLING/DISABLING SMG 3-1 3.1 ENABLING/DISABLING SMG 3-1 3.1 ENABLING/DISABLING SMG 3-1A _________________________________________________ 3.2 AUTOMATIC SWITCHING BETWEEN SMG AND 3.2 AUTOMATIC SWITCHING BETWEEN SMG AND 3.2 AUTOMATIC SWITCHING BETWEEN SMG AND LINE MODE 3-1 LINE MODE 3-1 LINE MODE 3-1A _________________________________________________ 3.3 LAYOUT OF THE SMG SCREEN 3-2 3.3 LAYOUT OF THE SMG SCREEN 3-2 3.3 LAYOUT OF THE SMG SCREEN 3-2A _________________________________________________ 3.4 SPECIAL SCREEN COMMANDS 3-3 3.4 SPECIAL SCREEN COMMANDS 3-3 3.4 SPECIAL SCREEN COMMANDS 3-3A _________________________________________________ 3.5 SIDE EFFECTS 3-4 3.5 SIDE EFFECTS 3-4 3.5 SIDE EFFECTS 3-4A _______________________________________________________ CHAPTER 4 DFU BASICS 4-1 CHAPTER 4 DFU BASICS 4-1 CHAPTER 4 DFU BASICS 4-1A _______________________________________________________ CHAPTER 5 DEFRAG 5-1 CHAPTER 5 DEFRAG 5-1 CHAPTER 5 DEFRAG 5-1A _________________________________________________ 5.1 DESCRIPTION 5-1 5.1 DESCRIPTION 5-1 5.1 DESCRIPTION 5-1A _________________________________________________ 5.2 ERROR MESSAGES 5-1 5.2 ERROR MESSAGES 5-1 5.2 ERROR MESSAGES 5-1 DEFRAG 5-2 DEFRAG 5-2 DEFRAG 5-2& iv iv iv  Contents Contents ContentsA _______________________________________________________ CHAPTER 6 DELETE 6-1 CHAPTER 6 DELETE 6-1 CHAPTER 6 DELETE 6-1A _________________________________________________ 6.1 INTRODUCTION 6-1 6.1 INTRODUCTION 6-1 6.1 INTRODUCTION 6-1 DELETE 6-2 DELETE 6-2 DELETE 6-2A _______________________________________________________ CHAPTER 7 DIRECTORY 7-1 CHAPTER 7 DIRECTORY 7-1 CHAPTER 7 DIRECTORY 7-1A _________________________________________________ 7.1 INTRODUCTION 7-1 7.1 INTRODUCTION 7-1 7.1 INTRODUCTION 7-1A _________________________________________________ 7.2 DISCUSSION OF DIRECTORY COMPRESSION 7-3 7.2 DISCUSSION OF DIRECTORY COMPRESSION 7-3 7.2 DISCUSSION OF DIRECTORY COMPRESSION 7-3A _________________________________________________ 7.3 OUTPUT FORMATTING 7-4 7.3 OUTPUT FORMATTING 7-4 7.3 OUTPUT FORMATTING 7-4 DIRECTORY 7-5 DIRECTORY 7-5 DIRECTORY 7-5A _______________________________________________________ CHAPTER 8 REPORT 8-1 CHAPTER 8 REPORT 8-1 CHAPTER 8 REPORT 8-1A _________________________________________________ 8.1 DESCRIPTION 8-1 8.1 DESCRIPTION 8-1 8.1 DESCRIPTION 8-1A _________________________________________________ 8.2 SYNTAX AND OUTPUT 8-1 8.2 SYNTAX AND OUTPUT 8-1 8.2 SYNTAX AND OUTPUT 8-1 REPORT 8-5 REPORT 8-5 REPORT 8-5A _______________________________________________________ CHAPTER 9 SEARCH 9-1 CHAPTER 9 SEARCH 9-1 CHAPTER 9 SEARCH 9-1A _________________________________________________ 9.1 INTRODUCTION 9-1 9.1 INTRODUCTION 9-1 9.1 INTRODUCTION 9-1 v v v  8 Contents Contents ContentsA _________________________________________________ 9.2 SYNTAX AND OUTPUT 9-1 9.2 SYNTAX AND OUTPUT 9-1 9.2 SYNTAX AND OUTPUT 9-1A _________________________________________________ 9.3 ]Gf$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.LINE;1 ?e"VOLUME SET PROCESSING 9-2 9.3 VOLUME SET PROCESSING 9-2 9.3 VOLUME SET PROCESSING 9-2A _________________________________________________ 9.4 OUTPUT FORMATTING 9-2 9.4 OUTPUT FORMATTING 9-2 9.4 OUTPUT FORMATTING 9-2A _________________________________________________ 9.5 UIC AND IDENTIFIER PROCESSING 9-2 9.5 UIC AND IDENTIFIER PROCESSING 9-2 9.5 UIC AND IDENTIFIER PROCESSING 9-2 SEARCH 9-3 SEARCH 9-3 SEARCH 9-3A _______________________________________________________ CHAPTER 10 SET 10-1 CHAPTER 10 SET 10-1 CHAPTER 10 SET 10-1A _________________________________________________ 10.1 INTRODUCTION 10-1 10.1 INTRODUCTION 10-1 10.1 INTRODUCTION 10-1A _________________________________________________ 10.2 UIC AND IDENTIFIER PROCESSING 10-1 10.2 UIC AND IDENTIFIER PROCESSING 10-1 10.2 UIC AND IDENTIFIER PROCESSING 10-1 SET 10-1 SET 10-1 SET 10-1A _______________________________________________________ CHAPTER 11 UNDELETE 11-1 CHAPTER 11 UNDELETE 11-1 CHAPTER 11 UNDELETE 11-1A _________________________________________________ 11.1 INTRODUCTION 11-1 11.1 INTRODUCTION 11-1 11.1 INTRODUCTION 11-1A _________________________________________________ 11.2 HOW UNDELETE WORKS 11-2 11.2 HOW UNDELETE WORKS 11-2 11.2 HOW UNDELETE WORKS 11-2A _________________________________________________ 11.3 FILES MARKED FOR DELETE 11-4 11.3 FILES MARKED FOR DELETE 11-4 11.3 FILES MARKED FOR DELETE 11-4A _________________________________________________ 11.4 UIC AND IDENTIFIER PROCESSING 11-4 11.4 UIC AND IDENTIFIER PROCESSING 11-4 11.4 UIC AND IDENTIFIER PROCESSING 11-4 UNDELETE 11-5 UNDELETE 11-5 UNDELETE 11-5& vi vi vi  Contents Contents Contents A _______________________________________________________ CHAPTER 12 SPAWN 12-1 CHAPTER 12 SPAWN 12-1 CHAPTER 12 SPAWN 12-1A _______________________________________________________S CHAPTER 13 VERIFY 13-1 CHAPTER 13 VERIFY 13-1 CHAPTER 13 VERIFY 13-1 A _________________________________________________s 13.1 INTRODUCTION 13-1 13.1 INTRODUCTION 13-1 13.1 INTRODUCTION 13-1 A _________________________________________________n 13.2 BASIC REPAIR ACTIONS 13-2 13.2 BASIC REPAIR ACTIONS 13-2 13.2 BASIC REPAIR ACTIONS 13-2OA _________________________________________________ 13.3 DIRECTORY SCANNING 13-2 13.3 DIRECTORY SCANNING 13-2 13.3 DIRECTORY SCANNING 13-2iA _________________________________________________e 13.4 ADVANCED REPAIR ACTIONS 13-3 13.4 ADVANCED REPAIR ACTIONS 13-3 13.4 ADVANCED REPAIR ACTIONS 13-3aA _________________________________________________e 13.5 INTERPRETING ERRORS 13-3 13.5 INTERPRETING ERRORS 13-3 13.5 INTERPRETING ERRORS 13-3eA _________________________________________________v 13.6 ERROR REPORTING 13-4 13.6 ERROR REPORTING 13-4 13.6 ERROR REPORTING 13-4_ VERIFY 13-10 VERIFY 13-10 VERIFY 13-10 vii vii vii   A _______________________________________________________ D 1 Introduction 1 Introduction 1 Introduction@ The Disk and File Utilities (DFU) is a high perfomance; tool meant as an aid to the system manager who isE; responsible for monitoring and maintaining disks,A: files and directories. It makes use of low level: I/O features of VMS. As a result a high level of= performance is reached with minimal overhead on the ; system. DFU supports all types of disk sets which 9 comply to the VMS ODS-2 standard such as volume-< sets, stripe sets , shadow sets and RAID sets, and combinations of these.< DFU does NOT work on Spiralog disks. Trying to use= DFU on spiralog disks will produce the error "%DFU-.= E-NOTF11, Device does not have an ODS-2 filesystem" .TL __________________________________________________________________J 1.1 Support on DFU 1.1 Support on DFU 1.1 Support on DFU> Although there is no official support on DFU you may> send questions/remarks/bug-reports to the author via> internet address dorland@utrtsc.enet.dec.com. A next= version of DFU will no longer work on VMS 5.5-2 andP VMS 6.0.L __________________________________________________________________Y 1.2 General description 1.2 General description 1.2 General description_? DFU provides the following functions (in alphabeticalI order) :A o DEFRAG : This function allows simple defragmentation * of a file or a list of files. 1-1 1-1 1-1N F D Introduction Introduction Introduction= o DELETE : This function allows either a delete by_A file-id, or a fast delete of a complete directory orS8 directory tree with all its subdirectories.6 o DIRECTORY : This function has 6 options :# 1 COMPRESS a directory. 2 DUMP a directory block by block: 3 CREATE a directory with a p^($DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.LINE;1 ?e7",reallocated size; 4 Search all directories on the disk for files + which have multiple versions@ 5 Search all directories on the disk for alias file entries; 6 Search all directories on the disk for empty  directories@ o REPORT : Generates a file and free space report for= a disk. Also a disk space usage report, based on > UIC's or identifiers, can be generated, even on a0 disk which has disk quota disabled.> o SEARCH : Look up files on a disk by specific file? attributes (eg. files sizes, dates, ownership, and  so on)G8 o SET : This functions allows setting of file; attributes which are not available through DCLA commands.6 o UNDELETE : A safe file recovery function.8 o VERIFY : This function performs a fast disk= structure verification and can optionally repair ; certain disk structure errors (comparable with " ANALYZE/DISK/REPAIR).5 Each function is described in detail in the corresponding chapter.) 1-2 1-2 1-2A T Introduction Introduction Introduction_> DFU is supported on OpenVMS VAX V5.5-2 through V7.1,? and OpenVMS Alpha V6.1 thru V7.1. DFU has been testedM: on the Field test versions of VMS 7.1; so far no9 problems have been found. The official freeware_> release of DFU will be distributed with the official release of VMS V7.1.L __________________________________________________________________\ 1.3 New features of V2.4 1.3 New features of V2.4 1.3 New features of V2.4= This version of DFU offers several improved and newD< features, as well as a couple of bugfixes. The new% functions and features are: @ o Improved handling of UIC's and Identifiers. DFU nowA accepts all valid numeric and alphanumeric UIC's and_? identifiers. This option is used in the /OWNER and @ /IDENTIFIER qualifier. The SEARCH, SET and UNDELETE+ commands use these qualifiers. = o In some cases the DFU_ALLPRIV identifier was too_@ restrictive; therefore it has been removed from the@ DIRECTORY/COMPRESS, DELETE/DIR and the SET command.< o Output formatting is now possible on the SEARCH; and DIRECTORY/VERSION commands via the /FORMAT_> qualifier. This allows the building of action DCLA command procedures directly from the output of these  commands.= o Output file handling : the new /APPEND qualifier @ allows DFU to add output to an existing output file+ instead of creating a new one. > o DELETE/DIRECTORY : the new /KEEP qualifier allows9 preservation of the directory tree; only the * directory content is deleted.< o SEARCH : added the /OVER_ALLOCATED qualifier to- search for over allocated files. 1-3 1-3 1-3   D Introduction Introduction Introduction? o REPORT : Several new qualifiers allow control over = the output. The /USAGE qualifier can now also be= used as /USAGE= to report a specific uic or  identifier.; o UNDELETE: ability to undelete files marked for  delete = o VERIFY : several enhancements. VERIFY /DIRECTORY < allows a complete directory check; this results= in better detection of lost files and some cases = of directory problems. Note that /DIRECTORY_SCAN_@ replaces the DIRECTORY/CHECK comand. Also incorrect@ backlinks of the Master File Directory (000000.DIR)@ can now be repaired. Finally the output of multiple? allocated blocks has been improved ( is now sorted_ by LBN's).- The following bugs have been fixed: : o On VAX/VMS V5.5-2 without the patch on SMGSHR> installed, DFU could exit with an ACCVIO error. A@ workaround has been build in to avoid this problem.> o When processing a corrupt directory DFU could end@ with an ACCVIO error. This has been fixed by better, checking of the directory file.. o SET/MAXREC did not work properly.A o If, during an UNDELETE command CTRL/Y was entered an? extra RETURN had to be given to abort the UNDELETE ( command. This is now fixed.? o VERIFY/FIX and UNDELETE did not always reenter the < file with its original version number. DFU will@ now enter the file with the correct version number,> or the next higher version if the current version already exists.A o Issue a correct error message when trying to use DFU : on non ODS-2 disks such as a Spiralog volume.) 1-4 1-4 1-4   Introduction Introduction Introduction < o In a batch job DFU could produce unwanted blank: pages when the logical DFU$NOSMG was defined.L __________________________________________________________________q 1.4 Restrictions and Parameters 1.4 Restrictions and Parameters 1.4 Restrictions and Parameters 2 The DFU program has a few restrictions := o DFU can not handle volume sets with more than 32  members. ? o Due to changes in VMS run time libraries for DEC CTA DFU.EXE files linked on VMS 6.2 cannot be run on VMS_@ 6.1 and lower without relinking the image. The best; solution is to reinstall DFU on those systems. > o The SMG interface may not work at all on VMS 5.5-< 2. In that case you need to install CSCPAT_0320> and re-install DFU. Warning: CSCPAT_0320 replaces: SMGSHR.EXE and may have side effects on other- applications using SMG routines. > The following minimum process quotas are recommended for DFU usage: o WSQUOTA : 1500  o WSEXTENT : 3000 o DIOLM : 40  o ASTLM : 40  o FILLM : 40  o BYTLM : 30000 o PGFLQUOTA : 30000> If you use DFU on volume sets with a large number of? members you may need to increase the SYSGEN parameter CHANNELCNT.Y 1-5 1-5 1-5_ _ _D Introduction Introduction Introduction8 If you use the directory command on very large= directory files (> 1000 blocks) and run into errorsE< you may need to increase the following parameters:> o WSQUOTA at least 1000 + size-of-largest directory file / o WSEXTENT : WSQUOTA + at least 1000A7 o CTLPAGES (SYSGEN parameter) : at least 100T9 o WSMAX (SYSGEN parameter) : at least WSEXTENT_= Do not change parameters unless you run into errors.< such as EXCEEDED QUOTA or INSUFFICIENT WORKING SET LIMITS.N) 1-6 1-6 1-6  - A _______________________________________________________ ; 2 Using DFU 2 Using DFU 2 Using DFU ? This chapter describes the installation procedure and_7 other actions which must be taken to run DFU. L _______________p$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.LINE;1 ?e"=____________________________________________________b 2.1 Installation procedure 2.1 Installation procedure 2.1 Installation procedure: DFU can be installed with the VMSINSTAL utility.? During the installation VMSINSTAL does the following: ; o Moves the documentation to SYS$HELP (Optional)  o Relinks DFUA o Creates the DFU_ALLPRIV identifier needed to perform_5 the special functions. (See chapter 2.2) 9 The DFU utility in fact contains just 2 files : & 1 DFU.EXE : the DFU program/ 2 DFUHLP.HLB : the on-line help fileR= DFU.EXE will be moved to SYS$SYSTEM, and DFUHLP.HLB $ will be moved to SYS$HELP.< You can optionally get documentation of DFU during? installation. To install DFU log in into a privileged_ account and enter :_2 $ @sys$update:vmsinstalQ VAX/VMS Software Product Installation Procedure V6.218 It is 01-Aug-1996 at 13:46.L Enter a question mark (?) at any time for help.[ * Are you satisfied with the backup of your system disk [YES]?D 2-1 2-1 2-1  E E; Using DFU Using DFU Using DFUE; VMSINSTAL now asks for the distribution media andS? product. You can also specify the directory where you_> have the DFU_FREEWARE_024.A file instead of a device name: V * Where will the distribution volumes be mounted: [DDCU:]g Enter the products to be processed from the first distribution volume set._9 * Products: DFU_FREEWARE_024RQ * Enter installation options you wish to use (none): F The following products will be processed:5 DFU_FREEWARE_ 2.41S Beginning installation of DFU_FREEWARE_ V2.4 at 13:46 S %VMSINSTAL-I-RESTORE, Restoring product save set A ...7 Installing DFU version 2.4n3 The next question will prompt you for the 7 documentation files. The DFU documentation is 9 available in Line printer, PostScript, HTML and_< Bookreader format. The documentation files will be copied to SYS$HELP. Y * Do you want the documentation in Lineprinter format ? [Y]?HQ %VMSINSTAL-I-DOCMOVED, DFU024.LINE moved to SYS$HELP_^ * Do you want the documentation in PostScript(TM) format ? [N]?X * Do you want the documentation in Bookreader format ? [N]?R * Do you want the documentation in HTML format ? [N]?8 VMSINSTAL now links the DFU image and adds the? identifier to the Rightslist (see chapter 2.2 for the3% meaning of the identifier). 2 Linking DFU image ...C %DFU-I-LINK, Linking DFU 2.4 image..._9 %DFU-S-DONE, DFU.EXE createdT) 2-2 2-2 2-23  I Using DFU Using DFU Using DFUE? Next VMSINSTAL will create the DFU_ALLPRIV identifierN if necessary.1] %VMSINSTAL-I-ACCOUNT, This installation adds an identifier named_+ DFU_ALLPRIV. ` %UAF-I-RDBADDMSG, identifier DFU_ALLPRIV value: %X80010008 added to/ rights data base3U %VMSINSTAL-I-MOVEFILES, Files will now be moved to their_3 target directories...NI Installation of DFU V2.4 completed at 13:47E< You must grant any DFU user including yourself the? necessary DFU_ALLPRIV identifier if a user be allowed_? to use the special DFU functions. See chapter 2.2 for ) the meaning of this identifier. L __________________________________________________________________Y 2.2 Security and access 2.2 Security and access 2.2 Security and access 7 DFU has some functions which must not be made : available for general usage. Therefore DFU has 2 groups of functions : 1 Normal functions  1 DELETE/DIRECTORY  2 DIRECTORY 3 REPORT  4 SEARCH  5 SET 6 SPAWN< 7 VERIFY (except VERIFY/FIX and VERIFY/REBUILD) 2 Special functions 1 DEFRAGc 2-3 2-3 2-3n l o; Using DFU Using DFU Using DFUr 2 DELETE/FILE 3 UNDELETE , 4 VERIFY/FIX and VERIFY/REBUILD? The normal functions need SYSPRV or BYPASS privilege.p8 The special functions require BYPASS privilege8 as well as the DFU_ALLPRIV identifier granted.: The DFU_ALLPRIV identifier is created during the= installation procedure. To enable a user to perform.> special functions the system manager must grant this! identifier as follows : ) $ mc authorize = UAF> grant/id DFU_ALLPRIV username_= It is highly recommended that special functions areS* NOT made available to the world.L __________________________________________________________________A 2.3 Running DFU 2.3 Running DFU 2.3 Running DFUe$ To run DFU you can enter :0 $ RUN disk:[mydir]DFU. or (if DFU is installed systemwide):# $ MC DFU_9 You can also define and use a symbol for DFU as  follows:* $ DFU == "$DFU" $ DFU DFU now prompts with :K Disk and File Utilities for OpenVMS DFU V2.4 / Freeware version O Copyright (C) 1996 Digital Equipment Corporation  DFU> ) 2-4 2-4 2-4   Using DFU Using DFU Using DFUf? You can now enter DFU commands. HELP gives you onlinel: help. After each command DFU returns to the DFU>@ prompt. You can recall and edit commands, just as with@ DCL (20 commands will be stored in the recall buffer).> Use EXIT or CTRL/Z to leave DFU. If you use a symbol@ for DFU , you also process a single command and return to DCL immediately: 6 $DFU SEARCH disk/qualifiers> During a DFU run , you can interrupt DFU with CTRL/C; or CTRL/Y. These interrupts are catched by DFU to < allow a correct rundown of the current command. It? may therefore take some time before DFU responds to a CTRL/C or Y interrupt.L __________________________________________________________________q 2.4 Using an indirect file list 2.4 Using an indirect file list 2.4 Using an indirect file listn? There are 3 commands, DIRECTORY, DEFRAG and SET whichs= accept an indirect file as input parameter. This isl; achieved by using the @ sign. An indirect file isT; a file containing a list of valid filenames (eachh= line in such a file must contain exactly one file).c? Such i`bA$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.LINE;1 ?e"Nndirect files can be the output file of the DFUt Search command eg.: $ DFUG DFU> SEARCH mydisk/CHAR=DIRECTORY/OUTPUT=x.xo7 DFU> DIRECTORY/COMPRESS @x.x- 2-5 2-5 2-5  A _______________________________________________________Mh 3 The SMG output interface 3 The SMG output interface 3 The SMG output interface< As of version V2.2 DFU uses SMG (Screen management< routines) to perform output for an interactive DFU; session. This chapter describes the layout of the_; DFU screen, the special commands used only in thet? SMG interface and other items with respect to the SMGs interface.L __________________________________________________________________b 3.1 Enabling/Disabling SMG 3.1 Enabling/Disabling SMG 3.1 Enabling/Disabling SMG< DFU automatically selects SMG output if you run an> interactive DFU session on a terminal or workstation9 which supports SMG. In a batch job or a non-DEC < terminal DFU will use normal line oriented output.@ You can explicitly disable SMG by defining the logical! DFU$NOSMG to any value._L __________________________________________________________________ 3.2 Automatic switching between SMG and Line mode 3.2 Automatic switching between SMG and Line mode 3.2 Automatic switching between SMG and Line modeF? You may prefer to perform interactive DFU sessions inD@ SMG mode, and single DFU commands in normal line mode.@ This can be done by using the command procedure listed below: 3-1 3-1 3-1  t dh The SMG output interface The SMG output interface The SMG output interfaceJ $! Procedure to switch beteen SMG and line mode) $ DFU = "$DFU" + $ if p1 .eqs. "" ! $ then 0 $!Interactive seesion; $ def/user sys$input sys$commando $ dfu! $ elsea: $!Single command so disable SMG1 $ def/user dfu$nosmg x H $ dfu 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8'" $ endif! $ exit L __________________________________________________________________h 3.3 Layout of the SMG screen 3.3 Layout of the SMG screen 3.3 Layout of the SMG screen: After starting DFU the screen looks as follows :h +-----------------------< DFU V2.4 (Freeware ) >----------------------------+h | |h | Disk and File Utilities for OpenVMS DFU V2.4 |h | Freeware version |h | Copyright 1996 Digital Equipment Corporation |h | |h | DFU functions are : |h | |h | DEFRAGMENT : Defragment files |h | DELETE : Delete files by File-ID; delete directory (trees) |h | DIRECTORY : Manipulate directories |h | REPORT : Generate a complete disk report |h | SEARCH : Fast file search |h | SET : Modify file attributes |h | UNDELETE : Recover deleted files |h | VERIFY : Check and repair disk structure |h | |h | |h +----------------------------------Statistics-------------------------------+h | |) 3-2 3-2 3-2r e o The SMG output interface The SMG output interface The SMG output interface h | |h +---------------------------------------------------------------------------+ DFU>1 This screen is divided into 3 sections: = o Main Screen : the top part of the screen is used = for the output from DFU commands. Also broadcast . messages are send to this window.A o Statistics : the lower part contains statistics fromB= the current command. During most of the commandsy@ this screen will contain a progress indicator and a, status for the current command.> o DFU prompt : the bottom line is used as the input command line.L __________________________________________________________________e 3.4 Special Screen commands 3.4 Special Screen commands 3.4 Special Screen commandso8 In SMG mode the following keys perform special functions :d9 o DO : invokes a subprocess (same as the SPAWN  command) ? o HELP or PF2 : invokes a special SMG window for the  help command.( o CTRL/W : redraws the screen; o PF4 : creates a screen dump into the file DFU_  SCREEN.TXTa: o PREV SCREEN : Scrolls back the output screen.< o NEXT SCREEN : Scrolls forward the output screen9 o SELECT : Toggles between 80 and 132 columns. 3-3 3-3 3-3_ _ _h The SMG output interface The SMG output interface The SMG output interface? Although only some 20 lines are visible in the output ? (main) screen DFU in fact remembers 500 output lines._= You can scroll back and forward through these linesi> with the NEXT and PREV SCREEN keys. At the beginning: of each new DFU command these lines are cleared.? On a workstation with DecWindows/Motif you can changet: the DecTerm size to be more than the standard 24; lines. DFU's SMG screen will automatically adjust / to the screen size of such a DecTerm.fL __________________________________________________________________D 3.5 Side effects 3.5 Side effects 3.5 Side effects; There are a few side effects when using SMG mode.R@ CTRL/C and CTRL/Y are catched but not echoed. Also all> broadcast messages are trapped and will be displayed: in the main screen at the end of the current DFU? command. Sometimes this may slightly disrupt the mainn< screen, which can be repaired with the CTRL/W key.< Further, during the execution of a Daa$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.LINE;1 ?eQj"_FU command the? cursor will disappear. After the command finishes the-2 cursor will reappear at the DFU> prompt.) 3-4 3-4 3-4   AA _______________________________________________________ > 4 DFU basics 4 DFU basics 4 DFU basics> Note : this chapter is meant for first time users of> DFU. If you already used DFU before you may probably skip this chapter.= This chapter gives a brief overview of the commandsr> which can be used with DFU, and how they can provide< the system manager with the necessary information.; One of most common actions by a system manager is : trying to locate specific files eg. files with a< certain file size. Although a lot can be done with@ the VMS DIRECTORY command this can be a time consuming; process , especially if the complete disk much be = scanned. The SEARCH command of DFU is exactly meanth; for this situation. It gives a very quick list ofg< specific files, with their size, and if needed the@ number of file fragments. Some usefull SEARCH commands are :DS DFU> SEARCH disk/SIZE=MINIMUM=1000 (files > 1000 blocks)oP DFU> SEARCH disk/IDENT=SYSTEM (files owned by SYSTEM)b DFU> SEARCH disk/FRAGMENT=MINIMUM=10 (files with at least 10 fragments)U DFU> SEARCH disk/CHAR=MARKED (all files marked for delete) g DFU> SEARCH disk/CREATED=SINCE=YESTERDAY (all files created since YESTERDAY) > Of course these qualifiers can be combined to narrow< the search. As the SEARCH command scans INDEXF.SYS; , not directories, the output generated by SEARCH < may look a bit random (but it is just the order in@ which the file headers are in the INDEXF.SYS file). To4 smooth the output use the /SORT qualifier. 4-1 4-1 4-1f e e> DFU basics DFU basics DFU basics= Another important action for a system manager is to ? gather some overall disk information , such as number < of files , free space statistics and fragmentation< information. The REPORT command will generate such; a disk report. To get individual disk space usage < information the /USAGE qualifier can be used. This= will work even if there is no disk quota enabled one the disk.f; At regular intervals a system manager may need toN@ check a disk with ANALYZE/DISK. The DFU VERIFY command? provides more or less the same functionality but manyD? times faster. The /FIX qualifier provides some REPAIR ; options which (unlike ANALYZE/DISK/REPAIR) do NOT = lock the disk, and thus do not interfere with other ; disk operations. However, the disk can be rebuild5 completely by using the /REBUILD qualifier. @ Occasionaly a user will delete the wrong file, leaving> the system manager or operator with the tedious task? of restoring the file from a backup set. The UNDELETEe? command may be able to recover the file if it has not< yet been overwritten with a new one. Much care has> been taken to make this command as safe as possible;@ therefore no disk corruptions will be the result of an> UNDELETE. If DFU encounters a problem with a deleted- file it will refuse to UNDELETE it.r? Another type of typical system manager problems deals @ with directories. The DFU command DIRECTORY can handle= such problems. DIRECTORY can generate reports about = empty directories (/EMPTY qualifier) or directoriesa@ which contains files with a certain number of versions? (/VERSION=n qualifier). Also , directories may become ; internally fragmented which degrades performance. = This can be quickly solved by using DFU's directory 0 compressing (the /COMPRESS qualifier).) 4-2 4-2 4-2  DFU basics DFU basics DFU basics < A second problem with directories is in deleting a> directory with many files. On large directories this@ may take several hours using a DCL DELETE *.* command.@ This problem is solved by using DFU's DELETE/DIRECTORY< command which can delete large directories some 10; times faster than the normal DELETE command does./< Also, using DELETE/DIR/TREE will delete a complete/ directory tree with just one command.a= The last 2 commands deal with individual files. SET_: allows settings of some special file attributes.< Since VMS V6.0 this functionality is also provided> by the DCL SET FILE/ATTRIBUTE command, but DFU's SET< offers some more options. The DEFRAG command is an? interface to the MOVEFILE function offered by VMS 5.5o= and higher. This allows a simple defragmentation of  individual files.=@ The next chapters gives a detailed description of each! individual DFU command. 4-3 4-3 4-3   A _______________________________________________________ 2 5 DEFRAG 5 DEFRAG 5 DEFRAG< This chapter describes the DEFRAG command with the, related parameters and qualifiers.L __________________________________________________________________A 5.1 Description 5.1 Description 5.1 Descriptionl? The DEFRAG command can be used to defragment a singlee9 file or a group of files. You can also enter anZ; indirect command file containing a list of files.l? This feature allows you to create an output file withe4 SEARCH and use that as an input to DEFRAG.9 DEFRAG makes use of the file-primitive MOVEFILEU< function. Therefore files which are open, or which? are marked NOMOVE will not be DEFRAGmented. Still youm? should be cautious about using DEFRAG. You should notn9 make this function available for general usage._L __________________________________________________________________J 5.2 Error messages 5.2 Error messages 5.2 Error messages9 The most common errors returned by DEFRAG are :E5 o ACCONFLICT: File is open by another usert> o DEVICEFULL: Device has not enough contiguous free* space to move the entire file4 o FILNOTACC: File has been set to NOMOVE.> o FILENUMCHK: You tried to move a reserved file (eg INDEXF.SYS).e> o RMS Errors: Almost always caused by an invalid or% wrong file specifcation. 5-1 5-1 5-1  - J DEFRAG command DEFRAG command DEFRAG commandJ Error messages Error messages Error messagesA _______________________________________________________ 2 DEFRAG DEFRAG DEFRAG; Defragment a file or a list of files on the disk.oA _______________________________________________________o2 FORMAT FORMAT FORMAT DEFRAG DEFRAG DEFRAG ____________________ file1,file2,@file... file1,file2,@file... file1,file2,@file...bT9$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.LINE;1 ?e"pA _______________________________________________________> PARAMETERS PARAMETERS PARAMETERS{ ____________________ file1,file2,@file... file1,file2,@file... file1,file2,@file...e= The file(s) to be defragmented. You can also use anG@ indirect command file (@file) which contains a list of> files to be defragmented. This may be an output file3 generated with the SEARCH/OUTPUT command.aA ________________________________________________________> QUALIFIERS QUALIFIERS QUALIFIERSK ________ /BESTTRY /BESTTRY /BESTTRY < Normally DEFRAG tries to create a contiguous file.: If there is not enough contiguous free space the: operation will fail. With the /BESTTRY qualifier< DEFRAG tries to move the file with the contiguous-? best-try method. This means a maximum of 3 fragments. : You should only use this qualifier when a normal; DEFRAG fails. If a DEFRAG/BESTTRY also fails this ; is an indication that the disks free space is too: fragmented. Run a REPORT command to see what the> largest contiguous free space is, and check the free$ space fragmentation index.) 5-2 5-2 5-2   DEFRAG command DEFRAG command DEFRAG commando DEFRAG DEFRAG DEFRAG G _______ /DEVICE /DEVICE /DEVICE ? The device on which the files reside. The device name ; is added to the file name. If you generate a file_> list with the DFU SEARCH command you don't need this; qualifier anymore. However you may have a list of = files produced from another source and thus need to . append a device name to it. Example:L DFU> SEARCH mydisk/...../frag=min=50/output=x.x- DFU> DEFRAG @x.x _________________________ /LBN=logical-block-number /LBN=logical-block-number /LBN=logical-block-number ; Forces a single file to be moved to the specified > logical block number. Do not use this qualifier when% processing a list of files.oW ___________ /STATISTICS /STATISTICS /STATISTICS = This qualifier displays the performance statistics: 5 CPU time, Elapsed Time, I/O and PageFaults. W ___________ /WRITECHECK /WRITECHECK /WRITECHECK 9 Perform a writecheck on the resultant file. The : default is /NOWRITECHECK. Note that a writecheck4 doubles the number of involved disk I/O's. 5-3 5-3 5-3  e e2 DEFRAG DEFRAG DEFRAG) 5-4 5-4 5-4  T A _______________________________________________________ 2 6 DELETE 6 DELETE 6 DELETE< This chapter describes the DELETE command with the, related parameters and qualifiers.L __________________________________________________________________D 6.1 Introduction 6.1 Introduction 6.1 Introduction8 The DELETE command is designed for 2 purposes:A 1 Delete a file by file id (with the /FILE qualifier).-> This functionality is needed to be able to delete@ files which no longer have a parent directory. This> way 'lost' files and (sometimes) files marked for/ delete can be removed from a disk. < 2 A fast method to delete a complete directory or; even a directory tree (with the /DIRECTORY and ? /TREE qualifier). First all entries of a directory? are deleted without removing the directory entry ; ? this saves a lot of unnecessary directory updates. : Finally the directory file itself is deleted,? unless the new /KEEP qualifier is used. This way a @ directory is cleaned up many times faster than with= the DCL DELETE *.* command. On large directorieso> DFU may be even 10 or more times faster than DCL.> To delete a complete directory tree use the /TREE@ qualifier. The DCL command DELETE [.SUBDIR...]*.*;*? will almost always fail to delete the intermediateiA subdirectory files forcing you to issue this commando; several times. The DFU DELETE command is smarts< enough to delete the files and the subdirectory: files in the proper order; therefore only oneA command is sufficient to delete a complete directory  tree. 6-1 6-1 6-1H  PJ DELETE command DELETE command DELETE commandD Introduction Introduction Introduction? The new /KEEP qualifier allows you to preserve theE= directory tree. The contents are deleted but the . directory file(s) remains intact.A _______________________________________________________ 2 DELETE DELETE DELETE' Deletes files or directories. A _______________________________________________________ 2 FORMAT FORMAT FORMAT DELETE DELETE DELETE _________ __ _________________ device[:] or directory-file(s) device[:] or directory-file(s) device[:] or directory-file(s)A _______________________________________________________R> PARAMETERS PARAMETERS PARAMETERSC ______ device device deviceo@ The device on which to perform the DELETE/FILE=file-id command.o _________________ directory-file(s) directory-file(s) directory-file(s) < The filespecification of the directory on which to= perform the DELETE/DIRECTORY command. Wildcard file < specifications may be used. DFU will automatically@ add .DIR to the filespecification if a filetype is not provided.lA _______________________________________________________ > QUALIFIERS QUALIFIERS QUALIFIERSS __________ /DIRECTORY /DIRECTORY /DIRECTORYe; Specify the directory file which must be deleted.h@ Wildcards may be used but must be used very carefully.< Make sure that the directory does not contain non-@ empty subdirectories. Files within such a subdirectory= will become lost after the DELETE/DIRECTORY command ? (but can be recovered with ANALYZE/DISK/REPAIR). Note4) 6-2 6-2 6-2  F a DELETE command DELETE command DELETE commandb DELETE DELETE DELETE > that the directory file itself will also be deleted. Example:( $ DIR EXAMPLE5 Directory MYDISK:[RUBBISH] ( EXAMPLE.DIR;1 c _$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.LINE;1 ?eh" $ DFU< DFU> DELETE/DIRECTORY EXAMPLE.DIRT %DFU-I-CLEANUP, Deleting MYDISK:[RUBBISH]EXAMPLE.DIR;1...D %DFU-S-DELETED, File DBGINI.COM;3 deletedB %DFU-S-DELETED, File ICON.COM;1 deletedD %DFU-S-DELETED, File I_FOOL.COM;1 deletedG %DFU-S-DELETED, File LOGICALS.COM;51 deletedSD %DFU-S-DELETED, File LOGIN.COM;79 deletedD %DFU-S-DELETED, File LOGOUT.COM;4 deletedK %DFU-S-DELETED, File NOTE_COMPRESS.COM;3 deleted D %DFU-S-DELETED, File SHOWCL.COM;3 deletedF %DFU-S-DELETED, File SYMBOLS.COM;89 deletedF %DFU-S-DELETED, File TPUBUILD.COM;5 deleted; %DFU-S-TOTAL, 11 file(s) deleted E %DFU-S-DELETED, File EXAMPLE.DIR;1 deletedh_ _____________ /FILE=file-id /FILE=file-id /FILE=file-idl> Specify a complete file-id (num,seq,rvn) of the file: which must be deleted. This qualifier allows the< deletion of lost files or files marked for delete. Example : $ DFU. DFU> VERIFY MYDISK:F %DFU-S-CHKHOME, Home block info verified OK@ %DFU-I-IFSCAN, Scanning INDEXF.SYS...c %DFU-E-INVBAKFID, file (86,17915,1) 0004CF04$BFS.;1 has invalid backlink e %DFU-W-DELETED, file (537,2878,1) APPL_UTRYIT_BOOK.TMP;1 marked for delete  .d .n .l 6-3 6-3 6-3f t aJ DELETE command DELETE command DELETE command2 DELETE DELETE DELETE? DFU> DELETE MYDISK/FILE=(86,17915,1) G %DFU-S-DELETED, File 0004CF04$BFS.;1 deleted ? DFU> DELETE MYDISK/FILE=(537,2878,1)lN %DFU-S-DELETED, File APPL_UTRYIT_BOOK.TMP;1 deleted? _____ /KEEP /KEEP /KEEPa@ Preserve the directory tree; only delete the contents.< /KEEP is only valid with the /DIRECTORY qualifier.9 /KEEP works for DELETE/DIR and DELETE/DIR/TREE.iC ______ /NOLOG /NOLOG /NOLOG > Do not log succesfull deletes to SYS$OUTPUT. /LOG is the default.O _________ /NOREMOVE /NOREMOVE /NOREMOVEa? Can only be used with /FILE. Default DELETE/FILE will ; try to remove the file from the parent directory.R< If the file's backlink no longer points to a valid> directory this will generate an error. The /NOREMOVE@ qualifier overrules this behaviour allowing such files to be deleted.W ___________ /STATISTICS /STATISTICS /STATISTICSc= This qualifier displays the performance statistics:e5 CPU time, Elapsed Time, I/O and PageFaults. ? _____ /TREE /TREE /TREE 6 Can only be used with /DIRECTORY. The delete; command will delete all subdirectories within the ; directory file specified. DFU will first sort out< the subdirectory tree and than delete the files in= the proper order. Thus a complete directory tree iss# deleted with one command.i) 6-4 6-4 6-4  v b DELETE DELETE DELETEt 6-5 6-5 6-5T o nA _______________________________________________________ ; 7 DIRECTORY 7 DIRECTORY 7 DIRECTORY ? This chapter describes the DIRECTORY command with the , related parameters and qualifiers.L __________________________________________________________________D 7.1 Introduction 7.1 Introduction 7.1 Introduction; The DIRECTORY command offers 6 major functions. 3 < functions deal with all directories on a disk, the@ other 3 functions are used for manipulating individual? directories. These functions are activated by special qualifiers: - o Individual directory functions :s? 1 /COMPRESS : Rebuild one or more directory files.a= Directories are alphabetically sorted lists of_: filenames and file id's. Because file names< are randomly inserted and deleted, holes will= occur in directory files. Such holes will only ? be reused if a file can be alphabetically fittedn> into it. As a result directory files will grow.> Especially MAIL subdirectories suffer from this behaviour.u> To make matters worse directory files above 127: blocks will no longer be cached by the file< system. This will degrade performance on such> directories dramatically. The COMPRESS function< will rebuild the complete directory file. The9 /TEST qualifier can be used to preview the_6 results of a possible COMPRESS command.= 2 /CREATE/ALLOCATE=n : Create a directory with a = preallocated size of 'n' blocks. Note that 'n' < will be rounded up to a multiple of the disks cluster size. 7-1 7-1 7-1I X Y; DIRECTORY DIRECTORY DIRECTORYi> 3 /DUMP : Make a dump of the directory blocks and= formats the output. This option is usefull for < debugging directory files which are suspected8 or corrupted. This function is equivalent9 to the previously undocumented VMS command @ DUMP/DIRECTORY, although the layout of the output is different., o Disk-wide directory functions :< 1 /ALIAS : Scan all directories on the disk for" alias file entries.; 2 /EMPTY : Scan the disk for empty directories_@ 3 /VERSION=n : Scan all directories on the disk for6 files which have at least 'n' versions.9 The diskwide function qualifiers can be used in_; one command; other combinations of qualifiers are 8 not possible. Note that the diskwide directory@ functions can take several minutes to complete because: a complete directory scan uses a lot of disk I/O0 (approximately 2 I/O's per directory).= An indirect command file containing a list of files ; can be used as a parameter to /COMPRESS or /DUMP.g? Such a list can be generated with the SEARCH command.i Example:J DFU> SEARCH disk/FILE=*.DIR/SIZE=MIN=50/OUT=x.x7 DFU> DIRECTORY/COMPRESS @x.x 8 Caution: Care should be taken when compressing< critical system directories. To be safe you should: first use the /TEST qualifier before compressing9 the directory. Another problem may be caused byc: a systemcrash just when DFU is rewriting the new8 compressed directory (although the chance that< this happens is very small). When this happens you) 7-2 7-2 7-2y t . d&ZN$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.LINE;1 ?e" DIRECTORY DIRECTORY DIRECTORY : can recover the files by executing the following procedure:< 1 Do a $SET FILE/NODIR of the corrupted directory6 2 Delete the directory and create a new one? 3 Do a $ANALYZE/DISK/REPAIR ; this will move all the % lost files to [SYSLOST]. ? 4 Move the files from [SYSLOST] to the newly created  directory. L __________________________________________________________________ 7.2 Discussion of directory compression 7.2 Discussion of directory compression 7.2 Discussion of directory compressionF: Version V2.2 of DFU introduced a major change in: the directory compression process (issued by the: DIRECTORY/COMPRESS command). Previously versions; always performed a maximum compression , and then @ truncated the resultant directory. This may be usefull= on a dormant directory , but on an active directoryn. this method introduced new problems:? o When new files were added to the directory it must > very quickly be extended. Not only is this a slowA operation, but on a fragmented disk this can lead to  DIRALLOC errors.e; o Active directories where files are inserted ino= a random alphabetical order very quickly lead top8 expansion of the just compressed directory.9 The first problem is now solved by NOT doing an > automatic TRUNCATION of the directory. The /TRUNCATE= qualifier has been added to allow truncation on thef= users request. Also /TRUNCATE=blocksize is possible > to perform partial truncation; DFU will not truncate> below the blocksize issued in /TRUNCATE. (The actual; blocksize will be rounded up to a multiple of theO> disks cluster size.) The second problem is solved by@ the new /FILL_FACTOR qualifier. Here a user can direct 7-3 7-3 7-3  ; DIRECTORY DIRECTORY DIRECTORY: DFU to fill each directory block up to a certain9 percentage (between 50 and 100). Not specifying< /FILL_FACTOR is the same as doing /FILL_FACTOR=100? (full compression). Note however that the directory'sE> allocated size must be large enough to allow a lower= fill factor. If that is not possible DFU will issue 9 a DFU-E-EXTERR error, and you must use a higher_< fill factor. So, what strategy should be used when# comnpressing directories?E> 1 Inactive directories : use DIR/COMPRESS/TRUNCATE.< 2 Not very active diredctories : use DIR/COMPRESS (/TRUNCATE=n).b@ 3 Active directories, files added at the end (such as1 MAIL directories) : use DIR/COMPRESSt6 4 Active directories, files added in random@ alphabetical order : use DIR/COMPRESS/FILL_FACTOR=nL __________________________________________________________________S 7.3 Output formatting 7.3 Output formatting 7.3 Output formattingw2 A new qualifier /FORMAT can be used with: DIRECTORY/VERSION. This allows the build up of a> command procedure directly from the output generated? by the DIR/VERSION command. /FORMAT has the following  restrictions :< 1 /FORMAT is only valid with the /VERSION and the /OUTPUT qualifier. 8 2 The format string used must contain the !AS= directive (in uppercase). The file found will be , substituted at the !AS location Example:^ DFU> DIR/VERSION=4/OUTP=PURGE.COM/FORMAT="$PURGE/KEEP=3 !AS" mydisk) 7-4 7-4 7-4s r t DIRECTORY command DIRECTORY command DIRECTORY commande DIRECTORY DIRECTORY DIRECTORY A _______________________________________________________E; DIRECTORY DIRECTORY DIRECTORY ' Performs directory functions. A _______________________________________________________l2 FORMAT FORMAT FORMAT  DIRECTORY DIRECTORY DIRECTORY _________ __ _________________ device[:] or directory-file(s) device[:] or directory-file(s) device[:] or directory-file(s)_A _______________________________________________________T> PARAMETERS PARAMETERS PARAMETERSC ______ device device device_< The device on which to perform one of the diskwide directory functions.s __________________ directory-files(s) directory-files(s) directory-files(s)_= The file specification of the directory on which toA< perform the /CREATE , /COMPRESS or /DUMP function.< Wildcard file specifications may be used. DFU will> automatically add .DIR to the filespecification if a# filetype is not provided. A _______________________________________________________i> QUALIFIERS QUALIFIERS QUALIFIERSC ______ /ALIAS /ALIAS /ALIASm6 The /ALIAS qualifier directs DFU to scan all> directories for alias file entries. Only alias files= in DIFFERENT directories will be found (this is the_? most common situation). Normally only the system diskU; should contain alias files. This qualifier can be . combined with /VERSION=n and /EMPTY.W ___________ /ALLOCATE=n /ALLOCATE=n /ALLOCATE=n ; Used in combination with /CREATE. Creates the newd9 directory with an allocated size of 'n' blocks. 7-5 7-5 7-5  F aS DIRECTORY command DIRECTORY command DIRECTORY command ; DIRECTORY DIRECTORY DIRECTORY O _________ /COMPRESS /COMPRESS /COMPRESS < Performs the directory compression unless /TEST is= also specified. The output will show the results in ' terms of file sizes. Example:: DFU> DIR/COMP OWN$:[000000]MAILf %DFU-S-DONE, OWN$:[000000]MAIL.DIR;1: 31 files; was : 4/9, now : 3/3 blocks DFU> G _______ /CREATE /CREATE /CREATE < Create a new , empty directory. The allocated size: will be 1 cluster unless /ALLOCATE is specified.G _______ /DEVICE /DEVICE /DEVICEM: The device on which the files reside. The device; name is added to the file name. If you generate a,> file list with the DFU SEARCH command you don't need> this qualifier. However you may have a list of files@ produced from another source and thus need to append a? device name to it. This qualifier can only be used in . combination with /COMPRESS or /DUMP.? _____ /DUMP /DUMP /DUMPC? Produce a block level dump of a directory. /DUMP willB@ interpret the directory entries found in each block. A> directory entry contains a size, version-limit, type; and name field. Next the directory entry containsE: a list of versions and file ID'set$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.LINE;1 ?e#" for this entry.> /DUMP will produce a rather low level output of this information. Example :. DFU> DIR/DUMP C.DIR) 7-6 7-6 7-6   e DIRECTORY command DIRECTORY command DIRECTORY command DIRECTORY DIRECTORY DIRECTORY 4 DUMP of directory block 1T Size: 22, Version limit: 3, Type: 0, Name(10): CHKDSK.EXE= Version: 3, FID : (1027,1456,0) W Size: 26, Version limit: 3, Type: 0, Name(13): CHKDSK.README > Version: 2, FID : (33892,1171,0)> Version: 3, FID : (1256,11234,0)T Size: 22, Version limit: 3, Type: 0, Name(10): CHKDSK.SAV= Version: 2, FID : (13947,100,0)EU Size: 24, Version limit: 3, Type: 0, Name(11): CHKDSK.SAVES> Version: 1, FID : (12531,2114,0)X Size: 26, Version limit: 3, Type: 0, Name(14): CHKDSK_LNK.COM< Version: 2, FID : (12314,72,0)N Size: 18, Version limit: 3, Type: 0, Name(5): C_D.C< Version: 3, FID : (32650,32,0)P Size: 20, Version limit: 3, Type: 0, Name(7): C_D.EXE; Version: 9, FID : (2675,64,0)oP Size: 20, Version limit: 3, Type: 0, Name(7): C_D.OBJ< Version: 4, FID : (9835,117,0)P Size: 20, Version limit: 3, Type: 0, Name(7): C_D_2.C= Version: 15, FID : (12428,84,0) R Size: 22, Version limit: 3, Type: 0, Name(9): C_D_2.OBJ< Version: 9, FID : (8439,119,0)R Size: 22, Version limit: 3, Type: 0, Name(9): C_D_3.CLD< Version: 3, FID : (9777,178,0)R Size: 22, Version limit: 3, Type: 0, Name(9): C_D_3.OBJ< Version: 2, FID : (9737,161,0)P Size: 20, Version limit: 3, Type: 0, Name(7): C_D_4.C> Version: 3, FID : (10594,1580,0)R Size: 22, Version limit: 3, Type: 0, Name(9): C_D_4.OBJ= Version: 2, FID : (10177,109,0)e4 DUMP of directory block 2N Size: 18, Version limit: 3, Type: 0, Name(5): DFU.C> Version: 169, FID : (31123,52,0) .  .  . W %DFU-I-TOTAL, OWN$:[SOURCES.FORTRAN.DFUSRC]C.DIR;1: 42 files 7-7 7-7 7-7   S DIRECTORY command DIRECTORY command DIRECTORY command; DIRECTORY DIRECTORY DIRECTORY_C ______ /EMPTY /EMPTY /EMPTY; The /EMPTY qualifier will produce a list of emptyh: directories. This qualifier can be combined with /ALIAS and /VERSION=n.c ______________ /FILL_FACTOR=n /FILL_FACTOR=n /FILL_FACTOR=ni< Specifies ,in percentage, the filling of directory> blocks during a /COMPRESS operation. Fill factor may? be between 50 and 100. Omitting this qualifier is theu< same as /FILL_FACTOR=100 (maximum compression). If< the directory has not enough allocated space a low; fill factor may result in failure of the Compresso= operation. DFU will issue a DFU-E-EXTERR error, ande2 the directory file will not be modified. _____________________ /FORMAT=format-string /FORMAT=format-string /FORMAT=format-stringi< Create an output file in a format described by the8 format string. The string must contain the !AS8 directive (this must be uppercase). At the !AS< location the resultant filename will be filled in., The /OUTPUT qualifier is required.k ________________ /OUTPUT=filename /OUTPUT=filename /OUTPUT=filename.< This qualifier redirects the output to a file. The, output will also go to SYS$OUTPUT.W ___________ /STATISTICS /STATISTICS /STATISTICSn= This qualifier displays the performance statistics:C5 CPU time, Elapsed Time, I/O and PageFaults. ? _____ /TEST /TEST /TEST 8 The /TEST can only be used in conjunction with? /COMPRESS. The qualifier will show the results of the = /COMPRESS but will not compress the directory file. w ___________________ /TRUNCATE=blocksize /TRUNCATE=blocksize /TRUNCATE=blocksize < During a compress operation truncate the directory> back to the blocksize specified. If blocksize is not; specified, the file will be truncated back to the.= end-of-file block number. Truncation will always bey) 7-8 7-8 7-8  r e DIRECTORY command DIRECTORY command DIRECTORY command DIRECTORY DIRECTORY DIRECTORY> rounded up to the next highest multiple of the disks cluster size. S __________ /VERSION=n /VERSION=n /VERSION=n 8 The /VERSION qualifier directs DFU to scan all> directories on the device to produce a list of files> which have at least 'n' versions. This qualifier can- be combined with /ALIAS and /EMPTY. 7-9 7-9 7-9  m :; DIRECTORY DIRECTORY DIRECTORYI, 7-10 7-10 7-10  rA _______________________________________________________l2 8 REPORT 8 REPORT 8 REPORT< This chapter describes the REPORT command with the, related parameters and qualifiers.L __________________________________________________________________A 8.1 Description 8.1 Description 8.1 Description.? The REPORT command function generates a report of theT? file and free space fragmentation of the disk. Also aT> graph may be generated by the /GRAPH qualifier; this> visualises the free space distribution on your disk.> The /USAGE qualifier will generate a diskspace usage@ report. This is especially usefull if DISKQUOTA is not enabled on the disk.@ The default report contains information of the Volume,= files and the bitmap. This output can be suppressede? by the new /NOVOLUME, NOFILE and NOBITMAP qualifiers.= Also the /USAGE qualifier can be used by displaying_? information of a specific UIC or Identifier simply by 9 specifying /USAGE= or /USAGE=.sL __________________________________________________________________S 8.2 Syntax and Output 8.2 Syntax and Output 8.2 Syntax and OutputE. The syntax of the report command is:8 fY1$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.LINE;1 ?ef" DFU> REPORT device/QUALIFIERS; Below follows an example and output of the report command: 8-1 8-1 8-1o  t2 REPORT REPORT REPORT9 DFU> REPORT USER3:/GRAPH/USAGE J %DFU-I-REPORT, Reporting on USER3: ($1$DUA102:)Q ***** Volume info for USER3: (from HOME block) *****eE Volume name : USER3 F Volume owner : SYSTEM> Structure name :A Clustersize : 3pF Maximum # files : 367618C First header VBN : 103 I Header count : 51547 (1) I Free headers : 10951 (2) J ***** File statistics (from INDEXF.SYS) *****X INDEXF.SYS fragments /map_in_use : 21 / 61 (39% used) (3)E Total files : 40595EA Files with extension headers : 0 X Files marked for delete : 19 , size : 25/63 blocksD Directory files : 1957C Empty files : 177tE Files with allocation : 40418I Contiguous files : 40326 (4) P Total size used /allocated : 2492431 /2533209E Total fragments : 40770 J Average fragments per file : 1.009 (5)U File fragmentation index : 0.692 (excellent) (6) B Average size per fragment : 62> Most fragmented file :\ $1$DUA102:[LARGEUSER]A.DAT;1 ( 180/630 blocks; 30 fragments)P ***** Free space statistics (from BITMAP.SYS) *****G Total blocks on disk : 2940951uF Total free blocks : 407742B Percentage free (rounded) : 13C Total free extents : 260t` Largest free extent : 42912 blocks at LBN: 2463597 (7)D Average extent size (rounded) : 1568U Free space fragmentation index : 0.191 (excellent) (6)i) 8-2 8-2 8-2   REPORT REPORT REPORTrc %free------------------------------------------------------------------ d 100 | |d 95 | |d 90 | |d 85 | * |d 80 | * |d 75 | * |d 70 | * * |d 65 | * * |d 60 | * * |d 55 | * * |d 50 | * * * * |d 45 | * * * * * |d 40 | * ** * * * |d 35 | * ** * * ** |d 30 | * * *** * * * * ** |d 25 | * ** * *** * * ** *** ** * |d 20 | * ** * *** * * * ** *** ** * |d 15 | * * * * * * ********** * * * ** *** ** * |d 10 | * * * * *** ********** ** * * ** **** ** * |d 5 | * * * * ***** ************** * * ** **** ** * |d -------------------------------------------------------------------f LBN: 0 2940951P Free space distribution, each * = 2100 free blocksY ***** Disk Usage Table (from INDEXF.SYS and QUOTA.SYS) ***** e Identifier/UIC Used/Allocated Headers Quota Used/Perm e ------------------------------------------------------------------------- d [SYSTEM] 499554/505626 4954 510580/2000000b [SSG,MRX] 42079/46356 2259 48615/60000c [SSG,TESTJE] 189306/254742 4935 259677/300000rb [SSG,LARGEUSER] 47961/50238 1648 51886/65000 .  .[ .s8 The various items have the following meaning :@ 1 The header count is calculated based on the size of> INDEXF.SYS. If more headers are needed INDEXF.SYS has to be extended. 8-3 8-3 8-3f  e2 REPORT REPORT REPORTA 2 The free headers gives the number of free entries ina0 INDEXF.SYS before it has to extend.? 3 The INDEXF.SYS number of fragments and mapwords inu? use are very important figures to determine if theS= INDEXF.SYS file can be extended. The theoretical > maximum number of mapwords is 155. This value may; be less if there are ACL's on INDEXF.SYS. Eacho@ fragment, and therefore each retrieval pointer must? be in the mapword area. As the size of a retrievale? pointer depends on the physical size of a disk, iti= is not easy to say how many fragments INDEXF.SYSt; can store in the mapwords area. If the mapword ? area is full the INDEXF file can no longer extend, = and creating new files may result in a SYSTEM-W-  HEADERFULL error.= 4 Files which have exactly 1 retrieval pointer arem@ considered to be contiguous. This doesn't mean that: the CONTIGUOUS bit is set in the file header.@ 5 The average fragments per file give some indication0 about the total file fragmentation.8 6 The file and free space fragmentation index. classifies your disk as follows : o 0-1 : Excellent o 1-2 : GoodE o 2-3 : Fair  o 3-4 : Poor4 o >4 : Bad @ If your index is greater than 3 you should consider@ defragmenting the disk using Digitals DFO software,8 or by perg+$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.LINE;1 ?e"forming an Image BACKUP / Restore.< 7 The largest free extent is a usefull figure for> defragmentation purposes. You cannot defragment a; file when its size is greater than this value.2) 8-4 8-4 8-4K V REPORT command REPORT command REPORT command1 Syntax and Output Syntax and Output Syntax and Output> The disks free space distribution as a bar graph. On< the horizontal axis the Logical Block Number (LBN)? is shown, running from 0 to the maximum block number. ? Each * represents a certain number of contiguous free  blocks.l? If you use the /USAGE qualifier a usage table will bee? added. Per Identifier / UIC the blocks used/allocated28 , and the number of file headers are shown. If> Diskquota is enabled a third column will be included; which shows the blocks used/permitted allowing to:@ QUOTA.SYS. Normally quota should satisfy the following rule :M Quota used = blocks allocated + # of file headers A _______________________________________________________ 2 REPORT REPORT REPORT? Create a file and free space report of a disk device.1A _______________________________________________________02 FORMAT FORMAT FORMAT REPORT REPORT REPORT _________ device[:] device[:] device[:]A _______________________________________________________ > PARAMETERS PARAMETERS PARAMETERSO _________ device[:] device[:] device[:]S? Device to be reported. You may also specify a logical  devicename. A _______________________________________________________ > QUALIFIERS QUALIFIERS QUALIFIERSk ________________ /APPEND=filename /APPEND=filename /APPEND=filename< This qualifier redirects the output to be appended> to an already existing file. If the output file does 8-5 8-5 8-5   IJ REPORT command REPORT command REPORT command2 REPORT REPORT REPORT? not exists it will be created. You can use /APPEND ort /OUTPUT but not both.aC ______ /GRAPH /GRAPH /GRAPH)6 This qualifier generates a graph table which= visualizes the free space distribution on the disk.C" /NOGRAPH is the default.O _________ /NOBITMAP /NOBITMAP /NOBITMAPf< The /NOBITMAP qualifier suppresses the "Free space statistics" output.mG _______ /NOFILE /NOFILE /NOFILE @ The /NOFILE qualifier suppressed the "File Statistics" output.SO _________ /NOVOLUME /NOVOLUME /NOVOLUMEr> The /NOVOLUME qualifier suppresses the "Volume info" output.k ________________ /OUTPUT=filename /OUTPUT=filename /OUTPUT=filename< This qualifier redirects the output to a file. The, output will also go to SYS$OUTPUT.W ___________ /STATISTICS /STATISTICS /STATISTICS= This qualifier displays the performance statistics:5 CPU time, Elapsed Time, I/O and PageFaults. ___________ __ ___________ /USAGE(=uic or identifier) /USAGE(=uic or identifier) /USAGE(=uic or identifier)q8 The /USAGE qualifier will generate a diskspace= usage report based on Identifiers/UIC. If diskquota_: is enabled on the disk the blocks used/permitted= allowing to QUOTA.SYS will also be shown. /USAGE isa; very usefull when diskquota is not enabled on the : disk. When a uic or identifier is specified only< the information for this uic or identifier will be displayed.) 8-6 8-6 8-6   REPORT REPORT REPORT 8-7 8-7 8-7d s A _______________________________________________________I2 9 SEARCH 9 SEARCH 9 SEARCH< This chapter describes the SEARCH command with the, related parameters and qualifiers.L __________________________________________________________________D 9.1 Introduction 9.1 Introduction 9.1 Introduction9 The search function allows very quick disk-wide = searches for specific files. You can use almost any 8 possible file attribute as a search qualifier.L __________________________________________________________________S 9.2 Syntax and Output 9.2 Syntax and Output 9.2 Syntax and Output+ The command syntax for SEARCH is: 8 DFU> SEARCH device/qualifiers@ The output is displayed on your terminal. You can also> sort the output with the /SORT qualifier. The output( is shown in 2 or 3 columns eg:? DFU> SEARCH MYDISK/FILE=X.X/FRAGMENT_ ._ . Z $1$DUA102:[USER.COMMAND]X.X;1 1/3 1/1 .h .c; The first column shows the full file name . As ofn< this version of DFU the device name is included in? the file name. The second columns shows the file sizei> as actual/allocated size. The 3rd column is optional@ and will only be shown when the /FRAGMENT qualifier is> used. It shows the number of fileheaders / number of file fragments.n 9-1 9-1 9-1a e i2 SEARCH SEARCH SEARCHL ___________________________________________________________________ 9.3 Volume Set processing 9.3 Volume Set processing 9.3 Volume Set processingy> SEARCH checks if the device to-be-searched is member> of a volume set. If so, the complete volume set will> be processed, starting with Relative Volume Number 1= up to the last member in set. You can override this 1 behaviour with the /NOVOLSET qualifier. L __________________________________________________________________S 9.4 Output formatting 9.4 Output formatting 9.4 Output formattingT? A new qualifier /FORMAT can be used with SEARCH. ThisG= allows the build up of a command procedure directlyE: from the output generated by the SEARCH command.2 /FORMAT has the following restrictions :> 1 /FORMAT is only valid with the /OUTPUT qualifier,? and can not be used together with the /FULL or theT /SORT qualifiers.8 2 The format string used must contain the !AS= directive (in uppercase). The file found will be , substituted at the !AS location Example:_ DFU> h5$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.DECW$BOOK;1j5 ">p2!o<{na(S*?sٲ n7`>} S(MַIFM\y8-F%eDxy)}.fF%zJV?Y&>ITGA-y$j$HQi" ZKVn^BG@N]hi!(hPmw ]:q-&1O,) *u34- b-Z?a>Rm{{\B>%%OnuA"lDG4XQ6_~`|kqE& v@~Pyy!I/dui+9f\= rB<ńm?BR Dg #i6Kk\A|,x&+)@-- dS'kK @qjKYxh>/iGi}&Ay>)Z4whbX&Z\"wi^7 ?fW3qBVpri3dH`C7/xQH(HQ6kFQ#66Zs\KlGbSrvjSGxRy5]cIj-P`b1>F;c~~k'sZI6:0Uh4O 9K? @2wCn#Oi!bbP*#WK?{:p%+OuA~y<;]URj/we_7\g@~ 4AJ[x )zkmfz#j-{N 3 c # [6X.(%=vyq'MKaa((iP b1|;-Y3hFjK},{`(50sf [PO3*u/FJ]}m?P#L AX0|S.Kl="Zb%XrD_KRoG;|gY`N./&9H4l;8hhs}z 8V:!a.k [.d=V@m 3'3 %PI VX](qo:s-2X54,"Cg6vW _kJsPRe׎gTgZ;)1 oT}#)ug%](Tx*92p_&7fV^ ,-WTX /@)7s({% sv'?Ma'|eqoYW -IM4t;n/zy >pg9sBPhl8.:GO [y+QH\}pkx %&1M0R?OdCQ>PjxPZ[hW&%<@~J}iI08@Ds2e|kp@|rxOs|U|=@MId<46U=S9{Aq1g~maF# z(s!VXs>x& 0%#v)^UMOKxJqMZmJ'8(C<,ApS2&(*)k2 /J/!m% :Gf'sYtb/P/9GG?Z[}wF9XkMG-ynn6}&ZL0w$r-|[O Dp :3yfh"5 F@`Z4u{^Y )>4s]TYqsFkE J#nVQSB;t%|C%|$'lxe;;s@m,m.`z W6)#TNFMlE9Q*8(xq,gGEYAIha6c4&Q*c=F_qI[e`wbA9 \czbK|OLwKND(%+.99z+z}\]]%n~"m>/;jW#^NL3sL.fB%~sB`,ZI';gX!9 01lL.@Rk (pRwCHXM`eD+L|n$%b)hA=?+IUv{beJ#`w^\8K5*h5gS| l q2+zR6QEHP^@xF`{Uc0Ohh!GOqZdN6UE' wa$wӍdҬ 2[!7aBMG{y +o5\b(,CfNH_Y+YYS, c F uu!`skzdbP:A>-pra 7As qR 10r.tn]7v[,A35yc}vDXF,]mpU? O({]]X_g Z K v7lVp73&2s$qk e#m$}_ qw >?b:<{BlyCք 1eODrXGf2h'Y\\p} #O7%Z{a5PR[Vb2EY u,ZmCu$ y!w }8k XLz?4wM?X4 '` x& Yh+^` <3~buU*PMz+6puX2EYTN5 ~4cTBD?1@(iXIR:1'=60no0i 9+]5Ap!-vhByAC amv*!z@$@F?0?COMqob#fJ |ma)tOV]e:dZ8w&.)aw.o8-'c}KNQ8H^1LDp_UI5qNLsP{5;"\vlHJO77 ~?~Gcz1ZPR1F0N;+o5q/cngH ;NC//gPzJp$|@cz vP~6'S5_NTa&:P|\7nvA#)O M#hM,Ce+RA>&q8e1>]PK% %Zq'P^hUK 58$'!\(f-%na-K,|{*Jl7N~y+W W;"Tcck|2"IȈ'-NrZg/?3KS&@:!^nKxS] Ugn9jz:- uK@PN %{?d0&7>X/ &Qd'VNEW-X!/!Baofm&rtjP'%LvpǛg~I ?HqL aj.pc{5 s|tlSKxgusutm$y<[Rc& UsHN5LYmjV?/Nl7UY}P".\r7L~Bj:8rb9}![sN=z1ۭ{1e;PƮ{lT _ j2e>OL&. ]Z ;X\RU@Q&}y*lWv}ۉB+;w:6-X8oVY**$x~]4Do?,xc># {z1 99f f l3q4 AJZ ]x*e *r\+fD.V3 RO'F,Fvһ(>|0zDl!{"`@:V}8cu8;Wgkd|]?UO UDRc"XR:jbgwh[k)O8i~/ sOgx iNFz'HS8_e*Uv86e,x'vIOc ~4g_ibFJ|?2zLr&**  =#O'?3\hLFXo||cl5DTt~>)*xZjo WAiI,[X0km Zb VORuj%(! .{'xc!oTSdcO(yJ1_Z3 ~;F.ar34,qO3>Beb( < =GD:ct~eov[ruD]j`6H*jB~ }:AZ *)XRLWA+ +JMB d }IUSoS4 J(|aQ29FgJ8qh1p+W]G_ ylb^F92ž~mXb~s12wzLza:Ir x(4+U:+Cx5a/ Hrntq + gUTUhk$U4m#6,d] <^O_o'b#[!~C kq=Pt6-;X}vlDWX'b7|sQoV>1vi=.@\ho$$u)=H7Zalf2sxXcUtPxVM_P 0GpwZU"&$Yd D ETJIHkf9pDXl/ 8df?C& n l &M$K( hw<1SdP;"}rG |[s1[.C[ DL *lBZP2 |${{!me ) }G ̜apBA((weJQI/XFT?(.Y)C15|){Yko?#lF XodY E6 )fzAU5\b w4aM0 oK=8Q-3uHBW5gEOl@*>ze@s |VVnh/"p O~Jw*v m{vy| paB)"s/Y6dcr"vgrr 'qfD  na ];/w 6_X5& C}x WeCU&Z۵OE.!rlw. 6l.Bnz.7Zwy%7,w 8sQV_O5.?Mr$zs0IRU<-8>4L cWR_{BM:.8&7i .&a(PI!]QF4H>z 5&# >|Tf:;`boSQC D<%'qY=@ Ho͗Vb"gBk=S4Q1?!py,t,4[oILSE}> p?Jo`NM%&cP'0^6{8+RgD3{kR^h9MB;KTrW/a>J6h!'@9n^\fiz" _F} * u}zVoYMd?'}0  "oFPWsk{CD|>*{z UaNic<"}M Oe7s2Z`|3p=R}x ~E$/~p&00qnU5v):6ZR>jzhUkG_w261* iZ W.\i7Q]WVpgAi\/%->*+3~eJ O-TBCDG 1C,t +WEX7,~ c#v_-BSCf'ft_$n6}#clFs!8a_NfJl"gUgMY(|Z `ea~i(Ls#uLsP_b&( J}?*(ol9 %a A@X70?A,HtoYQBu.3sg*t+ Ʊh%|),8itEsDo'\C8h *8kOtCKLjN YqW&I/Q|*^DppRP^EP;48 p5PI"uXyO1R 2Q9Sn9=4_J2|GU?_ym?'4SG(n`;zf,* tHr7D:<u8#&D&EPN/qr&QRkO6 D6?oZ%T8`>op,*_Gf[+]rs -jYaLV|a*8oV_eV@UqEIb.v_L_D+EWV6 _ 6Vc,!^NCrbJB:BX^9!w]lpp,(4'Uee>Wol;3^eNo[`F?q*3hCNa@> &uc@2v $ ;5=?;Xyz^9=!%dgy41Wr?v3HrL{Z8qp "bsD3#7j|4]C2/>+ !)FQSz3Yht_[xeaWY_UJ0Q4[ ;WAn]k|/i=gx-%KKgFuzv?:P|wAC|2mEX $+M;g)NuIi'taPPP6?p,9Dfz7b#$PNkV- +v12nqNW V!${kIeUZCia|C`OAodYlod8!MN h>WKghTC-J2?H&1 s SB,r&[0zBrDBymwrJ;3'JYLxs#Fc#7ifiD4 1Y>CQIPMW.5l9_:>@(N)})\;]<;)R Bbg+^Q7 w}([ bxKaW`@-v3*D4 \)CXR=2y'57a54v wcT0XFk ?j4 F<>mah~@{dAa"wR65t5~brlt4?QZkV.pfnJlln",iRiexS8tq(+tlFt00.LTr:h\n+Lm9`ieAdv\;|wWEE(# ZJ VI,&o06NCek7c_f{Nm++^. * JB [+'dJI!68Hhsm}nvsK<oyVyiX ?vxSALOmUe{IsNEB\OADT5 !(@>L%} 8cB /a*DU k%*?eu~MFd+8^5 `@"7:.%9+}sQ~s.1]LRcro_M4'6f?D~?;0WM8i  F+|E^~|ray i6Sl;~+Q u*8H! )F vO9v $@6cE6MQ>;{MbB-P%^!Y%;(^.06s>6:3wU\~J%q kYr,u NZq>2 N,KZN*~RNA@ VX~Natk-J\4#)| l;8rf4a V%.Sy$. /IDENT qualifier. V2.4 now accepts all valid uic and> identifier formats (numeric and alphanumeric) in the? /OWNER and /IDENT qualifiers. Technically there is no = longer any difference between these two qualifiers, = but they will be left in for compatibility reasons. ) 9-2 9-2 9-2   SEARCH command SEARCH command SEARCH commandv SEARCH SEARCH SEARCH2A _______________________________________________________ 2 SEARCH SEARCH SEARCH. Fast file search through INDEXF.SYS.A _______________________________________________________ 2 FORMAT FORMAT FORMAT SEARCH SEARCH SEARCH _________ device[:] device[:] device[:]A _______________________________________________________ > PARAMETERS PARAMETERS PARAMETERSO _________ device[:] device[:] device[:]:? Device to be searched. You may also specify a logicalx devicename. A _______________________________________________________ A DESCRIPTION DESCRIPTION DESCRIPTION 8 The SEARCH command is used for quick disk-wide> searches for specific files. The qualifiers describe> the file attributes used as the search criteria. You< can combine almost all of the possible qualifiers,* unless otherwise specified. Eg.:Z DFU> SEARCH DISK1/SIZE=MIN=10/OWN=[1,4]/CREATED=SINCE=YESTERDAY? is a valid command. Note that qualifiers will be used < in a logical AND manner, that is, SEARCH will only@ display files which obey to all qualifiers and options specified.A _______________________________________________________8> QUALIFIERS QUALIFIERS QUALIFIERSS __________ /ALLOCATED /ALLOCATED /ALLOCATED 8 Default, SEARCH will use the actual file size.; The /ALLOCATED qualifier forces SEARCH to use the @ allocated filesize. This qualifier is only meaningfull' if you combine it with /SIZE. 9-3 9-3 9-3  J SEARCH command SEARCH command SEARCH command2 SEARCH SEARCH SEARCHk ________________ /APPEND=filename /APPEND=filename /APPEND=filename < This qualifier redirects the output to be appended> to an already existing file. If the output file does? not exists it will be created. You can use /APPEND or  /OUTPUT but not both. _______________________ /BACKUP=option(,option) /BACKUP=option(,option) /BACKUP=option(,option) 7 The /BACKUP qualifier is used to search files > depending on their backup date. The possible options are : o /BACKUP=BEFORE=date o /BACKUP=SINCE=date  o /BACKUP=NONE ? The NONE option gives files which don't have a backup : date recorded.The other 2 options can be used to< get files which have a backup date before or after= a specific date. The BEFORE and SINCE option can be-" combined in one command. ________________________ /BAKFID=backlink-file-id /BAKFID=backlink-file-id /BAKFID=backlink-file-id > You can use this qualifier to look for a file with a? specific backlink. Only the first part of the file id ? must be specified, that is, if the file id is (x,y,z)s? you must specify 'x' as the file id. You can use this-> qualifier to get files from a specific directory. If? you use /BAKFID=0 you will get files not belonging to . a directory (often temporary files). ________________________________ /CHARACTERISTIC=(char1,char2...) /CHARACTERISTIC=(char1,char2...) /CHARACTERISTIC=(char1,char2...) ; This qualifier is used to get files with specific6? file characteristics.The characteristics can have the  following values: ( o Directory : directory files- o Nobackup : files marked nobackup:4 o Contiguous : files marked as contiguous/ o Erase : erase file before deletione) 9-4 9-4 9-4  e n SEARCH command SEARCH command SEARCH command- SEARCH SEARCH SEARCH o Spool : spool files9 o Badblock : files which contain suspected badu block(s)S0 o Badacl : files with a corrupted ACL7 o Besttry : files marked contiguous-best-try54 o Scratch : files marked as scratch files7 o Nocharge : files not charged against quotae4 o Nomove : files marked NoMove (VMS 5.5+): o Locked : files with the deaccess lock bit set/ o Marked : files marked for deletion 9 o Noshelvable : files which can not be shelved 0 o Isshelved : files which are shelved< The several characteristics can be combined in one= command.If you want a logical OR behaviour in steadM? of the default AND behaviour, you can use the specialh option MATCH=OR eg: C SEARCH disk/CHAR=(NOMOVE,DIR,MATCH=OR) ________________________ /CREATED=option(,option) /CREATED=option(,option) /CREATED=option(,option)o8 The /CREATED qualifier is used to search files= depending on their creation date. The options are :r! o /CREATED=BEFORE=date0 o /CREATED=SINCE=date= These 2 options can be used to get files which haveo: a creation date before or after a specific date.< The BEFORE and SINCE option can be combined in one command. 9-5 9-5 9-5g t J SEARCH command SEARCH command SEARCH command2 SEARCH SEARCH SEARCH _________________________ /EXCLUDE=(file1,file2...) /EXCLUDE=(file1,file2...) /EXCLUDE=(file1,file2...) : This qualifier is used to exclude files from the? search. You can use wildcard filenames ; you can also # specifiy a list of files.t ________________________ /EXPIRED=option(,option) /EXPIRED=option(,option) /EXPIRED=option(,option)8 The /EXPIRED qualifier is used to search files= depending on their expiration date. The options areb : ! o /EXPIRED=BEFORE=dateo o /EXPIRED=SINCE=date o /EXPIRED=NONE8 The NONE optjz)N$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.LINE;1 ?e "ion gives files which don't have a= expiration date recorded.The other 2 options can be ? used to get files which have a expiration date beforee? or after a specific date. The BEFORE and SINCE option ) can be combined in one command. [ ____________ /FID=file-id /FID=file-id /FID=file-id = The /FID qualifier is a special function of SEARCH.; It directs SEARCH to go directly to the specified_= file without processing the rest of the Index file. @ Therefore, you cannot combine this qualifierwith other= search qualifiers such as /FILE. Normally a file-id_? consists is in the form (x,y,z) where x is the number @ of the file header within INDEXF.SYS y is the sequence? number, and z is the Relative Volume Number. You only = need to specifiy the x value in the /FID qualifier._ ______________________ /FILE=(file1,file2...) /FILE=(file1,file2...) /FILE=(file1,file2...):; This qualifier is used to search for files with at= specific file name.You can use wildcard file names;e/ also you can specify a list of files._ _____________________ /FORMAT=format-string /FORMAT=format-string /FORMAT=format-string/< Create an output file in a format described by the8 format string. The string must contain the !AS8 directive (this must be uppercase). At the !AS) 9-6 9-6 9-6   SEARCH command SEARCH command SEARCH commandd SEARCH SEARCH SEARCH < location the resultant filename will be filled in., The /OUTPUT qualifier is required. ___________________________________ /FRAGMENT(=(MINIMUM=nr,MAXIMUM=nr)) /FRAGMENT(=(MINIMUM=nr,MAXIMUM=nr)) /FRAGMENT(=(MINIMUM=nr,MAXIMUM=nr)) = This qualifier displays the number of fragments ands@ file headers of each file found. You can further limit; the files found by using the MINIMUM and MAXIMUM=  options. For example:p) DFU> disk/FRAGt0 DFU> disk/FRAG=min=10: DFU> disk/FRAG=(min=10,max=100)? _____ /FULL /FULL /FULL = If you use this qualifier , SEARCH will give a fullT< output for each file found. This output is a look-= alike of the output from DIRECTORY/FULL. You cannot 8 combine this qualifier with /SORT or /SUMMARY.? _____ /HOME /HOME /HOME ; This qualifier directs search to give output from ; the disk's home block. SEARCH uses the home block_? for calculating the free and used file headers within  INDEXF.SYS.e _____________________ __ ___ /(NO)IDENT=identifier or uic /(NO)IDENT=identifier or uic /(NO)IDENT=identifier or uici6 You can search for files owned by a specific? identifier or uic. Any valid uic or identifier format ? may be used. Another way is the /OWNER_UIC qualifier;o= you cannot combine these 2 qualifiers in one SEARCHn> command. Issueing /NOIDENT directs DFU to search for= files NOT owned by this IDENTIFIER, eg: DFU> SEARCH ' sys$sysdevice/NOIDENT=SYSTEM. _________________________ /LBN=logical-block-number /LBN=logical-block-number /LBN=logical-block-number = The /LBN qualifier is a special function of SEARCH.9 This allows you to find a file which contains a ; specific LBN. This may be usefull if you have bad- 9-7 9-7 9-7_ _ _J SEARCH command SEARCH command SEARCH command2 SEARCH SEARCH SEARCH< blocks logged in the error log. You cannot combine4 /LBN with search qualifiers such as /FILE. __________________ __ __________ /(NO)OWNER_UIC=uic or identifier /(NO)OWNER_UIC=uic or identifier /(NO)OWNER_UIC=uic or identifieri8 This qualifier is used to get files owned by a6 specific uic or identifier. Any valid uic or@ identifier format may be used. You cannot combine this< qualifier with /IDENT. Specifying /NOOWNER directs: DFU to search for files NOT owned by this UIC or identifier. _________________________ /MODIFIED=option(,option) /MODIFIED=option(,option) /MODIFIED=option(,option)q9 The /MODIFIED qualifier is used to search filese? depending on their modification date. The options areM : " o /MODIFIED=BEFORE=date! o /MODIFIED=SINCE=date = These 2 options can be used to get files which have > a modification date before or after a specific date.< The BEFORE and SINCE option can be combined in one command.O _________ /MULTIPLE /MULTIPLE /MULTIPLEn@ This qualifier searches for files which have more than 1 file header.O _________ /NOSEARCH /NOSEARCH /NOSEARCHd= This qualifier can only be used in combination withe> /HOME. It is used to get the Homeblock info, without$ searching the entire disk.O _________ /NOVOLSET /NOVOLSET /NOVOLSET : The default behaviour of SEARCH is to process an< entire volume set. You can override this behaviour? with /NOVOLSET. This may be usefull when doing a /LBN3 search.e) 9-8 9-8 9-8  o e SEARCH command SEARCH command SEARCH commandu SEARCH SEARCH SEARCH_[ ____________ /OUTPUT=file /OUTPUT=file /OUTPUT=file ? This qualifier redirects the output from SEARCH to an = output file.This file can later be used as input to 0 the DEFRAG , DIRECTORY or SET command.o _________________ /OVER_ALLOCATED=n /OVER_ALLOCATED=n /OVER_ALLOCATED=ne= Searches for files where the difference between the 9 used and allocated size is at least 'n' blocks.rG _______ /PLACED /PLACED /PLACED.9 Checks for files which have a placement controlA< retrieval pointer.This is sometimes set by non-DEC( disk defragmentation programs. ___________________________________ /SIZE=(minimum=size1,maximum=size2) /SIZE=(minimum=size1,maximum=size2) /SIZE=(minimum=size1,maximum=size2)s: The /SIZE qualifier is used to limit files found; by their file size.You can either use minimum= or @ maximum= or use both options together. SEARCH will use? the actual file size for selecting files, except whenT+ the /ALLOCATED qualifier is used.d? _____ /SORT /SORT /SORT 9 This qualifier will sort the files found beforen= being output. You can combine this with the /OUTPUTs7 qualifier (the default output is SYS$OUTPUT).rW ___________ /STATISTICS /STATISTICS /STATISTICS = This qualifier displays the performance statistics: 5 CPU time, Elapsed Time, I/O and PageFaults. K ________ /SUMMkD$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.LINE;1 ?e"ARY /SUMMARY /SUMMARY ; This qualifier will limit the output to the total > number of files found, with their size (and optional; the fragmentation when /FRAG is used). You cannot & combine /SUMMARY with /FULL. ___________________________________________________ /VERSION_NUMBER=(minimum=version1,maximum=version2) /VERSION_NUMBER=(minimum=version1,maximum=version2) /VERSION_NUMBER=(minimum=version1,maximum=version2)@ The /VERSION_NUMBER qualifier is used search for files: within a range of specific file version numbers.< Logfiles which are produced with the same name may 9-9 9-9 9-9  e eJ SEARCH command SEARCH command SEARCH command2 SEARCH SEARCH SEARCH; pose problems when they reach the maximum versionE= number (32767). Using /VERSION=MIN=32000 is a quick-! way to find such files.i, 9-10 9-10 9-10 o a SEARCH SEARCH SEARCHo 9-11 9-11 9-11A I SET command SET command SET commandrA _______________________________________________________m) 10 SET 10 SET 10 SET/9 This chapter describes the SET command with the , related parameters and qualifiers.L __________________________________________________________________D 10.1 Introduction 10.1 Introduction 10.1 Introduction> The SET command allows you to modify file attributes< which can't be modified through DCL commands. Note@ that you should be carefull about using this function;> you may easily corrupt files. NOTE: This much wanted? functionality is finally introduced in VMS 6.0 with a ? new DCL command $SET FILE/ATTRIBUTES. Still DFU's SETD? has some options which are not in SET FILE/ATTRIBUTES_* (such as setting a BACKUP date).L __________________________________________________________________w 10.2 UIC and identifier processing 10.2 UIC and identifier processing 10.2 UIC and identifier processingr9 As of this version of DFU the /OWNER and /IDENTK; qualifier now accepts all valid uic or identifier / formats. See chapter 9.5 for details. A _______________________________________________________ ) SET SET SETr! Modify file attributes.eA _______________________________________________________2 FORMAT FORMAT FORMAT SET SET SET _____________________ file1,file2,...,@file file1,file2,...,@file file1,file2,...,@filei 10-1 10-1 10-1c c rA SET command SET command SET commandg) SET SET SETyA _______________________________________________________E> PARAMETERS PARAMETERS PARAMETERS _____________________ file1,file2,...,@file file1,file2,...,@file file1,file2,...,@filet8 The files to be modified. The attributes to be@ modified are specified with qualifiers. Wildcards area? allowed in the filename. An indirect file can be usedu? by using the @ sign. This allows processing of a filel0 list produced by a DFU SEARCH command.A _______________________________________________________ > QUALIFIERS QUALIFIERS QUALIFIERSo _________________ /BACKUP_DATE=date /BACKUP_DATE=date /BACKUP_DATE=date c ______________ /NOBACKUP_DATE /NOBACKUP_DATE /NOBACKUP_DATE ? Controls whether a new backup date is assigned to the < specified files. Specify the date according to the> rules described in Chapter 1 of the VMS DCL Concepts< Manual. Absolute date keywords are allowed. If you= specify 0 as the date, today's date is used. If you> specify /NOBACKUP_DATE the Backup date field will be cleared.G _______ /BADACL /BADACL /BADACLVO _________ /NOBADACL /NOBADACL /NOBADACL > Sets or resets the 'BADACL' flag in the file header.? This enables deletion of a file with a corrupted ACL.:k ________________ /BUCKETSIZE=size /BUCKETSIZE=size /BUCKETSIZE=sizey: Sets a new value for the bucket size in the file header.rK ________ /CONFIRM /CONFIRM /CONFIRM { __________ _________ /NOCONFIRM (default) /NOCONFIRM (default) /NOCONFIRM (default) : Controls whether a request is issued before each@ individual SET operation to confirm that the operation; should be performed on that file. When the system ? issues the prompt, you can issue any of the following= responses:, 10-2 10-2 10-2 o SET command SET command SET command SET SET SET 1 YES NO QUIT 3 TRUE FALSE CTRL/Z_0 1 0 ALL+ U= You can use any combination of upper- and lowercase ; letters for word responses. Word responses can bem= abbreviated to one or more letters (for example, T, < TR, or TRU for TRUE). Affirmative answers are YES,= TRUE, and 1. Negative answers are NO, FALSE, 0, andn? . QUIT or CTRL/Z indicates that you want to stopl@ processing the command at that point. When you respond< with ALL, the command continues to process, but no; further prompts are given. If you type a response > other than one of those in the list, the prompt will be reissued.{ ____________________ /CONTIGUOUS_BEST_TRY /CONTIGUOUS_BEST_TRY /CONTIGUOUS_BEST_TRY ______________________ /NOCONTIGUOUS_BEST_TRY /NOCONTIGUOUS_BEST_TRY /NOCONTIGUOUS_BEST_TRY = Sets or resets the 'CONTIGUOUS_BEST_TRY' bit in thea file header.w ___________________ /CREATION_DATE=date /CREATION_DATE=date /CREATION_DATE=dateok ________________ /NOCREATION_DATE /NOCREATION_DATE /NOCREATION_DATEi= Controls whether a new creation date is assigned ton@ the specified files. Specify the date according to the> rules described in Chapter 1 of the VMS DCL Concepts< Manual. Absolute date keywords are allowed. If you6 specify 0 as the date, today's date is used.S __________ /DIRECTORY /DIRlQ$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.LINE;1 ?eY" ECTORY /DIRECTORY.[ ____________ /NODIRECTORY /NODIRECTORY /NODIRECTORYt; Sets or resets the directory attribute of a file.n< This qualifier allows you to set the directory bit; of a file which was mistakingly reset by the 'SET < FILE/NODIRECTORY' command. If it is done on a non-< directory file, then access to that directory will% give a 'BADIRECTORY' error. 10-3 10-3 10-3   A SET command SET command SET command ) SET SET SET g _______________ /EBLOCK[=block] /EBLOCK[=block] /EBLOCK[=block] ; This qualifier will reset the end-of-file mark to : the highest block allocated if no block has been? specified. Otherwise the end-of-file mark will be set ! to the specified block. _ _____________ /EBYTE[=byte] /EBYTE[=byte] /EBYTE[=byte]N; This qualifier will set the end-of-file byte markM; to the highest byte if it has not been specified. @ Otherwise the end-of-file byte mark will be set to the specified byte.h _____________________ /EXPIRATION_DATE=date /EXPIRATION_DATE=date /EXPIRATION_DATE=date s __________________ /NOEXPIRATION_DATE /NOEXPIRATION_DATE /NOEXPIRATION_DATE < Controls whether an expiration date is assigned to@ the specified files. Specify the date according to the> rules described in Chapter 1 of the VMS DCL Concepts< Manual. Absolute date keywords are allowed. If you6 specify 0 as the date, today's date is used. _________________ __ ___ /IDENT=identifier or uic /IDENT=identifier or uic /IDENT=identifier or uick> Modify the file ownership. See also /OWNER_UIC. This; allows modification of the file-ownership even ifF? the file is open, eg. INDEXF.SYS. You cannot use bothD /IDENT and /OWNER_UIC.G _______ /LOCKED /LOCKED /LOCKED O _________ /NOLOCKED /NOLOCKED /NOLOCKEDv9 This qualifier will lock a file for future use.h< Nothing else can then be done with the file, until= it is unlocked (which can also be done with the VMSe 'UNLOCK' command.ec ____ _________ /LOG (default) /LOG (default) /LOG (default)NC ______ /NOLOG /NOLOG /NOLOGc< Controls whether the SET command displays the file> specification of each file after the modification is made. , 10-4 10-4 10-4 i c SET command SET command SET command SET SET SET c ______________ /MAXREC=record /MAXREC=record /MAXREC=recordh? Sets a new value for the maximum record number in the_ file header. _____________________ /ORGANIZATION=keyword /ORGANIZATION=keyword /ORGANIZATION=keyworda? The following keywords are used as parameters for the ? ORGANIZATION qualifier: DIRECT, INDEXED, RELATIVE andu< SEQUENTIAL. This will allow you to modify the file> organization type in the file header. Of course this9 won't change the real organization of the file. ______________ __ __________ /OWNER_UIC=uic or identifier /OWNER_UIC=uic or identifier /OWNER_UIC=uic or identifierE< Modify the file ownership to an uic or identifier.@ See also /IDENT. This allows modification of the file-= ownership even if the file is open, eg. INDEXF.SYS. 4 You cannot use both /IDENT and /OWNER_UIC. ______________________ /RECATTRIBUTES=keyword /RECATTRIBUTES=keyword /RECATTRIBUTES=keywordo; The following keywords are used as parameters forI> the RECATTRIBUTES qualifier: NONE, FORTRAN, IMPLIED,= PRINT and NOSPAN. This will allow you to modify thee< file's record attributes in the file header. NONE,@ FORTRAN, IMPLIED and PRINT are mutually exclusive, but= can be used in combination with NOSPAN. When NOSPANt= is omitted SPAN is assumed (the default is to allows- records to cross block boundaries). _ _____________ /RECSIZE=size /RECSIZE=size /RECSIZE=size: Sets a new value for the record size in the file header.Ok ________________ /RECTYPE=keyword /RECTYPE=keyword /RECTYPE=keyword ? The following keywords are used as parameters for theS? RECTYPE qualifier: FIXED, STREAM, STREAMCR, STREAMLF,S= UNDEFINED, VARIABLE and VFC. This will allow you to ; modify the file's record type in the file header. 10-5 10-5 10-5l  A SET command SET command SET commandr) SET SET SET w ___________________ /REVISION_DATE=date /REVISION_DATE=date /REVISION_DATE=date_k ________________ /NOREVISION_DATE /NOREVISION_DATE /NOREVISION_DATEs= Controls whether a revision date is assigned to thed< specified files. Specify the date according to the> rules described in Chapter 1 of the VMS DCL Concepts< Manual. Absolute date keywords are allowed. If you6 specify 0 as the date, today's date is used.c ______________ /RVCOUNT=count /RVCOUNT=count /RVCOUNT=countm= Sets a new value for the revision count in the filem header. G _______ /UPDATE /UPDATE /UPDATE w _________ _________ /NOUPDATE (default) /NOUPDATE (default) /NOUPDATE (default)s; Normally the file's revision date will be updatedr< after any modification to it. SET however disables? this update (otherwise the REVISION date could not be ? set). Specify this qualifier if you want the revisionu date to be updated.p_ _____________ /VFCSIZE=size /VFCSIZE=size /VFCSIZE=sizer? Sets a new value for the VFC size in the file header.T@ This value will only be used with the VFC record type., 10-6 10-6 10-6  SET SET SET 10-7 10-7 10-7   VA _______________________________________________________ 8 11 UNDELETE 11 UNDELETE 11 UNDELETE> This chapter describes the UNDELETE command with the, related parameters and qualifiers.L __________________________________________________________________D 11.1 Introduction 11.1 Introduction 11.1 Introduction> The UNDELETE function is designed to recover deleted> files, if possible. UNDELETE operates in a safe mode> mC$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.LINE;1 ?e" such that it first checks if the deleted file header? and diskblocks are still available. Only in that case(= will the file be recovered. Otherwise UNDELETE willf@ leave the disk unmodified. UNDELETE has some powerfull options:@ o Generate a list of recoverable files with the /LIST< qualifier. This qualifier will not undelete any> file, and therefore it does not lock up the disk.1 o Undelete multiple files in one pass. = o Make file selections based on the owner with the( /OWNER or /IDENT qualifier.< o Undeleted files which cannot be entered back in: their original directory will be moved to the: [SYSLOST] directory. This saves an additional( ANALYZE/DISK/REPAIR action. 11-1 11-1 11-1_ _ _8 UNDELETE UNDELETE UNDELETEL __________________________________________________________________V 11.2 How Undelete works 11.2 How Undelete works 11.2 How Undelete works4 The UNDELETE command operates as follows :3 1 Lock the volume. In the same manner asnA ANALYZE/DISK/REPAIR and SET VOLUME /REBUILD Undelete: locks the disk for other writers such that no> modifications to the INDEXF, BITMAP or QUOTA file can be made.y@ 2 Search the INDEXF.SYS file if the requested file isA still there. A check is made if it really is a validT! deleted file header.? 3 Checks if the deleted file header and all possible / extension headers are still valid. ? 4 Checks if the blocks previously owned by this file_ are still free.A 5 If all these conditions are met DFU will display the . file and asks for a confirmation.A 6 Rebuilds all of the deleted file headers and bitmapse; in memory. If no errors are found all the filet> headers and bitmaps are written back to disk. The; files original backlink is saved in a table in  memory.= 7 If appropiate the blocks and headers are charged_ against diskquota.? 8 When all of INDEXF.SYS has been scanned the volume  is unlocked. 9 9 The file(s) is (are) entered in the originale? directory if possible, using the table build up iniA memory. If the enter command fails (probably because = the original directory is gone) the file will be A entered in [SYSLOST]. DFU will create this directory  if needed.c, 11-2 11-2 11-2 n UNDELETE UNDELETE UNDELETES@ If the /LIST qualifier is used, DFU will just list the@ recoverable files without performing any action on the, disk. The disk will not be locked.< It is important to note that during the bitmap and; file header processing any error will immediatelye> terminate the recovery process, and unlock the disk.? Files which have been recovered up to that point will = still be entered in the appropiate directory. As no= wrong information has been written back to the diskS7 this should leave the disk in a proper state. ; NOTE: The blocks recovered will NOT be subtracted 8 from the Volume's free block count. To get the; actual freeblock count a SET VOLUME/REBUILD=FORCEh> is necessary. Also a complete reMOUNT will reset the freeblock count.? IMPORTANT: DFU takes care to recover only files whoseo< original blocks are free. However these blocks may< have been modified in the meantime by another file? which also has been deleted. Therefore each recoveredw? file must be checked manually to check its integrity. ) Example of a Undelete session : 5 DFU> undel $1$dua102:/list H Recoverable file [TEST]CHANGE_UIC.FOR;2 foundF Recoverable file [TEST]CHECK_ID.FOR;1 foundG Recoverable file [TEST]CHKPRDIMG.FOR;1 foundZD Recoverable file [TEST]CHRLEN.FOR;1 found; DFU> undel/file=*.for $1$DUA102:_A %DFU-I-READBMAP, Reading BITMAP.SYS... E %DFU-W-LOCKED, Volume now LOCKED for writeIC %DFU-I-UNDEL, Start search on $1$DUA102:h 11-3 11-3 11-3s a o8 UNDELETE UNDELETE UNDELETEH Recoverable file [TEST]CHANGE_UIC.FOR;2 found; Recover this file? (Y/N) [N] : n F Recoverable file [TEST]CHECK_ID.FOR;1 found; Recover this file? (Y/N) [N] : y E %DFU-S-RECOVER, File succesfully recovered A %DFU-I-ADDQUOTA, updating diskquota... G Recoverable file [TEST]CHKPRDIMG.FOR;1 foundI; Recover this file? (Y/N) [N] : n D Recoverable file [TEST]CHRLEN.FOR;1 found; Recover this file? (Y/N) [N] : y E %DFU-S-RECOVER, File succesfully recoveredoA %DFU-I-ADDQUOTA, updating diskquota...m9 %DFU-I-UNLOCK, Volume unlockedrI %DFU-I-ENTER, Entering file(s) in directory...Z %DFU-S-ENTERED, File CHECK_ID.FOR entered in original directoryX %DFU-S-ENTERED, File CHRLEN.FOR entered in original directory$ DFU> EXITL __________________________________________________________________e 11.3 Files marked for delete 11.3 Files marked for delete 11.3 Files marked for delete 9 Normally DFU does not undelete files marked for : delete. This version introduces a new qualifier,= /MARKED , which specifically undeletes files markedS= for delete. This allows the recovery of files whichb= are deleted but still open, such as INSTALLed files_> or even recovery of the system dump file SYSDUMP.DMP* whenever such a file is deleted.L __________________________________________________________________w 11.4 UIC and identifier processing 11.4 UIC and identifier processing 11.4 UIC and identifier processinge9 As of this version of DFU the /OWNER and /IDENT1; qualifier now accepts all valid uic or identifierw/ formats. See chapter 9.5 for details.t, 11-4 11-4 11-4 _ UNDELETE command UNDELETE command UNDELETE commandu UNDELETE UNDELETE UNDELETE-A _______________________________________________________i8 UNDELETE UNDELETE UNDELETE8 Recover one or more deleted files on a device.A _______________________________________________________ 2 FORMAT FORMAT FORMAT UNDELETE UNDELETE UNDELETE _________ device[:] device[:] device[:]A _______________________________________________________r> PARAMETERS PARAMETERS PARAMETERSC ______nB!$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.LINE;1 ?e`"+ device device deviced< The device on which to undelete one or more files.= The device will be write-locked during the undeleteE process.A _______________________________________________________y> QUALIFIERS QUALIFIERS QUALIFIERSc ______________ /FILE=filename /FILE=filename /FILE=filename: The file to be recovered. Wildcards may be used.9 If a matching file is found Undelete will ask aA< confirmation. If a certain file is confirmed, that> file will be recovered if possible, and control will@ be returned to the DFU> prompt. If the /FILE qualifier, is omitted DFU will assume *.*;* . _________________ __ ___ /IDENT=identifier or uic /IDENT=identifier or uic /IDENT=identifier or uic6 You can search for files owned by a specific: identifier or uic. Another way is the /OWNER_UIC< qualifier; you cannot combine these 2 qualifier in one UNDELETE command.o ________________________ /LIST(=output-file-name) /LIST(=output-file-name) /LIST(=output-file-name)g; Generate a list of recoverable files. No undeleteE? will take place, and the disk will not be locked. The & defaultoutput is SYS$OUTPUT. 11-5 11-5 11-5o d hP UNDELETE command UNDELETE command UNDELETE command8 UNDELETE UNDELETE UNDELETEG _______ /MARKED /MARKED /MARKED ? Consider only files marked-for-delete. Such files are @ usuallly still open by some utility, such as INSTALLed( files or the system dump file. ______________ __ __________ /OWNER_UIC=uic or identifier /OWNER_UIC=uic or identifier /OWNER_UIC=uic or identifier < This qualifier is used to select files by a uic or= identifier . You cannot combine this qualifier with  /IDENT. W ___________ /STATISTICS /STATISTICS /STATISTICS = This qualifier displays the performance statistics: 5 CPU time, Elapsed Time, I/O and PageFaults.X, 11-6 11-6 11-6  UNDELETE UNDELETE UNDELETEt 11-7 11-7 11-7_ _ _A _______________________________________________________i/ 12 SPAWN 12 SPAWN 12 SPAWN 6 The new SPAWN command creates an interactive; subprocess. This allows a quick escape to the DCL ? level from an interactive DFU session. The subprocess = has a default prompt DFU_sub$. In SMG mode the _< key also performs a SPAWN command. You must logout2 explicitly to return to the DFU session. 12-1 12-1 12-1,  A _______________________________________________________n2 13 VERIFY 13 VERIFY 13 VERIFY< This chapter describes the VERIFY command with the, related parameters and qualifiers.L __________________________________________________________________D 13.1 Introduction 13.1 Introduction 13.1 Introduction; The VERIFY command makes an analysis of the disk,w= scanning for file and disk structure errors. VERIFY < performs almost all of the checks normally done by= a ANALYZE/DISK command. But VERIFY is several timesS= faster than ANALYZE/DISK, and using less resources. 9 VERIFY checks and reports the following errors: < o Checks the logical information contained in the disks HOME block . o Reports files marked for deletion: o Reports mismatches in the index file's bitmap" o Checks all backlinks.. o Reports multiple allocated blocksA o Reports blocks incorrectly marked free and allocated_# o Reports all lost files A o Checks for mismatches between blocks used and blocks_? charged in QUOTA.SYS. (Only done when diskquota isA enabled)N 13-1 13-1 13-1   a2 VERIFY VERIFY VERIFYL __________________________________________________________________\ 13.2 Basic repair actions 13.2 Basic repair actions 13.2 Basic repair actions> The /FIX qualifier can be used to perform some basic> repair actions. Unlike ANALYZE/DISK/REPAIR this does? not lock the disk! /FIX repairs the following errors: : o Deletes file marked for delete (if possible).@ o Recovers lost files and directories into [SYSLOST].8 o Recovers a very rare problem which will get= ANALYZE/DISK/REPAIR into a computable loop (This @ problem is fixed in VMS V6.2 or with the VERI02_061 patch kit).> o Recovers a corrupted backlink for the Master File" Directory 000000.DIR.L __________________________________________________________________V 13.3 Directory scanning 13.3 Directory scanning 13.3 Directory scanning< This version of DFU introduces the new /DIRECTORY_@ SCAN qualifier. This qualifier directs DFU to scan all= directories on the disk. This has some advantages : < o Better detection of some cases of 'lost' files.= Combined with the /FIX qualifier DFU may be able= to recover such files into the correct directory 7 instead of moving such files to [SYSLOST]. = o Detects and fixes file-id mismatches between the / directory and the INDEXF.SYS file.@ o Using the /DIRECTORY_SCAN qualifier makes DFU fully* compatible with ANALYZE/DISK.= Please note that a complete directory scan may takeU& several minutes to complete., 13-2 13-2 13-2 _ _ VERIFY VERIFY VERIFY L __________________________________________________________________e 13.4 Advanced repair actions 13.4 Advanced repair actions 13.4 Advanced repair actions < The /REBUILD qualifier can be used to perform some> more repair actions. This will however lock the disk> (like a DCL $SET VOLUME/REBUILD=FORCE command) for a> short period of time (usually less than 30 seconds).1 /REBUILD repairs the following errors : @ o Mismatches in the INDEXF.SYS bitmap (files reported3 with the NOBITSET and NOBITCLR errors)e? o Blocks incorrectly marked allocated or free in the BITMAP.SYS.. o Mismatches in the diskquota file.; Note that /REBUILD does NOT change the disks freeY block count.L __________________________________________________________________Y 13.5 Interpreting errors 13.5 Interpreting errors 13.5 Interpreting errors < On a system (cluster) wide mounted disk thero5$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.LINE;1 ?es"<e will@ probably be concurrent disk activity during the VERIFY@ command. Therefore VERIFY may report some errors which@ are not really errors. Try running VERIFY 2 or 3 times; to see if the errors are reported again. To get a > really consistent report from VERIFY you can use the? /LOCK qualifier. This will write-lock the disk duringa@ the VERIFY run, so don't use this qualifier too often.< (The /REPAIR qualifier of ANALYZE/DISK also write-@ locks the disk). Even if DFU ends ungracefully the DFU3 exit handler will always UNLOCK the disk.h 13-3 13-3 13-3i  2 VERIFY VERIFY VERIFYL __________________________________________________________________M 13.6 Error reporting 13.6 Error reporting 13.6 Error reporting 5 An example of a typical VERIFY run follows:b- DFU> VERIFY mydiske; %DFU-I-VERIFY, Verifying MYDISK:tF %DFU-S-CHKHOME, Home block info verified OKA %DFU-I-IFSCAN, Scanning INDEXF.SYS ... C %DFU-I-CHKBITMAP, Checking BITMAP.SYS...rE %DFU-I-CHKLOST, Checking for lost files...XA %DFU-I-CHKQUOTA, Checking QUOTA.SYS... < DFU> VERIFY/REBUILD sys$sysdeviceA %DFU-W-LOCKED, Volume now write locked B %DFU=I-VERIFY, Verifying SYS$SYSDEVICE:F %DFU-S-CHKHOME, Home block info verified OKf %DFU-W-DELETED, file (620,351,1) RSF_DI_RSF_SERVER0.TMP;3 marked for delete` %DFU-W-DELETED, file (6349,173,1) DCLTABLES.EXE;937 marked for deleteg %DFU-W-DELETED, file (19745,35,1) RSF_DI_RSF_SERVER0.TMP;3 marked for delete C %DFU-I-CHKBITMAP, Checking BITMAP.SYS...ik %DFU-E-ALLOCCLR, blocks LBN 2667141 through 2667143 incorrectly marked allocated k %DFU-E-ALLOCCLR, blocks LBN 2667153 through 2667161 incorrectly marked allocated  . .K %DFU-S-RBDBITMAP, BITMAP.SYS succesfully rebuildaE %DFU-I-CHKLOST, Checking for lost files... 9 %DFU-I-UNLOCK, Volume unlockedo DFU>S1 VERIFY can report the following errors:a5 ALLOCCLR, blocks incorrectly marked allocated,sU Severity: Severity: Severity: ERRORe Explanation: Explanation: Explanation: Blocks were found which are not allocated = by a file but set in the BITMAP file. This error is? often seen when VERIFY is run and there is concurrent < file activity on the disk. Also, if after a system? crash the disk is mounted with /NOREBUILD such blocks , 13-4 13-4 13-4 t i VERIFY VERIFY VERIFY @ may exist. ReRun VERIFY with /LOCK to see if the error is still there.] User Action: User Action: User Action: Run VERIFY/REBUILD to rebuild the BITMAP file.20 ALLOCSET, blocks incorrectly marked free,U Severity: Severity: Severity: ERRORt Explanation: Explanation: Explanation: Blocks were found which are allocated by> a file but not set in the BITMAP file. This error is? often seen when VERIFY is run and there is concurrent < file activity on the disk. Also, if after a system? crash the disk is mounted with /NOREBUILD such blocksb@ may exist. ReRun VERIFY with /LOCK to see if the error is still there. User Action: User Action: User Action: Run VERIFY/REBUILD to rebuild the BITMAP file. / BADBLOCK, file has suspected bad blocks,eU Severity: Severity: Severity: ERROR Explanation: Explanation: Explanation: A file has suspected bad blocks. This is= likely to be caused by hardware errors on the disk. User Action: User Action: User Action: Try to copy the file to another location. # Also check the Error Log.a2 BADEXTLNK, link to extension header broken,U Severity: Severity: Severity: ERRORr Explanation: Explanation: Explanation: VERIFY tries to follow the extension link-? of the file and it failed, or the extension header is  invalid. User Action: User Action: User Action: Try ANALYZE/DISK/REPAIR. However, this> may be an unrepairable error, in which case the file+ will be corrupted and unreliable.s 13-5 13-5 13-5  2 VERIFY VERIFY VERIFY@ BADMFDLNK, directory has backlink to 000000.DIR on RVN n,U Severity: Severity: Severity: ERROR_ Explanation: Explanation: Explanation: A directory has a backlink to a Master= file directory other than the one on RVN 1. This isd> incorrect, but the only way to recover is to reenter> the directory manually into the 000000.DIR on RVN 1. User Action: User Action: User Action: Do a SET FILE/ENTER into the 000000.DIR @ directory on RVN 1, then do a SET FILE/REMOVE from the wrong 000000.DIR. ' DELETED, file marked for delete, W Severity: Severity: Severity: WARNING Explanation: Explanation: Explanation: A file was found marked for deletion._= Such files usually exists as a result of file beingL? deleted while it was still INSTALLed , or as a resulti> of a system crash. It is not considered as an error.? You can try to delete such files by using VERIFY/FIX. ' ERRHOME, Home block info not OK,UU Severity: Severity: Severity: ERROR Explanation: Explanation: Explanation: The Info contained in the Home Block was& not consistent or corrupted. User Action: User Action: User Action: Run ANALYZE/DISK/REPAIR to try to fix them error., INVBAKFID, file has invalid backlink,U Severity: Severity: Severity: ERROR_ Explanation: Explanation: Explanation: The files backlink file id is not filled? in. This is likely to be a lost file. (Note that oncee< VERIFY reports this error, it will not be reported@ again during the LOSTFILE check). But is also possible= that the file is in a valid directory, but that thei, Backlink file id is not filled in. User Action: User Action: User Action: Run ANALYZE/DISK/REPAIR. If the file is = in a valid directory the backlink will be repaired.u, 13-6 13-6 13-6 o a VERp $>K$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.LINE;1 ?e"MIFY VERIFY VERIFY ; Otherwise the file will be moved to the [SYSLOST] = directory. You can also use VERIFY/FIX but then the: file will unconditionally be moved to [SYSLOST].' LOCKED, file is deaccess locked,iW Severity: Severity: Severity: WARNING Explanation: Explanation: Explanation: The file is deaccess locked. This may be% a result of a system crash.d User Action: User Action: User Action: Try to unlock the file with the DFU SET - command, or the DCL UNLOCK command. 5 LOSTHDR1, file found in nonexistent directory, W Severity: Severity: Severity: WARNINGm Explanation: Explanation: Explanation: During the lost file check a file was=; discovered in a nonexistent directory. This error < can be caused as follows : set a directory file to$ NODIRECTORY and delete it. User Action: User Action: User Action: Run VERIFY/FIX to move the file to the [SYSLOST] directory.; LOSTHDR2, file found in directory with bad backlink,sW Severity: Severity: Severity: WARNING} Explanation: Explanation: Explanation: During the lost file check a file ; was discovered in a valid directory. However, the > directory has an invalid backlink. This error can be@ caused by doing a SET FILE/REMOVE of a directory file. User Action: User Action: User Action: Run VERIFY/FIX to move the directory to ? the [SYSLOST] directory. Then move the directory back = to the correct location. The files in the directory$ should be accesible again. 13-7 13-7 13-7e  2 VERIFY VERIFY VERIFY1 LOSTHDR3, file found in invalid directory,MW Severity: Severity: Severity: WARNINGx Explanation: Explanation: Explanation: During the lost file check a file was 8 discovered in a directory which is not a valid= directory. Either the file has a wrong backlink, or = the directory file has the directory file attribute not set. User Action: User Action: User Action: Look up the directory and use DFU SET to= set the directory bit. If the directory file was OKa7 then run VERIFY/FIX to recover the lost file._* LOSTHDR4, not found in a directory,W Severity: Severity: Severity: WARNINGa Explanation: Explanation: Explanation: When the /DIRECTORY_SCAN qualifier ist> used , DFU detects files which have a valid backlink> but which are not seen in the directory. This can be repaired with /FIX. User Action: User Action: User Action: Using /FIX will enter these files in the correct directory., MULTALLOC, blocks multiple allocated,U Severity: Severity: Severity: ERROR Explanation: Explanation: Explanation: A file has blocks allocated which alreadyp> belong to another file. Note that VERIFY will make a@ second pass through INDEXF.SYS to report all the files@ involved. This is a serious error, and may be a result> of a disk being mounted on two seperated VAXClusters( (or a partitioned VAXCluster). User Action: User Action: User Action: Copy all the files found to another ; location. Next all the files must be deleted. Run_@ VERIFY/REBUILD to repair the BITMAP. All the afflicted= files must be manually inspected to see which fileso, are valid and which are corrupted., 13-8 13-8 13-8 n e VERIFY VERIFY VERIFYc1 NOBITCLR, Deleted file header marked BUSY,rW Severity: Severity: Severity: WARNING Explanation: Explanation: Explanation: A file was deleted. The corresponding bite= in the INDEXF bitmap should be cleared but is still_+ set. This is not a serious error._ User Action: User Action: User Action: Run VERIFY/REBUILD to fix the error./ NOBITSET, index file bitmap bit not set, W Severity: Severity: Severity: WARNINGT| Explanation: Explanation: Explanation: A valid file was found , but the< corresponding index file bitmap bit is clear. This! is not a serious error. User Action: User Action: User Action: Run VERIFY/REBUILD to fix the error." NOOWNER, file has no owner,W Severity: Severity: Severity: WARNINGi Explanation: Explanation: Explanation: A file was found with UIC [0,0] as the0 owner. This is not a normal situation. User Action: User Action: User Action: Look up the file and modify the file owner.G QUOTAERR, UIC [x,y] has n blocks used, QUOTA indicates m blocks,_W Severity: Severity: Severity: WARNINGi Explanation: Explanation: Explanation: If a disk has diskquota enabled, VERIFYe; calculates the blocks used and compares them withi: the value in the QUOTA.SYS file. Any mismatch is@ reported. This error is often seen when VERIFY is run,< and there is concurrent file activity on the disk.; Also, if after a system crash the disk is mountedd@ with /NOREBUILD such Quota mismatches may exist. ReRun? VERIFY with /LOCK to see if the error is still there. User Action: User Action: User Action: Run VERIFY/REBUILD to rebuild the QUOTA 4 file. Or run a DISKQUOTA> REBUILD command. 13-9 13-9 13-9l  J VERIFY command VERIFY command VERIFY commandM Error reporting Error reporting Error reportingT, SLFBAKFID, backlink points to itself,W Severity: Severity: Severity: WARNINGc Explanation: Explanation: Explanation: This error indicates that DFU has found af< directory with a backlink pointing to itself. This9 feature is only allowed for the MFD 000000.DIR.l= This error will result in ANALYZE/DISK going into ah COMputable loop. User Action: User Action: User Action: Run VERIFY/FIX to move the directory to < the [SYSLOST] directory. Then remove the directory? entry from itself with a SET FILE/REMOVE command. The ; files in the directory should be accesible again._A ____________q8$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.LINE;1 ?e3^___________________________________________ 2 VERIFY VERIFY VERIFY4 VERIFY a device for disk structure errors.A _______________________________________________________ 2 FORMAT FORMAT FORMAT VERIFY VERIFY VERIFY _________ device[:] device[:] device[:]A _______________________________________________________X> PARAMETERS PARAMETERS PARAMETERSC ______ device device device $ The device to be verified.A _______________________________________________________ > QUALIFIERS QUALIFIERS QUALIFIERSk ________________ /APPEND=filename /APPEND=filename /APPEND=filename0< This qualifier redirects the output to be appended> to an already existing file. If the output file does? not exists it will be created. You can use /APPEND or_ /OUTPUT but not both.t/ 13-10 13-10 13-10e n I VERIFY command VERIFY command VERIFY commandi VERIFY VERIFY VERIFY%g _______________ /DIRECTORY_SCAN /DIRECTORY_SCAN /DIRECTORY_SCAN ? Performs a full directory scan. This may take up somew= time, but it allows detection of mismatches betweenc) the directories and INDEXF.SYS.e; ____ /FIX /FIX /FIX k ______ _________ /NOFIX (default) /NOFIX (default) /NOFIX (default)r; Repair errors on the disk. File marked for deletei@ will be deleted and lost files and directories will be moved to [SYSLOST].i? _____ /LOCK /LOCK /LOCKho _______ _________ /NOLOCK (default) /NOLOCK (default) /NOLOCK (default) ; Locks the disk for file allocation/deletion. This ; gives a consistent report for the disk, but otherF? users may experience a delay when accessing the disk.F= The device will be unlocked a the end of the VERIFYe command.k ________________ /OUTPUT=filename /OUTPUT=filename /OUTPUT=filename < This qualifier redirects the output to a file. The< output will also go to SYS$OUTPUT. CAUTION: if you> use /LOCK in combination with /OUTPUT be carefull to< specify an outputfile on ANOTHER disk, or DFU will% finish with a severe error. K ________ /REBUILD /REBUILD /REBUILDs{ __________ _________ /NOREBUILD (default) /NOREBUILD (default) /NOREBUILD (default)t= Perform a volume rebuild. Using this qualifier willk4 temporarily lock the disk for other users.W ___________ /STATISTICS /STATISTICS /STATISTICS = This qualifier displays the performance statistics: 5 CPU time, Elapsed Time, I/O and PageFaults.I 13-11 13-11 13-11n  2 VERIFY VERIFY VERIFY/ 13-12 13-12 13-12 *[DFU024.KIT]DFU024.PS;1+,./7@ 4]R-f0123KPWO56}t7w89G7@HJ%!PS-Adobe-3.0%%Title: DFU024%%Creator: VAX DOCUMENT V3.0BI%%Copyright: 1986,1987,1988,1989,1990,1991 DIGITAL EQUIPMENT CORPORATION.%%+All Rights Reserved.(%%CreationDate: Thu Aug 22 1996 12:00:41%%For: DORLAND %%BoundingBox: (atend)%%DocumentData: Clean7Bit%%LanguageLevel: 1%%Orientation: Portrait%%Pages: (atend)%%PageOrder: Ascend%%DocumentFonts: (atend) %%DocumentNeededFonts: (atend) &%%DocumentProcSets: Underlay Color5044.%%DocumentSuppliedProcSets: Underlay Color5044 %%DocumentProcessColors: (atend)%%DocumentCustomColors: (atend) %%EndComments$%+++TTI changes : added ROTB back in>%+++ : added 1000 ROTB = begin special code example<%+++ : added 1001 ROTB = end special code example0%+++ : added 1002 ROTB = digital logo%!%%BeginResource: procset Underlay%%CreationDate: (2/10/92)%C% In VAX DOCUMENT V2.1-1, simple EPSF files up to 65,000 bytes long@% may be an underlay. Define the EPSF as a PostScript proceedureD% called /UNDERLAY and prefix to DOCUMENT's PS output For example:.&% /UNDERLAY ( EPSF code here ) cvx def%=% To create a "DRAFT" underlay change /UNDERLAY* to /UNDERLAY /UNDERLAY* ( /Note (DRAFT) def /NoteSize 120 def6 /NoteFont /Helvetica findfont NoteSize scalefont def& /Note where { pop Note length 0 gt {8 /NoteWidth NoteFont setfont Note stringwidth pop def/ PaperWidth 36 mul PaperHeight 36 mul moveto& PaperHeight PaperWidth atan rotate6 NoteWidth -2 div NoteSize .729 mul -2 div rmoveto 2 Note true charpath .075 setseparationgray fill }if }if ) cvx def %%EndResource%"%%BeginResource: procset Color5044%%CreationDate: (1/21/91)%%Version:1.0 31%Implementation of Adobe 5044 color specification5%/ndf allows command override during color separation/Color5044Dict 100 dict defColor5044Dict begin/bdf {bind def} def/ndf {1 index where {pop pop pop } {dup xcheck {bind} if def } ifelse } bdf /setcmykcolor {1 exch sub 3 " {dup 5 -1 roll sub 0 2 copy lt {exch} if pop exch } repeat pop setrgbcolor }ndf/setcmykcoloroverprint {4 {dup -1 eq {pop 0} if 4 1 roll } repeat setcmykcolor } ndf/findcmykcustomcolor {5 /packedarray where {pop packedarray } {array astore readonly } ifelse } ndf/setcustomcolor {exch aload pop pop 4 {4 index mul 4 1 roll } repeat setcmykcolor pop } ndf/setseparationgray* {1 exch sub systemdict /setgray get exec } ndf/setoverprint {pop} ndf/currentoverprint false ndf%CMYK multi-proc colorimage /colorimage {4 neH {(\nUnsupported number of colors for colorimage.\n) print flush quit } if notJ {(\nSingle procedure form colorimage unsupported.\n) print flush quit } if' save 20 dict begin /&saveobj exch defE /&Kproc exch def /&Yproc exch def /&Mproc exch def /&Cproc exch def {&Cproc &Mproc &Yproc &Kproc7 /&K exch def /&Y exch def /&M exch def /&C exch def 0 1 &K length 1 sub {/&i exch def &K &i 255 &C &i get 30 mul &M &i get 59 mul add &Y &i get 11 mul add &K &i get 100 mul add 100 idiv dup 255 gt {pop 255} if sub put } for &K } image &saveobj end restore } ndf/customcolorimage! {pop systemdict /image get exec } ndf/separationimage {systemdict /image get exec } ndfend %%EndResourceColor5044Dict begin%/DEC_DVC$dict 300 dict defDEC_DVC$dict begin%/DVC$PSJob save def%5mark % CREATE ISOLatin1Encoding if not there already/ISOLatin1Encoding0 8#000 1 8#054 {StandardEncoding exch get} for  /minus0 8#056 1 8#217 {StandardEncoding exch get} for /dotlessi 0 8#301 1 8#317 {StandardEncoding exch get} for H /space /exclamdown /cent /sterling /currency /yen /brokenbar /section G /dieresis /copyright /ordfeminine /guillemotleft /logicalnr8@$DFU_FREEWARE_024.Af[DFU024.KIT]DFU024.PS;1]R" ot /hyphen L /registered /macron /degree /plusminus /twosuperior /threesuperior /acute E /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine L /guillemotright /onequarter /onehalf /threequarters /questiondown /Agrave O /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute O /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde L /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave M /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute G /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute N /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntildeJ /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave < /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis 9 /ISOLatin1Encoding where not {256 array astore def} if cleartomark%,/DOCPSE ISOLatin1Encoding 256 array copy def"mark % CREATE DOCPSE ENCODING 8#055 /hyphenC 8#201 /bullet 8#202 /emdash 8#203 /endash 8#204 /daggerC 8#205 /daggerdbl 8#206 /registered 8#207 /trademark %8#210 /Delta? 8#211 /fi 8#212 /fl 8#213 /OE 8#214 /oe 8#215 /Ydieresis) counttomark -1 bitshift % DIVIDE BY 2: {DOCPSE 3 1 roll put} repeat % STACK NOW CONTAINS MARK cleartomark%3/ReENCODE { % /basefont /newfont encoding ReENCODE7 /newencoding exch def %ARG: NAME OF ENCODING VECTORC /newfontname exch def %ARG: NEW NAME FOR FONT AFTER RE-ENCODING findfont> /basefontdict exch def %ARG: NAME OF FONT TO BE RE-ENCODED? basefontdict maxlength dict begin %CREATE AND OPEN NEW DICT= basefontdict { %COPY ENTRIES FROM BASE FONT DICT TO NEW ONE 1 index /FID ne {5 def %IF NOT THE ONE WE'RE ENCODING, JUST COPY PTRS } { %else: pop pop %IGNORE FID AND ENCODING FOR ONE WE'RE ENCODING } ifelse } forall, /FontName newfontname def %DEFINE NEW NAME 6 /Encoding newencoding def %DEFINE NEW ENCODING VECTOR; newfontname currentdict definefont %TURN IT INTO A PS FONT3 pop %IGNORE MODIFIED DICT RETURNED BY DEFINEFONT end}def%/cvsstr 64 string def/tempmatrix matrix def%2% Exit page (temporarily) to add fonts/characters. /XP { }def% % Resume page,/RP {/ExampleState 0 def} def % RESUME PAGE/ExampleState 0 def%% End Page: EP/EP {DVC$PSPage restore}def%% Purge fonts to reclaim VM/PF { currentoverprint currentrgbcolor EP %Does restore PageSetup %Does save setrgbcolor setoverprint}def%% ABBREVIATIONS /S /show load def/SV /save load def/RST /restore load def%/Yadjust {Ymax exch sub} def%C/SXY { % (x,y) POSITION ABSOLUTE, JUST SET Xpos & Ypos, DON'T MOVE( Yadjust /Ypos exch def /Xpos exch def} def%$/XY { % (x,y) POSITION ABSOLUTE Yadjust moveto} def%#/X { % (x,0) POSITION ABSOLUTE currentpoint exch pop moveto} def%$/Y { % (0,y) POSITION ABSOLUTE & currentpoint pop exch Yadjust moveto} def%$/xy { % (x,y) POSITION RELATIVE neg rmoveto} def%#/x { % (x,0) POSITION RELATIVE 0 rmoveto} def%#/y { % (0,y) POSITION RELATIVE 0 exch neg rmoveto} def%/R { % Draw a rectangle$ /ht exch def /wd exch def gsave currentpoint newpath moveto 0 ht rlineto wd 0 rlineto$ 0 ht neg rlineto wd neg 0 rlineto& closepath fill grestore wd 0 rmoveto}def%3%Setup Page Media: PM/PM { /Xmax exch Resolution mul def /Ymax exch Resolution mul def /UNDERLAY where { pop3 /eps_save save def % save before EPSF underlay9 Resolution 72 div dup scale % Revert coords to points9 count array astore /DVCstack exch def % save op stack/ /dict_count countdictstack def % # of dicts" userdict begin % default dict' /showpage {}def % disable showpage 0 setgray? {UNDERLAY} stopped {(Error executing /UNDERLAY)== quit}ifD countdictstack dict_count sub {end} repeat % clean up dict stack/ clear DVCstack aload pop % restore op stack,* eps_save restore % restore after EPSF }ifA PageSetupe}def%%%Setup page coordinates1 /PageSetup{%.% /DVC$PSPage {save} def % ++cjb: fix VME bug /DVC$PSPage save def9 PortraitMode not {PaperWidth 0 translate 90 rotate} ifn /Xpos 0 def: /Ypos 0 defu}def%:)% Begin EPS file: SPB/SPB {8 Yadjust transform % convert from DVC to device coords EP % page-level restore( /eps_save save def % save before EPSF8 Resolution 72 div dup scale % Revert coords to points2 itransform % convert position back to points % translate % set position for EPSF 3 PortraitMode not {90 rotate} if % rotate for EPSF+7 count array astore /DVCstack exch def % save op stackR- /dict_count countdictstack def % # of dicts1 userdict begin % default dict% /showpage {}def % disable showpages 0 setgray }def%e% End EPS file/SPE {B countdictstack dict_count sub {end} repeat % clean up dict stack- clear DVCstack aload pop % restore op stackc( eps_save restore % restore after EPSF" PageSetup % restore DVC coords}def%!% Print-Page Routine: PP/PP {S gsavee showpage grestore}def%n&/DMF { % /font-name DMF& exch findfont exch scalefont setfont}def% 3/concatnam { % /abcd (xxx) concatnam ==> /abcdxxxu /xxx exch defm /namstr exch cvsstr cvs defe1 /newnam namstr length xxx length add string def7 newnam 0 namstr putintervale& newnam namstr length xxx putinterval newnam cvn }def%%/strip { % /abcdef 2 strip ==> /cdefp /num exch def /nam exch def /namstr nam cvsstr cvs def# /newlen namstr length num sub def $ namstr num newlen getinterval cvn}def/% ROUTINES TO HANDLE PACKING/UNPACKING NUMBERSc8/PackHW { % PackHW --> 0 /num exch def /pos exch def /target exch def: num 16#0000FFFF and 1 pos sub 16 mul bitshift target or}def</PackByte { % PackByte --> 0 /num exch def /pos exch def /target exch def: num 16#000000FF and 3 pos sub 8 mul bitshift target or}def4/UnpkHW { % UnpkHW -->  /num exch def /pos exch def0 num 1 pos sub -16 mul bitshift 16#0000FFFF and) dup 16#00007FFF gt {16#00010000 sub} ifr}def8/UnpkByte { % UnpkByte -->  /num exch def /pos exch def/ num 3 pos sub -8 mul bitshift 16#000000FF andc) dup 16#0000007F gt {16#00000100 sub} if}def% /ps-scalefont {eJ % FOR PS FONTS, LOOK AT SIZE REQUESTED. IF IT HAS A DECIMAL REMAINDERL % EQUIVALENT TO .001-.009 POINTS (I.E., .050-.450 VAXDOC UNITS), THAT'S H % A FLAG TO STRETC