Add the Diskpart utility by Lee Schroeder (milawynsrealm).
[reactos.git] / reactos / base / system / diskpart / diskpart.h
1 /*
2 * PROJECT: ReactOS DiskPart
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: base/system/diskpart/diskpart.c
5 * PURPOSE: Manages all the partitions of the OS in
6 * an interactive way
7 * PROGRAMMERS: Lee Schroeder
8 */
9 #ifndef DISKPART_H
10 #define DISKPART_H
11
12 /* INCLUDES ******************************************************************/
13
14 #include <windows.h>
15 #include <stdio.h>
16 #include <string.h>
17 #include <ctype.h>
18
19 #include "resource.h"
20
21 /* DEFINES *******************************************************************/
22
23 typedef struct _COMMAND
24 {
25 WCHAR *name;
26 BOOL (*func)(INT, WCHAR**);
27 VOID (*help)(INT, WCHAR**);
28 } COMMAND, *PCOMMAND;
29
30 extern COMMAND cmds[];
31
32 /* NOERR codes for the program */
33 #define ERROR_NONE 0
34 #define ERROR_FATAL 1
35 #define ERROR_CMD_ARG 2
36 #define ERROR_FILE 3
37 #define ERROR_SERVICE 4
38 #define ERROR_SYNTAX 5
39
40 #define DISKPART_VERSION L"0.0.019"
41
42 #define MAX_STRING_SIZE 1024
43 #define MAX_ARGS_COUNT 256
44
45 /* PROTOTYPES *****************************************************************/
46
47 /* active.c */
48 BOOL active_main(INT argc, WCHAR **argv);
49 VOID help_active(INT argc, WCHAR **argv);
50
51 /* add.c */
52 BOOL add_main(INT argc, WCHAR **argv);
53 VOID help_add(INT argc, WCHAR **argv);
54
55 /* assign.c */
56 BOOL assign_main(INT argc, WCHAR **argv);
57 VOID help_assign(INT argc, WCHAR **argv);
58
59 /* attach.c */
60 BOOL attach_main(INT argc, WCHAR **argv);
61 VOID help_attach(INT argc, WCHAR **argv);
62
63 /* attributes.h */
64 VOID help_attributes(INT argc, WCHAR **argv);
65 BOOL attributes_main(INT argc, WCHAR **argv);
66
67 /* automount.c */
68 BOOL automount_main(INT argc, WCHAR **argv);
69 VOID help_automount(INT argc, WCHAR **argv);
70
71 /* break.c */
72 BOOL break_main(INT argc, WCHAR **argv);
73 VOID help_break(INT argc, WCHAR **argv);
74
75 /* clean.c */
76 BOOL clean_main(INT argc, WCHAR **argv);
77 VOID help_clean(INT argc, WCHAR **argv);
78
79 /* compact.c */
80 BOOL compact_main(INT argc, WCHAR **argv);
81 VOID help_compact(INT argc, WCHAR **argv);
82
83 /* convert.c */
84 BOOL convert_main(INT argc, WCHAR **argv);
85 VOID help_convert(INT argc, WCHAR **argv);
86
87 /* create.c */
88 BOOL create_main(INT argc, WCHAR **argv);
89 VOID help_create(INT argc, WCHAR **argv);
90
91 /* delete.c */
92 BOOL delete_main(INT argc, WCHAR **argv);
93 VOID help_delete(INT argc, WCHAR **argv);
94
95 /* detach.c */
96 BOOL detach_main(INT argc, WCHAR **argv);
97 VOID help_detach(INT argc, WCHAR **argv);
98
99 /* detail.c */
100 BOOL detail_main(INT argc, WCHAR **argv);
101 VOID help_detail(INT argc, WCHAR **argv);
102
103 /* diskpart.c */
104 VOID PrintResourceString(INT resID, ...);
105
106 /* expand.c */
107 BOOL expand_main(INT argc, WCHAR **argv);
108 VOID help_expand(INT argc, WCHAR **argv);
109
110 /* extend.c */
111 BOOL extend_main(INT argc, WCHAR **argv);
112 VOID help_extend(INT argc, WCHAR **argv);
113
114 /* filesystem.c */
115 BOOL filesystems_main(INT argc, WCHAR **argv);
116 VOID help_filesystems(INT argc, WCHAR **argv);
117
118 /* format.c */
119 BOOL format_main(INT argc, WCHAR **argv);
120 VOID help_format(INT argc, WCHAR **argv);
121
122 /* gpt.c */
123 BOOL gpt_main(INT argc, WCHAR **argv);
124 VOID help_gpt(INT argc, WCHAR **argv);
125
126 /* help.c */
127 BOOL help_main(INT argc, WCHAR **argv);
128 VOID help_help(INT argc, WCHAR **argv);
129 VOID help_cmdlist(VOID);
130 VOID help_print_noerr(VOID);
131
132 /* import. c */
133 BOOL import_main(INT argc, WCHAR **argv);
134 VOID help_import(INT argc, WCHAR **argv);
135
136 /* inactive.c */
137 BOOL inactive_main(INT argc, WCHAR **argv);
138 VOID help_inactive(INT argc, WCHAR **argv);
139
140 /* interpreter.c */
141 BOOL interpret_script(WCHAR *line);
142 BOOL interpret_main(VOID);
143 BOOL interpret_cmd(INT argc, WCHAR **argv);
144
145 /* list.c */
146 BOOL list_main(INT argc, WCHAR **argv);
147 VOID help_list(INT argc, WCHAR **argv);
148
149 /* merge.c */
150 BOOL merge_main(INT argc, WCHAR **argv);
151 VOID help_merge(INT argc, WCHAR **argv);
152
153 /* offline.c */
154 BOOL offline_main(INT argc, WCHAR **argv);
155 VOID help_offline(INT argc, WCHAR **argv);
156
157 /* online.c */
158 BOOL online_main(INT argc, WCHAR **argv);
159 VOID help_online(INT argc, WCHAR **argv);
160
161 /* recover.c */
162 BOOL recover_main(INT argc, WCHAR **argv);
163 VOID help_recover(INT argc, WCHAR **argv);
164
165 /* remove.c */
166 BOOL remove_main(INT argc, WCHAR **argv);
167 VOID help_remove(INT argc, WCHAR **argv);
168
169 /* repair.c */
170 BOOL repair_main(INT argc, WCHAR **argv);
171 VOID help_repair(INT argc, WCHAR **argv);
172
173 /* rescan.c */
174 BOOL rescan_main(INT argc, WCHAR **argv);
175 VOID help_rescan(INT argc, WCHAR **argv);
176
177 /* retain.c */
178 BOOL retain_main(INT argc, WCHAR **argv);
179 VOID help_retain(INT argc, WCHAR **argv);
180
181 /* san.c */
182 BOOL san_main(INT argc, WCHAR **argv);
183 VOID help_san(INT argc, WCHAR **argv);
184
185 /* select.c */
186 BOOL select_main(INT argc, WCHAR **argv);
187 VOID help_select(INT argc, WCHAR **argv);
188
189 /* setid.c */
190 BOOL setid_main(INT argc, WCHAR **argv);
191 VOID help_setid(INT argc, WCHAR **argv);
192
193 /* shrink.c */
194 BOOL shrink_main(INT argc, WCHAR **argv);
195 VOID help_shrink(INT argc, WCHAR **argv);
196
197 /* uniqueid.c */
198 BOOL uniqueid_main(INT argc, WCHAR **argv);
199 VOID help_uniqueid(INT argc, WCHAR **argv);
200
201 #endif /* DISKPART_H */