a3e9c1ce4852c97b416b936b8c2874dbbf04c875
[reactos.git] / reactos / dll / win32 / syssetup / globals.h
1 /*
2 * Copyright (C) 2004 Eric Kohl
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17 */
18
19 #pragma once
20
21 typedef struct _TZ_INFO
22 {
23 LONG Bias;
24 LONG StandardBias;
25 LONG DaylightBias;
26 SYSTEMTIME StandardDate;
27 SYSTEMTIME DaylightDate;
28 } TZ_INFO, *PTZ_INFO;
29
30 typedef struct _TIMEZONE_ENTRY
31 {
32 struct _TIMEZONE_ENTRY *Prev;
33 struct _TIMEZONE_ENTRY *Next;
34 WCHAR Description[64]; /* 'Display' */
35 WCHAR StandardName[32]; /* 'Std' */
36 WCHAR DaylightName[32]; /* 'Dlt' */
37 TZ_INFO TimezoneInfo; /* 'TZI' */
38 ULONG Index;
39 } TIMEZONE_ENTRY, *PTIMEZONE_ENTRY;
40
41 typedef struct _SETUPDATA
42 {
43 HFONT hTitleFont;
44
45 WCHAR OwnerName[51];
46 WCHAR OwnerOrganization[51];
47 WCHAR ComputerName[MAX_COMPUTERNAME_LENGTH + 1]; /* max. 15 characters */
48 WCHAR AdminPassword[128]; /* max. 127 characters */
49 BOOL UnattendSetup;
50 BOOL DisableVmwInst;
51 BOOL DisableGeckoInst;
52
53 SYSTEMTIME SystemTime;
54 PTIMEZONE_ENTRY TimeZoneListHead;
55 PTIMEZONE_ENTRY TimeZoneListTail;
56 DWORD TimeZoneIndex;
57 DWORD DisableAutoDaylightTimeSet;
58 LCID LocaleID;
59
60 HINF hUnattendedInf;
61 } SETUPDATA, *PSETUPDATA;
62
63 typedef struct _ADMIN_INFO
64 {
65 LPWSTR Name;
66 LPWSTR Domain;
67 LPWSTR Password;
68 } ADMIN_INFO, *PADMIN_INFO;
69
70 extern HINSTANCE hDllInstance;
71 extern HINF hSysSetupInf;
72 extern ADMIN_INFO AdminInfo;
73
74 BOOL RegisterTypeLibraries (HINF hinf, LPCWSTR szSection);
75
76 /* security.c */
77 NTSTATUS SetAccountDomain(LPCWSTR DomainName,
78 PSID DomainSid);
79 VOID InstallSecurity(VOID);
80 NTSTATUS
81 SetAdministratorPassword(LPCWSTR Password);
82
83 VOID
84 SetAutoAdminLogon(VOID);
85
86 /* wizard.c */
87 VOID InstallWizard (VOID);
88
89 /* EOF */