migrate substitution keywords to SVN
[reactos.git] / reactos / include / 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
21 /* Output command */
22 typedef
23 struct
24 {
25 ULONG Lines;
26 PCHAR Output;
27
28 } TEXTOUTPUT, *PTEXTOUTPUT;
29
30
31 /* Callback command types */
32 typedef
33 enum
34 {
35 PROGRESS,
36 DONEWITHSTRUCTURE,
37 UNKNOWN2,
38 UNKNOWN3,
39 UNKNOWN4,
40 UNKNOWN5,
41 INSUFFICIENTRIGHTS,
42 UNKNOWN7,
43 UNKNOWN8,
44 UNKNOWN9,
45 UNKNOWNA,
46 DONE,
47 UNKNOWNC,
48 UNKNOWND,
49 OUTPUT,
50 STRUCTUREPROGRESS
51
52 } CALLBACKCOMMAND;
53
54
55 /* FMIFS callback definition */
56 typedef
57 BOOLEAN
58 (STDCALL * PFMIFSCALLBACK) (
59 CALLBACKCOMMAND Command,
60 ULONG SubAction,
61 PVOID ActionInfo
62 );
63
64 /* Chkdsk command in FMIFS */
65 VOID
66 STDCALL
67 Chkdsk(
68 PWCHAR DriveRoot,
69 PWCHAR Format,
70 BOOLEAN CorrectErrors,
71 BOOLEAN Verbose,
72 BOOLEAN CheckOnlyIfDirty,
73 BOOLEAN ScanDrive,
74 PVOID Unused2,
75 PVOID Unused3,
76 PFMIFSCALLBACK Callback
77 );
78
79 /* ChkdskEx command in FMIFS (not in the original) */
80 VOID
81 STDCALL
82 ChkDskEx(
83 PWCHAR DriveRoot,
84 PWCHAR Format,
85 BOOLEAN CorrectErrors,
86 BOOLEAN Verbose,
87 BOOLEAN CheckOnlyIfDirty,
88 BOOLEAN ScanDrive,
89 PVOID Unused2,
90 PVOID Unused3,
91 PFMIFSCALLBACK Callback
92 );
93
94 /* DiskCopy command in FMIFS */
95
96 VOID
97 STDCALL
98 DiskCopy(VOID);
99
100 /* Enable/Disable volume compression */
101 BOOL
102 STDCALL
103 EnableVolumeCompression(
104 PWCHAR DriveRoot,
105 USHORT Compression
106 );
107
108 /* Format command in FMIFS */
109
110 /* media flags */
111 #define FMIFS_HARDDISK 0xC
112 #define FMIFS_FLOPPY 0x8
113
114 VOID
115 STDCALL
116 FormatEx(
117 PWCHAR DriveRoot,
118 ULONG MediaFlag,
119 PWCHAR Format,
120 PWCHAR Label,
121 BOOLEAN QuickFormat,
122 ULONG ClusterSize,
123 PFMIFSCALLBACK Callback
124 );
125
126 #endif /* ndef _FMIFS_H */