added concrete implementations of putc(), getc(), getchar() and gets()
[tangerine.git] / workbench / tools / InstallAROS / install.h
blob403675c27474b7895bc9827954166b1ccd31ef66
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* KMsgPartitioning =
72 "Partition your drives...\n\n";
74 static const char* KMsgInstall =
75 "Copying files to the hard disk.\n\n"
76 "This may take some time...\n";
78 static const char* KMsgBootLoader =
79 "Copying the GRUB bootloader to your\n"
80 "hard drive, and installing...\n";
82 static const char* KMsgDoneReboot =
83 "AROS partitions have now been created!\n"
84 "To continue installation, you must\n"
85 "reboot AROS, and re-run\n"
86 "this installer application\n\n"
87 "Select Proceed to finish\n";
89 static const char* KMsgDone =
90 "Congratulations, you now have AROS installed!\n\n"
91 "To boot AROS from the hard drive,\n"
92 "remove the installation media and\n"
93 "restart your computer using the\n"
94 "power switch or reset button.\n\n"
95 "Select Proceed to finish\n";
97 static const char* KMsgNoDrives =
98 "It appears you do not have a hard\n"
99 "drive installed in your PC.\n\n"
100 "Installation of AROS can only be performed on to\n"
101 "a hard drive just now. Sorry.\n\nPress Proceed To Exit\n";
103 static const char* KMsgCancelOK =
104 "Are you sure you wish to cancel\n"
105 "this installation?\n";
107 static const char* KMsgCancelDanger =
108 "Irreversible changes have been made\n"
109 "to your system.\n\n"
110 "Cancelling now may leave your PC in an\n"
111 "unbootable state\n\n"
112 "Are you sure you wish to cancel\n"
113 "this installation?\n";
115 static const char* KMsgProceed =
116 "_Proceed";
118 #define MUIM_IC_NextStep (0x00335551)
119 #define MUIM_IC_PrevStep (0x00335552)
120 #define MUIM_IC_UndoSteps (0x00335553)
122 #define MUIM_IC_Install (0x00335554)
124 #define MUIM_FindDrives (0x00335555)
125 #define MUIM_PartitionFree (0x00335556)
126 #define MUIM_Partition (0x00335557)
127 #define MUIM_Format (0x00335558)
129 #define MUIM_IC_MakeDirs (0x00335559)
130 #define MUIM_IC_CopyFiles (0x0033555a)
131 #define MUIM_IC_CopyFile (0x0033555b)
133 #define MUIM_IC_CancelInstall (0x0033556a)
134 #define MUIM_IC_ContinueInstall (0x0033556b)
135 #define MUIM_IC_QuitInstall (0x0033556c)
137 #define MUIM_Reboot (0x0033556d)
138 #define MUIM_RefreshWindow (0x00335570)
140 /* to be made obsolete */
142 #define MUIA_Page (0x00335580)
144 #define MUIA_PartitionButton (0x00335581)
145 #define MUIA_Gauge1 (0x00335582)
146 #define MUIA_Gauge2 (0x00335583)
147 #define MUIA_Install (0x00335584)
148 /**/
149 #define MUIA_WelcomeMsg (0x0033558a)
150 #define MUIA_FinishedMsg (0x0033558b)
152 /* new - some/most will "vanish(tm)" */
154 #define MUIA_OBJ_Installer (0x0033558d)
155 #define MUIA_Grub_Options (0x0033558e)
156 #define MUIA_List_Options (0x0033558f)
158 #define MUIA_OBJ_Window (0x00335590)
159 #define MUIA_OBJ_WindowContent (0x00335591)
161 #define MUIA_OBJ_PageTitle (0x00335592)
162 #define MUIA_OBJ_PageHeader (0x00335593)
163 #define MUIA_OBJ_CActionStrng (0x00335594)
165 #define MUIA_OBJ_Back (0x00335595)
166 #define MUIA_OBJ_Proceed (0x00335596)
167 #define MUIA_OBJ_Cancel (0x00335597)
169 #define MUIA_IC_License_File (0x00335598)
170 #define MUIA_IC_License_Mandatory (0x00335599)
172 #define MUIA_IC_EnableUndo (0x00335599)
173 /* IO Retry Window */
175 #define MUIA_OBJ_IO_RWindow (0x0033559a)
176 #define MUIA_OBJ_IO_RText (0x0033559b)
177 #define MUIA_OBJ_IO_ROpt1 (0x0033559c)
178 #define MUIA_OBJ_IO_ROpt2 (0x0033559d)
179 #define MUIA_OBJ_IO_ROpt3 (0x0033559e)
181 #define MUIA_IIO_Flag (0x0033559f)
183 /* Install Results */
185 #define MUIA_InstallComplete (0x003355ff)
186 #define MUIA_InstallFailed (0x003355fe)
188 #define MUIV_Inst_Completed (0xff)
189 #define MUIV_Inst_InProgress (0x00)
190 #define MUIV_Inst_Cancelled (0x01)
191 #define MUIV_Inst_Failed (0x10)
194 struct MUIP_Prepare
196 ULONG MethodID;
197 Object* prepare;
198 Object* done;
201 struct MUIP_Dir
203 STACKED ULONG MethodID;
204 STACKED CONST_STRPTR srcDir;
205 STACKED CONST_STRPTR dstDir;
208 struct MUIP_CopyFiles
210 STACKED ULONG MethodID;
211 STACKED CONST_STRPTR srcDir;
212 STACKED CONST_STRPTR dstDir;
213 STACKED ULONG noOfFiles;
214 STACKED ULONG currFile;
215 STACKED BOOL recursive;
218 struct MUIP_CopyFile
220 STACKED ULONG MethodID;
221 STACKED CONST_STRPTR srcFile;
222 STACKED CONST_STRPTR dstFile;
225 enum EStage
227 EMessageStage,
228 ELicenseStage,
229 EPartitionOptionsStage,
230 EInstallOptionsStage,
231 EDestOptionsStage,
232 EGrubOptionsStage,
233 EInstallMessageStage,
234 EPartitioningStage,
235 EInstallStage,
236 EDoneStage
239 struct Install_Options
241 Object *opt_license;
242 Object *opt_lic_box;
243 Object *opt_lic_mgrp;
244 Object *opt_partition;
245 Object *opt_partmethod;
246 Object *opt_format;
247 Object *opt_locale;
248 Object *opt_copycore;
249 Object *opt_copyextra;
250 Object *opt_development;
251 Object *opt_bootloader;
253 Object *opt_reboot;
255 BOOL partitioned;
256 BOOL bootloaded;
259 struct Grub_Options
261 Object *gopt_drive;
262 Object *gopt_grub;
263 BOOL bootinfo;
266 struct InstallC_UndoRecord
268 struct Node undo_Node;
269 ULONG undo_method;
270 char *undo_src;
271 char *undo_dst;
274 struct optionstmp
276 IPTR opt_partition;
277 IPTR opt_format;
278 IPTR opt_locale;
279 IPTR opt_copycore;
280 IPTR opt_copyextra;
281 IPTR opt_development;
282 IPTR opt_bootloader;
283 IPTR opt_reboot;
286 struct Install_DATA
288 Object *partition;
289 Object *page;
290 Object *gauge1;
291 Object *gauge2;
292 Object *label;
293 /**/
294 Object *installer;
296 Object *welcomeMsg;
297 Object *doneMsg;
299 /**/
300 Object *window;
301 Object *contents;
303 Object *pagetitle;
304 Object *pageheader;
305 Object *actioncurrent;
307 Object *back;
308 Object *proceed;
309 Object *cancel;
312 /**/
313 ULONG inst_success;
314 ULONG drive_set;
316 ULONG disable_back,
317 status_back,
318 status_proceed,
319 status_cancel;
321 ULONG cur_width,
322 cur_height;
323 /** Start IO Related **/
325 ULONG IO_IOTask;
326 ULONG IO_Always_overwrite;
328 #define IIO_Overwrite_Ask 0
329 #define IIO_Overwrite_Always 1
330 #define IIO_Overwrite_Never 2
332 /**/
333 Object *IO_RWindow;
334 Object *IO_RText;
335 Object *IO_ROpt1;
336 Object *IO_ROpt2;
337 Object *IO_ROpt3;
339 ULONG IO_Flags;
341 #define IIO_Selected_Opt1 1
342 #define IIO_Selected_Opt2 2
343 #define IIO_Selected_Opt3 3
345 /** END IO Related **/
346 IPTR instc_lic_file;
347 IPTR instc_lic_buffer;
348 IPTR instc_lic_mandatory;
350 BOOL instc_undoenabled;
351 struct MinList instc_undorecord;
353 /** Option Related **/
355 struct Install_Options *instc_options_main;
356 struct Grub_Options *instc_options_grub;
357 struct optionstmp *instc_options_backup;
358 enum EStage instc_stage_prev;
359 enum EStage instc_stage_next;