Merge trunk head (r45466)
[reactos.git] / rosapps / applications / fraginator / Unfrag.h
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