fix typos.
[reactos.git] / rosapps / sysutils / fmifs.h
1 #ifndef _FMIFS_H
2 #define _FMIFS_H
3 /* $Id$
4 *
5 * fmifs.h
6 *
7 * Copyright (c) 1998 Mark Russinovich
8 * Systems Internals
9 * http://www.sysinternals.com
10 *
11 * Typedefs and definitions for using chkdsk and formatex
12 * functions exported by the fmifs.dll library.
13 *
14 * ---
15 *
16 * 1999-02-18 (Emanuele Aliberti)
17 * Normalized function names.
18 *
19 */
20 #ifndef _INC_WINDOWS_
21 #include <windows.h>
22 #endif
23
24 /* Output command */
25 typedef
26 struct
27 {
28 DWORD Lines;
29 PCHAR Output;
30
31 } TEXTOUTPUT, *PTEXTOUTPUT;
32
33
34 /* Callback command types */
35 typedef
36 enum
37 {
38 PROGRESS,
39 DONEWITHSTRUCTURE,
40 UNKNOWN2,
41 UNKNOWN3,
42 UNKNOWN4,
43 UNKNOWN5,
44 INSUFFICIENTRIGHTS,
45 UNKNOWN7,
46 UNKNOWN8,
47 UNKNOWN9,
48 UNKNOWNA,
49 DONE,
50 UNKNOWNC,
51 UNKNOWND,
52 OUTPUT,
53 STRUCTUREPROGRESS
54
55 } CALLBACKCOMMAND;
56
57
58 /* FMIFS callback definition */
59 typedef
60 BOOL
61 (STDCALL * PFMIFSCALLBACK) (
62 CALLBACKCOMMAND Command,
63 DWORD SubAction,
64 PVOID ActionInfo
65 );
66
67 /* Chkdsk command in FMIFS */
68 VOID
69 STDCALL
70 ChkDsk(
71 PWCHAR DriveRoot,
72 PWCHAR Format,
73 BOOL CorrectErrors,
74 BOOL Verbose,
75 BOOL CheckOnlyIfDirty,
76 BOOL ScanDrive,
77 PVOID Unused2,
78 PVOID Unused3,
79 PFMIFSCALLBACK Callback
80 );
81
82 /* ChkdskEx command in FMIFS (not in the original) */
83 VOID
84 STDCALL
85 ChkDskEx(
86 PWCHAR DriveRoot,
87 PWCHAR Format,
88 BOOL CorrectErrors,
89 BOOL Verbose,
90 BOOL CheckOnlyIfDirty,
91 BOOL ScanDrive,
92 PVOID Unused2,
93 PVOID Unused3,
94 PFMIFSCALLBACK Callback
95 );
96
97 /* DiskCopy command in FMIFS */
98
99 VOID
100 STDCALL
101 DiskCopy(VOID);
102
103 /* Enable/Disable volume compression */
104 BOOL
105 STDCALL
106 EnableVolumeCompression(
107 PWCHAR DriveRoot,
108 BOOL Enable
109 );
110
111 /* Format command in FMIFS */
112
113 /* media flags */
114 #define FMIFS_HARDDISK 0xC
115 #define FMIFS_FLOPPY 0x8
116
117 VOID
118 STDCALL
119 FormatEx(
120 PWCHAR DriveRoot,
121 DWORD MediaFlag,
122 PWCHAR Format,
123 PWCHAR Label,
124 BOOL QuickFormat,
125 DWORD ClusterSize,
126 PFMIFSCALLBACK Callback
127 );
128
129 #endif /* ndef _FMIFS_H */