1 /*****************************************************************************
2 
3   Unfrag
4 
5 *****************************************************************************/
6 
7 
8 #ifndef UNFRAG_H
9 #define UNFRAG_H
10 
11 
12 // Blah blah blah your template name is too long ... SO WHAT
13 #ifdef _MSC_VER
14 #pragma warning (disable: 4786)
15 #endif
16 
17 // I forget what this disables
18 #ifdef __ICL
19 #pragma warning (disable: 268)
20 #endif
21 
22 
23 // Hello Mr. Platform SDK, please let us use Windows 2000 only features
24 #if 0
25 #ifndef WINVER
26 #define WINVER 0x0500
27 #define _WIN32_WINNT 0x0500
28 #endif
29 #endif
30 
31 #include <stdio.h>
32 #include <stdlib.h>
33 #include <windows.h>
34 #include <string>
35 //#include <initguid.h>
36 #include <winioctl.h>
37 
38 #define APPNAME_CLI   L"Unfrag"
39 #define APPNAME_GUI   L"Fraginator"
40 #define APPVER_STR    L"1.03"
41 #define APPVER_NUM     1.03f
42 #define APPAUTHOR     L"Rick Brewster"
43 #define APPCOPYRIGHT  L"Copyright 2000-2002 Rick Brewster"
44 
45 
46 #include <vector>
47 #include <string>
48 using namespace std;
49 
50 
51 typedef unsigned __int8  uint8;
52 typedef signed __int8    sint8;
53 typedef unsigned __int16 uint16;
54 typedef signed __int16   sint16;
55 typedef unsigned __int32 uint32;
56 typedef signed __int32   sint32;
57 typedef unsigned __int64 uint64;
58 typedef signed __int64   sint64;
59 typedef unsigned char    uchar;
60 
61 
62 extern bool QuietMode;
63 extern bool VerboseMode;
64 
65 
66 typedef enum
67 {
68     DefragInvalid,
69     DefragFast,
70     DefragExtensive,
71     DefragAnalyze
72 } DefragType;
73 
74 
75 extern bool CheckWinVer (void);
76 
77 
78 class Defragment;
79 extern Defragment *StartDefragThread (wstring Drive, DefragType Method, HANDLE &Handle);
80 
81 
82 extern wchar_t *AddCommas (wchar_t *Result, uint64 Number);
83 
84 
85 #endif // UNFRAG_H
86 
87