Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[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: Eric Kohl
24 * Matthias Kupfer
25 * Dmitry Chapyshev (dmitry@reactos.org)
26 */
27
28 #ifndef _REACTOS_PCH_
29 #define _REACTOS_PCH_
30
31 #include <stdarg.h>
32 #include <windef.h>
33 #include <winbase.h>
34 #include <winreg.h>
35 #include <wingdi.h>
36 #include <winuser.h>
37 #include <tchar.h>
38 #include <setupapi.h>
39 #include <devguid.h>
40 #include <wine/unicode.h>
41
42
43 typedef struct _LANG
44 {
45 TCHAR LangId[9];
46 TCHAR LangName[128];
47 } LANG, *PLANG;
48
49 typedef struct _KBLAYOUT
50 {
51 TCHAR LayoutId[9];
52 TCHAR LayoutName[128];
53 TCHAR DllName[128];
54 } KBLAYOUT, *PKBLAYOUT;
55
56
57 // generic entries with simple 1:1 mapping
58 typedef struct _GENENTRY
59 {
60 TCHAR Id[24];
61 TCHAR Value[128];
62 } GENENTRY, *PGENENTRY;
63
64 typedef struct _SETUPDATA
65 {
66 /* General */
67 HINSTANCE hInstance;
68 BOOL bUnattend;
69
70 HFONT hTitleFont;
71
72 TCHAR szAbortMessage[512];
73 TCHAR szAbortTitle[64];
74
75 // Settings
76 LONG DestDiskNumber; // physical disk
77 LONG DestPartNumber; // partition on disk
78 LONG DestPartSize; // if partition doesn't exist, size of partition
79 LONG FSType; // file system type on partition
80 LONG MBRInstallType; // install bootloader
81 LONG FormatPart; // type of format the partition
82 LONG SelectedLangId; // selected language (table index)
83 LONG SelectedKBLayout; // selected keyboard layout (table index)
84 TCHAR InstallDir[MAX_PATH]; // installation directory on hdd
85 LONG SelectedComputer; // selected computer type (table index)
86 LONG SelectedDisplay; // selected display type (table index)
87 LONG SelectedKeyboard; // selected keyboard type (table index)
88 BOOLEAN RepairUpdateFlag; // flag for update/repair an installed reactos
89 // txtsetup.sif data
90 LONG DefaultLang; // default language (table index)
91 PLANG pLanguages;
92 LONG LangCount;
93 LONG DefaultKBLayout; // default keyboard layout (table index)
94 PKBLAYOUT pKbLayouts;
95 LONG KbLayoutCount;
96 PGENENTRY pComputers;
97 LONG CompCount;
98 PGENENTRY pDisplays;
99 LONG DispCount;
100 PGENENTRY pKeyboards;
101 LONG KeybCount;
102 } SETUPDATA, *PSETUPDATA;
103
104 typedef struct _IMGINFO
105 {
106 HBITMAP hBitmap;
107 INT cxSource;
108 INT cySource;
109 } IMGINFO, *PIMGINFO;
110
111
112
113 /* drivepage.c */
114 INT_PTR
115 CALLBACK
116 DriveDlgProc(
117 HWND hwndDlg,
118 UINT uMsg,
119 WPARAM wParam,
120 LPARAM lParam);
121
122 #endif /* _REACTOS_PCH_ */
123
124 /* EOP */