c7bcfdc89d9629a88d1621ceff8ceca7c6a5a219
[reactos.git] / base / setup / reactos / reactos.h
1 /*
2 * ReactOS applications
3 * Copyright (C) 2004-2008 ReactOS Team
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19 /*
20 * COPYRIGHT: See COPYING in the top level directory
21 * PROJECT: ReactOS GUI first stage setup application
22 * FILE: base/setup/reactos/reactos.c
23 * PROGRAMMERS: Matthias Kupfer
24 * Dmitry Chapyshev (dmitry@reactos.org)
25 */
26
27 #ifndef _REACTOS_PCH_
28 #define _REACTOS_PCH_
29
30 #include <stdarg.h>
31 #include <windef.h>
32 #include <winbase.h>
33 #include <winreg.h>
34 #include <wingdi.h>
35 #include <winuser.h>
36 #include <tchar.h>
37 #include <setupapi.h>
38 #include <devguid.h>
39 #include <wine/unicode.h>
40
41
42 typedef struct _LANG
43 {
44 TCHAR LangId[9];
45 TCHAR LangName[128];
46 } LANG, *PLANG;
47
48 typedef struct _KBLAYOUT
49 {
50 TCHAR LayoutId[9];
51 TCHAR LayoutName[128];
52 TCHAR DllName[128];
53 } KBLAYOUT, *PKBLAYOUT;
54
55
56 // generic entries with simple 1:1 mapping
57 typedef struct _GENENTRY
58 {
59 TCHAR Id[24];
60 TCHAR Value[128];
61 } GENENTRY, *PGENENTRY;
62
63 typedef struct _SETUPDATA
64 {
65 /* General */
66 HINSTANCE hInstance;
67 BOOL bUnattend;
68
69 HFONT hTitleFont;
70
71 TCHAR szAbortMessage[512];
72 TCHAR szAbortTitle[64];
73
74 // Settings
75 LONG DestDiskNumber; // physical disk
76 LONG DestPartNumber; // partition on disk
77 LONG DestPartSize; // if partition doesn't exist, size of partition
78 LONG FSType; // file system type on partition
79 LONG MBRInstallType; // install bootloader
80 LONG FormatPart; // type of format the partition
81 LONG SelectedLangId; // selected language (table index)
82 LONG SelectedKBLayout; // selected keyboard layout (table index)
83 TCHAR InstallDir[MAX_PATH]; // installation directory on hdd
84 LONG SelectedComputer; // selected computer type (table index)
85 LONG SelectedDisplay; // selected display type (table index)
86 LONG SelectedKeyboard; // selected keyboard type (table index)
87 BOOLEAN RepairUpdateFlag; // flag for update/repair an installed reactos
88 // txtsetup.sif data
89 LONG DefaultLang; // default language (table index)
90 PLANG pLanguages;
91 LONG LangCount;
92 LONG DefaultKBLayout; // default keyboard layout (table index)
93 PKBLAYOUT pKbLayouts;
94 LONG KbLayoutCount;
95 PGENENTRY pComputers;
96 LONG CompCount;
97 PGENENTRY pDisplays;
98 LONG DispCount;
99 PGENENTRY pKeyboards;
100 LONG KeybCount;
101 } SETUPDATA, *PSETUPDATA;
102
103 typedef struct _IMGINFO
104 {
105 HBITMAP hBitmap;
106 INT cxSource;
107 INT cySource;
108 } IMGINFO, *PIMGINFO;
109
110
111
112 /* drivepage.c */
113 INT_PTR
114 CALLBACK
115 DriveDlgProc(
116 HWND hwndDlg,
117 UINT uMsg,
118 WPARAM wParam,
119 LPARAM lParam);
120
121 #endif /* _REACTOS_PCH_ */
122
123 /* EOP */