add casts to zune macros to silence some warnings
[tangerine.git] / workbench / tools / InstallAROS / install.h
blob9dc1ce56cf211002a0416ebaafe984227b2cd3ec
1 #include <exec/lists.h>
2 #include <exec/nodes.h>
4 static const char* KMsgWelcome =
5 MUIX_L " " MUIX_B"\nWelcome to the AROS Research OS\n"
6 "installer.\n\n" MUIX_N
7 "This program allows you to install\n"
8 "the " MUIX_B "pre-alpha" MUIX_N " version of AROS\n"
9 "on to your computer's hard drive.\n\n"
10 "Since it is still in pre-alpha state, performance\n"
11 "may be sluggish - and stability isn't guaranteed\n\n";
13 static const char* KMsgInstallOptions =
14 "\nPlease choose your installation options.\n\n";
16 static const char* KMsgDestOptions =
17 "\nPlease choose where to install AROS.\n\n"
18 "If you are unsure, then use the defaults";
20 static const char* KMsgDestVolume =
21 "Destination Partition";
23 static const char* KMsgWorkVolume =
24 "Work Partition";
26 static const char* KMsgBeginWithPartition =
27 "OK, we are ready to begin.\n\n"
28 "Since you've selected to format the partition,\n"
29 "you will no longer be able to undo changes\n"
30 "after this point.\n\n"
31 "You are being " MUIX_B "warned" MUIX_N ", this is pre-alpha software.\n\n"
32 "Select Proceed to begin installation.";
34 static const char* KMsgBeginWithoutPartition =
35 "OK, we are ready to begin...\n\n"
36 "We have collected enough information\n"
37 "to begin installation on this computer.\n\n"
38 "You are being " MUIX_B "warned" MUIX_N ", this is pre-alpha software.\n"
39 "\n Press Proceed to begin installation...";
41 static const char* KMsgLanguage =
42 "The system prefs for your language settings\n"
43 "will now launch\n\n"
44 "Choose the settings that are relevant to you\n";
46 static const char* KMsgPartitionOptions =
47 "We will now create AROS partitions on your hard drive\n\n"
48 "Please select how you would like to proceed...\n";
50 static const char* KMsgDestPartition =
51 "System Partition (DH0)";
53 static const char* KMsgWorkPartition =
54 "Work Partition (DH1)";
56 static const char* KMsgGrubOptions =
57 "AROS uses the GRUB bootloader.\n\n"
58 "The Installer will install it to the first\n"
59 "drive on your system, and configure it\n"
60 "to boot AROS.\n";
62 static const char* KMsgGrubDrive =
63 "Drive GRUB will install on:";
65 static const char* KMsgGrubGOptions =
66 MUIX_B "Grub Settings" MUIX_N;
68 static const char* KMsgGrubGrub =
69 "Path to GRUB files:";
71 static const char* KMsgGrubKernel =
72 "Path to AROS kernel:";
74 static const char* KMsgPartitioning =
75 "Partition your drives...\n\n";
77 static const char* KMsgInstall =
78 "Copying files to the hard disk.\n\n"
79 "This may take some time...\n";
81 static const char* KMsgBootLoader =
82 "Copying the GRUB bootloader to your\n"
83 "hard drive, and installing...\n";
85 static const char* KMsgDoneReboot =
86 "AROS partitions have now been created!\n"
87 "To continue installation, you must\n"
88 "reboot AROS, and re-run\n"
89 "this installer application\n\n"
90 "Select Proceed to finish\n";
92 static const char* KMsgDone =
93 "Congratulations, you now have AROS installed!\n\n"
94 "To boot AROS from the hard drive,\n"
95 "remove the installation media and\n"
96 "restart your computer using the\n"
97 "power switch or reset button.\n\n"
98 "Select Proceed to finish\n";
100 static const char* KMsgNoDrives =
101 "It appears you do not have a hard\n"
102 "drive installed in your PC.\n\n"
103 "Installation of AROS can only be performed on to\n"
104 "a hard drive just now. Sorry.\n\nPress Proceed To Exit\n";
106 static const char* KMsgCancelOK =
107 "Are you sure you wish to cancel\n"
108 "this installation?\n";
110 static const char* KMsgCancelDanger =
111 "Irreversible changes have been made\n"
112 "to your system.\n\n"
113 "Cancelling now may leave your PC in an\n"
114 "unbootable state\n\n"
115 "Are you sure you wish to cancel\n"
116 "this installation?\n";
118 static const char* KMsgProceed =
119 "_Proceed";
121 #define MUIM_IC_NextStep (0x00335551)
122 #define MUIM_IC_PrevStep (0x00335552)
123 #define MUIM_IC_UndoSteps (0x00335553)
125 #define MUIM_IC_Install (0x00335554)
127 #define MUIM_FindDrives (0x00335555)
128 #define MUIM_PartitionFree (0x00335556)
129 #define MUIM_Partition (0x00335557)
130 #define MUIM_Format (0x00335558)
132 #define MUIM_IC_MakeDirs (0x00335559)
133 #define MUIM_IC_CopyFiles (0x0033555a)
134 #define MUIM_IC_CopyFile (0x0033555b)
136 #define MUIM_IC_CancelInstall (0x0033556a)
137 #define MUIM_IC_ContinueInstall (0x0033556b)
138 #define MUIM_IC_QuitInstall (0x0033556c)
140 #define MUIM_Reboot (0x0033556d)
141 #define MUIM_RefreshWindow (0x00335570)
143 /* to be made obsolete */
145 #define MUIA_Page (0x00335580)
147 #define MUIA_PartitionButton (0x00335581)
148 #define MUIA_Gauge1 (0x00335582)
149 #define MUIA_Gauge2 (0x00335583)
150 #define MUIA_Install (0x00335584)
151 /**/
152 #define MUIA_WelcomeMsg (0x0033558a)
153 #define MUIA_FinishedMsg (0x0033558b)
155 /* new - some/most will "vanish(tm)" */
157 #define MUIA_OBJ_Installer (0x0033558d)
158 #define MUIA_Grub_Options (0x0033558e)
159 #define MUIA_List_Options (0x0033558f)
161 #define MUIA_OBJ_Window (0x00335590)
162 #define MUIA_OBJ_WindowContent (0x00335591)
164 #define MUIA_OBJ_PageTitle (0x00335592)
165 #define MUIA_OBJ_PageHeader (0x00335593)
166 #define MUIA_OBJ_CActionStrng (0x00335594)
168 #define MUIA_OBJ_Back (0x00335595)
169 #define MUIA_OBJ_Proceed (0x00335596)
170 #define MUIA_OBJ_Cancel (0x00335597)
172 #define MUIA_IC_License_File (0x00335598)
173 #define MUIA_IC_License_Mandatory (0x00335599)
175 #define MUIA_IC_EnableUndo (0x00335599)
176 /* IO Retry Window */
178 #define MUIA_OBJ_IO_RWindow (0x0033559a)
179 #define MUIA_OBJ_IO_RText (0x0033559b)
180 #define MUIA_OBJ_IO_ROpt1 (0x0033559c)
181 #define MUIA_OBJ_IO_ROpt2 (0x0033559d)
182 #define MUIA_OBJ_IO_ROpt3 (0x0033559e)
184 #define MUIA_IIO_Flag (0x0033559f)
186 /* Install Results */
188 #define MUIA_InstallComplete (0x003355ff)
189 #define MUIA_InstallFailed (0x003355fe)
191 #define MUIV_Inst_Completed (0xff)
192 #define MUIV_Inst_InProgress (0x00)
193 #define MUIV_Inst_Cancelled (0x01)
194 #define MUIV_Inst_Failed (0x10)
197 struct MUIP_Prepare
199 ULONG MethodID;
200 Object* prepare;
201 Object* done;
204 struct MUIP_Dir
206 ULONG MethodID;
207 CONST_STRPTR srcDir;
208 CONST_STRPTR dstDir;
211 struct MUIP_CopyFiles
213 ULONG MethodID;
214 CONST_STRPTR srcDir;
215 CONST_STRPTR dstDir;
216 ULONG noOfFiles;
217 ULONG currFile;
220 struct MUIP_CopyFile
222 ULONG MethodID;
223 CONST_STRPTR srcFile;
224 CONST_STRPTR dstFile;
227 enum EStage
229 EMessageStage,
230 ELicenseStage,
231 EPartitionOptionsStage,
232 EInstallOptionsStage,
233 EDestOptionsStage,
234 EGrubOptionsStage,
235 EInstallMessageStage,
236 EPartitioningStage,
237 EInstallStage,
238 EDoneStage
241 struct Install_Options
243 Object *opt_license;
244 Object *opt_lic_box;
245 Object *opt_lic_mgrp;
246 Object *opt_partition;
247 Object *opt_partmethod;
248 Object *opt_format;
249 Object *opt_locale;
250 Object *opt_copycore;
251 Object *opt_copyextra;
252 Object *opt_development;
253 Object *opt_bootloader;
255 Object *opt_reboot;
257 BOOL partitioned;
258 BOOL bootloaded;
261 struct Grub_Options
263 Object *gopt_drive;
264 Object *gopt_grub;
265 Object *gopt_kernel;
266 BOOL bootinfo;
269 struct InstallC_UndoRecord
271 struct Node undo_Node;
272 ULONG undo_method;
273 char *undo_src;
274 char *undo_dst;
277 struct optionstmp
279 IPTR opt_partition;
280 IPTR opt_format;
281 IPTR opt_locale;
282 IPTR opt_copycore;
283 IPTR opt_copyextra;
284 IPTR opt_development;
285 IPTR opt_bootloader;
286 IPTR opt_reboot;
289 struct Install_DATA
291 Object *partition;
292 Object *page;
293 Object *gauge1;
294 Object *gauge2;
295 Object *label;
296 /**/
297 Object *installer;
299 Object *welcomeMsg;
300 Object *doneMsg;
302 /**/
303 Object *window;
304 Object *contents;
306 Object *pagetitle;
307 Object *pageheader;
308 Object *actioncurrent;
310 Object *back;
311 Object *proceed;
312 Object *cancel;
315 /**/
316 ULONG inst_success;
317 ULONG drive_set;
319 ULONG disable_back,
320 status_back,
321 status_proceed,
322 status_cancel;
324 ULONG cur_width,
325 cur_height;
326 /** Start IO Related **/
328 ULONG IO_IOTask;
329 ULONG IO_Always_overwrite;
331 #define IIO_Overwrite_Ask 0
332 #define IIO_Overwrite_Always 1
333 #define IIO_Overwrite_Never 2
335 /**/
336 Object *IO_RWindow;
337 Object *IO_RText;
338 Object *IO_ROpt1;
339 Object *IO_ROpt2;
340 Object *IO_ROpt3;
342 ULONG IO_Flags;
344 #define IIO_Selected_Opt1 1
345 #define IIO_Selected_Opt2 2
346 #define IIO_Selected_Opt3 3
348 /** END IO Related **/
349 IPTR instc_lic_file;
350 IPTR instc_lic_buffer;
351 IPTR instc_lic_mandatory;
353 BOOL instc_undoenabled;
354 struct MinList instc_undorecord;
356 /** Option Related **/
358 struct Install_Options *instc_options_main;
359 struct Grub_Options *instc_options_grub;
360 struct optionstmp *instc_options_backup;
361 enum EStage instc_stage_prev;
362 enum EStage instc_stage_next;