From 81356e95264f05963212206f13aeb6e815a2fbdf Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sat, 9 Apr 2022 13:03:51 +0200 Subject: [PATCH] Initial import of ultradefrag-5.0.0AB.8 https://jp-andre.pagesperso-orange.fr/ultradefrag-5.0.0AB.8.zip see also https://github.com/tuxera/ntfs-3g/issues/31 --- Released/Read Me First.txt | 9 + .../Boot Time Commands/Install Test Suite.cmd | 103 + .../ud-boot-time-test-call.cmd | Bin 0 -> 822 bytes .../ud-boot-time-test-debug.cmd | Bin 0 -> 2232 bytes .../ud-boot-time-test-suite.cmd | Bin 0 -> 3040 bytes .../ud-boot-time-test-udefrag.cmd | Bin 0 -> 2142 bytes TestSuite/Boot Time Commands/ud-boot-time.cmd | Bin 0 -> 1896 bytes .../CheckVolumes.cmd | 77 + TestSuite/CommonRoutines/winx_fwrite.c | 161 + .../CommonRoutines/winx_print_strings_test.c | 211 + TestSuite/Create Bug Report Log File.cmd | 170 + .../Create Fragmented Volumes.cmd | 475 ++ .../ReadMe_First.txt | 69 + .../VirtualBox Create Test Hardisks.cmd | 122 + doc/SF_files_readme.txt | 25 + doc/doxygen_defaults/generate_defaults.cmd | 30 + doc/html/.htaccess | 5 + doc/html/Error_Pages/404.html | 48 + doc/html/Error_Pages/back.jpg | Bin 0 -> 12348 bytes doc/html/Error_Pages/gradientbg.jpg | Bin 0 -> 337 bytes doc/html/Scripts/AC_RunActiveContent.js | 288 + doc/html/SpryAssets/Copy of SpryEffects.js | 2195 ++++++ doc/html/SpryAssets/SpryEffects.js | 88 + doc/html/about.html | 328 + doc/html/appstat/console-ia64.html | 12 + doc/html/appstat/console-x64.html | 12 + doc/html/appstat/console-x86.html | 12 + doc/html/appstat/gui-ia64.html | 12 + doc/html/appstat/gui-x64.html | 12 + doc/html/appstat/gui-x86.html | 12 + doc/html/artgallery.html | 212 + doc/html/bugs.html | 1 + doc/html/bugs/.htaccess | 3 + doc/html/de/index.html | 359 + doc/html/development.html | 8 + doc/html/download.html | 8 + doc/html/ext_image/link_a.gif | Bin 0 -> 2037 bytes doc/html/ext_image/link_b.gif | Bin 0 -> 1034 bytes doc/html/ext_image/link_c.gif | Bin 0 -> 4196 bytes doc/html/ext_image/link_d.gif | Bin 0 -> 2222 bytes doc/html/fa/index.html | 331 + doc/html/faq.html | 1 + doc/html/flags/gif/.htaccess | 4 + doc/html/flags/gif/ad.gif | Bin 0 -> 371 bytes doc/html/flags/gif/ae.gif | Bin 0 -> 361 bytes doc/html/flags/gif/af.gif | Bin 0 -> 369 bytes doc/html/flags/gif/ag.gif | Bin 0 -> 361 bytes doc/html/flags/gif/ai.gif | Bin 0 -> 369 bytes doc/html/flags/gif/al.gif | Bin 0 -> 370 bytes doc/html/flags/gif/am.gif | Bin 0 -> 363 bytes doc/html/flags/gif/an.gif | Bin 0 -> 368 bytes doc/html/flags/gif/ao.gif | Bin 0 -> 244 bytes doc/html/flags/gif/ar.gif | Bin 0 -> 366 bytes doc/html/flags/gif/as.gif | Bin 0 -> 365 bytes doc/html/flags/gif/at.gif | Bin 0 -> 361 bytes doc/html/flags/gif/au.gif | Bin 0 -> 378 bytes doc/html/flags/gif/aw.gif | Bin 0 -> 365 bytes doc/html/flags/gif/ax.gif | Bin 0 -> 376 bytes doc/html/flags/gif/az.gif | Bin 0 -> 370 bytes doc/html/flags/gif/ba.gif | Bin 0 -> 363 bytes doc/html/flags/gif/bb.gif | Bin 0 -> 368 bytes doc/html/flags/gif/bd.gif | Bin 0 -> 361 bytes doc/html/flags/gif/be.gif | Bin 0 -> 359 bytes doc/html/flags/gif/bf.gif | Bin 0 -> 358 bytes doc/html/flags/gif/bg.gif | Bin 0 -> 360 bytes doc/html/flags/gif/bh.gif | Bin 0 -> 367 bytes doc/html/flags/gif/bi.gif | Bin 0 -> 374 bytes doc/html/flags/gif/bj.gif | Bin 0 -> 368 bytes doc/html/flags/gif/bm.gif | Bin 0 -> 367 bytes doc/html/flags/gif/bn.gif | Bin 0 -> 373 bytes doc/html/flags/gif/bo.gif | Bin 0 -> 359 bytes doc/html/flags/gif/br.gif | Bin 0 -> 367 bytes doc/html/flags/gif/bs.gif | Bin 0 -> 351 bytes doc/html/flags/gif/bt.gif | Bin 0 -> 377 bytes doc/html/flags/gif/bv.gif | Bin 0 -> 376 bytes doc/html/flags/gif/bw.gif | Bin 0 -> 364 bytes doc/html/flags/gif/by.gif | Bin 0 -> 361 bytes doc/html/flags/gif/bz.gif | Bin 0 -> 368 bytes doc/html/flags/gif/ca.gif | Bin 0 -> 376 bytes doc/html/flags/gif/catalonia.gif | Bin 0 -> 238 bytes doc/html/flags/gif/cc.gif | Bin 0 -> 371 bytes doc/html/flags/gif/cd.gif | Bin 0 -> 243 bytes doc/html/flags/gif/cf.gif | Bin 0 -> 364 bytes doc/html/flags/gif/cg.gif | Bin 0 -> 359 bytes doc/html/flags/gif/ch.gif | Bin 0 -> 332 bytes doc/html/flags/gif/ci.gif | Bin 0 -> 368 bytes doc/html/flags/gif/ck.gif | Bin 0 -> 362 bytes doc/html/flags/gif/cl.gif | Bin 0 -> 364 bytes doc/html/flags/gif/cm.gif | Bin 0 -> 369 bytes doc/html/flags/gif/cn.gif | Bin 0 -> 366 bytes doc/html/flags/gif/co.gif | Bin 0 -> 353 bytes doc/html/flags/gif/cr.gif | Bin 0 -> 359 bytes doc/html/flags/gif/cs.gif | Bin 0 -> 364 bytes doc/html/flags/gif/cu.gif | Bin 0 -> 367 bytes doc/html/flags/gif/cv.gif | Bin 0 -> 367 bytes doc/html/flags/gif/cx.gif | Bin 0 -> 363 bytes doc/html/flags/gif/cy.gif | Bin 0 -> 365 bytes doc/html/flags/gif/cz.gif | Bin 0 -> 362 bytes doc/html/flags/gif/de.gif | Bin 0 -> 362 bytes doc/html/flags/gif/dj.gif | Bin 0 -> 369 bytes doc/html/flags/gif/dk.gif | Bin 0 -> 374 bytes doc/html/flags/gif/dm.gif | Bin 0 -> 368 bytes doc/html/flags/gif/do.gif | Bin 0 -> 362 bytes doc/html/flags/gif/dz.gif | Bin 0 -> 370 bytes doc/html/flags/gif/ec.gif | Bin 0 -> 362 bytes doc/html/flags/gif/ee.gif | Bin 0 -> 364 bytes doc/html/flags/gif/eg.gif | Bin 0 -> 363 bytes doc/html/flags/gif/eh.gif | Bin 0 -> 359 bytes doc/html/flags/gif/england.gif | Bin 0 -> 367 bytes doc/html/flags/gif/er.gif | Bin 0 -> 361 bytes doc/html/flags/gif/es.gif | Bin 0 -> 360 bytes doc/html/flags/gif/et.gif | Bin 0 -> 364 bytes doc/html/flags/gif/europeanunion.gif | Bin 0 -> 171 bytes doc/html/flags/gif/fam.gif | Bin 0 -> 370 bytes doc/html/flags/gif/fi.gif | Bin 0 -> 371 bytes doc/html/flags/gif/fj.gif | Bin 0 -> 370 bytes doc/html/flags/gif/fk.gif | Bin 0 -> 372 bytes doc/html/flags/gif/fm.gif | Bin 0 -> 377 bytes doc/html/flags/gif/fo.gif | Bin 0 -> 370 bytes doc/html/flags/gif/fr.gif | Bin 0 -> 366 bytes doc/html/flags/gif/ga.gif | Bin 0 -> 359 bytes doc/html/flags/gif/gb.gif | Bin 0 -> 260 bytes doc/html/flags/gif/gd.gif | Bin 0 -> 364 bytes doc/html/flags/gif/ge.gif | Bin 0 -> 379 bytes doc/html/flags/gif/gf.gif | Bin 0 -> 366 bytes doc/html/flags/gif/gh.gif | Bin 0 -> 358 bytes doc/html/flags/gif/gi.gif | Bin 0 -> 370 bytes doc/html/flags/gif/gl.gif | Bin 0 -> 368 bytes doc/html/flags/gif/gm.gif | Bin 0 -> 362 bytes doc/html/flags/gif/gn.gif | Bin 0 -> 363 bytes doc/html/flags/gif/gp.gif | Bin 0 -> 357 bytes doc/html/flags/gif/gq.gif | Bin 0 -> 361 bytes doc/html/flags/gif/gr.gif | Bin 0 -> 368 bytes doc/html/flags/gif/gs.gif | Bin 0 -> 363 bytes doc/html/flags/gif/gt.gif | Bin 0 -> 374 bytes doc/html/flags/gif/gu.gif | Bin 0 -> 370 bytes doc/html/flags/gif/gw.gif | Bin 0 -> 358 bytes doc/html/flags/gif/gy.gif | Bin 0 -> 367 bytes doc/html/flags/gif/hk.gif | Bin 0 -> 373 bytes doc/html/flags/gif/hm.gif | Bin 0 -> 378 bytes doc/html/flags/gif/hn.gif | Bin 0 -> 367 bytes doc/html/flags/gif/hr.gif | Bin 0 -> 364 bytes doc/html/flags/gif/ht.gif | Bin 0 -> 361 bytes doc/html/flags/gif/hu.gif | Bin 0 -> 357 bytes doc/html/flags/gif/id.gif | Bin 0 -> 362 bytes doc/html/flags/gif/ie.gif | Bin 0 -> 371 bytes doc/html/flags/gif/il.gif | Bin 0 -> 366 bytes doc/html/flags/gif/in.gif | Bin 0 -> 363 bytes doc/html/flags/gif/io.gif | Bin 0 -> 373 bytes doc/html/flags/gif/iq.gif | Bin 0 -> 361 bytes doc/html/flags/gif/ir.gif | Bin 0 -> 366 bytes doc/html/flags/gif/is.gif | Bin 0 -> 373 bytes doc/html/flags/gif/it.gif | Bin 0 -> 366 bytes doc/html/flags/gif/jm.gif | Bin 0 -> 365 bytes doc/html/flags/gif/jo.gif | Bin 0 -> 360 bytes doc/html/flags/gif/jp.gif | Bin 0 -> 366 bytes doc/html/flags/gif/ke.gif | Bin 0 -> 360 bytes doc/html/flags/gif/kg.gif | Bin 0 -> 373 bytes doc/html/flags/gif/kh.gif | Bin 0 -> 367 bytes doc/html/flags/gif/ki.gif | Bin 0 -> 371 bytes doc/html/flags/gif/km.gif | Bin 0 -> 358 bytes doc/html/flags/gif/kn.gif | Bin 0 -> 370 bytes doc/html/flags/gif/kp.gif | Bin 0 -> 366 bytes doc/html/flags/gif/kr.gif | Bin 0 -> 385 bytes doc/html/flags/gif/kw.gif | Bin 0 -> 362 bytes doc/html/flags/gif/ky.gif | Bin 0 -> 373 bytes doc/html/flags/gif/kz.gif | Bin 0 -> 374 bytes doc/html/flags/gif/la.gif | Bin 0 -> 366 bytes doc/html/flags/gif/lb.gif | Bin 0 -> 366 bytes doc/html/flags/gif/lc.gif | Bin 0 -> 259 bytes doc/html/flags/gif/li.gif | Bin 0 -> 359 bytes doc/html/flags/gif/lk.gif | Bin 0 -> 377 bytes doc/html/flags/gif/lr.gif | Bin 0 -> 360 bytes doc/html/flags/gif/ls.gif | Bin 0 -> 369 bytes doc/html/flags/gif/lt.gif | Bin 0 -> 362 bytes doc/html/flags/gif/lu.gif | Bin 0 -> 368 bytes doc/html/flags/gif/lv.gif | Bin 0 -> 363 bytes doc/html/flags/gif/ly.gif | Bin 0 -> 362 bytes doc/html/flags/gif/ma.gif | Bin 0 -> 367 bytes doc/html/flags/gif/mc.gif | Bin 0 -> 359 bytes doc/html/flags/gif/md.gif | Bin 0 -> 367 bytes doc/html/flags/gif/me.gif | Bin 0 -> 238 bytes doc/html/flags/gif/mg.gif | Bin 0 -> 372 bytes doc/html/flags/gif/mh.gif | Bin 0 -> 370 bytes doc/html/flags/gif/mk.gif | Bin 0 -> 382 bytes doc/html/flags/gif/ml.gif | Bin 0 -> 363 bytes doc/html/flags/gif/mm.gif | Bin 0 -> 365 bytes doc/html/flags/gif/mn.gif | Bin 0 -> 368 bytes doc/html/flags/gif/mo.gif | Bin 0 -> 378 bytes doc/html/flags/gif/mp.gif | Bin 0 -> 368 bytes doc/html/flags/gif/mq.gif | Bin 0 -> 379 bytes doc/html/flags/gif/mr.gif | Bin 0 -> 377 bytes doc/html/flags/gif/ms.gif | Bin 0 -> 371 bytes doc/html/flags/gif/mt.gif | Bin 0 -> 369 bytes doc/html/flags/gif/mu.gif | Bin 0 -> 358 bytes doc/html/flags/gif/mv.gif | Bin 0 -> 372 bytes doc/html/flags/gif/mw.gif | Bin 0 -> 364 bytes doc/html/flags/gif/mx.gif | Bin 0 -> 366 bytes doc/html/flags/gif/my.gif | Bin 0 -> 375 bytes doc/html/flags/gif/mz.gif | Bin 0 -> 366 bytes doc/html/flags/gif/na.gif | Bin 0 -> 371 bytes doc/html/flags/gif/nc.gif | Bin 0 -> 364 bytes doc/html/flags/gif/ne.gif | Bin 0 -> 366 bytes doc/html/flags/gif/nf.gif | Bin 0 -> 375 bytes doc/html/flags/gif/ng.gif | Bin 0 -> 371 bytes doc/html/flags/gif/ni.gif | Bin 0 -> 366 bytes doc/html/flags/gif/nl.gif | Bin 0 -> 360 bytes doc/html/flags/gif/no.gif | Bin 0 -> 376 bytes doc/html/flags/gif/np.gif | Bin 0 -> 302 bytes doc/html/flags/gif/nr.gif | Bin 0 -> 364 bytes doc/html/flags/gif/nu.gif | Bin 0 -> 369 bytes doc/html/flags/gif/nz.gif | Bin 0 -> 369 bytes doc/html/flags/gif/om.gif | Bin 0 -> 364 bytes doc/html/flags/gif/pa.gif | Bin 0 -> 367 bytes doc/html/flags/gif/pe.gif | Bin 0 -> 361 bytes doc/html/flags/gif/pf.gif | Bin 0 -> 366 bytes doc/html/flags/gif/pg.gif | Bin 0 -> 360 bytes doc/html/flags/gif/ph.gif | Bin 0 -> 361 bytes doc/html/flags/gif/pk.gif | Bin 0 -> 377 bytes doc/html/flags/gif/pl.gif | Bin 0 -> 360 bytes doc/html/flags/gif/pm.gif | Bin 0 -> 374 bytes doc/html/flags/gif/pn.gif | Bin 0 -> 367 bytes doc/html/flags/gif/pr.gif | Bin 0 -> 369 bytes doc/html/flags/gif/ps.gif | Bin 0 -> 358 bytes doc/html/flags/gif/pt.gif | Bin 0 -> 369 bytes doc/html/flags/gif/pw.gif | Bin 0 -> 374 bytes doc/html/flags/gif/py.gif | Bin 0 -> 363 bytes doc/html/flags/gif/qa.gif | Bin 0 -> 364 bytes doc/html/flags/gif/re.gif | Bin 0 -> 366 bytes doc/html/flags/gif/ro.gif | Bin 0 -> 363 bytes doc/html/flags/gif/rs.gif | Bin 0 -> 238 bytes doc/html/flags/gif/ru.gif | Bin 0 -> 361 bytes doc/html/flags/gif/rw.gif | Bin 0 -> 361 bytes doc/html/flags/gif/sa.gif | Bin 0 -> 370 bytes doc/html/flags/gif/sb.gif | Bin 0 -> 366 bytes doc/html/flags/gif/sc.gif | Bin 0 -> 357 bytes doc/html/flags/gif/scotland.gif | Bin 0 -> 378 bytes doc/html/flags/gif/sd.gif | Bin 0 -> 355 bytes doc/html/flags/gif/se.gif | Bin 0 -> 367 bytes doc/html/flags/gif/sg.gif | Bin 0 -> 364 bytes doc/html/flags/gif/sh.gif | Bin 0 -> 371 bytes doc/html/flags/gif/si.gif | Bin 0 -> 362 bytes doc/html/flags/gif/sj.gif | Bin 0 -> 376 bytes doc/html/flags/gif/sk.gif | Bin 0 -> 361 bytes doc/html/flags/gif/sl.gif | Bin 0 -> 363 bytes doc/html/flags/gif/sm.gif | Bin 0 -> 367 bytes doc/html/flags/gif/sn.gif | Bin 0 -> 364 bytes doc/html/flags/gif/so.gif | Bin 0 -> 376 bytes doc/html/flags/gif/sr.gif | Bin 0 -> 361 bytes doc/html/flags/gif/st.gif | Bin 0 -> 367 bytes doc/html/flags/gif/sv.gif | Bin 0 -> 363 bytes doc/html/flags/gif/sy.gif | Bin 0 -> 361 bytes doc/html/flags/gif/sz.gif | Bin 0 -> 363 bytes doc/html/flags/gif/tc.gif | Bin 0 -> 366 bytes doc/html/flags/gif/td.gif | Bin 0 -> 368 bytes doc/html/flags/gif/tf.gif | Bin 0 -> 365 bytes doc/html/flags/gif/tg.gif | Bin 0 -> 366 bytes doc/html/flags/gif/th.gif | Bin 0 -> 360 bytes doc/html/flags/gif/tj.gif | Bin 0 -> 361 bytes doc/html/flags/gif/tk.gif | Bin 0 -> 372 bytes doc/html/flags/gif/tl.gif | Bin 0 -> 360 bytes doc/html/flags/gif/tm.gif | Bin 0 -> 367 bytes doc/html/flags/gif/tn.gif | Bin 0 -> 375 bytes doc/html/flags/gif/to.gif | Bin 0 -> 367 bytes doc/html/flags/gif/tr.gif | Bin 0 -> 371 bytes doc/html/flags/gif/tt.gif | Bin 0 -> 377 bytes doc/html/flags/gif/tv.gif | Bin 0 -> 361 bytes doc/html/flags/gif/tw.gif | Bin 0 -> 367 bytes doc/html/flags/gif/tz.gif | Bin 0 -> 366 bytes doc/html/flags/gif/ua.gif | Bin 0 -> 360 bytes doc/html/flags/gif/ug.gif | Bin 0 -> 359 bytes doc/html/flags/gif/um.gif | Bin 0 -> 371 bytes doc/html/flags/gif/us.gif | Bin 0 -> 367 bytes doc/html/flags/gif/uy.gif | Bin 0 -> 373 bytes doc/html/flags/gif/uz.gif | Bin 0 -> 364 bytes doc/html/flags/gif/va.gif | Bin 0 -> 369 bytes doc/html/flags/gif/vc.gif | Bin 0 -> 370 bytes doc/html/flags/gif/ve.gif | Bin 0 -> 364 bytes doc/html/flags/gif/vg.gif | Bin 0 -> 368 bytes doc/html/flags/gif/vi.gif | Bin 0 -> 376 bytes doc/html/flags/gif/vn.gif | Bin 0 -> 370 bytes doc/html/flags/gif/vu.gif | Bin 0 -> 365 bytes doc/html/flags/gif/wales.gif | Bin 0 -> 372 bytes doc/html/flags/gif/wf.gif | Bin 0 -> 377 bytes doc/html/flags/gif/ws.gif | Bin 0 -> 365 bytes doc/html/flags/gif/ye.gif | Bin 0 -> 356 bytes doc/html/flags/gif/yt.gif | Bin 0 -> 382 bytes doc/html/flags/gif/za.gif | Bin 0 -> 363 bytes doc/html/flags/gif/zm.gif | Bin 0 -> 358 bytes doc/html/flags/gif/zw.gif | Bin 0 -> 365 bytes doc/html/flags/readme.txt | 9 + doc/html/forum.html | 1 + doc/html/forum/.htaccess | 3 + doc/html/gradientbg.jpg | Bin 0 -> 337 bytes doc/html/handbook/Doxyfile | 1757 +++++ doc/html/handbook/boot.dox | 181 + doc/html/handbook/console.dox | 313 + doc/html/handbook/credits.dox | 324 + doc/html/handbook/faq.dox | 138 + doc/html/handbook/fdl.dox | 339 + doc/html/handbook/gpl.dox | 382 ++ doc/html/handbook/gui.dox | 208 + doc/html/handbook/install.dox | 118 + doc/html/handbook/intro.dox | 216 + doc/html/handbook/lgpl-2.0.dox | 633 ++ doc/html/handbook/lgpl-3.0.dox | 179 + doc/html/handbook/line2.png | Bin 0 -> 271 bytes doc/html/handbook/line3.png | Bin 0 -> 219 bytes doc/html/handbook/logo_small.png | Bin 0 -> 6363 bytes doc/html/handbook/main.dox | 54 + doc/html/handbook/reporting_bugs.dox | 86 + doc/html/handbook/reports.dox | 126 + doc/html/handbook/rsc/Analysis.png | Bin 0 -> 603 bytes doc/html/handbook/rsc/BootTimeScan.png | Bin 0 -> 725 bytes doc/html/handbook/rsc/BootTimeScript.png | Bin 0 -> 297 bytes doc/html/handbook/rsc/Compressed.png | Bin 0 -> 118 bytes doc/html/handbook/rsc/Defragment.png | Bin 0 -> 539 bytes doc/html/handbook/rsc/Directory.png | Bin 0 -> 118 bytes doc/html/handbook/rsc/Fragmented.png | Bin 0 -> 118 bytes doc/html/handbook/rsc/FreeSpace.png | Bin 0 -> 959 bytes doc/html/handbook/rsc/FullOptimize.png | Bin 0 -> 394 bytes doc/html/handbook/rsc/Help.png | Bin 0 -> 618 bytes doc/html/handbook/rsc/MFT.png | Bin 0 -> 118 bytes doc/html/handbook/rsc/NotFragmented.png | Bin 0 -> 118 bytes doc/html/handbook/rsc/OptimizeMFT.png | Bin 0 -> 540 bytes doc/html/handbook/rsc/Options.png | Bin 0 -> 569 bytes doc/html/handbook/rsc/QuickOptimize.png | Bin 0 -> 552 bytes doc/html/handbook/rsc/Repeat.png | Bin 0 -> 561 bytes doc/html/handbook/rsc/Report.png | Bin 0 -> 266 bytes doc/html/handbook/rsc/Stop.png | Bin 0 -> 629 bytes doc/html/handbook/rsc/System.png | Bin 0 -> 118 bytes doc/html/handbook/rsc/Temporary.png | Bin 0 -> 104 bytes doc/html/handbook/rsc/custom-doxygen.css | 967 +++ doc/html/handbook/rsc/design_notes.html | 8 + doc/html/handbook/rsc/development.html | 8 + doc/html/handbook/rsc/fixed.png | Bin 0 -> 156 bytes doc/html/handbook/rsc/footer.html | 16 + doc/html/handbook/rsc/header.html | 36 + doc/html/handbook/rsc/i18n.html | 8 + doc/html/handbook/rsc/line.png | Bin 0 -> 123 bytes doc/html/handbook/rsc/main.html | 8 + doc/html/handbook/rsc/removable.png | Bin 0 -> 184 bytes doc/html/handbook/rsc/reporting_bugs.html | 8 + doc/html/handbook/rsc/sflogo.gif | Bin 0 -> 840 bytes .../rsc/udefrag80x15-colored-light.gif | Bin 0 -> 246 bytes doc/html/handbook/scheduler.dox | 57 + doc/html/handbook/tips.dox | 114 + doc/html/handbook/udefrag80x15-colored.gif | Bin 0 -> 246 bytes doc/html/handbook/udefrag80x15.gif | Bin 0 -> 161 bytes doc/html/images/.htaccess | 6 + doc/html/images/Copy of banner.jpg | Bin 0 -> 38011 bytes doc/html/images/Factory-logo.jpg | Bin 0 -> 31459 bytes doc/html/images/Winopen_Logo.png | Bin 0 -> 24175 bytes doc/html/images/back.png | Bin 0 -> 265 bytes doc/html/images/banner.jpg | Bin 0 -> 46650 bytes doc/html/images/bg.gif | Bin 0 -> 1166 bytes doc/html/images/bg.jpg | Bin 0 -> 4022 bytes doc/html/images/bg_orig.gif | Bin 0 -> 578 bytes doc/html/images/blank.gif | Bin 0 -> 43 bytes doc/html/images/boot_time.jpg | Bin 0 -> 7501 bytes doc/html/images/box.gif | Bin 0 -> 82 bytes doc/html/images/compact_feature.jpg | Bin 0 -> 12997 bytes doc/html/images/contact.gif | Bin 0 -> 1942 bytes doc/html/images/corner.jpg | Bin 0 -> 8022 bytes doc/html/images/corner_orig.jpg | Bin 0 -> 6529 bytes doc/html/images/down.gif | Bin 0 -> 126 bytes doc/html/images/download.gif | Bin 0 -> 2899 bytes doc/html/images/download_amd.gif | Bin 0 -> 2959 bytes doc/html/images/download_earth.gif | Bin 0 -> 1276 bytes doc/html/images/download_intelx64.gif | Bin 0 -> 3099 bytes doc/html/images/download_itanium.gif | Bin 0 -> 3228 bytes doc/html/images/download_x64.gif | Bin 0 -> 3687 bytes doc/html/images/extended_gui.jpg | Bin 0 -> 11311 bytes doc/html/images/feedIcon.png | Bin 0 -> 1885 bytes doc/html/images/feedIcon16.png | Bin 0 -> 787 bytes doc/html/images/firefox-3.6.png | Bin 0 -> 23440 bytes doc/html/images/folder_file.jpg | Bin 0 -> 11593 bytes doc/html/images/hdd_green.gif | Bin 0 -> 9177 bytes doc/html/images/home.gif | Bin 0 -> 1861 bytes doc/html/images/language.gif | Bin 0 -> 3583 bytes doc/html/images/lrline.gif | Bin 0 -> 472 bytes doc/html/images/msg.jpg | Bin 0 -> 71323 bytes doc/html/images/powered_by_lua.gif | Bin 0 -> 1356 bytes doc/html/images/pv_1002048.jpg | Bin 0 -> 6356 bytes doc/html/images/red_b_g.gif | Bin 0 -> 21619 bytes doc/html/images/red_b_g2.gif | Bin 0 -> 26663 bytes doc/html/images/rlline.gif | Bin 0 -> 573 bytes doc/html/images/rss.gif | Bin 0 -> 1568 bytes doc/html/images/scene_gears.jpg | Bin 0 -> 8496 bytes doc/html/images/scheduler.jpg | Bin 0 -> 12099 bytes doc/html/images/shutdown_job.jpg | Bin 0 -> 11362 bytes doc/html/images/sitemap.gif | Bin 0 -> 2056 bytes doc/html/images/smp.gif | Bin 0 -> 60779 bytes doc/html/images/sourceforge.gif | Bin 0 -> 2611 bytes doc/html/images/topr.jpg | Bin 0 -> 16887 bytes doc/html/images/torrentbuttonblue6dv.png | Bin 0 -> 275 bytes doc/html/images/trcorner.gif | Bin 0 -> 79 bytes doc/html/images/ud31.jpg | Bin 0 -> 11413 bytes doc/html/images/ud_64.png | Bin 0 -> 42396 bytes doc/html/images/ud_banner.jpg | Bin 0 -> 61227 bytes doc/html/images/ud_down.png | Bin 0 -> 41584 bytes doc/html/images/ud_ia64.png | Bin 0 -> 51163 bytes doc/html/images/ud_small.gif | Bin 0 -> 2686 bytes doc/html/images/udefrag124x31.gif | Bin 0 -> 3334 bytes doc/html/images/udefrag124x31.png | Bin 0 -> 2586 bytes doc/html/images/ultra_defrag.gif | Bin 0 -> 11285 bytes doc/html/images/up.gif | Bin 0 -> 127 bytes doc/html/images/update.gif | Bin 0 -> 2302 bytes doc/html/images/valid-html401.png | Bin 0 -> 1542 bytes doc/html/images/valid-xhtml10.png | Bin 0 -> 1882 bytes doc/html/images/walp.jpg | Bin 0 -> 2781 bytes doc/html/index.html | 363 + doc/html/index.html.template | 298 + doc/html/lightbox_assets/css/.htaccess | 4 + doc/html/lightbox_assets/css/lightbox.css | 27 + doc/html/lightbox_assets/images/.htaccess | 6 + doc/html/lightbox_assets/images/blank.gif | Bin 0 -> 43 bytes doc/html/lightbox_assets/images/bullet.gif | Bin 0 -> 49 bytes doc/html/lightbox_assets/images/close.gif | Bin 0 -> 222 bytes .../lightbox_assets/images/closelabel.gif | Bin 0 -> 979 bytes doc/html/lightbox_assets/images/loading.gif | Bin 0 -> 2767 bytes doc/html/lightbox_assets/images/nextlabel.gif | Bin 0 -> 1252 bytes doc/html/lightbox_assets/images/prevlabel.gif | Bin 0 -> 1264 bytes doc/html/lightbox_assets/js/.htaccess | 5 + doc/html/lightbox_assets/js/builder.js | 136 + doc/html/lightbox_assets/js/effects.js | 1123 +++ doc/html/lightbox_assets/js/lightbox.js | 496 ++ doc/html/lightbox_assets/js/prototype.js | 6081 +++++++++++++++++ doc/html/lightbox_assets/js/scriptaculous.js | 68 + doc/html/logos_web.html | 224 + doc/html/manual.html | 1 + doc/html/overview.html | 8 + doc/html/robots.txt | 3 + doc/html/ru/index.html | 386 ++ doc/html/screenshots.html | 334 + doc/html/screenshots/.htaccess | 6 + doc/html/screenshots/Scheduler1.png | Bin 0 -> 19946 bytes doc/html/screenshots/Scheduler2.png | Bin 0 -> 24052 bytes doc/html/screenshots/Scheduler3.png | Bin 0 -> 25800 bytes .../screenshots/cmd-all-fixed-with-map.png | Bin 0 -> 17628 bytes doc/html/screenshots/cmd-all-fixed.png | Bin 0 -> 18524 bytes doc/html/screenshots/cmd-cde.png | Bin 0 -> 11352 bytes doc/html/screenshots/cmd.png | Bin 0 -> 8986 bytes doc/html/screenshots/context-menu-item.png | Bin 0 -> 52815 bytes doc/html/screenshots/context-menu.png | Bin 0 -> 59455 bytes doc/html/screenshots/defrag01.PNG | Bin 0 -> 32790 bytes doc/html/screenshots/defrag02.PNG | Bin 0 -> 29974 bytes doc/html/screenshots/full01.PNG | Bin 0 -> 32208 bytes doc/html/screenshots/full02.PNG | Bin 0 -> 31346 bytes doc/html/screenshots/full03.PNG | Bin 0 -> 26437 bytes doc/html/screenshots/gui.png | Bin 0 -> 96999 bytes doc/html/screenshots/initial.PNG | Bin 0 -> 32354 bytes doc/html/screenshots/quick01.PNG | Bin 0 -> 32211 bytes doc/html/screenshots/quick02.PNG | Bin 0 -> 26648 bytes doc/html/screenshots/report.png | Bin 0 -> 33251 bytes doc/html/screenshots/th/.htaccess | 6 + doc/html/screenshots/th/Scheduler1.png | Bin 0 -> 3948 bytes doc/html/screenshots/th/Scheduler2.png | Bin 0 -> 7084 bytes doc/html/screenshots/th/Scheduler3.png | Bin 0 -> 6979 bytes .../screenshots/th/cmd-all-fixed-with-map.png | Bin 0 -> 3977 bytes doc/html/screenshots/th/cmd-all-fixed.png | Bin 0 -> 4829 bytes doc/html/screenshots/th/cmd-cde.png | Bin 0 -> 3858 bytes doc/html/screenshots/th/cmd.png | Bin 0 -> 3586 bytes doc/html/screenshots/th/context-menu-item.png | Bin 0 -> 3867 bytes doc/html/screenshots/th/context-menu.png | Bin 0 -> 4833 bytes doc/html/screenshots/th/defrag01.png | Bin 0 -> 8904 bytes doc/html/screenshots/th/defrag02.png | Bin 0 -> 8538 bytes doc/html/screenshots/th/full01.png | Bin 0 -> 8912 bytes doc/html/screenshots/th/full02.png | Bin 0 -> 8537 bytes doc/html/screenshots/th/full03.png | Bin 0 -> 5709 bytes doc/html/screenshots/th/gui.png | Bin 0 -> 9100 bytes doc/html/screenshots/th/initial.png | Bin 0 -> 8879 bytes doc/html/screenshots/th/quick01.png | Bin 0 -> 8921 bytes doc/html/screenshots/th/quick02.png | Bin 0 -> 6091 bytes doc/html/screenshots/th/report.png | Bin 0 -> 7267 bytes doc/html/screenshots/th/xp-boot-time.png | Bin 0 -> 4071 bytes doc/html/screenshots/xp-boot-time.png | Bin 0 -> 11414 bytes doc/html/scrpt/images/p7ap_citrus_grade.jpg | Bin 0 -> 418 bytes doc/html/scrpt/images/p7ap_east_black.gif | Bin 0 -> 61 bytes .../scrpt/images/p7ap_east_light_gray.gif | Bin 0 -> 61 bytes doc/html/scrpt/images/p7ap_east_med_gray.gif | Bin 0 -> 61 bytes doc/html/scrpt/images/p7ap_east_red.gif | Bin 0 -> 61 bytes doc/html/scrpt/images/p7ap_east_white.gif | Bin 0 -> 61 bytes doc/html/scrpt/images/p7ap_greystonebut.jpg | Bin 0 -> 315 bytes .../scrpt/images/p7ap_light_gray_bevel.jpg | Bin 0 -> 338 bytes doc/html/scrpt/images/p7ap_south_black.gif | Bin 0 -> 56 bytes .../scrpt/images/p7ap_south_light_gray.gif | Bin 0 -> 56 bytes doc/html/scrpt/images/p7ap_south_med_gray.gif | Bin 0 -> 56 bytes doc/html/scrpt/images/p7ap_south_red.gif | Bin 0 -> 56 bytes doc/html/scrpt/images/p7ap_south_white.gif | Bin 0 -> 56 bytes doc/html/scrpt/web.css | 11 + doc/html/scrpt/web.js | 62 + doc/html/sitemap.html | 97 + doc/html/sitemap.xml | 50 + doc/html/smiley_pack/angel0.gif | Bin 0 -> 1186 bytes doc/html/smiley_pack/biggrin.gif | Bin 0 -> 682 bytes doc/html/smiley_pack/cheesy.gif | Bin 0 -> 1038 bytes doc/html/smiley_pack/doh0.gif | Bin 0 -> 1124 bytes doc/html/smiley_pack/great.gif | Bin 0 -> 6123 bytes doc/html/smiley_pack/he.gif | Bin 0 -> 1147 bytes doc/html/smiley_pack/jap.gif | Bin 0 -> 1255 bytes doc/html/smiley_pack/santahat.gif | Bin 0 -> 1788 bytes doc/html/smiley_pack/smile.gif | Bin 0 -> 671 bytes doc/html/smiley_pack/smiling0.gif | Bin 0 -> 1580 bytes doc/html/smiley_pack/wink.gif | Bin 0 -> 1956 bytes doc/html/stats/.htaccess | 3 + doc/html/style.css | 51 + doc/html/swf/logo.swf | Bin 0 -> 9115 bytes doc/html/tmp/.htaccess | 1 + doc/html/tmp/readme.txt | 1 + doc/html/udefrag.ico | Bin 0 -> 766 bytes doc/html/version.ini | 1 + doc/html/wallp/UD_legend_1024.jpg | Bin 0 -> 137626 bytes doc/html/wallp/UD_legend_1280.jpg | Bin 0 -> 164346 bytes doc/html/wallp/UD_legend_800.jpg | Bin 0 -> 49709 bytes doc/html/wallp/black_forest_1024.jpg | Bin 0 -> 219109 bytes doc/html/wallp/black_forest_1280.jpg | Bin 0 -> 265395 bytes doc/html/wallp/black_forest_800.jpg | Bin 0 -> 152142 bytes doc/html/wallp/chaosdefrag_1024x768.jpg | Bin 0 -> 183192 bytes doc/html/wallp/chaosdefrag_1280x1024.jpg | Bin 0 -> 295449 bytes doc/html/wallp/chaosdefrag_1600x1280.jpg | Bin 0 -> 448879 bytes doc/html/wallp/portable_white_1024.jpg | Bin 0 -> 125818 bytes doc/html/wallp/portable_white_1280.jpg | Bin 0 -> 155282 bytes doc/html/wallp/portable_white_800.jpg | Bin 0 -> 88414 bytes doc/html/wallp/preview/UD_legend.jpg | Bin 0 -> 27074 bytes doc/html/wallp/preview/black_forest.jpg | Bin 0 -> 86272 bytes doc/html/wallp/preview/black_forest_thumb.jpg | Bin 0 -> 13360 bytes doc/html/wallp/preview/chaosdefrag.jpg | Bin 0 -> 64640 bytes doc/html/wallp/preview/chaosdefrag_thumb.jpg | Bin 0 -> 8960 bytes doc/html/wallp/preview/portable_white.jpg | Bin 0 -> 54673 bytes .../wallp/preview/portable_white_thumb.jpg | Bin 0 -> 2431 bytes doc/html/wallpapers.html | 210 + doc/html/y_key_8f7eb676f7c6e7c2.html | 10 + doc/man/BatchScriptingGuide.txt | 8 + doc/man/Defragmentation.txt | 17 + doc/man/GUI design guidelines.txt | 22 + doc/man/Native Windows API.txt | 17 + doc/man/Optimization.txt | 3 + doc/man/Security Guidelines.txt | 2 + doc/man/Thread-Safe Development.txt | 5 + .../Windows NT(2000) Native API Reference.pdf | Bin 0 -> 2109064 bytes doc/man/binary trees.txt | 5 + doc/man/gnu.txt | 5 + doc/man/howto-add-translations.txt | 40 + doc/man/howto-release.txt | 19 + doc/man/installer guidelines.txt | 6 + doc/man/svn guidelines.txt | 15 + doc/obsolete-code.zip | Bin 0 -> 130675 bytes doc/spec/Boot.txt | 5 + doc/spec/File Systems.txt | 12 + doc/spec/NTFS_On_Disk_Structure.pdf | Bin 0 -> 115162 bytes doc/spec/ntfs_layout.h.htm | 2634 +++++++ src/CODING_STYLE.TXT | 83 + src/CREDITS.TXT | 221 + src/CreateTranslationReport.cmd | 184 + src/Doxyfile | 1757 +++++ src/HISTORY.TXT | 802 +++ src/LICENSE.TXT | 342 + src/Makefile | 70 + src/ParseCommandLine.cmd | 103 + src/README.TXT | 64 + src/README.linux | 244 + src/bootexctrl/bootexctrl.build | 10 + src/bootexctrl/bootexctrl.c | 411 ++ src/bootexctrl/bootexctrl.manifest | 24 + src/bootexctrl/bootexctrl.mdsp | 90 + src/bootexctrl/bootexctrl.rc | 60 + src/build-docs.cmd | 77 + src/build-menu.cmd | 194 + src/build-release.cmd | 54 + src/build-src-package.cmd | 54 + src/build-targets.cmd | 334 + src/build.cmd | 274 + src/configure.lua | 188 + src/console/Makefile | 60 + src/console/console.68k | 70 + src/console/console.a64 | 77 + src/console/console.arm | 76 + src/console/console.knx | 92 + src/console/console.l64 | 98 + src/console/console.lnx | 93 + src/console/console.mak | 104 + src/console/console.ppc | 60 + src/console/console.spc | 75 + src/console/console.win | 104 + src/console/defrag.build | 18 + src/console/defrag.c | 1111 +++ src/console/defrag.manifest | 24 + src/console/defrag.mdsp | 97 + src/console/defrag.rc | 60 + src/console/map.c | 351 + src/console/options.c | 747 ++ src/console/udefrag.h | 154 + src/dll/udefrag/Doxyfile | 1758 +++++ src/dll/udefrag/Makefile | 80 + src/dll/udefrag/analyze.c | 909 +++ src/dll/udefrag/defrag.c | 216 + src/dll/udefrag/int64.c | 45 + src/dll/udefrag/main.dox | 99 + src/dll/udefrag/map.c | 444 ++ src/dll/udefrag/move.c | 992 +++ src/dll/udefrag/optimize.c | 360 + src/dll/udefrag/options.c | 160 + src/dll/udefrag/reports.c | 360 + src/dll/udefrag/rsc/custom-doxygen.css | 939 +++ src/dll/udefrag/rsc/footer.html | 4 + src/dll/udefrag/rsc/header.html | 36 + src/dll/udefrag/rsc/logo_small.png | Bin 0 -> 7323 bytes src/dll/udefrag/search.c | 619 ++ src/dll/udefrag/tasks.c | 1221 ++++ src/dll/udefrag/try.c | 4 + src/dll/udefrag/udefrag-internals.h | 342 + src/dll/udefrag/udefrag.68k | 96 + src/dll/udefrag/udefrag.a64 | 97 + src/dll/udefrag/udefrag.arm | 96 + src/dll/udefrag/udefrag.build | 22 + src/dll/udefrag/udefrag.c | 802 +++ src/dll/udefrag/udefrag.def | 17 + src/dll/udefrag/udefrag.h | 161 + src/dll/udefrag/udefrag.knx | 113 + src/dll/udefrag/udefrag.l64 | 119 + src/dll/udefrag/udefrag.lnx | 114 + src/dll/udefrag/udefrag.mak | 124 + src/dll/udefrag/udefrag.mdsp | 115 + src/dll/udefrag/udefrag.ppc | 80 + src/dll/udefrag/udefrag.rc | 57 + src/dll/udefrag/udefrag.spc | 96 + src/dll/udefrag/udefrag.win | 124 + src/dll/udefrag/volume.c | 220 + src/dll/wgx/Doxyfile | 1758 +++++ src/dll/wgx/accel.c | 149 + src/dll/wgx/config.c | 248 + src/dll/wgx/dbg.c | 192 + src/dll/wgx/font.c | 260 + src/dll/wgx/i18n.c | 213 + src/dll/wgx/main.dox | 80 + src/dll/wgx/menu.c | 300 + src/dll/wgx/misc.c | 177 + src/dll/wgx/rsc/custom-doxygen.css | 939 +++ src/dll/wgx/rsc/footer.html | 4 + src/dll/wgx/rsc/header.html | 36 + src/dll/wgx/rsc/logo_small.png | Bin 0 -> 7323 bytes src/dll/wgx/shell.c | 122 + src/dll/wgx/web-analytics.c | 239 + src/dll/wgx/wgx.build | 22 + src/dll/wgx/wgx.c | 36 + src/dll/wgx/wgx.def | 39 + src/dll/wgx/wgx.h | 143 + src/dll/wgx/wgx.mdsp | 109 + src/dll/wgx/wgx.rc | 57 + src/dll/zenwinx/Doxyfile | 1758 +++++ src/dll/zenwinx/Makefile | 104 + src/dll/zenwinx/dbg.c | 675 ++ src/dll/zenwinx/env.c | 91 + src/dll/zenwinx/event.c | 114 + src/dll/zenwinx/file.c | 712 ++ src/dll/zenwinx/ftw.c | 876 +++ src/dll/zenwinx/ftw_ntfs.c | 1918 ++++++ src/dll/zenwinx/index.html | 8 + src/dll/zenwinx/int64.c | 45 + src/dll/zenwinx/keyboard.c | 497 ++ src/dll/zenwinx/keytrans.c | 192 + src/dll/zenwinx/ldr.c | 66 + src/dll/zenwinx/list.c | 134 + src/dll/zenwinx/lock.c | 170 + src/dll/zenwinx/main.dox | 203 + src/dll/zenwinx/mem.c | 135 + src/dll/zenwinx/mingw_patch.cmd | 34 + src/dll/zenwinx/misc.c | 392 ++ src/dll/zenwinx/msvc_patch.cmd | 32 + src/dll/zenwinx/mutex.c | 127 + src/dll/zenwinx/myendians.h | 400 ++ src/dll/zenwinx/mytypes.h | 146 + src/dll/zenwinx/ntdll.def | 1024 +++ src/dll/zenwinx/ntfs.h | 292 + src/dll/zenwinx/ntndk.h | 1378 ++++ src/dll/zenwinx/partition.h | 103 + src/dll/zenwinx/path.c | 221 + src/dll/zenwinx/prb.c | 921 +++ src/dll/zenwinx/prb.h | 115 + src/dll/zenwinx/privilege.c | 52 + src/dll/zenwinx/reg.c | 365 + src/dll/zenwinx/rsc/custom-doxygen.css | 939 +++ src/dll/zenwinx/rsc/footer.html | 4 + src/dll/zenwinx/rsc/header.html | 36 + src/dll/zenwinx/rsc/logo_small.png | Bin 0 -> 7323 bytes src/dll/zenwinx/stdio.c | 689 ++ src/dll/zenwinx/string.c | 556 ++ src/dll/zenwinx/thread.c | 98 + src/dll/zenwinx/time.c | 260 + src/dll/zenwinx/version.h | 34 + src/dll/zenwinx/volume.c | 1039 +++ src/dll/zenwinx/zenwinx.68k | 118 + src/dll/zenwinx/zenwinx.a64 | 120 + src/dll/zenwinx/zenwinx.arm | 119 + src/dll/zenwinx/zenwinx.build | 21 + src/dll/zenwinx/zenwinx.c | 238 + src/dll/zenwinx/zenwinx.def | 136 + src/dll/zenwinx/zenwinx.h | 474 ++ src/dll/zenwinx/zenwinx.knx | 137 + src/dll/zenwinx/zenwinx.l64 | 143 + src/dll/zenwinx/zenwinx.lnx | 138 + src/dll/zenwinx/zenwinx.mak | 149 + src/dll/zenwinx/zenwinx.mdsp | 134 + src/dll/zenwinx/zenwinx.ppc | 104 + src/dll/zenwinx/zenwinx.rc | 57 + src/dll/zenwinx/zenwinx.spc | 119 + src/dll/zenwinx/zenwinx.win | 149 + src/dll/zenwinx/zenwinxver.h | 2 + src/exclude-from-sources.lst | 22 + src/gui/about.c | 98 + src/gui/i18n.c | 657 ++ src/gui/i18n/Belarusian.lng | Bin 0 -> 8376 bytes src/gui/i18n/Bulgarian.lng | Bin 0 -> 8244 bytes src/gui/i18n/Burmese (Padauk).lng | Bin 0 -> 8188 bytes src/gui/i18n/Catalan.lng | Bin 0 -> 8286 bytes src/gui/i18n/Chinese (Simplified).lng | Bin 0 -> 6968 bytes src/gui/i18n/Chinese (Traditional).lng | Bin 0 -> 7202 bytes src/gui/i18n/Croatian.lng | Bin 0 -> 8200 bytes src/gui/i18n/Czech.lng | Bin 0 -> 8264 bytes src/gui/i18n/Danish.lng | Bin 0 -> 8122 bytes src/gui/i18n/Dutch.lng | Bin 0 -> 8716 bytes src/gui/i18n/English (GB).lng | Bin 0 -> 7982 bytes src/gui/i18n/English (US).lng | Bin 0 -> 8010 bytes src/gui/i18n/Estonian.lng | Bin 0 -> 8174 bytes src/gui/i18n/Farsi.lng | Bin 0 -> 7936 bytes src/gui/i18n/Filipino (Tagalog).lng | Bin 0 -> 8132 bytes src/gui/i18n/Finnish.lng | Bin 0 -> 8420 bytes src/gui/i18n/French (FR).lng | Bin 0 -> 8486 bytes src/gui/i18n/Galician.lng | Bin 0 -> 8178 bytes src/gui/i18n/German.lng | Bin 0 -> 8652 bytes src/gui/i18n/Greek.lng | Bin 0 -> 8548 bytes src/gui/i18n/Hebrew.lng | Bin 0 -> 7646 bytes src/gui/i18n/Hindi.lng | Bin 0 -> 8174 bytes src/gui/i18n/Hungarian.lng | Bin 0 -> 8308 bytes src/gui/i18n/Icelandic.lng | Bin 0 -> 8014 bytes src/gui/i18n/Iloko.lng | Bin 0 -> 7946 bytes .../i18n/Indonesian (Bahasa Indonesia).lng | Bin 0 -> 8146 bytes src/gui/i18n/Indonesian.lng | Bin 0 -> 8272 bytes src/gui/i18n/Italian.lng | Bin 0 -> 8650 bytes src/gui/i18n/Japanese.lng | Bin 0 -> 7098 bytes src/gui/i18n/Javanese.lng | Bin 0 -> 8058 bytes src/gui/i18n/Korean.lng | Bin 0 -> 7624 bytes src/gui/i18n/Latin.lng | Bin 0 -> 8384 bytes src/gui/i18n/Latvian.lng | Bin 0 -> 8292 bytes src/gui/i18n/Macedonian.lng | Bin 0 -> 8318 bytes src/gui/i18n/Norwegian.lng | Bin 0 -> 8316 bytes src/gui/i18n/Polish.lng | Bin 0 -> 8386 bytes src/gui/i18n/Portuguese (BR).lng | Bin 0 -> 8364 bytes src/gui/i18n/Portuguese.lng | Bin 0 -> 8186 bytes src/gui/i18n/Romanian.lng | Bin 0 -> 8204 bytes src/gui/i18n/Russian.lng | Bin 0 -> 8558 bytes src/gui/i18n/Serbian.lng | Bin 0 -> 8100 bytes src/gui/i18n/Slovak.lng | Bin 0 -> 8290 bytes src/gui/i18n/Slovenian.lng | Bin 0 -> 8146 bytes src/gui/i18n/Spanish (AR).lng | Bin 0 -> 8236 bytes src/gui/i18n/Spanish (ES).lng | Bin 0 -> 8460 bytes src/gui/i18n/Spanish (MEX).lng | Bin 0 -> 8306 bytes src/gui/i18n/Swedish.lng | Bin 0 -> 8310 bytes src/gui/i18n/Tamil.lng | Bin 0 -> 8482 bytes src/gui/i18n/Thai.lng | Bin 0 -> 7926 bytes src/gui/i18n/TranslationReport.txt | 60 + src/gui/i18n/TranslationReportWiki.txt | 120 + src/gui/i18n/Turkish.lng | Bin 0 -> 8440 bytes src/gui/i18n/Ukrainian.lng | Bin 0 -> 8376 bytes src/gui/i18n/Vietnamese (VI).lng | Bin 0 -> 8512 bytes src/gui/i18n/Yiddish.lng | Bin 0 -> 7714 bytes src/gui/i18n/translation.template | Bin 0 -> 8100 bytes src/gui/job.c | 444 ++ src/gui/main.c | 1168 ++++ src/gui/main.h | 293 + src/gui/map.c | 408 ++ src/gui/menu.c | 217 + src/gui/prb.c | 918 +++ src/gui/prb.h | 115 + src/gui/progress.c | 59 + src/gui/reports.c | 108 + src/gui/res/app.ico | Bin 0 -> 766 bytes src/gui/res/cmp.ico | Bin 0 -> 1406 bytes src/gui/res/dir.ico | Bin 0 -> 318 bytes src/gui/res/fixed.ico | Bin 0 -> 318 bytes src/gui/res/fragm.ico | Bin 0 -> 318 bytes src/gui/res/menu_monochrome.bmp | Bin 0 -> 10038 bytes src/gui/res/mft.ico | Bin 0 -> 318 bytes src/gui/res/removable.ico | Bin 0 -> 318 bytes src/gui/res/ship.bmp | Bin 0 -> 17542 bytes src/gui/res/ship_8bit.bmp | Bin 0 -> 8350 bytes src/gui/res/shutdown.ico | Bin 0 -> 8854 bytes src/gui/res/toolbar16.bmp | Bin 0 -> 10038 bytes src/gui/res/toolbar16d.bmp | Bin 0 -> 10038 bytes src/gui/res/toolbar16h.bmp | Bin 0 -> 10038 bytes src/gui/res/toolbar24.bmp | Bin 0 -> 10038 bytes src/gui/res/toolbar24d.bmp | Bin 0 -> 10038 bytes src/gui/res/toolbar24h.bmp | Bin 0 -> 10038 bytes src/gui/res/toolbar8.bmp | Bin 0 -> 10038 bytes src/gui/res/toolbar8d.bmp | Bin 0 -> 10038 bytes src/gui/res/toolbar8h.bmp | Bin 0 -> 10038 bytes src/gui/res/ultradefrag.manifest | 24 + src/gui/res/unfragm.ico | Bin 0 -> 318 bytes src/gui/resource.h | 134 + src/gui/settings.c | 509 ++ src/gui/shutdown.c | 426 ++ src/gui/statbar.c | 151 + src/gui/toolbar.c | 248 + src/gui/ultradefrag.build | 24 + src/gui/ultradefrag.mdsp | 117 + src/gui/ultradefrag.rc | 191 + src/gui/upgrade.c | 197 + src/gui/vollist.c | 596 ++ src/hibernate/hibernate.build | 10 + src/hibernate/hibernate.c | 91 + src/hibernate/hibernate.manifest | 24 + src/hibernate/hibernate.rc | 49 + src/hibernate/readme.txt | 15 + src/icons-for-mdsp-files/project.ico | Bin 0 -> 2238 bytes src/icons-for-mdsp-files/project_cfg.ico | Bin 0 -> 2238 bytes src/icons-for-mdsp-files/project_console.ico | Bin 0 -> 2238 bytes src/icons-for-mdsp-files/project_driver.ico | Bin 0 -> 2238 bytes src/icons-for-mdsp-files/project_gui.ico | Bin 0 -> 2238 bytes src/icons-for-mdsp-files/project_native.ico | Bin 0 -> 2238 bytes src/icons-for-mdsp-files/project_udefrag.ico | Bin 0 -> 2238 bytes src/icons-for-mdsp-files/project_wgx.ico | Bin 0 -> 2238 bytes src/icons-for-mdsp-files/project_zen.ico | Bin 0 -> 2238 bytes src/icons-for-mdsp-files/readme.txt | 5 + src/include/compiler.h | 534 ++ src/include/extrawin.h | 57 + src/include/linux.h | 317 + src/include/ultradfgver.h | 6 + src/include/version.h | 36 + src/installer/LanguageSelector.nsh | 158 + src/installer/PortableUltraDefrag.bmp | Bin 0 -> 18960 bytes src/installer/PresetSections.nsh | 413 ++ src/installer/UltraDefrag.bmp | Bin 0 -> 56488 bytes src/installer/UltraDefrag.nsh | 881 +++ src/installer/UltraDefrag.nsi | 362 + src/installer/WelcomePageBitmap.bmp | Bin 0 -> 52570 bytes src/installer/boot-config.cmd | 2 + src/installer/boot-off.cmd | 2 + src/installer/boot-on.cmd | 2 + src/installer/lang.ini | 30 + src/installer/shellex-folder.ico | Bin 0 -> 4710 bytes src/installer/shellex.ico | Bin 0 -> 766 bytes src/installer/ud-boot-time.cmd | Bin 0 -> 964 bytes src/installer/ud-boot-time.ini | 5 + src/installer/ud-help.cmd | 6 + src/installer/udefrag-install.ico | Bin 0 -> 4710 bytes src/installer/udefrag-uninstall.ico | Bin 0 -> 4710 bytes src/lua5.1/Doxyfile | 205 + src/lua5.1/Readme.txt | 40 + src/lua5.1/lapi.c | 1080 +++ src/lua5.1/lapi.h | 16 + src/lua5.1/lauxlib.c | 653 ++ src/lua5.1/lauxlib.h | 174 + src/lua5.1/lbaselib.c | 643 ++ src/lua5.1/lcode.c | 839 +++ src/lua5.1/lcode.h | 76 + src/lua5.1/ldblib.c | 397 ++ src/lua5.1/ldebug.c | 622 ++ src/lua5.1/ldebug.h | 33 + src/lua5.1/ldo.c | 516 ++ src/lua5.1/ldo.h | 57 + src/lua5.1/ldump.c | 164 + src/lua5.1/lfunc.c | 174 + src/lua5.1/lfunc.h | 34 + src/lua5.1/lgc.c | 711 ++ src/lua5.1/lgc.h | 110 + src/lua5.1/linit.c | 43 + src/lua5.1/liolib.c | 532 ++ src/lua5.1/llex.c | 461 ++ src/lua5.1/llex.h | 81 + src/lua5.1/llimits.h | 128 + src/lua5.1/lmathlib.c | 296 + src/lua5.1/lmem.c | 86 + src/lua5.1/lmem.h | 49 + src/lua5.1/loadlib.c | 664 ++ src/lua5.1/lobject.c | 304 + src/lua5.1/lobject.h | 382 ++ src/lua5.1/lopcodes.c | 102 + src/lua5.1/lopcodes.h | 268 + src/lua5.1/loslib.c | 276 + src/lua5.1/lparser.c | 1337 ++++ src/lua5.1/lparser.h | 82 + src/lua5.1/lstate.c | 214 + src/lua5.1/lstate.h | 168 + src/lua5.1/lstring.c | 111 + src/lua5.1/lstring.h | 31 + src/lua5.1/lstrlib.c | 868 +++ src/lua5.1/ltable.c | 588 ++ src/lua5.1/ltable.h | 40 + src/lua5.1/ltablib.c | 278 + src/lua5.1/ltm.c | 75 + src/lua5.1/ltm.h | 54 + src/lua5.1/lua.c | 390 ++ src/lua5.1/lua.h | 384 ++ src/lua5.1/lua.ico | Bin 0 -> 1078 bytes src/lua5.1/lua.manifest | 24 + src/lua5.1/lua.rc | 4 + src/lua5.1/lua5.1.def | 132 + src/lua5.1/lua5.1a_dll.build | 21 + src/lua5.1/lua5.1a_exe.build | 12 + src/lua5.1/lua5.1a_gui.build | 12 + src/lua5.1/lua_gui.c | 433 ++ src/lua5.1/lua_gui.mdsp | 90 + src/lua5.1/lua_gui.rc | 15 + src/lua5.1/luac.c | 200 + src/lua5.1/luaconf.h | 771 +++ src/lua5.1/lualib.h | 53 + src/lua5.1/luar.ico | Bin 0 -> 4846 bytes src/lua5.1/lundump.c | 223 + src/lua5.1/lundump.h | 36 + src/lua5.1/lvm.c | 765 +++ src/lua5.1/lvm.h | 36 + src/lua5.1/lzio.c | 82 + src/lua5.1/lzio.h | 67 + src/lua5.1/print.c | 227 + src/make-default-doxygen-html-files.cmd | 62 + src/make-lang-ini.cmd | 70 + src/make-manifests.cmd | 84 + src/man/boot-off.man | 32 + src/man/boot-on.man | 28 + src/man/call.man | 34 + src/man/echo.man | 48 + src/man/exit.man | 34 + src/man/help.man | 31 + src/man/hexview.man | 37 + src/man/history.man | 33 + src/man/man.man | 36 + src/man/pause.man | 33 + src/man/readme.txt | 1 + src/man/reboot.man | 28 + src/man/set.man | 49 + src/man/shutdown.man | 28 + src/man/type.man | 38 + src/man/udefrag.man | 94 + src/man/variables.man | 73 + src/native/commands.c | 1113 +++ src/native/defrag_native.build | 13 + src/native/defrag_native.c | 262 + src/native/defrag_native.h | 83 + src/native/defrag_native.mdsp | 100 + src/native/defrag_native.rc | 57 + src/native/script.c | 108 + src/native/udefrag.c | 597 ++ src/rsc/compilation.dox | 75 + src/rsc/config.lua.png | Bin 0 -> 7450 bytes src/rsc/custom-doxygen.css | 953 +++ src/rsc/design.dox | 38 + src/rsc/devnotes.dox | 35 + src/rsc/fdl.dox | 339 + src/rsc/footer.html | 4 + src/rsc/gpl.dox | 382 ++ src/rsc/header.html | 36 + src/rsc/logo_small.png | Bin 0 -> 7323 bytes src/rsc/main.dox | 61 + src/rsc/udscheme.png | Bin 0 -> 4725 bytes src/scripts/udreport.css | 55 + src/scripts/udreportcnv.lua | 318 + src/scripts/udreportopts.lua | 32 + src/scripts/udsorting.js | 172 + src/scripts/upgrade-guiopts.lua | 329 + src/setvars.cmd | 16 + src/setvars_SATELLITE_Stefan.cmd | 22 + src/setvars_VM-WIN7_Stefan.cmd | 27 + src/share/Readme.txt | 5 + src/share/getopt.c | 1003 +++ src/share/getopt.h | 133 + src/share/getopt1.c | 189 + src/tools/md5sum.exe | Bin 0 -> 49152 bytes src/tools/mkmod.lua | 747 ++ src/tools/readme.txt | 2 + src/tools/set-doxyfile-project-number.lua | 42 + src/tools/upx/COPYING | 339 + src/tools/upx/LICENSE | 138 + src/tools/upx/upx.exe | Bin 0 -> 290304 bytes src/udefrag.68k | 83 + src/udefrag.a64 | 86 + src/udefrag.arm | 85 + src/udefrag.knx | 113 + src/udefrag.l64 | 110 + src/udefrag.lnx | 104 + src/udefrag.mak | 130 + src/udefrag.ppc | 75 + src/udefrag.spc | 84 + src/udefrag.win | 117 + src/upgrade-doxygen-config-files.cmd | 59 + src/wincalls/Makefile | 62 + src/wincalls/curses.c | 183 + src/wincalls/ntfs-3g.c | 1209 ++++ src/wincalls/ntfs-3g.h | 47 + src/wincalls/wincalls.68k | 71 + src/wincalls/wincalls.a64 | 76 + src/wincalls/wincalls.arm | 75 + src/wincalls/wincalls.c | 2500 +++++++ src/wincalls/wincalls.knx | 98 + src/wincalls/wincalls.l64 | 101 + src/wincalls/wincalls.lnx | 98 + src/wincalls/wincalls.mak | 101 + src/wincalls/wincalls.ppc | 60 + src/wincalls/wincalls.spc | 75 + src/wincalls/wincalls.win | 101 + src/wincalls/windows.c | 936 +++ 1001 files changed, 113066 insertions(+) create mode 100644 Released/Read Me First.txt create mode 100644 TestSuite/Boot Time Commands/Install Test Suite.cmd create mode 100644 TestSuite/Boot Time Commands/ud-boot-time-test-call.cmd create mode 100644 TestSuite/Boot Time Commands/ud-boot-time-test-debug.cmd create mode 100644 TestSuite/Boot Time Commands/ud-boot-time-test-suite.cmd create mode 100644 TestSuite/Boot Time Commands/ud-boot-time-test-udefrag.cmd create mode 100644 TestSuite/Boot Time Commands/ud-boot-time.cmd create mode 100644 TestSuite/Check against Windows Utilities/CheckVolumes.cmd create mode 100644 TestSuite/CommonRoutines/winx_fwrite.c create mode 100644 TestSuite/CommonRoutines/winx_print_strings_test.c create mode 100644 TestSuite/Create Bug Report Log File.cmd create mode 100644 TestSuite/Create Fragmented Volumes/Create Fragmented Volumes.cmd create mode 100644 TestSuite/Create Fragmented Volumes/ReadMe_First.txt create mode 100644 TestSuite/Create Fragmented Volumes/VirtualBox Create Test Hardisks.cmd create mode 100644 doc/SF_files_readme.txt create mode 100644 doc/doxygen_defaults/generate_defaults.cmd create mode 100644 doc/html/.htaccess create mode 100644 doc/html/Error_Pages/404.html create mode 100644 doc/html/Error_Pages/back.jpg create mode 100644 doc/html/Error_Pages/gradientbg.jpg create mode 100644 doc/html/Scripts/AC_RunActiveContent.js create mode 100644 doc/html/SpryAssets/Copy of SpryEffects.js create mode 100644 doc/html/SpryAssets/SpryEffects.js create mode 100644 doc/html/about.html create mode 100644 doc/html/appstat/console-ia64.html create mode 100644 doc/html/appstat/console-x64.html create mode 100644 doc/html/appstat/console-x86.html create mode 100644 doc/html/appstat/gui-ia64.html create mode 100644 doc/html/appstat/gui-x64.html create mode 100644 doc/html/appstat/gui-x86.html create mode 100644 doc/html/artgallery.html create mode 100644 doc/html/bugs.html create mode 100644 doc/html/bugs/.htaccess create mode 100644 doc/html/de/index.html create mode 100644 doc/html/development.html create mode 100644 doc/html/download.html create mode 100644 doc/html/ext_image/link_a.gif create mode 100644 doc/html/ext_image/link_b.gif create mode 100644 doc/html/ext_image/link_c.gif create mode 100644 doc/html/ext_image/link_d.gif create mode 100644 doc/html/fa/index.html create mode 100644 doc/html/faq.html create mode 100644 doc/html/flags/gif/.htaccess create mode 100644 doc/html/flags/gif/ad.gif create mode 100644 doc/html/flags/gif/ae.gif create mode 100644 doc/html/flags/gif/af.gif create mode 100644 doc/html/flags/gif/ag.gif create mode 100644 doc/html/flags/gif/ai.gif create mode 100644 doc/html/flags/gif/al.gif create mode 100644 doc/html/flags/gif/am.gif create mode 100644 doc/html/flags/gif/an.gif create mode 100644 doc/html/flags/gif/ao.gif create mode 100644 doc/html/flags/gif/ar.gif create mode 100644 doc/html/flags/gif/as.gif create mode 100644 doc/html/flags/gif/at.gif create mode 100644 doc/html/flags/gif/au.gif create mode 100644 doc/html/flags/gif/aw.gif create mode 100644 doc/html/flags/gif/ax.gif create mode 100644 doc/html/flags/gif/az.gif create mode 100644 doc/html/flags/gif/ba.gif create mode 100644 doc/html/flags/gif/bb.gif create mode 100644 doc/html/flags/gif/bd.gif create mode 100644 doc/html/flags/gif/be.gif create mode 100644 doc/html/flags/gif/bf.gif create mode 100644 doc/html/flags/gif/bg.gif create mode 100644 doc/html/flags/gif/bh.gif create mode 100644 doc/html/flags/gif/bi.gif create mode 100644 doc/html/flags/gif/bj.gif create mode 100644 doc/html/flags/gif/bm.gif create mode 100644 doc/html/flags/gif/bn.gif create mode 100644 doc/html/flags/gif/bo.gif create mode 100644 doc/html/flags/gif/br.gif create mode 100644 doc/html/flags/gif/bs.gif create mode 100644 doc/html/flags/gif/bt.gif create mode 100644 doc/html/flags/gif/bv.gif create mode 100644 doc/html/flags/gif/bw.gif create mode 100644 doc/html/flags/gif/by.gif create mode 100644 doc/html/flags/gif/bz.gif create mode 100644 doc/html/flags/gif/ca.gif create mode 100644 doc/html/flags/gif/catalonia.gif create mode 100644 doc/html/flags/gif/cc.gif create mode 100644 doc/html/flags/gif/cd.gif create mode 100644 doc/html/flags/gif/cf.gif create mode 100644 doc/html/flags/gif/cg.gif create mode 100644 doc/html/flags/gif/ch.gif create mode 100644 doc/html/flags/gif/ci.gif create mode 100644 doc/html/flags/gif/ck.gif create mode 100644 doc/html/flags/gif/cl.gif create mode 100644 doc/html/flags/gif/cm.gif create mode 100644 doc/html/flags/gif/cn.gif create mode 100644 doc/html/flags/gif/co.gif create mode 100644 doc/html/flags/gif/cr.gif create mode 100644 doc/html/flags/gif/cs.gif create mode 100644 doc/html/flags/gif/cu.gif create mode 100644 doc/html/flags/gif/cv.gif create mode 100644 doc/html/flags/gif/cx.gif create mode 100644 doc/html/flags/gif/cy.gif create mode 100644 doc/html/flags/gif/cz.gif create mode 100644 doc/html/flags/gif/de.gif create mode 100644 doc/html/flags/gif/dj.gif create mode 100644 doc/html/flags/gif/dk.gif create mode 100644 doc/html/flags/gif/dm.gif create mode 100644 doc/html/flags/gif/do.gif create mode 100644 doc/html/flags/gif/dz.gif create mode 100644 doc/html/flags/gif/ec.gif create mode 100644 doc/html/flags/gif/ee.gif create mode 100644 doc/html/flags/gif/eg.gif create mode 100644 doc/html/flags/gif/eh.gif create mode 100644 doc/html/flags/gif/england.gif create mode 100644 doc/html/flags/gif/er.gif create mode 100644 doc/html/flags/gif/es.gif create mode 100644 doc/html/flags/gif/et.gif create mode 100644 doc/html/flags/gif/europeanunion.gif create mode 100644 doc/html/flags/gif/fam.gif create mode 100644 doc/html/flags/gif/fi.gif create mode 100644 doc/html/flags/gif/fj.gif create mode 100644 doc/html/flags/gif/fk.gif create mode 100644 doc/html/flags/gif/fm.gif create mode 100644 doc/html/flags/gif/fo.gif create mode 100644 doc/html/flags/gif/fr.gif create mode 100644 doc/html/flags/gif/ga.gif create mode 100644 doc/html/flags/gif/gb.gif create mode 100644 doc/html/flags/gif/gd.gif create mode 100644 doc/html/flags/gif/ge.gif create mode 100644 doc/html/flags/gif/gf.gif create mode 100644 doc/html/flags/gif/gh.gif create mode 100644 doc/html/flags/gif/gi.gif create mode 100644 doc/html/flags/gif/gl.gif create mode 100644 doc/html/flags/gif/gm.gif create mode 100644 doc/html/flags/gif/gn.gif create mode 100644 doc/html/flags/gif/gp.gif create mode 100644 doc/html/flags/gif/gq.gif create mode 100644 doc/html/flags/gif/gr.gif create mode 100644 doc/html/flags/gif/gs.gif create mode 100644 doc/html/flags/gif/gt.gif create mode 100644 doc/html/flags/gif/gu.gif create mode 100644 doc/html/flags/gif/gw.gif create mode 100644 doc/html/flags/gif/gy.gif create mode 100644 doc/html/flags/gif/hk.gif create mode 100644 doc/html/flags/gif/hm.gif create mode 100644 doc/html/flags/gif/hn.gif create mode 100644 doc/html/flags/gif/hr.gif create mode 100644 doc/html/flags/gif/ht.gif create mode 100644 doc/html/flags/gif/hu.gif create mode 100644 doc/html/flags/gif/id.gif create mode 100644 doc/html/flags/gif/ie.gif create mode 100644 doc/html/flags/gif/il.gif create mode 100644 doc/html/flags/gif/in.gif create mode 100644 doc/html/flags/gif/io.gif create mode 100644 doc/html/flags/gif/iq.gif create mode 100644 doc/html/flags/gif/ir.gif create mode 100644 doc/html/flags/gif/is.gif create mode 100644 doc/html/flags/gif/it.gif create mode 100644 doc/html/flags/gif/jm.gif create mode 100644 doc/html/flags/gif/jo.gif create mode 100644 doc/html/flags/gif/jp.gif create mode 100644 doc/html/flags/gif/ke.gif create mode 100644 doc/html/flags/gif/kg.gif create mode 100644 doc/html/flags/gif/kh.gif create mode 100644 doc/html/flags/gif/ki.gif create mode 100644 doc/html/flags/gif/km.gif create mode 100644 doc/html/flags/gif/kn.gif create mode 100644 doc/html/flags/gif/kp.gif create mode 100644 doc/html/flags/gif/kr.gif create mode 100644 doc/html/flags/gif/kw.gif create mode 100644 doc/html/flags/gif/ky.gif create mode 100644 doc/html/flags/gif/kz.gif create mode 100644 doc/html/flags/gif/la.gif create mode 100644 doc/html/flags/gif/lb.gif create mode 100644 doc/html/flags/gif/lc.gif create mode 100644 doc/html/flags/gif/li.gif create mode 100644 doc/html/flags/gif/lk.gif create mode 100644 doc/html/flags/gif/lr.gif create mode 100644 doc/html/flags/gif/ls.gif create mode 100644 doc/html/flags/gif/lt.gif create mode 100644 doc/html/flags/gif/lu.gif create mode 100644 doc/html/flags/gif/lv.gif create mode 100644 doc/html/flags/gif/ly.gif create mode 100644 doc/html/flags/gif/ma.gif create mode 100644 doc/html/flags/gif/mc.gif create mode 100644 doc/html/flags/gif/md.gif create mode 100644 doc/html/flags/gif/me.gif create mode 100644 doc/html/flags/gif/mg.gif create mode 100644 doc/html/flags/gif/mh.gif create mode 100644 doc/html/flags/gif/mk.gif create mode 100644 doc/html/flags/gif/ml.gif create mode 100644 doc/html/flags/gif/mm.gif create mode 100644 doc/html/flags/gif/mn.gif create mode 100644 doc/html/flags/gif/mo.gif create mode 100644 doc/html/flags/gif/mp.gif create mode 100644 doc/html/flags/gif/mq.gif create mode 100644 doc/html/flags/gif/mr.gif create mode 100644 doc/html/flags/gif/ms.gif create mode 100644 doc/html/flags/gif/mt.gif create mode 100644 doc/html/flags/gif/mu.gif create mode 100644 doc/html/flags/gif/mv.gif create mode 100644 doc/html/flags/gif/mw.gif create mode 100644 doc/html/flags/gif/mx.gif create mode 100644 doc/html/flags/gif/my.gif create mode 100644 doc/html/flags/gif/mz.gif create mode 100644 doc/html/flags/gif/na.gif create mode 100644 doc/html/flags/gif/nc.gif create mode 100644 doc/html/flags/gif/ne.gif create mode 100644 doc/html/flags/gif/nf.gif create mode 100644 doc/html/flags/gif/ng.gif create mode 100644 doc/html/flags/gif/ni.gif create mode 100644 doc/html/flags/gif/nl.gif create mode 100644 doc/html/flags/gif/no.gif create mode 100644 doc/html/flags/gif/np.gif create mode 100644 doc/html/flags/gif/nr.gif create mode 100644 doc/html/flags/gif/nu.gif create mode 100644 doc/html/flags/gif/nz.gif create mode 100644 doc/html/flags/gif/om.gif create mode 100644 doc/html/flags/gif/pa.gif create mode 100644 doc/html/flags/gif/pe.gif create mode 100644 doc/html/flags/gif/pf.gif create mode 100644 doc/html/flags/gif/pg.gif create mode 100644 doc/html/flags/gif/ph.gif create mode 100644 doc/html/flags/gif/pk.gif create mode 100644 doc/html/flags/gif/pl.gif create mode 100644 doc/html/flags/gif/pm.gif create mode 100644 doc/html/flags/gif/pn.gif create mode 100644 doc/html/flags/gif/pr.gif create mode 100644 doc/html/flags/gif/ps.gif create mode 100644 doc/html/flags/gif/pt.gif create mode 100644 doc/html/flags/gif/pw.gif create mode 100644 doc/html/flags/gif/py.gif create mode 100644 doc/html/flags/gif/qa.gif create mode 100644 doc/html/flags/gif/re.gif create mode 100644 doc/html/flags/gif/ro.gif create mode 100644 doc/html/flags/gif/rs.gif create mode 100644 doc/html/flags/gif/ru.gif create mode 100644 doc/html/flags/gif/rw.gif create mode 100644 doc/html/flags/gif/sa.gif create mode 100644 doc/html/flags/gif/sb.gif create mode 100644 doc/html/flags/gif/sc.gif create mode 100644 doc/html/flags/gif/scotland.gif create mode 100644 doc/html/flags/gif/sd.gif create mode 100644 doc/html/flags/gif/se.gif create mode 100644 doc/html/flags/gif/sg.gif create mode 100644 doc/html/flags/gif/sh.gif create mode 100644 doc/html/flags/gif/si.gif create mode 100644 doc/html/flags/gif/sj.gif create mode 100644 doc/html/flags/gif/sk.gif create mode 100644 doc/html/flags/gif/sl.gif create mode 100644 doc/html/flags/gif/sm.gif create mode 100644 doc/html/flags/gif/sn.gif create mode 100644 doc/html/flags/gif/so.gif create mode 100644 doc/html/flags/gif/sr.gif create mode 100644 doc/html/flags/gif/st.gif create mode 100644 doc/html/flags/gif/sv.gif create mode 100644 doc/html/flags/gif/sy.gif create mode 100644 doc/html/flags/gif/sz.gif create mode 100644 doc/html/flags/gif/tc.gif create mode 100644 doc/html/flags/gif/td.gif create mode 100644 doc/html/flags/gif/tf.gif create mode 100644 doc/html/flags/gif/tg.gif create mode 100644 doc/html/flags/gif/th.gif create mode 100644 doc/html/flags/gif/tj.gif create mode 100644 doc/html/flags/gif/tk.gif create mode 100644 doc/html/flags/gif/tl.gif create mode 100644 doc/html/flags/gif/tm.gif create mode 100644 doc/html/flags/gif/tn.gif create mode 100644 doc/html/flags/gif/to.gif create mode 100644 doc/html/flags/gif/tr.gif create mode 100644 doc/html/flags/gif/tt.gif create mode 100644 doc/html/flags/gif/tv.gif create mode 100644 doc/html/flags/gif/tw.gif create mode 100644 doc/html/flags/gif/tz.gif create mode 100644 doc/html/flags/gif/ua.gif create mode 100644 doc/html/flags/gif/ug.gif create mode 100644 doc/html/flags/gif/um.gif create mode 100644 doc/html/flags/gif/us.gif create mode 100644 doc/html/flags/gif/uy.gif create mode 100644 doc/html/flags/gif/uz.gif create mode 100644 doc/html/flags/gif/va.gif create mode 100644 doc/html/flags/gif/vc.gif create mode 100644 doc/html/flags/gif/ve.gif create mode 100644 doc/html/flags/gif/vg.gif create mode 100644 doc/html/flags/gif/vi.gif create mode 100644 doc/html/flags/gif/vn.gif create mode 100644 doc/html/flags/gif/vu.gif create mode 100644 doc/html/flags/gif/wales.gif create mode 100644 doc/html/flags/gif/wf.gif create mode 100644 doc/html/flags/gif/ws.gif create mode 100644 doc/html/flags/gif/ye.gif create mode 100644 doc/html/flags/gif/yt.gif create mode 100644 doc/html/flags/gif/za.gif create mode 100644 doc/html/flags/gif/zm.gif create mode 100644 doc/html/flags/gif/zw.gif create mode 100644 doc/html/flags/readme.txt create mode 100644 doc/html/forum.html create mode 100644 doc/html/forum/.htaccess create mode 100644 doc/html/gradientbg.jpg create mode 100644 doc/html/handbook/Doxyfile create mode 100644 doc/html/handbook/boot.dox create mode 100644 doc/html/handbook/console.dox create mode 100644 doc/html/handbook/credits.dox create mode 100644 doc/html/handbook/faq.dox create mode 100644 doc/html/handbook/fdl.dox create mode 100644 doc/html/handbook/gpl.dox create mode 100644 doc/html/handbook/gui.dox create mode 100644 doc/html/handbook/install.dox create mode 100644 doc/html/handbook/intro.dox create mode 100644 doc/html/handbook/lgpl-2.0.dox create mode 100644 doc/html/handbook/lgpl-3.0.dox create mode 100644 doc/html/handbook/line2.png create mode 100644 doc/html/handbook/line3.png create mode 100644 doc/html/handbook/logo_small.png create mode 100644 doc/html/handbook/main.dox create mode 100644 doc/html/handbook/reporting_bugs.dox create mode 100644 doc/html/handbook/reports.dox create mode 100644 doc/html/handbook/rsc/Analysis.png create mode 100644 doc/html/handbook/rsc/BootTimeScan.png create mode 100644 doc/html/handbook/rsc/BootTimeScript.png create mode 100644 doc/html/handbook/rsc/Compressed.png create mode 100644 doc/html/handbook/rsc/Defragment.png create mode 100644 doc/html/handbook/rsc/Directory.png create mode 100644 doc/html/handbook/rsc/Fragmented.png create mode 100644 doc/html/handbook/rsc/FreeSpace.png create mode 100644 doc/html/handbook/rsc/FullOptimize.png create mode 100644 doc/html/handbook/rsc/Help.png create mode 100644 doc/html/handbook/rsc/MFT.png create mode 100644 doc/html/handbook/rsc/NotFragmented.png create mode 100644 doc/html/handbook/rsc/OptimizeMFT.png create mode 100644 doc/html/handbook/rsc/Options.png create mode 100644 doc/html/handbook/rsc/QuickOptimize.png create mode 100644 doc/html/handbook/rsc/Repeat.png create mode 100644 doc/html/handbook/rsc/Report.png create mode 100644 doc/html/handbook/rsc/Stop.png create mode 100644 doc/html/handbook/rsc/System.png create mode 100644 doc/html/handbook/rsc/Temporary.png create mode 100644 doc/html/handbook/rsc/custom-doxygen.css create mode 100644 doc/html/handbook/rsc/design_notes.html create mode 100644 doc/html/handbook/rsc/development.html create mode 100644 doc/html/handbook/rsc/fixed.png create mode 100644 doc/html/handbook/rsc/footer.html create mode 100644 doc/html/handbook/rsc/header.html create mode 100644 doc/html/handbook/rsc/i18n.html create mode 100644 doc/html/handbook/rsc/line.png create mode 100644 doc/html/handbook/rsc/main.html create mode 100644 doc/html/handbook/rsc/removable.png create mode 100644 doc/html/handbook/rsc/reporting_bugs.html create mode 100644 doc/html/handbook/rsc/sflogo.gif create mode 100644 doc/html/handbook/rsc/udefrag80x15-colored-light.gif create mode 100644 doc/html/handbook/scheduler.dox create mode 100644 doc/html/handbook/tips.dox create mode 100644 doc/html/handbook/udefrag80x15-colored.gif create mode 100644 doc/html/handbook/udefrag80x15.gif create mode 100644 doc/html/images/.htaccess create mode 100644 doc/html/images/Copy of banner.jpg create mode 100644 doc/html/images/Factory-logo.jpg create mode 100644 doc/html/images/Winopen_Logo.png create mode 100644 doc/html/images/back.png create mode 100644 doc/html/images/banner.jpg create mode 100644 doc/html/images/bg.gif create mode 100644 doc/html/images/bg.jpg create mode 100644 doc/html/images/bg_orig.gif create mode 100644 doc/html/images/blank.gif create mode 100644 doc/html/images/boot_time.jpg create mode 100644 doc/html/images/box.gif create mode 100644 doc/html/images/compact_feature.jpg create mode 100644 doc/html/images/contact.gif create mode 100644 doc/html/images/corner.jpg create mode 100644 doc/html/images/corner_orig.jpg create mode 100644 doc/html/images/down.gif create mode 100644 doc/html/images/download.gif create mode 100644 doc/html/images/download_amd.gif create mode 100644 doc/html/images/download_earth.gif create mode 100644 doc/html/images/download_intelx64.gif create mode 100644 doc/html/images/download_itanium.gif create mode 100644 doc/html/images/download_x64.gif create mode 100644 doc/html/images/extended_gui.jpg create mode 100644 doc/html/images/feedIcon.png create mode 100644 doc/html/images/feedIcon16.png create mode 100644 doc/html/images/firefox-3.6.png create mode 100644 doc/html/images/folder_file.jpg create mode 100644 doc/html/images/hdd_green.gif create mode 100644 doc/html/images/home.gif create mode 100644 doc/html/images/language.gif create mode 100644 doc/html/images/lrline.gif create mode 100644 doc/html/images/msg.jpg create mode 100644 doc/html/images/powered_by_lua.gif create mode 100644 doc/html/images/pv_1002048.jpg create mode 100644 doc/html/images/red_b_g.gif create mode 100644 doc/html/images/red_b_g2.gif create mode 100644 doc/html/images/rlline.gif create mode 100644 doc/html/images/rss.gif create mode 100644 doc/html/images/scene_gears.jpg create mode 100644 doc/html/images/scheduler.jpg create mode 100644 doc/html/images/shutdown_job.jpg create mode 100644 doc/html/images/sitemap.gif create mode 100644 doc/html/images/smp.gif create mode 100644 doc/html/images/sourceforge.gif create mode 100644 doc/html/images/topr.jpg create mode 100644 doc/html/images/torrentbuttonblue6dv.png create mode 100644 doc/html/images/trcorner.gif create mode 100644 doc/html/images/ud31.jpg create mode 100644 doc/html/images/ud_64.png create mode 100644 doc/html/images/ud_banner.jpg create mode 100644 doc/html/images/ud_down.png create mode 100644 doc/html/images/ud_ia64.png create mode 100644 doc/html/images/ud_small.gif create mode 100644 doc/html/images/udefrag124x31.gif create mode 100644 doc/html/images/udefrag124x31.png create mode 100644 doc/html/images/ultra_defrag.gif create mode 100644 doc/html/images/up.gif create mode 100644 doc/html/images/update.gif create mode 100644 doc/html/images/valid-html401.png create mode 100644 doc/html/images/valid-xhtml10.png create mode 100644 doc/html/images/walp.jpg create mode 100644 doc/html/index.html create mode 100644 doc/html/index.html.template create mode 100644 doc/html/lightbox_assets/css/.htaccess create mode 100644 doc/html/lightbox_assets/css/lightbox.css create mode 100644 doc/html/lightbox_assets/images/.htaccess create mode 100644 doc/html/lightbox_assets/images/blank.gif create mode 100644 doc/html/lightbox_assets/images/bullet.gif create mode 100644 doc/html/lightbox_assets/images/close.gif create mode 100644 doc/html/lightbox_assets/images/closelabel.gif create mode 100644 doc/html/lightbox_assets/images/loading.gif create mode 100644 doc/html/lightbox_assets/images/nextlabel.gif create mode 100644 doc/html/lightbox_assets/images/prevlabel.gif create mode 100644 doc/html/lightbox_assets/js/.htaccess create mode 100644 doc/html/lightbox_assets/js/builder.js create mode 100644 doc/html/lightbox_assets/js/effects.js create mode 100644 doc/html/lightbox_assets/js/lightbox.js create mode 100644 doc/html/lightbox_assets/js/prototype.js create mode 100644 doc/html/lightbox_assets/js/scriptaculous.js create mode 100644 doc/html/logos_web.html create mode 100644 doc/html/manual.html create mode 100644 doc/html/overview.html create mode 100644 doc/html/robots.txt create mode 100644 doc/html/ru/index.html create mode 100644 doc/html/screenshots.html create mode 100644 doc/html/screenshots/.htaccess create mode 100644 doc/html/screenshots/Scheduler1.png create mode 100644 doc/html/screenshots/Scheduler2.png create mode 100644 doc/html/screenshots/Scheduler3.png create mode 100644 doc/html/screenshots/cmd-all-fixed-with-map.png create mode 100644 doc/html/screenshots/cmd-all-fixed.png create mode 100644 doc/html/screenshots/cmd-cde.png create mode 100644 doc/html/screenshots/cmd.png create mode 100644 doc/html/screenshots/context-menu-item.png create mode 100644 doc/html/screenshots/context-menu.png create mode 100644 doc/html/screenshots/defrag01.PNG create mode 100644 doc/html/screenshots/defrag02.PNG create mode 100644 doc/html/screenshots/full01.PNG create mode 100644 doc/html/screenshots/full02.PNG create mode 100644 doc/html/screenshots/full03.PNG create mode 100644 doc/html/screenshots/gui.png create mode 100644 doc/html/screenshots/initial.PNG create mode 100644 doc/html/screenshots/quick01.PNG create mode 100644 doc/html/screenshots/quick02.PNG create mode 100644 doc/html/screenshots/report.png create mode 100644 doc/html/screenshots/th/.htaccess create mode 100644 doc/html/screenshots/th/Scheduler1.png create mode 100644 doc/html/screenshots/th/Scheduler2.png create mode 100644 doc/html/screenshots/th/Scheduler3.png create mode 100644 doc/html/screenshots/th/cmd-all-fixed-with-map.png create mode 100644 doc/html/screenshots/th/cmd-all-fixed.png create mode 100644 doc/html/screenshots/th/cmd-cde.png create mode 100644 doc/html/screenshots/th/cmd.png create mode 100644 doc/html/screenshots/th/context-menu-item.png create mode 100644 doc/html/screenshots/th/context-menu.png create mode 100644 doc/html/screenshots/th/defrag01.png create mode 100644 doc/html/screenshots/th/defrag02.png create mode 100644 doc/html/screenshots/th/full01.png create mode 100644 doc/html/screenshots/th/full02.png create mode 100644 doc/html/screenshots/th/full03.png create mode 100644 doc/html/screenshots/th/gui.png create mode 100644 doc/html/screenshots/th/initial.png create mode 100644 doc/html/screenshots/th/quick01.png create mode 100644 doc/html/screenshots/th/quick02.png create mode 100644 doc/html/screenshots/th/report.png create mode 100644 doc/html/screenshots/th/xp-boot-time.png create mode 100644 doc/html/screenshots/xp-boot-time.png create mode 100644 doc/html/scrpt/images/p7ap_citrus_grade.jpg create mode 100644 doc/html/scrpt/images/p7ap_east_black.gif create mode 100644 doc/html/scrpt/images/p7ap_east_light_gray.gif create mode 100644 doc/html/scrpt/images/p7ap_east_med_gray.gif create mode 100644 doc/html/scrpt/images/p7ap_east_red.gif create mode 100644 doc/html/scrpt/images/p7ap_east_white.gif create mode 100644 doc/html/scrpt/images/p7ap_greystonebut.jpg create mode 100644 doc/html/scrpt/images/p7ap_light_gray_bevel.jpg create mode 100644 doc/html/scrpt/images/p7ap_south_black.gif create mode 100644 doc/html/scrpt/images/p7ap_south_light_gray.gif create mode 100644 doc/html/scrpt/images/p7ap_south_med_gray.gif create mode 100644 doc/html/scrpt/images/p7ap_south_red.gif create mode 100644 doc/html/scrpt/images/p7ap_south_white.gif create mode 100644 doc/html/scrpt/web.css create mode 100644 doc/html/scrpt/web.js create mode 100644 doc/html/sitemap.html create mode 100644 doc/html/sitemap.xml create mode 100644 doc/html/smiley_pack/angel0.gif create mode 100644 doc/html/smiley_pack/biggrin.gif create mode 100644 doc/html/smiley_pack/cheesy.gif create mode 100644 doc/html/smiley_pack/doh0.gif create mode 100644 doc/html/smiley_pack/great.gif create mode 100644 doc/html/smiley_pack/he.gif create mode 100644 doc/html/smiley_pack/jap.gif create mode 100644 doc/html/smiley_pack/santahat.gif create mode 100644 doc/html/smiley_pack/smile.gif create mode 100644 doc/html/smiley_pack/smiling0.gif create mode 100644 doc/html/smiley_pack/wink.gif create mode 100644 doc/html/stats/.htaccess create mode 100644 doc/html/style.css create mode 100644 doc/html/swf/logo.swf create mode 100644 doc/html/tmp/.htaccess create mode 100644 doc/html/tmp/readme.txt create mode 100644 doc/html/udefrag.ico create mode 100644 doc/html/version.ini create mode 100644 doc/html/wallp/UD_legend_1024.jpg create mode 100644 doc/html/wallp/UD_legend_1280.jpg create mode 100644 doc/html/wallp/UD_legend_800.jpg create mode 100644 doc/html/wallp/black_forest_1024.jpg create mode 100644 doc/html/wallp/black_forest_1280.jpg create mode 100644 doc/html/wallp/black_forest_800.jpg create mode 100644 doc/html/wallp/chaosdefrag_1024x768.jpg create mode 100644 doc/html/wallp/chaosdefrag_1280x1024.jpg create mode 100644 doc/html/wallp/chaosdefrag_1600x1280.jpg create mode 100644 doc/html/wallp/portable_white_1024.jpg create mode 100644 doc/html/wallp/portable_white_1280.jpg create mode 100644 doc/html/wallp/portable_white_800.jpg create mode 100644 doc/html/wallp/preview/UD_legend.jpg create mode 100644 doc/html/wallp/preview/black_forest.jpg create mode 100644 doc/html/wallp/preview/black_forest_thumb.jpg create mode 100644 doc/html/wallp/preview/chaosdefrag.jpg create mode 100644 doc/html/wallp/preview/chaosdefrag_thumb.jpg create mode 100644 doc/html/wallp/preview/portable_white.jpg create mode 100644 doc/html/wallp/preview/portable_white_thumb.jpg create mode 100644 doc/html/wallpapers.html create mode 100644 doc/html/y_key_8f7eb676f7c6e7c2.html create mode 100644 doc/man/BatchScriptingGuide.txt create mode 100644 doc/man/Defragmentation.txt create mode 100644 doc/man/GUI design guidelines.txt create mode 100644 doc/man/Native Windows API.txt create mode 100644 doc/man/Optimization.txt create mode 100644 doc/man/Security Guidelines.txt create mode 100644 doc/man/Thread-Safe Development.txt create mode 100644 doc/man/Windows NT(2000) Native API Reference.pdf create mode 100644 doc/man/binary trees.txt create mode 100644 doc/man/gnu.txt create mode 100644 doc/man/howto-add-translations.txt create mode 100644 doc/man/howto-release.txt create mode 100644 doc/man/installer guidelines.txt create mode 100644 doc/man/svn guidelines.txt create mode 100644 doc/obsolete-code.zip create mode 100644 doc/spec/Boot.txt create mode 100644 doc/spec/File Systems.txt create mode 100644 doc/spec/NTFS_On_Disk_Structure.pdf create mode 100644 doc/spec/ntfs_layout.h.htm create mode 100755 src/CODING_STYLE.TXT create mode 100755 src/CREDITS.TXT create mode 100755 src/CreateTranslationReport.cmd create mode 100755 src/Doxyfile create mode 100755 src/HISTORY.TXT create mode 100755 src/LICENSE.TXT create mode 100644 src/Makefile create mode 100755 src/ParseCommandLine.cmd create mode 100755 src/README.TXT create mode 100755 src/README.linux create mode 100755 src/bootexctrl/bootexctrl.build create mode 100755 src/bootexctrl/bootexctrl.c create mode 100755 src/bootexctrl/bootexctrl.manifest create mode 100755 src/bootexctrl/bootexctrl.mdsp create mode 100755 src/bootexctrl/bootexctrl.rc create mode 100755 src/build-docs.cmd create mode 100755 src/build-menu.cmd create mode 100755 src/build-release.cmd create mode 100755 src/build-src-package.cmd create mode 100755 src/build-targets.cmd create mode 100755 src/build.cmd create mode 100755 src/configure.lua create mode 100644 src/console/Makefile create mode 100644 src/console/console.68k create mode 100644 src/console/console.a64 create mode 100644 src/console/console.arm create mode 100644 src/console/console.knx create mode 100644 src/console/console.l64 create mode 100644 src/console/console.lnx create mode 100644 src/console/console.mak create mode 100644 src/console/console.ppc create mode 100644 src/console/console.spc create mode 100644 src/console/console.win create mode 100644 src/console/defrag.build create mode 100644 src/console/defrag.c create mode 100644 src/console/defrag.manifest create mode 100644 src/console/defrag.mdsp create mode 100644 src/console/defrag.rc create mode 100644 src/console/map.c create mode 100644 src/console/options.c create mode 100644 src/console/udefrag.h create mode 100644 src/dll/udefrag/Doxyfile create mode 100644 src/dll/udefrag/Makefile create mode 100644 src/dll/udefrag/analyze.c create mode 100644 src/dll/udefrag/defrag.c create mode 100644 src/dll/udefrag/int64.c create mode 100644 src/dll/udefrag/main.dox create mode 100644 src/dll/udefrag/map.c create mode 100644 src/dll/udefrag/move.c create mode 100644 src/dll/udefrag/optimize.c create mode 100644 src/dll/udefrag/options.c create mode 100644 src/dll/udefrag/reports.c create mode 100755 src/dll/udefrag/rsc/custom-doxygen.css create mode 100755 src/dll/udefrag/rsc/footer.html create mode 100755 src/dll/udefrag/rsc/header.html create mode 100755 src/dll/udefrag/rsc/logo_small.png create mode 100644 src/dll/udefrag/search.c create mode 100644 src/dll/udefrag/tasks.c create mode 100644 src/dll/udefrag/try.c create mode 100644 src/dll/udefrag/udefrag-internals.h create mode 100644 src/dll/udefrag/udefrag.68k create mode 100644 src/dll/udefrag/udefrag.a64 create mode 100644 src/dll/udefrag/udefrag.arm create mode 100644 src/dll/udefrag/udefrag.build create mode 100644 src/dll/udefrag/udefrag.c create mode 100644 src/dll/udefrag/udefrag.def create mode 100644 src/dll/udefrag/udefrag.h create mode 100644 src/dll/udefrag/udefrag.knx create mode 100644 src/dll/udefrag/udefrag.l64 create mode 100644 src/dll/udefrag/udefrag.lnx create mode 100644 src/dll/udefrag/udefrag.mak create mode 100644 src/dll/udefrag/udefrag.mdsp create mode 100644 src/dll/udefrag/udefrag.ppc create mode 100644 src/dll/udefrag/udefrag.rc create mode 100644 src/dll/udefrag/udefrag.spc create mode 100644 src/dll/udefrag/udefrag.win create mode 100644 src/dll/udefrag/volume.c create mode 100755 src/dll/wgx/Doxyfile create mode 100755 src/dll/wgx/accel.c create mode 100755 src/dll/wgx/config.c create mode 100755 src/dll/wgx/dbg.c create mode 100755 src/dll/wgx/font.c create mode 100755 src/dll/wgx/i18n.c create mode 100755 src/dll/wgx/main.dox create mode 100755 src/dll/wgx/menu.c create mode 100755 src/dll/wgx/misc.c create mode 100755 src/dll/wgx/rsc/custom-doxygen.css create mode 100755 src/dll/wgx/rsc/footer.html create mode 100755 src/dll/wgx/rsc/header.html create mode 100755 src/dll/wgx/rsc/logo_small.png create mode 100755 src/dll/wgx/shell.c create mode 100755 src/dll/wgx/web-analytics.c create mode 100755 src/dll/wgx/wgx.build create mode 100755 src/dll/wgx/wgx.c create mode 100755 src/dll/wgx/wgx.def create mode 100755 src/dll/wgx/wgx.h create mode 100755 src/dll/wgx/wgx.mdsp create mode 100755 src/dll/wgx/wgx.rc create mode 100644 src/dll/zenwinx/Doxyfile create mode 100644 src/dll/zenwinx/Makefile create mode 100644 src/dll/zenwinx/dbg.c create mode 100644 src/dll/zenwinx/env.c create mode 100644 src/dll/zenwinx/event.c create mode 100644 src/dll/zenwinx/file.c create mode 100644 src/dll/zenwinx/ftw.c create mode 100644 src/dll/zenwinx/ftw_ntfs.c create mode 100644 src/dll/zenwinx/index.html create mode 100644 src/dll/zenwinx/int64.c create mode 100644 src/dll/zenwinx/keyboard.c create mode 100644 src/dll/zenwinx/keytrans.c create mode 100644 src/dll/zenwinx/ldr.c create mode 100644 src/dll/zenwinx/list.c create mode 100644 src/dll/zenwinx/lock.c create mode 100644 src/dll/zenwinx/main.dox create mode 100644 src/dll/zenwinx/mem.c create mode 100644 src/dll/zenwinx/mingw_patch.cmd create mode 100644 src/dll/zenwinx/misc.c create mode 100644 src/dll/zenwinx/msvc_patch.cmd create mode 100644 src/dll/zenwinx/mutex.c create mode 100644 src/dll/zenwinx/myendians.h create mode 100644 src/dll/zenwinx/mytypes.h create mode 100644 src/dll/zenwinx/ntdll.def create mode 100644 src/dll/zenwinx/ntfs.h create mode 100644 src/dll/zenwinx/ntndk.h create mode 100644 src/dll/zenwinx/partition.h create mode 100644 src/dll/zenwinx/path.c create mode 100644 src/dll/zenwinx/prb.c create mode 100644 src/dll/zenwinx/prb.h create mode 100644 src/dll/zenwinx/privilege.c create mode 100644 src/dll/zenwinx/reg.c create mode 100755 src/dll/zenwinx/rsc/custom-doxygen.css create mode 100755 src/dll/zenwinx/rsc/footer.html create mode 100755 src/dll/zenwinx/rsc/header.html create mode 100755 src/dll/zenwinx/rsc/logo_small.png create mode 100644 src/dll/zenwinx/stdio.c create mode 100644 src/dll/zenwinx/string.c create mode 100644 src/dll/zenwinx/thread.c create mode 100644 src/dll/zenwinx/time.c create mode 100644 src/dll/zenwinx/version.h create mode 100644 src/dll/zenwinx/volume.c create mode 100644 src/dll/zenwinx/zenwinx.68k create mode 100644 src/dll/zenwinx/zenwinx.a64 create mode 100644 src/dll/zenwinx/zenwinx.arm create mode 100644 src/dll/zenwinx/zenwinx.build create mode 100644 src/dll/zenwinx/zenwinx.c create mode 100644 src/dll/zenwinx/zenwinx.def create mode 100644 src/dll/zenwinx/zenwinx.h create mode 100644 src/dll/zenwinx/zenwinx.knx create mode 100644 src/dll/zenwinx/zenwinx.l64 create mode 100644 src/dll/zenwinx/zenwinx.lnx create mode 100644 src/dll/zenwinx/zenwinx.mak create mode 100644 src/dll/zenwinx/zenwinx.mdsp create mode 100644 src/dll/zenwinx/zenwinx.ppc create mode 100644 src/dll/zenwinx/zenwinx.rc create mode 100644 src/dll/zenwinx/zenwinx.spc create mode 100644 src/dll/zenwinx/zenwinx.win create mode 100644 src/dll/zenwinx/zenwinxver.h create mode 100755 src/exclude-from-sources.lst create mode 100755 src/gui/about.c create mode 100755 src/gui/i18n.c create mode 100755 src/gui/i18n/Belarusian.lng create mode 100755 src/gui/i18n/Bulgarian.lng create mode 100755 src/gui/i18n/Burmese (Padauk).lng create mode 100755 src/gui/i18n/Catalan.lng create mode 100755 src/gui/i18n/Chinese (Simplified).lng create mode 100755 src/gui/i18n/Chinese (Traditional).lng create mode 100755 src/gui/i18n/Croatian.lng create mode 100755 src/gui/i18n/Czech.lng create mode 100755 src/gui/i18n/Danish.lng create mode 100755 src/gui/i18n/Dutch.lng create mode 100755 src/gui/i18n/English (GB).lng create mode 100755 src/gui/i18n/English (US).lng create mode 100755 src/gui/i18n/Estonian.lng create mode 100755 src/gui/i18n/Farsi.lng create mode 100755 src/gui/i18n/Filipino (Tagalog).lng create mode 100755 src/gui/i18n/Finnish.lng create mode 100755 src/gui/i18n/French (FR).lng create mode 100755 src/gui/i18n/Galician.lng create mode 100755 src/gui/i18n/German.lng create mode 100755 src/gui/i18n/Greek.lng create mode 100755 src/gui/i18n/Hebrew.lng create mode 100755 src/gui/i18n/Hindi.lng create mode 100755 src/gui/i18n/Hungarian.lng create mode 100755 src/gui/i18n/Icelandic.lng create mode 100755 src/gui/i18n/Iloko.lng create mode 100755 src/gui/i18n/Indonesian (Bahasa Indonesia).lng create mode 100755 src/gui/i18n/Indonesian.lng create mode 100755 src/gui/i18n/Italian.lng create mode 100755 src/gui/i18n/Japanese.lng create mode 100755 src/gui/i18n/Javanese.lng create mode 100755 src/gui/i18n/Korean.lng create mode 100755 src/gui/i18n/Latin.lng create mode 100755 src/gui/i18n/Latvian.lng create mode 100755 src/gui/i18n/Macedonian.lng create mode 100755 src/gui/i18n/Norwegian.lng create mode 100755 src/gui/i18n/Polish.lng create mode 100755 src/gui/i18n/Portuguese (BR).lng create mode 100755 src/gui/i18n/Portuguese.lng create mode 100755 src/gui/i18n/Romanian.lng create mode 100755 src/gui/i18n/Russian.lng create mode 100755 src/gui/i18n/Serbian.lng create mode 100755 src/gui/i18n/Slovak.lng create mode 100755 src/gui/i18n/Slovenian.lng create mode 100755 src/gui/i18n/Spanish (AR).lng create mode 100755 src/gui/i18n/Spanish (ES).lng create mode 100755 src/gui/i18n/Spanish (MEX).lng create mode 100755 src/gui/i18n/Swedish.lng create mode 100755 src/gui/i18n/Tamil.lng create mode 100755 src/gui/i18n/Thai.lng create mode 100755 src/gui/i18n/TranslationReport.txt create mode 100755 src/gui/i18n/TranslationReportWiki.txt create mode 100755 src/gui/i18n/Turkish.lng create mode 100755 src/gui/i18n/Ukrainian.lng create mode 100755 src/gui/i18n/Vietnamese (VI).lng create mode 100755 src/gui/i18n/Yiddish.lng create mode 100755 src/gui/i18n/translation.template create mode 100755 src/gui/job.c create mode 100755 src/gui/main.c create mode 100755 src/gui/main.h create mode 100755 src/gui/map.c create mode 100755 src/gui/menu.c create mode 100755 src/gui/prb.c create mode 100755 src/gui/prb.h create mode 100755 src/gui/progress.c create mode 100755 src/gui/reports.c create mode 100755 src/gui/res/app.ico create mode 100755 src/gui/res/cmp.ico create mode 100755 src/gui/res/dir.ico create mode 100755 src/gui/res/fixed.ico create mode 100755 src/gui/res/fragm.ico create mode 100755 src/gui/res/menu_monochrome.bmp create mode 100755 src/gui/res/mft.ico create mode 100755 src/gui/res/removable.ico create mode 100755 src/gui/res/ship.bmp create mode 100755 src/gui/res/ship_8bit.bmp create mode 100755 src/gui/res/shutdown.ico create mode 100755 src/gui/res/toolbar16.bmp create mode 100755 src/gui/res/toolbar16d.bmp create mode 100755 src/gui/res/toolbar16h.bmp create mode 100755 src/gui/res/toolbar24.bmp create mode 100755 src/gui/res/toolbar24d.bmp create mode 100755 src/gui/res/toolbar24h.bmp create mode 100755 src/gui/res/toolbar8.bmp create mode 100755 src/gui/res/toolbar8d.bmp create mode 100755 src/gui/res/toolbar8h.bmp create mode 100755 src/gui/res/ultradefrag.manifest create mode 100755 src/gui/res/unfragm.ico create mode 100755 src/gui/resource.h create mode 100755 src/gui/settings.c create mode 100755 src/gui/shutdown.c create mode 100755 src/gui/statbar.c create mode 100755 src/gui/toolbar.c create mode 100755 src/gui/ultradefrag.build create mode 100755 src/gui/ultradefrag.mdsp create mode 100755 src/gui/ultradefrag.rc create mode 100755 src/gui/upgrade.c create mode 100755 src/gui/vollist.c create mode 100755 src/hibernate/hibernate.build create mode 100755 src/hibernate/hibernate.c create mode 100755 src/hibernate/hibernate.manifest create mode 100755 src/hibernate/hibernate.rc create mode 100755 src/hibernate/readme.txt create mode 100755 src/icons-for-mdsp-files/project.ico create mode 100755 src/icons-for-mdsp-files/project_cfg.ico create mode 100755 src/icons-for-mdsp-files/project_console.ico create mode 100755 src/icons-for-mdsp-files/project_driver.ico create mode 100755 src/icons-for-mdsp-files/project_gui.ico create mode 100755 src/icons-for-mdsp-files/project_native.ico create mode 100755 src/icons-for-mdsp-files/project_udefrag.ico create mode 100755 src/icons-for-mdsp-files/project_wgx.ico create mode 100755 src/icons-for-mdsp-files/project_zen.ico create mode 100755 src/icons-for-mdsp-files/readme.txt create mode 100644 src/include/compiler.h create mode 100644 src/include/extrawin.h create mode 100644 src/include/linux.h create mode 100644 src/include/ultradfgver.h create mode 100644 src/include/version.h create mode 100755 src/installer/LanguageSelector.nsh create mode 100755 src/installer/PortableUltraDefrag.bmp create mode 100755 src/installer/PresetSections.nsh create mode 100755 src/installer/UltraDefrag.bmp create mode 100755 src/installer/UltraDefrag.nsh create mode 100755 src/installer/UltraDefrag.nsi create mode 100755 src/installer/WelcomePageBitmap.bmp create mode 100755 src/installer/boot-config.cmd create mode 100755 src/installer/boot-off.cmd create mode 100755 src/installer/boot-on.cmd create mode 100755 src/installer/lang.ini create mode 100755 src/installer/shellex-folder.ico create mode 100755 src/installer/shellex.ico create mode 100755 src/installer/ud-boot-time.cmd create mode 100755 src/installer/ud-boot-time.ini create mode 100755 src/installer/ud-help.cmd create mode 100755 src/installer/udefrag-install.ico create mode 100755 src/installer/udefrag-uninstall.ico create mode 100755 src/lua5.1/Doxyfile create mode 100755 src/lua5.1/Readme.txt create mode 100755 src/lua5.1/lapi.c create mode 100755 src/lua5.1/lapi.h create mode 100755 src/lua5.1/lauxlib.c create mode 100755 src/lua5.1/lauxlib.h create mode 100755 src/lua5.1/lbaselib.c create mode 100755 src/lua5.1/lcode.c create mode 100755 src/lua5.1/lcode.h create mode 100755 src/lua5.1/ldblib.c create mode 100755 src/lua5.1/ldebug.c create mode 100755 src/lua5.1/ldebug.h create mode 100755 src/lua5.1/ldo.c create mode 100755 src/lua5.1/ldo.h create mode 100755 src/lua5.1/ldump.c create mode 100755 src/lua5.1/lfunc.c create mode 100755 src/lua5.1/lfunc.h create mode 100755 src/lua5.1/lgc.c create mode 100755 src/lua5.1/lgc.h create mode 100755 src/lua5.1/linit.c create mode 100755 src/lua5.1/liolib.c create mode 100755 src/lua5.1/llex.c create mode 100755 src/lua5.1/llex.h create mode 100755 src/lua5.1/llimits.h create mode 100755 src/lua5.1/lmathlib.c create mode 100755 src/lua5.1/lmem.c create mode 100755 src/lua5.1/lmem.h create mode 100755 src/lua5.1/loadlib.c create mode 100755 src/lua5.1/lobject.c create mode 100755 src/lua5.1/lobject.h create mode 100755 src/lua5.1/lopcodes.c create mode 100755 src/lua5.1/lopcodes.h create mode 100755 src/lua5.1/loslib.c create mode 100755 src/lua5.1/lparser.c create mode 100755 src/lua5.1/lparser.h create mode 100755 src/lua5.1/lstate.c create mode 100755 src/lua5.1/lstate.h create mode 100755 src/lua5.1/lstring.c create mode 100755 src/lua5.1/lstring.h create mode 100755 src/lua5.1/lstrlib.c create mode 100755 src/lua5.1/ltable.c create mode 100755 src/lua5.1/ltable.h create mode 100755 src/lua5.1/ltablib.c create mode 100755 src/lua5.1/ltm.c create mode 100755 src/lua5.1/ltm.h create mode 100755 src/lua5.1/lua.c create mode 100755 src/lua5.1/lua.h create mode 100755 src/lua5.1/lua.ico create mode 100755 src/lua5.1/lua.manifest create mode 100755 src/lua5.1/lua.rc create mode 100755 src/lua5.1/lua5.1.def create mode 100755 src/lua5.1/lua5.1a_dll.build create mode 100755 src/lua5.1/lua5.1a_exe.build create mode 100755 src/lua5.1/lua5.1a_gui.build create mode 100755 src/lua5.1/lua_gui.c create mode 100755 src/lua5.1/lua_gui.mdsp create mode 100755 src/lua5.1/lua_gui.rc create mode 100755 src/lua5.1/luac.c create mode 100755 src/lua5.1/luaconf.h create mode 100755 src/lua5.1/lualib.h create mode 100755 src/lua5.1/luar.ico create mode 100755 src/lua5.1/lundump.c create mode 100755 src/lua5.1/lundump.h create mode 100755 src/lua5.1/lvm.c create mode 100755 src/lua5.1/lvm.h create mode 100755 src/lua5.1/lzio.c create mode 100755 src/lua5.1/lzio.h create mode 100755 src/lua5.1/print.c create mode 100755 src/make-default-doxygen-html-files.cmd create mode 100755 src/make-lang-ini.cmd create mode 100755 src/make-manifests.cmd create mode 100755 src/man/boot-off.man create mode 100755 src/man/boot-on.man create mode 100755 src/man/call.man create mode 100755 src/man/echo.man create mode 100755 src/man/exit.man create mode 100755 src/man/help.man create mode 100755 src/man/hexview.man create mode 100755 src/man/history.man create mode 100755 src/man/man.man create mode 100755 src/man/pause.man create mode 100755 src/man/readme.txt create mode 100755 src/man/reboot.man create mode 100755 src/man/set.man create mode 100755 src/man/shutdown.man create mode 100755 src/man/type.man create mode 100755 src/man/udefrag.man create mode 100755 src/man/variables.man create mode 100755 src/native/commands.c create mode 100755 src/native/defrag_native.build create mode 100755 src/native/defrag_native.c create mode 100755 src/native/defrag_native.h create mode 100755 src/native/defrag_native.mdsp create mode 100755 src/native/defrag_native.rc create mode 100755 src/native/script.c create mode 100755 src/native/udefrag.c create mode 100755 src/rsc/compilation.dox create mode 100755 src/rsc/config.lua.png create mode 100755 src/rsc/custom-doxygen.css create mode 100755 src/rsc/design.dox create mode 100755 src/rsc/devnotes.dox create mode 100755 src/rsc/fdl.dox create mode 100755 src/rsc/footer.html create mode 100755 src/rsc/gpl.dox create mode 100755 src/rsc/header.html create mode 100755 src/rsc/logo_small.png create mode 100755 src/rsc/main.dox create mode 100755 src/rsc/udscheme.png create mode 100755 src/scripts/udreport.css create mode 100755 src/scripts/udreportcnv.lua create mode 100755 src/scripts/udreportopts.lua create mode 100755 src/scripts/udsorting.js create mode 100755 src/scripts/upgrade-guiopts.lua create mode 100755 src/setvars.cmd create mode 100755 src/setvars_SATELLITE_Stefan.cmd create mode 100755 src/setvars_VM-WIN7_Stefan.cmd create mode 100644 src/share/Readme.txt create mode 100755 src/share/getopt.c create mode 100755 src/share/getopt.h create mode 100755 src/share/getopt1.c create mode 100755 src/tools/md5sum.exe create mode 100755 src/tools/mkmod.lua create mode 100755 src/tools/readme.txt create mode 100755 src/tools/set-doxyfile-project-number.lua create mode 100755 src/tools/upx/COPYING create mode 100755 src/tools/upx/LICENSE create mode 100755 src/tools/upx/upx.exe create mode 100644 src/udefrag.68k create mode 100644 src/udefrag.a64 create mode 100644 src/udefrag.arm create mode 100644 src/udefrag.knx create mode 100644 src/udefrag.l64 create mode 100644 src/udefrag.lnx create mode 100644 src/udefrag.mak create mode 100644 src/udefrag.ppc create mode 100644 src/udefrag.spc create mode 100644 src/udefrag.win create mode 100755 src/upgrade-doxygen-config-files.cmd create mode 100644 src/wincalls/Makefile create mode 100644 src/wincalls/curses.c create mode 100644 src/wincalls/ntfs-3g.c create mode 100644 src/wincalls/ntfs-3g.h create mode 100644 src/wincalls/wincalls.68k create mode 100644 src/wincalls/wincalls.a64 create mode 100644 src/wincalls/wincalls.arm create mode 100644 src/wincalls/wincalls.c create mode 100644 src/wincalls/wincalls.knx create mode 100644 src/wincalls/wincalls.l64 create mode 100644 src/wincalls/wincalls.lnx create mode 100644 src/wincalls/wincalls.mak create mode 100644 src/wincalls/wincalls.ppc create mode 100644 src/wincalls/wincalls.spc create mode 100644 src/wincalls/wincalls.win create mode 100644 src/wincalls/windows.c diff --git a/Released/Read Me First.txt b/Released/Read Me First.txt new file mode 100644 index 0000000..d78d952 --- /dev/null +++ b/Released/Read Me First.txt @@ -0,0 +1,9 @@ +This folder contains the entire repository in the state it was released. + +This enables applying and releasing small changes, like updating translations +and minor fixes, without interfering with the main development stream. + +A branch of the doc and src folders must be created here after a release +overwriting the current contents. + +Do not make the branch the working copy. diff --git a/TestSuite/Boot Time Commands/Install Test Suite.cmd b/TestSuite/Boot Time Commands/Install Test Suite.cmd new file mode 100644 index 0000000..5d82c54 --- /dev/null +++ b/TestSuite/Boot Time Commands/Install Test Suite.cmd @@ -0,0 +1,103 @@ +@echo off + +:: +:: This script will install the Ultradefrag Boot Time Defrag Test Suite on your system. +:: Copyright (c) 2010 by Stefan Pendl (stefanpe@users.sourceforge.net). +:: +:: This program is free software; you can redistribute it and/or modify +:: it under the terms of the GNU General Public License as published by +:: the Free Software Foundation; either version 2 of the License, or +:: (at your option) any later version. +:: +:: This program is distributed in the hope that it will be useful, +:: but WITHOUT ANY WARRANTY; without even the implied warranty of +:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +:: GNU General Public License for more details. +:: +:: You should have received a copy of the GNU General Public License +:: along with this program; if not, write to the Free Software +:: Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +:: + +:: check for administrative rights +for /f "tokens=2 delims=[" %%V in ('ver') do set test=%%V +for /f "tokens=2" %%V in ('echo %test%') do set test1=%%V +for /f "tokens=1,2 delims=." %%V in ('echo %test1%') do set OSversion=%%V.%%W + +if %OSversion% LSS 6.0 goto :IsAdmin + +if /i %USERNAME% == Administrator goto :IsAdmin +if not defined SESSIONNAME goto :IsAdmin + +echo. +echo This script must be run by the Administrator !!! +goto :quit + +:IsAdmin +cd /D %~dp0 + +rem For Windows XP x64 Edition we need to force notepad. +rem For Windows Vista and higher x64 Editions +rem there is the SysNative workaround for Notepad++ +set force_default_editor=0 + +set default_editor=notepad +set boot_time_scripts=ud-boot-time.cmd "%SystemRoot%\System32\ud-boot-time.cmd" + +for /F "tokens=2 delims=[]" %%V in ('ver') do for /F "tokens=2" %%R in ( 'echo %%V' ) do set win_ver=%%R + +if %PROCESSOR_ARCHITECTURE% == AMD64 ( + if %win_ver% LSS 6 ( + set force_default_editor=1 + ) else ( + set boot_time_scripts=ud-boot-time.cmd "%SystemRoot%\SysNative\ud-boot-time.cmd" + ) +) + +title Installing Ultradefrag Boot Time Test Suite + +echo. +echo Select Action for Default Test Suite Boot Time Script +echo. +echo 1 ... Replace existing Boot Time Script +echo 2 ... Edit existing Boot Time Script +echo 3 ... Only Copy Test Scripts +echo. +echo 0 ... EXIT +echo. +set /P answer="Select an Option: " +echo. + +if %answer% LEQ 3 goto %answer% + +:0 +goto :quit + +:1 +copy /b /v /y ud-boot-time.cmd %SystemRoot%\System32 +goto :3 + +:2 +set editor_cmd=%default_editor% + +if %force_default_editor% == 1 goto :3 + +set editor_cmd="%ProgramFiles(x86)%\Notepad++\notepad++.exe" +if not exist %editor_cmd% set editor_cmd="%ProgramFiles%\Notepad++\notepad++.exe" +if not exist %editor_cmd% set editor_cmd=%default_editor% + +:3 +rem copy test command scripts +copy /b /v /y ud-boot-time-test-*.cmd C:\ + +if %answer% NEQ 2 goto :quit + +if %editor_cmd% == %default_editor% ( + for %%F in ( %boot_time_scripts% ) do start "" %editor_cmd% "%%~F" +) else ( + %editor_cmd% %boot_time_scripts% +) + +:quit +echo. +pause diff --git a/TestSuite/Boot Time Commands/ud-boot-time-test-call.cmd b/TestSuite/Boot Time Commands/ud-boot-time-test-call.cmd new file mode 100644 index 0000000000000000000000000000000000000000..d846a816df57b2f8268f908897af4cd1f243b791 GIT binary patch literal 822 zcmd6mu};H45JX>%#6KKWps*zx3TPlWKqLr79QqI(u#^x4MB?j#cWcs8TPxdhyR&yU zzPX?8a~c-Bup#*@jeYhwqv%O=yGicuznHP&lXvD+>RASQwqvNKjg>@A%i3CEs@g{W zD)2&X%bT2j>OLSxV#2)|Mx2J08^-ELT=~5=?*MQiy3JIjcyez!um-Y@i}T|fW; literal 0 HcmV?d00001 diff --git a/TestSuite/Boot Time Commands/ud-boot-time-test-debug.cmd b/TestSuite/Boot Time Commands/ud-boot-time-test-debug.cmd new file mode 100644 index 0000000000000000000000000000000000000000..917f28baea9861a843cf80222f2f8df64cdd728c GIT binary patch literal 2232 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 literal 0 HcmV?d00001 diff --git a/TestSuite/Check against Windows Utilities/CheckVolumes.cmd b/TestSuite/Check against Windows Utilities/CheckVolumes.cmd new file mode 100644 index 0000000..5f50aa2 --- /dev/null +++ b/TestSuite/Check against Windows Utilities/CheckVolumes.cmd @@ -0,0 +1,77 @@ +@rem +@echo off + +:: +:: This test utility collects output of Windows utilities chkdsk and defrag. +:: Copyright (c) 2010 by Stefan Pendl (stefanpe@users.sourceforge.net). +:: +:: This program is free software; you can redistribute it and/or modify +:: it under the terms of the GNU General Public License as published by +:: the Free Software Foundation; either version 2 of the License, or +:: (at your option) any later version. +:: +:: This program is distributed in the hope that it will be useful, +:: but WITHOUT ANY WARRANTY; without even the implied warranty of +:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +:: GNU General Public License for more details. +:: +:: You should have received a copy of the GNU General Public License +:: along with this program; if not, write to the Free Software +:: Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +:: + +:: check for administrative rights +for /f "tokens=2 delims=[" %%V in ('ver') do set test=%%V +for /f "tokens=2" %%V in ('echo %test%') do set test1=%%V +for /f "tokens=1,2 delims=." %%V in ('echo %test1%') do set OSversion=%%V.%%W + +if %OSversion% LSS 6.0 goto :IsAdmin + +if /i %USERNAME% == Administrator goto :IsAdmin +if not defined SESSIONNAME goto :IsAdmin + +echo. +echo This script must be run by the Administrator !!! +goto :quit + +:IsAdmin +for /F "tokens=2 delims=[]" %%V in ('ver') do for /F "tokens=2" %%R in ( 'echo %%V' ) do set win_ver=%%R + +echo. +for /F "tokens=1 skip=8" %%D in ( 'udefrag -l' ) do call :process %%D + +:quit +echo. +pause +goto :EOF + +:process + set drive_tmp=%1 + set drive=%drive_tmp:~0,1% + + echo Processing %1 ... + echo Running CHKDSK .... + call :RunUtility chkdsk %1 >"%COMPUTERNAME%_%drive%_chkdsk.log" 2>nul + + if %win_ver% GEQ 5.1 ( + echo Running DEFRAG .... + call :RunUtility defrag %1 >"%COMPUTERNAME%_%drive%_defrag.log" 2>nul + ) + + echo Running UDEFRAG ... + call :RunUtility udefrag %1 >"%COMPUTERNAME%_%drive%_udefrag.log" 2>nul + echo ------------------------ +goto :EOF + +:RunUtility + echo. + echo Started "%*" at %DATE% - %TIME% + echo ------------------------------- + echo. + if /i "%1" == "chkdsk" chkdsk %2 | findstr /v /i "Prozent percent" + if /i "%1" == "defrag" defrag -a -v %2 + if /i "%1" == "udefrag" udefrag -a -v %2 + echo. + echo ------------------------------- + echo Finished "%*" at %DATE% - %TIME% +goto :EOF diff --git a/TestSuite/CommonRoutines/winx_fwrite.c b/TestSuite/CommonRoutines/winx_fwrite.c new file mode 100644 index 0000000..b726a75 --- /dev/null +++ b/TestSuite/CommonRoutines/winx_fwrite.c @@ -0,0 +1,161 @@ +/* + * Test suite for winx_fwrite(). + * Copyright (c) 2010 by Dmitri Arkhangelski (dmitriar@gmail.com). + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +static int winx_fwrite_test_buffered_io(char *filename,char **strings,int test_number,int buffer_size); +static int winx_fwrite_test_compare(char *filename,char **strings,int total_length,int test_number); + +/* +* accepts native filenames like that: +* \??\C:\test.txt +* returns zero on success, negative value otherwise +*/ +int winx_fwrite_test(char *filename) +{ + WINX_FILE *f; + char *strings[] = { + "Sherlock Holmes took his bottle from the corner of the mantelpiece, \r\n", + "and his hypodermic syringe from its neat morocco case. With his long, \r\n", + "white, nervous fingers he adjusted the delicate needle and rolled back \r\n", + "his left shirtcuff. For some little time his eyes rested thoughtfully \r\n", + "upon the sinewy forearm and wrist, all dotted and scarred with innumerable \r\n", + NULL + }; + int total_length; + int i; + + /* 1. test not buffered i/o */ + f = winx_fopen(filename,"w"); + if(f == NULL){ + DebugPrint("@winx_fwrite_test: winx_fopen failed in test 1\n"); + return (-1); + } + total_length = 0; + for(i = 0; strings[i]; i++){ + total_length += strlen(strings[i]); + if(!winx_fwrite(strings[i],sizeof(char),strlen(strings[i]),f)){ + DebugPrint("@winx_fwrite_test: winx_fwrite failed in test 1 for %s\n",strings[i]); + winx_fclose(f); + return (-1); + } + } + winx_fclose(f); + if(winx_fwrite_test_compare(filename,strings,total_length,1) < 0){ + return (-1); + } + + /* 2. test buffered i/o with negative buffer size */ + if(winx_fwrite_test_buffered_io(filename,strings,2,-100) < 0) + return (-1); + + /* 3. test buffered i/o with zero buffer size */ + if(winx_fwrite_test_buffered_io(filename,strings,3,0) < 0) + return (-1); + + /* 4. test buffered i/o with small buffer size */ + if(winx_fwrite_test_buffered_io(filename,strings,4,10) < 0) + return (-1); + + /* 5. test buffered i/o with medium buffer size */ + if(winx_fwrite_test_buffered_io(filename,strings,5,170) < 0) + return (-1); + + /* 6. test buffered i/o with large buffer size */ + if(winx_fwrite_test_buffered_io(filename,strings,6,10000) < 0) + return (-1); + + /* 7. test buffered i/o with buffer size equal to the length of the first string */ + if(winx_fwrite_test_buffered_io(filename,strings,7,strlen(strings[0])) < 0) + return (-1); + + /* 8. test buffered i/o with buffer size equal to the length of the first two strings */ + if(winx_fwrite_test_buffered_io(filename,strings,8,strlen(strings[0]) + strlen(strings[1])) < 0) + return (-1); + + /* 9. test buffered i/o with buffer size equal to the length of the first three strings */ + if(winx_fwrite_test_buffered_io(filename,strings,9,strlen(strings[0]) + strlen(strings[1]) + strlen(strings[2])) < 0) + return (-1); + + /* 10. test buffered i/o with buffer size equal to the length of all strings */ + if(winx_fwrite_test_buffered_io(filename,strings,10,total_length) < 0) + return (-1); + + DebugPrint("@winx_fwrite_test: all tests passed!\n"); + return 0; +} + +static int winx_fwrite_test_buffered_io(char *filename,char **strings,int test_number,int buffer_size) +{ + WINX_FILE *f; + int total_length; + int i; + + f = winx_fbopen(filename,"w",buffer_size); + if(f == NULL){ + DebugPrint("@winx_fwrite_test: winx_fbopen failed in test %i\n",test_number); + return (-1); + } + total_length = 0; + for(i = 0; strings[i]; i++){ + total_length += strlen(strings[i]); + if(!winx_fwrite(strings[i],sizeof(char),strlen(strings[i]),f)){ + DebugPrint("@winx_fwrite_test: winx_fwrite failed in test %i for %s\n",test_number,strings[i]); + winx_fclose(f); + return (-1); + } + } + winx_fclose(f); + if(winx_fwrite_test_compare(filename,strings,total_length,test_number) < 0){ + return (-1); + } + return 0; +} + +static int winx_fwrite_test_compare(char *filename,char **strings,int total_length,int test_number) +{ + int i; + char *written_strings; + size_t written_data_length; + int j, n; + + /* read the entire file contents */ + written_strings = (char *)winx_get_file_contents(filename,&written_data_length); + if(written_strings == NULL){ + DebugPrint("@winx_fwrite_test: winx_get_file_contents failed in test %i\n",test_number); + return (-1); + } + if(written_data_length != total_length){ + DebugPrint("@winx_fwrite_test: size mismatch in test %i\n",test_number); + winx_release_file_contents((void *)written_strings); + return (-1); + } + /* compare the file contents with original data */ + j = 0; + for(i = 0; strings[i]; i++){ + n = strlen(strings[i]); + if(memcmp(written_strings + j,strings[i],n) != 0){ + DebugPrint("@winx_fwrite_test: contents mismatch in test %i\n",test_number); + winx_release_file_contents((void *)written_strings); + return (-1); + } + j += n; + } + winx_release_file_contents((void *)written_strings); + DebugPrint("@winx_fwrite_test: test %i passed\n",test_number); + return 0; +} diff --git a/TestSuite/CommonRoutines/winx_print_strings_test.c b/TestSuite/CommonRoutines/winx_print_strings_test.c new file mode 100644 index 0000000..fc5147e --- /dev/null +++ b/TestSuite/CommonRoutines/winx_print_strings_test.c @@ -0,0 +1,211 @@ +/* + * Test suite for winx_print_array_of_strings(). + * Copyright (c) 2010 by Dmitri Arkhangelski (dmitriar@gmail.com). + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include +#include +#include +#include + +#define DEFAULT_PROMPT_TO_HIT_ANY_KEY " Hit any key to display next page..." +#define DEFAULT_TAB_WIDTH 2 +int __cdecl winx_print_array_of_strings(char **strings,int line_width,int max_rows,char *prompt,int divide_to_pages); + +char *strings[] = { + "Sherlock Holmes took his bottle from the corner of the mantelpiece, " + "and his hypodermic syringe from its neat morocco case. With his long, " + "white, nervous fingers he adjusted the delicate needle and rolled back " + "his left shirtcuff. For some little time his eyes rested thoughtfully " + "upon the sinewy forearm and wrist, all dotted and scarred with innumerable " + "puncture-marks. Finally, he thrust the sharp point home, pressed down the tiny " + "piston, and sank back into the velvet-lined armchair with a long sigh of satisfaction.", + "", + "Three times a day for many months I had witnessed this performance, " + "but custom had not reconciled my mind to it. On the contrary, from " + "day to day I had become more irritable at the sight, and my conscience " + "swelled nightly within me at the thought that I had lacked the courage " + "to protest. Again and again I had registered a vow that I should deliver " + "my soul upon the subject; but there was that in the cool, nonchalant air " + "of my companion which made him the last man with whom one would care to " + "take anything approaching to a liberty. His great powers, his masterly manner, " + "and the experience which I had had of his many extraordinary qualities, all " + "made me diffident and backward in crossing him. ", + "", + "Yet upon that afternoon, whether it was the Beaune which I had taken with " + "my lunch or the additional exasperation produced by the extreme deliberation " + "of his manner, I suddenly felt that I could hold out no longer. ", + "", + "this_is_a_very_very_long_word_qwertyuiop[]asdfghjkl;'zxcvbnm,./1234567890~!@#$#$#%$^%$^%&^&(*&(**)(*", + "", + "first line \rsecond\nthird\r\n4th\n\r5th\n\n\n8th", + "", + "before_tab\tafter_tab\t\tafter_two_tabs", + "", + NULL +}; + +int main(void) +{ + winx_print_array_of_strings(strings,60,24," Hit any key to continue...",1); + printf("Test completed, hit any key to exit...\n"); + getch(); + return 0; +} + +/* returns 1 if break or escape was pressed, zero otherwise */ +static int print_line(char *line_buffer,char *prompt,int max_rows,int *rows_printed,int last_line) +{ + printf("%s\n",line_buffer); + (*rows_printed) ++; + + if(*rows_printed == max_rows && !last_line){ + *rows_printed = 0; + printf("\n%s\n",prompt); + if(getch() == 0x1b){ /* esc */ + printf("\n"); + return 1; + } + printf("\n"); + } + return 0; +} + +int __cdecl winx_print_array_of_strings(char **strings,int line_width,int max_rows,char *prompt,int divide_to_pages) +{ + int i, j, k, index, length; + char *line_buffer, *second_buffer; + int n, r; + int rows_printed; + + if(!strings) return (-1); + + /* handle situation when text must be displayed entirely */ + if(!divide_to_pages){ + for(i = 0; strings[i] != NULL; i++) + printf("%s\n",strings[i]); + return 0; + } + + if(!line_width || !max_rows) return (-1); + if(prompt == NULL) prompt = DEFAULT_PROMPT_TO_HIT_ANY_KEY; + + /* allocate space for prompt on the screen */ + max_rows -= 3; + + /* allocate memory for line buffer */ + line_buffer = malloc(line_width + 1); + if(!line_buffer){ + printf("Cannot allocate %u bytes of memory for winx_print_array_of_strings()!", + line_width + 1); + return (-1); + } + /* allocate memory for second ancillary buffer */ + second_buffer = malloc(line_width + 1); + if(!second_buffer){ + printf("Cannot allocate %u bytes of memory for winx_print_array_of_strings()!", + line_width + 1); + free(line_buffer); + return (-1); + } + + /* start to display strings */ + rows_printed = 0; + for(i = 0; strings[i] != NULL; i++){ + line_buffer[0] = 0; + index = 0; + length = strlen(strings[i]); + for(j = 0; j < length; j++){ + /* handle \n, \r, \r\n, \n\r sequencies */ + n = r = 0; + if(strings[i][j] == '\n') n = 1; + else if(strings[i][j] == '\r') r = 1; + if(n || r){ + /* print buffer */ + line_buffer[index] = 0; + if(print_line(line_buffer,prompt,max_rows,&rows_printed,0)) + goto cleanup; + /* reset buffer */ + line_buffer[0] = 0; + index = 0; + /* skip sequence */ + j++; + if(j == length) goto print_rest_of_string; + if((strings[i][j] == '\n' && r) || (strings[i][j] == '\r' && n)){ + continue; + } else { + if(strings[i][j] == '\n' || strings[i][j] == '\r'){ + /* process repeating new lines */ + j--; + continue; + } + /* we have an ordinary character or tabulation -> process them */ + } + } + /* handle horizontal tabulation by replacing it by DEFAULT_TAB_WIDTH spaces */ + if(strings[i][j] == '\t'){ + for(k = 0; k < DEFAULT_TAB_WIDTH; k++){ + line_buffer[index] = 0x20; + index ++; + if(index == line_width){ + if(j == length - 1) goto print_rest_of_string; + line_buffer[index] = 0; + if(print_line(line_buffer,prompt,max_rows,&rows_printed,0)) + goto cleanup; + line_buffer[0] = 0; + index = 0; + break; + } + } + continue; + } + /* handle ordinary characters */ + line_buffer[index] = strings[i][j]; + index ++; + if(index == line_width){ + if(j == length - 1) goto print_rest_of_string; + line_buffer[index] = 0; + /* break line between words, if possible */ + for(k = index - 1; k > 0; k--){ + if(line_buffer[k] == 0x20) break; + } + if(line_buffer[k] == 0x20){ /* space character found */ + strcpy(second_buffer,line_buffer + k + 1); + line_buffer[k] = 0; + if(print_line(line_buffer,prompt,max_rows,&rows_printed,0)) + goto cleanup; + strcpy(line_buffer,second_buffer); + index = strlen(line_buffer); + } else { + if(print_line(line_buffer,prompt,max_rows,&rows_printed,0)) + goto cleanup; + line_buffer[0] = 0; + index = 0; + } + } + } +print_rest_of_string: + line_buffer[index] = 0; + if(print_line(line_buffer,prompt,max_rows,&rows_printed, + (strings[i+1] == NULL) ? 1 : 0)) goto cleanup; + } + +cleanup: + free(line_buffer); + free(second_buffer); + return 0; +} diff --git a/TestSuite/Create Bug Report Log File.cmd b/TestSuite/Create Bug Report Log File.cmd new file mode 100644 index 0000000..73d5432 --- /dev/null +++ b/TestSuite/Create Bug Report Log File.cmd @@ -0,0 +1,170 @@ +@rem +@echo off + +:: +:: This script is used to create a log file for a bug report. +:: Copyright (c) 2010-2011 by Stefan Pendl (stefanpe@users.sourceforge.net). +:: +:: This program is free software; you can redistribute it and/or modify +:: it under the terms of the GNU General Public License as published by +:: the Free Software Foundation; either version 2 of the License, or +:: (at your option) any later version. +:: +:: This program is distributed in the hope that it will be useful, +:: but WITHOUT ANY WARRANTY; without even the implied warranty of +:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +:: GNU General Public License for more details. +:: +:: You should have received a copy of the GNU General Public License +:: along with this program; if not, write to the Free Software +:: Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +:: + +:: check for administrative rights +for /f "tokens=2 delims=[" %%V in ('ver') do set test=%%V +for /f "tokens=2" %%V in ('echo %test%') do set test1=%%V +for /f "tokens=1,2 delims=." %%V in ('echo %test1%') do set OSversion=%%V.%%W + +if %OSversion% LSS 6.0 goto :IsAdmin + +if /i %USERNAME% == Administrator goto :IsAdmin +if not defined SESSIONNAME goto :IsAdmin + +echo. +echo This script must be run by the Administrator !!! +goto :quit + +:IsAdmin +title UltraDefrag - Create Bug Report Log File + +:SelectVolume +:: collect volumes that can be processed +cls +echo. +echo Collecting available volumes ... +echo. +set MenuItem=0 +set ItemList= + +for /f "tokens=1,6* skip=8" %%D in ('udefrag -l') do call :AddToItemList %%~D & call :DisplayMenuItem %%~D - "%%~F" + +echo. +echo 0 ... EXIT +echo. +set /p SelectedVolume="Select volume to process: " + +if "%SelectedVolume%" == "" goto :EOF +if %SelectedVolume% EQU 0 goto :EOF + +if %SelectedVolume% LEQ %MenuItem% goto :GetDriveLetter +echo. +echo Selection must be between 0 and %MenuItem% !!! +echo. +pause +goto :SelectVolume + +:GetDriveLetter +for /f "tokens=%SelectedVolume%" %%V in ("%ItemList%") do set ProcessVolume=%%~V + +:SelectAction +:: select action to take +cls +echo. +set MenuItem=0 +set ItemList=-a -d -q -o + +for %%D in ("Analyze" "Defrag" "Quick Optimize" "Full Optimize") do call :DisplayMenuItem %%~D + +echo. +echo 0 ... EXIT +echo. +set /p SelectedAction="Select action to take: " + +if "%SelectedAction%" == "" goto :EOF +if %SelectedAction% EQU 0 goto :EOF + +if %SelectedAction% LEQ %MenuItem% goto :GetAction +echo. +echo Selection must be between 0 and %MenuItem% !!! +echo. +pause +goto :SelectAction + +:GetAction +for /f "tokens=%SelectedAction%" %%V in ("%ItemList%") do set ProcessAction=%%~V +if "%ProcessAction%" == "-d" set ProcessAction= + +set ItemList=Analyze Defrag QuickOptimize FullOptimize +for /f "tokens=%SelectedAction%" %%V in ("%ItemList%") do set ActionName=%%~V + +:AskRepeatAction +:: ask if we like to repeat the action +echo. +set /p RepeatAction="Repeat action for volume %ProcessVolume%? (Y/[N]) " +if /i not "%RepeatAction%" == "Y" ( + set RepeatAction= +) else ( + set RepeatAction=-r +) + +:SelectLogLevel +:: select log level to use +cls +echo. +set MenuItem=0 +set ItemList=DETAILED PARANOID + +for %%D in ("Detailed" "Paranoid") do call :DisplayMenuItem %%~D + +echo. +echo 0 ... EXIT +echo. +set /p SelectedLogLevel="Select log level to use: " + +if "%SelectedLogLevel%" == "" goto :EOF +if %SelectedLogLevel% EQU 0 goto :EOF + +if %SelectedLogLevel% LEQ %MenuItem% goto :GetLogLevel +echo. +echo Selection must be between 0 and %MenuItem% !!! +echo. +pause +goto :SelectLogLevel + +:GetLogLevel +for /f "tokens=%SelectedLogLevel%" %%V in ("%ItemList%") do set ProcessLogLevel=%%~V + +cls +echo. +set UD_DBGPRINT_LEVEL=%ProcessLogLevel% +echo Debug level set to "%UD_DBGPRINT_LEVEL%" +echo. +set UD_LOG_FILE_PATH=%SystemRoot%\UltraDefrag\Logs\udefrag_%ActionName%_%ProcessVolume:~0,1%.log +echo Using log file "%UD_LOG_FILE_PATH%" +echo. +echo. +echo Executing "udefrag %RepeatAction% %ProcessAction% %ProcessVolume%"... +echo. +echo. +udefrag %RepeatAction% %ProcessAction% %ProcessVolume% + +title Operation Completed ... + +:quit +echo. +pause + +goto :EOF + +:DisplayMenuItem + set /a MenuItem+=1 + echo %MenuItem% ... %* +goto :EOF + +:AddToItemList + if "%ItemList%" == "" ( + set ItemList=%~1 + ) else ( + set ItemList=%ItemList% %~1 + ) +goto :EOF diff --git a/TestSuite/Create Fragmented Volumes/Create Fragmented Volumes.cmd b/TestSuite/Create Fragmented Volumes/Create Fragmented Volumes.cmd new file mode 100644 index 0000000..8c7b7ae --- /dev/null +++ b/TestSuite/Create Fragmented Volumes/Create Fragmented Volumes.cmd @@ -0,0 +1,475 @@ +@rem +@echo off + +:: +:: This script is used to create fragmented test volumes. +:: Copyright (c) 2010-2011 by Stefan Pendl (stefanpe@users.sourceforge.net). +:: +:: This program is free software; you can redistribute it and/or modify +:: it under the terms of the GNU General Public License as published by +:: the Free Software Foundation; either version 2 of the License, or +:: (at your option) any later version. +:: +:: This program is distributed in the hope that it will be useful, +:: but WITHOUT ANY WARRANTY; without even the implied warranty of +:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +:: GNU General Public License for more details. +:: +:: You should have received a copy of the GNU General Public License +:: along with this program; if not, write to the Free Software +:: Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +:: + +:: check for administrative rights +for /f "tokens=2 delims=[" %%V in ('ver') do set test=%%V +for /f "tokens=2" %%V in ('echo %test%') do set test1=%%V +for /f "tokens=1,2 delims=." %%V in ('echo %test1%') do set OSversion=%%V.%%W + +if %OSversion% LSS 6.0 goto :IsAdmin + +if /i %USERNAME% == Administrator goto :IsAdmin +if not defined SESSIONNAME goto :IsAdmin + +echo. +echo This script must be run by the Administrator !!! +goto :quit + +:IsAdmin +title UltraDefrag - Test Volume Fragmentation Creator + +:: +:: it uses the fragmentation utility included in MyDefrag +:: available at http://www.mydefrag.com/ +:: +for /d %%D in ( "%ProgramFiles%\MyDefrag*" ) do set MyDefragDir=%%~D + +if "%MyDefragDir%" == "" ( + echo. + echo MyDefrag not installed ... aborting! + echo. + pause + goto :EOF +) + +:: +:: get install language from registry +:: +echo. +echo Getting language from registry, please wait ... + +set YES= +set InstallLanguage=X +for /f "tokens=3" %%L in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Nls\Language" /v InstallLanguage') do set InstallLanguage=%%L + +:: German installation +for %%L in (0407 0c07 1407 1007 0807) do if %InstallLanguage% == %%L set YES=J + +:: English installation +for %%L in (0409 0809 0c09 2809 1009 2409 3c09 4009 3809 1809 2009 4409 1409 3409 4809 1c09 2c09 3009) do if %InstallLanguage% == %%L set YES=Y + +if not "%YES%" == "" goto :SelectVolume +:: the following must be set to the character representing "YES" +:: this is needed to run the format utility without user interaction +echo. +set /p YES="Enter the letter that represents YES in your language [Y]: " +if "%YES%" == "" set YES=Y + +:SelectVolume +:: collect volumes that can be used as test volumes +cls +echo. +echo Collecting available volumes ... +echo. +set MenuItem=0 +set FoundVolumes= + +for /f "tokens=1,6* skip=8" %%D in ('udefrag -l') do call :AddToDriveList %%~D & if not %%~D == %SystemDrive% call :DisplayMenuItem %%~D - "%%~F" + +echo. +echo 0 ... EXIT +echo. +set /p SelectedVolume="Select volume to process: " + +if "%SelectedVolume%" == "" goto :EOF +if %SelectedVolume% EQU 0 goto :EOF + +if %SelectedVolume% LEQ %MenuItem% goto :GetDriveLetter +echo. +echo Selection must be between 0 and %MenuItem% !!! +echo. +pause +goto :SelectVolume + +:GetDriveLetter +for /f "tokens=%SelectedVolume%" %%V in ("%FoundVolumes%") do set ProcessVolume=%%~V + +:: ask if we like to format the volume +echo. +set /p FormatVolume="Format volume %ProcessVolume%? (Y/[N]) " +if /i not "%FormatVolume%" == "Y" ( + set FormatVolume=N +) else ( + set FormatVolume=Y +) +if "%FormatVolume%" == "N" goto :SelectFragmentationRate + +:: collect available volume types +for /f "tokens=2 delims=[" %%V in ('ver') do set test=%%V +for /f "tokens=2" %%V in ('echo %test%') do set test1=%%V +for /f "tokens=1,2 delims=." %%V in ('echo %test1%') do set OSversion=%%V.%%W + +:: FAT volumes +set AvailableTypes=FAT FAT32 +set SelectionTypes=FAT-FAT32 +if %OSversion% GEQ 5.1 ( + set AvailableTypes=%AvailableTypes% exFAT + set SelectionTypes=%SelectionTypes%-exFAT +) + +:: NTFS volumes +set AvailableTypes=%AvailableTypes% NTFS "NTFS compressed" "NTFS mixed" +set SelectionTypes=%SelectionTypes%-NTFS-NTFS compressed-NTFS mixed + +:: UDF volumes +if %OSversion% GEQ 6.0 ( + set AvailableTypes=%AvailableTypes% "UDF 1.02" "UDF 1.50" "UDF 2.00" "UDF 2.01" "UDF 2.50" "UDF 2.50 mirror" + set SelectionTypes=%SelectionTypes%-UDF 1.02-UDF 1.50-UDF 2.00-UDF 2.01-UDF 2.50-UDF 2.50 mirror +) + +:SelectVolumeType +cls +echo. +set MenuItem=0 +for %%I in (%AvailableTypes%) do call :DisplayMenuItem %%~I + +echo. +echo 0 ... EXIT +echo. +set /p SelectedType="Select new volume type: " + +if "%SelectedType%" == "" goto :EOF +if %SelectedType% EQU 0 goto :EOF + +if %SelectedType% LEQ %MenuItem% goto :GetVolumeType +echo. +echo Selection must be between 0 and %MenuItem% !!! +echo. +pause +goto :SelectVolumeType + +:GetVolumeType +for /f "tokens=%SelectedType% delims=-" %%V in ('echo %SelectionTypes%') do set SelectedVolumeType=%%~V + +:SelectFreeSpace +cls +echo. +echo Values 1 to 9 will be multiplied by 10 +echo any other value will be used as is + +echo. +echo 0 ... EXIT +echo. +set /p value="Enter percentage of free Space: " + +if "%value%" == "" goto :EOF +if %value% EQU 0 goto :EOF + +set PercentageFree=0 + +if %value% LEQ 100 set PercentageFree=%value% +if %value% LSS 10 set /a PercentageFree="value * 10" + +if %PercentageFree% GTR 0 goto :SelectSmallFileRate + +echo. +echo Selection must be between 0 and 100 !!! +echo. +pause +goto :SelectFreeSpace + +:SelectSmallFileRate +echo. +echo -------------------------------------- +echo. +echo Enter the small files rate, +echo x out of 10 files should be below 512kB. +echo. +set /p SmallFileRate="Enter a value between 1 and 10 for x: " + +if "%SmallFileRate%" == "" set SmallFileRate=1 +if %SmallFileRate% LEQ 0 set SmallFileRate=1 +if %SmallFileRate% GTR 10 set SmallFileRate=10 + +:SelectFragmentationRate +echo. +echo -------------------------------------- +echo. +echo Enter the fragmentation rate, +echo every x-th file should be fragmented. +echo. +set /p FragmentationRate="Enter a value between 1 and 100 for x: " + +if "%FragmentationRate%" == "" set FragmentationRate=1 +if %FragmentationRate% LEQ 0 set FragmentationRate=1 +if %FragmentationRate% GTR 100 set FragmentationRate=100 + +call :delay 0 + +if "%FormatVolume%" == "N" goto :ParseVolumeLabel + +for /f "tokens=1,2,3" %%R in ('echo %SelectedVolumeType%') do ( + set ex_type=%%R + set option1=%%S + set option2=%%T +) + +set VolumeName=%ex_type% +if not "%option1%" == "" set VolumeName=%VolumeName%_%option1:.=% +if not "%option2%" == "" set VolumeName=%VolumeName%_%option2% +set VolumeName=%VolumeName%_sr%SmallFileRate%_fr%FragmentationRate% + +call :answers >"%TMP%\answers.txt" + +title Setting Volume Label of "%ProcessVolume%" ... +echo. +set CommandLine=label %ProcessVolume% TEST +echo %CommandLine% +echo. +%CommandLine% + +call :delay 2 + +title Formatting Drive "%ProcessVolume%" ... + +set Switches= + +if not "%ex_type%" == "FAT" if not "%ex_type%" == "FAT32" if not "%ex_type%" == "exFAT" goto :NTFS +goto :DoFormat + +:NTFS +if not "%ex_type%" == "NTFS" goto :UDF +if "%option1%" == "compressed" set Switches=/C +goto :DoFormat + +:UDF +set Switches=/R:%option1% +if "%option2%" == "mirror" set Switches=%Switches% /D + +:DoFormat +echo. +set CommandLine=format %ProcessVolume% /FS:%ex_type% /V:%VolumeName% %Switches% /X +echo %CommandLine% +echo. +%CommandLine% <"%TMP%\answers.txt" + +call :delay 5 + +goto :StartProcess + +:ParseVolumeLabel +for /f "tokens=1,5,6* skip=8" %%D in ('udefrag -l') do if %%~D == %ProcessVolume% set PercentageFree=%%E & set VolumeName="%%~G" + +for /f "tokens=1,2,3,4 delims=_" %%R in ('echo %VolumeName:"=%') do ( + set ex_type=%%R + set option1=%%S + set option2=%%T + set option3=%%U +) + +set ApplyLabel=0 + +if not "%ex_type%" == "FAT" if not "%ex_type%" == "FAT32" if not "%ex_type%" == "exFAT" goto :makeNTFS +set ApplyLabel=1 +set VolumeName=%ex_type% + +:makeNTFS +if not "%ex_type%" == "NTFS" goto :makeUDF +set ApplyLabel=1 +set VolumeName=%ex_type% +if not "%option1%" == "compressed" if not "%option1%" == "mixed" goto :makeUDF +set VolumeName=%VolumeName%_%option1% + +:makeUDF +if not "%ex_type%" == "UDF" goto :ApplyVolumeLabel +set ApplyLabel=1 +set VolumeName=%ex_type% +set VolumeName=%VolumeName%_%option1:.=% +if "%option2%" == "mirror" set VolumeName=%VolumeName%_%option2% + +:ApplyVolumeLabel +if %ApplyLabel% EQU 0 goto :StartProcess +set temp_var=%option1:~0,2% +if "%temp_var%" == "sr" set SmallFileRate=%option1:~2% +set temp_var=%option2:~0,2% +if "%temp_var%" == "sr" set SmallFileRate=%option2:~2% +set temp_var=%option3:~0,2% +if "%temp_var%" == "sr" set SmallFileRate=%option3:~2% +set VolumeName=%VolumeName%_sr%SmallFileRate%_fr%FragmentationRate% + +title Setting Volume Label of "%ProcessVolume%" ... +echo. +set CommandLine=label %ProcessVolume% %VolumeName% +echo %CommandLine% +echo. +%CommandLine% + +call :delay 2 + +:StartProcess +rem process the volume +call :FragmentDrive "%ProcessVolume%" + +title Operation Completed ... + +:quit +echo. +pause + +goto :EOF + +:DisplayMenuItem + set /a MenuItem+=1 + echo %MenuItem% ... %* +goto :EOF + +:AddToDriveList + if %~1 == %SystemDrive% goto :EOF + + if "%FoundVolumes%" == "" ( + set FoundVolumes=%~1 + ) else ( + set FoundVolumes=%FoundVolumes% %~1 + ) +goto :EOF + +:FragmentDrive + title Checking Drive "%~1" ... + echo Executing ... chkdsk %~1 /r /f + echo. & echo %YES% | chkdsk %~1 /r /f + + call :delay 2 + + set /a size="24 + %RANDOM% / 3" + set /a fragments="%RANDOM% / 1365" + set count=0 + set NoCompr=0 + set dest=%~1 + set ExitCode=0 + + if "%FormatVolume%" == "Y" goto :create + + title Changing Fragmented Files on Drive "%~1 (%VolumeName%)" ... + echo Changing Fragmented Files on Drive "%~1 (%VolumeName%)" ... + echo. + + for /r "%~1" %%X in ( *.* ) do ( + call :doFragment "%%~X" "%%~zX" || goto :finished + call :increment + ping -n 3 localhost >NUL + ) + + goto :finished + + :create + title Creating Fragmented Files on Drive "%~1 (%VolumeName%)" until %PercentageFree%%% free space left ... + echo Creating Fragmented Files on Drive "%~1 (%VolumeName%)" until %PercentageFree%%% free space left ... + echo. + + :loop + call :doit "%~1" || goto :finished + call :increment + ping -n 3 localhost >NUL + for /f "tokens=1,5 skip=8" %%X in ( 'udefrag -l' ) do if "%%~X" == "%~1" if %PercentageFree% LEQ %%Y goto :loop + + :finished + if %ExitCode% GTR 0 ( + echo. + echo Operation failed ... + ) else ( + echo. + echo Operation succeeded ... + ) + + call :delay 5 + + title Checking Drive "%~1" ... + echo Executing ... chkdsk %~1 /r /f + echo. & echo %YES% | chkdsk %~1 /r /f + + call :delay 2 +goto :EOF + +:answers + echo TEST + echo %YES% +goto :EOF + +:doFragment + set /a size="%~2 / 1024" + + set count_fmt= %count% + set size_fmt= %size% + set frag_fmt= %fragments% + + echo File %count_fmt:~-3% ... %size_fmt:~-6% kB ... %frag_fmt:~-3% Fragments ... "%~1" + + "%MyDefragDir%\MyFragmenter.exe" -p %fragments% "%~1" >NUL + set ExitCode=%ERRORLEVEL% + exit /B %ExitCode% +goto :EOF + +:doit + if %count% EQU 0 goto :skip + if %NoFolder% EQU 0 set dest=%~1\folder_%count% + if %NoFolder% EQU 0 echo Folder %dest% + if %NoFolder% EQU 0 mkdir "%dest%" + :skip + + set count_fmt= %count% + set size_fmt= %size% + set frag_fmt= %fragments% + + echo File %count_fmt:~-3% ... %size_fmt:~-6% kB ... %frag_fmt:~-3% Fragments + + "%MyDefragDir%\MyFragmenter.exe" -p %fragments% -s %size% "%dest%\file_%count%.bin" >NUL + set ExitCode=%ERRORLEVEL% + if %ExitCode% GTR 0 exit /B %ExitCode% + + if "%option1%" == "mixed" if %NoCompr% EQU 0 compact /c "%dest%\file_%count%.bin" >NUL + set ExitCode=%ERRORLEVEL% + exit /B %ExitCode% +goto :EOF + +:delay + set /a seconds="%1 + 1" + echo. + if %seconds% == 1 ( + echo ============================================ + ) else ( + echo -------------------------------------------- + ping -n %seconds% localhost >NUL + ) + echo. +goto :EOF + +:increment + set /a count+=1 + + set /a NoFolder="count %% 10" + set /a NoCompr="count %% 5" + + if %NoFolder% LSS %SmallFileRate% ( + set divisor=64 + ) else ( + set divisor=3 + ) + + set /a size="24 + %RANDOM% / %divisor%" + set /a fragments="%RANDOM% / 1365" + + set /a quotient="count %% %FragmentationRate%" + + if %quotient% EQU 0 goto :EOF + + set fragments=0 +goto :EOF diff --git a/TestSuite/Create Fragmented Volumes/ReadMe_First.txt b/TestSuite/Create Fragmented Volumes/ReadMe_First.txt new file mode 100644 index 0000000..4540eab --- /dev/null +++ b/TestSuite/Create Fragmented Volumes/ReadMe_First.txt @@ -0,0 +1,69 @@ + +General Information: + + This test suite is designed to be used with volumes of 1GB in size, + which allows for a really short processing time. + + It is used on a virtual machine to test the algorithm. + + The following file systems are supported: + + 1) FAT + 2) FAT32 + 3) exFAT (1) + 4) NTFS + 5) NTFS compressed + (with compression enabled) + 6) NTFS mixed + (with 25% of compressed files, which mimics a regular system disk) + 7) UDF v1.02 (2) + 8) UDF v1.50 (2) + 9) UDF v2.00 (2) + 10) UDF v2.01 (2) + 11) UDF v2.50 (2) + 12) UDF v2.50 with duplicated meta-data (2) + + The fragmentation utility from http://www.mydefrag.com/ is used to create + fragmented files. + + For cloning the disks to test different settings on the same data you may use + HDClone available freely at http://www.miray.de/products/sat.hdclone.html + + You can change the number of fragmented files by not formating the drive. + This way the current files will be fragmented. + + (1) exFAT is only included with Vista and above. + For Windows XP SP2 and SP3 you need to download and install + the driver from http://support.microsoft.com/kb/955704/en-us + Windows XP SP1 and below do not support exFAT. + + (2) UDF is only included with Vista and above. + +--- + + !!! CAUTION !!! + + If you select to format the volume make sure to not use a volume, + where you have valuable data stored else your data is lost. + + It is best to use virtual test volumes without any existing data. + +--- + +Setup: + + 1) Prepare separate volumes, 1GB in size with the disk management utility + + 2) assign a volume letter and any file system, so it can be found by the utility + + a) You will be asked for the volume to process, which you select from the menu + + b) If you format the volume you will be asked to select one of the supported file systems + + 3) CHKDSK is executed before and after the fragmented files creation process, + to make sure the volume is consistent. + + 4) It is best to always format the volume to always start with a fresh volume, + this will detect bad clusters. + In addition do only use volumes of 1GB in size, since quick format is not used, which + would only clear the file allocation table and would not detect bad clusters. diff --git a/TestSuite/Create Fragmented Volumes/VirtualBox Create Test Hardisks.cmd b/TestSuite/Create Fragmented Volumes/VirtualBox Create Test Hardisks.cmd new file mode 100644 index 0000000..f4e652f --- /dev/null +++ b/TestSuite/Create Fragmented Volumes/VirtualBox Create Test Hardisks.cmd @@ -0,0 +1,122 @@ +@rem +@echo off +:: +:: This script creates virtual harddisks +:: It is tested with VirtualBox v4.1 +:: +:: It can be used to create NewHardDisk{Index}.vdi files +:: in the folders containing virtual machines +:: +:: Copyright (c) 2010-2011 by Stefan Pendl (stefanpe@users.sourceforge.net). +:: +:: This program is free software; you can redistribute it and/or modify +:: it under the terms of the GNU General Public License as published by +:: the Free Software Foundation; either version 2 of the License, or +:: (at your option) any later version. +:: +:: This program is distributed in the hope that it will be useful, +:: but WITHOUT ANY WARRANTY; without even the implied warranty of +:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +:: GNU General Public License for more details. +:: +:: You should have received a copy of the GNU General Public License +:: along with this program; if not, write to the Free Software +:: Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +:: + +setlocal enabledelayedexpansion + +title %~n0 + +:: installation folder of VirtualBox +for /f "tokens=2*" %%I in ('reg query "HKLM\SOFTWARE\Oracle\VirtualBox" /v InstallDir') do set VBoxRoot=%%~J +if "%VBoxRoot%" == "" goto :noVBroot +if not exist "%VBoxRoot%" goto :noVBroot + +:: Folder containing the virtual machines +if not exist "%USERPROFILE%\.VirtualBox\VirtualBox.xml" goto :noVMRoot + +for /f "tokens=2" %%D in ('findstr "defaultMachineFolder" "%USERPROFILE%\.VirtualBox\VirtualBox.xml"') do set VMRootTMP1=%%~D +set VMRootTMP=%VMRootTMP1:"=% +if "%VMRootTMP%" == "" goto :noVMRoot + +for /f "tokens=2 delims==" %%D in ('echo "%VMRootTMP%"') do set VMRootTMP1=%%~D +set VMRoot=%VMRootTMP1:"=% +if "%VMRoot%" == "" goto :noVMRoot +if not exist "%VMRoot%" goto :noVMRoot + +cd /d %VMRoot% + +:DisplayVMlist +cls +set MenuItem=0 +set MenuSelectionsTMP= +echo. +for /d %%V in ( * ) do set /a MenuItem+=1 & echo !MenuItem! ... "%%~V" & set MenuSelectionsTMP=!MenuSelectionsTMP!:%%~V + +set MenuSelections=%MenuSelectionsTMP:~1% +echo. +echo 0 ... EXIT +echo. +set /p SelectedItem="Select the VM to create disks for: " + +if "%SelectedItem%" == "" goto :quit +if %SelectedItem% EQU 0 goto :quit + +if %SelectedItem% LEQ %MenuItem% goto :CreateDisks + +echo. +echo Please enter a number in the range of 0 to %MenuItem%. +echo. +pause +goto :DisplayVMlist + +:CreateDisks +for /f "tokens=%SelectedItem% delims=:" %%S in ('echo %MenuSelections%') do set SelectedVM=%%~S + +echo. +echo For Windows 2000 the maximum disk count is 8, +echo since the controller dosn't support more! +echo. +set /p MaxIndex="Enter number of disks to create (0 to exit, maximum 15): " +if "%MaxIndex%" == "" goto :quit +if %MaxIndex% EQU 0 goto :quit +if %MaxIndex% GTR 15 set MaxIndex=15 + +cd /d %VBoxRoot% + +for /L %%F in (1,1,%MaxIndex%) do ( + set HardDiskName="%VMRoot%\%SelectedVM%\%SelectedVM: =_%_TestDisk_%%F.vdi" + + echo. + echo --------------------------------------- + echo. + + if not exist !HardDiskName! ( + echo Creating !HardDiskName! ... + echo. + VBoxManage createhd --filename !HardDiskName! --size 1024 + ) else ( + echo Modifying !HardDiskName! ... + echo. + VBoxManage modifyhd !HardDiskName! --resize 1024 + ) +) + +:quit +echo. +echo --------------------------------------- +echo. +pause + +goto :EOF + +:noVBroot +echo. +echo VirtualBox not installed, aborting ... +goto :quit + +:noVMRoot +echo. +echo Harddisk Root Folder missing, aborting ... +goto :quit diff --git a/doc/SF_files_readme.txt b/doc/SF_files_readme.txt new file mode 100644 index 0000000..7cc2699 --- /dev/null +++ b/doc/SF_files_readme.txt @@ -0,0 +1,25 @@ +Package and Windows version relation: + + i386 .... for 32-bit Windows on Intel and AMD processors + AMD64 ... for 64-bit Windows on Intel and AMD processors + + IA64 .... for Windows Itanium on Intel Itanium processors only + +Package contents: + + regular (with installer): + ultradefrag ... full package with GUI, console and boot time components, + allows installing the micro edition too by omitting the GUI components + + portable (for removable drives, no installer): + ultradefrag ... full package with GUI and console components, + micro edition can be extracted by using only the console components + +Release stages explained: + + alpha ... new features implemented and tested, problems may be experienced + used to test major changes + beta .... base features implemented and tested, problems may be experienced + used to test minor changes + RC ...... release candidate, all features are implemented and fully tested + used to iron out last remaining problems diff --git a/doc/doxygen_defaults/generate_defaults.cmd b/doc/doxygen_defaults/generate_defaults.cmd new file mode 100644 index 0000000..3b905a3 --- /dev/null +++ b/doc/doxygen_defaults/generate_defaults.cmd @@ -0,0 +1,30 @@ +@echo off +:: +:: This utility will generate the default HTML header, footer and CSS style sheet +:: for a default doxygen configuration without any additional customization +:: +:: Three versions will be created: +:: 1) regular ... no search and treeview +:: 2) search .... search only +:: 3) tree ...... treeview only +:: +echo. + +del /f /q default_*.* + +doxygen -g default_Doxyfile + +echo Generating Default HTML files with Search... +echo PROJECT_NAME=Default >>default_Doxyfile +doxygen -w html default_header_search.html default_footer_search.html default_doxygen_search.css default_Doxyfile + +echo Generating Default HTML files... +echo SEARCHENGINE=NO >>default_Doxyfile +doxygen -w html default_header_regular.html default_footer_regular.html default_doxygen_regular.css default_Doxyfile + +echo Generating Default HTML files with Treeview... +echo GENERATE_TREEVIEW=YES >>default_Doxyfile +doxygen -w html default_header_tree.html default_footer_tree.html default_doxygen_tree.css default_Doxyfile + +echo. +pause diff --git a/doc/html/.htaccess b/doc/html/.htaccess new file mode 100644 index 0000000..3bb747e --- /dev/null +++ b/doc/html/.htaccess @@ -0,0 +1,5 @@ +ErrorDocument 404 /Error_Pages/404.html +# enable expirations +ExpiresActive On +# expire icon after a month in the client's cache +ExpiresByType image/ico A2592000 diff --git a/doc/html/Error_Pages/404.html b/doc/html/Error_Pages/404.html new file mode 100644 index 0000000..089bb80 --- /dev/null +++ b/doc/html/Error_Pages/404.html @@ -0,0 +1,48 @@ +UltraDefrag error 404 + +

http://www.ultradefrag.com

+

 

+

!!! You seem to be lost my friend !!!!!

+

This is a page not found error.

+

It means, that the location you wanted to access does no longer exist

+

or has been moved to some other place.

+

+ + to go to the UltraDefrag home page.

+

+ +

+ + \ No newline at end of file diff --git a/doc/html/Error_Pages/back.jpg b/doc/html/Error_Pages/back.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dfc8807a5a96bcda6ddae64633acce3904d7616f GIT binary patch literal 12348 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 Uow3PeVxzOjtrHpKo~f7r3m143n*aa+ literal 0 HcmV?d00001 diff --git a/doc/html/Error_Pages/gradientbg.jpg b/doc/html/Error_Pages/gradientbg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ed88f4c914fc2caf38db9e5aac39432629ce768f GIT binary patch literal 337 zcmex=uI=H%w(=K}(Mey}1a#RK7?>VxzCA7BvVU^v0R$jm6nz$D1XEXer(2tyD9BM<;x zi2$rDoM<9IIRT&$Gm1K4#=yiRK@=g78UJrF@BkGu2{H>Z*fYE>*}NdEeL{4D*6D@| L2rIxW{{J@tj9Vv} literal 0 HcmV?d00001 diff --git a/doc/html/Scripts/AC_RunActiveContent.js b/doc/html/Scripts/AC_RunActiveContent.js new file mode 100644 index 0000000..bcb6010 --- /dev/null +++ b/doc/html/Scripts/AC_RunActiveContent.js @@ -0,0 +1,288 @@ +var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false; +var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false; +var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false; + +function ControlVersion() +{ + var version; + var axo; + var e; + + // NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry + + try { + // version will be set for 7.X or greater players + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"); + version = axo.GetVariable("$version"); + } catch (e) { + } + + if (!version) + { + try { + // version will be set for 6.X players only + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"); + + // installed player is some revision of 6.0 + // GetVariable("$version") crashes for versions 6.0.22 through 6.0.29, + // so we have to be careful. + + // default to the first public version + version = "WIN 6,0,21,0"; + + // throws if AllowScripAccess does not exist (introduced in 6.0r47) + axo.AllowScriptAccess = "always"; + + // safe to call for 6.0r47 or greater + version = axo.GetVariable("$version"); + + } catch (e) { + } + } + + if (!version) + { + try { + // version will be set for 4.X or 5.X player + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3"); + version = axo.GetVariable("$version"); + } catch (e) { + } + } + + if (!version) + { + try { + // version will be set for 3.X player + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3"); + version = "WIN 3,0,18,0"; + } catch (e) { + } + } + + if (!version) + { + try { + // version will be set for 2.X player + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); + version = "WIN 2,0,0,11"; + } catch (e) { + version = -1; + } + } + + return version; +} + +// JavaScript helper required to detect Flash Player PlugIn version information +function GetSwfVer(){ + // NS/Opera version >= 3 check for Flash plugin in plugin array + var flashVer = -1; + + if (navigator.plugins != null && navigator.plugins.length > 0) { + if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) { + var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : ""; + var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description; + var descArray = flashDescription.split(" "); + var tempArrayMajor = descArray[2].split("."); + var versionMajor = tempArrayMajor[0]; + var versionMinor = tempArrayMajor[1]; + var versionRevision = descArray[3]; + if (versionRevision == "") { + versionRevision = descArray[4]; + } + if (versionRevision[0] == "d") { + versionRevision = versionRevision.substring(1); + } else if (versionRevision[0] == "r") { + versionRevision = versionRevision.substring(1); + if (versionRevision.indexOf("d") > 0) { + versionRevision = versionRevision.substring(0, versionRevision.indexOf("d")); + } + } + var flashVer = versionMajor + "." + versionMinor + "." + versionRevision; + } + } + // MSN/WebTV 2.6 supports Flash 4 + else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4; + // WebTV 2.5 supports Flash 3 + else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3; + // older WebTV supports Flash 2 + else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2; + else if ( isIE && isWin && !isOpera ) { + flashVer = ControlVersion(); + } + return flashVer; +} + +// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available +function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) +{ + versionStr = GetSwfVer(); + if (versionStr == -1 ) { + return false; + } else if (versionStr != 0) { + if(isIE && isWin && !isOpera) { + // Given "WIN 2,0,0,11" + tempArray = versionStr.split(" "); // ["WIN", "2,0,0,11"] + tempString = tempArray[1]; // "2,0,0,11" + versionArray = tempString.split(","); // ['2', '0', '0', '11'] + } else { + versionArray = versionStr.split("."); + } + var versionMajor = versionArray[0]; + var versionMinor = versionArray[1]; + var versionRevision = versionArray[2]; + + // is the major.revision >= requested major.revision AND the minor version >= requested minor + if (versionMajor > parseFloat(reqMajorVer)) { + return true; + } else if (versionMajor == parseFloat(reqMajorVer)) { + if (versionMinor > parseFloat(reqMinorVer)) + return true; + else if (versionMinor == parseFloat(reqMinorVer)) { + if (versionRevision >= parseFloat(reqRevision)) + return true; + } + } + return false; + } +} + +function AC_AddExtension(src, ext) +{ + if (src.indexOf('?') != -1) + return src.replace(/\?/, ext+'?'); + else + return src + ext; +} + +function AC_Generateobj(objAttrs, params, embedAttrs) +{ + var str = ''; + if (isIE && isWin && !isOpera) + { + str += ' '; + } + str += ''; + } + else + { + str += '0) + { + if(isFirstEntry) + { + camelizedString = oStringList[i]; + isFirstEntry = false; + } + else + { + var s = oStringList[i]; + camelizedString += s.charAt(0).toUpperCase() + s.substring(1); + } + } + } + + return camelizedString; +} + +Spry.Effect.Utils.isPercentValue = function(value) +{ + var result = false; + try + { + if (value.lastIndexOf("%") > 0) + result = true; + } + catch (e) {} + return result; +} + +Spry.Effect.Utils.getPercentValue = function(value) +{ + var result = 0; + try + { + result = Number(value.substring(0, value.lastIndexOf("%"))); + } + catch (e) {Spry.Effect.Utils.showError('Spry.Effect.Utils.getPercentValue: ' + e);} + return result; +} + +Spry.Effect.Utils.getPixelValue = function(value) +{ + var result = 0; + try + { + result = Number(value.substring(0, value.lastIndexOf("px"))); + } + catch (e) {} + return result; +} + +Spry.Effect.Utils.getFirstChildElement = function(node) +{ + if (node) + { + var childCurr = node.firstChild; + + while (childCurr) + { + if (childCurr.nodeType == 1) // Node.ELEMENT_NODE + return childCurr; + + childCurr = childCurr.nextSibling; + } + } + + return null; +}; + +Spry.Effect.Utils.fetchChildImages = function(startEltIn, targetImagesOut) +{ + if(!startEltIn || startEltIn.nodeType != 1 || !targetImagesOut) + return; + + if(startEltIn.hasChildNodes()) + { + var childImages = startEltIn.getElementsByTagName('img') + var imageCnt = childImages.length; + for(var i=0; i