xref: /reactos/base/setup/usetup/mui.h (revision 31019e8c)
1 #pragma once
2 
3 typedef struct
4 {
5    BYTE X;
6    BYTE Y;
7    LPCSTR Buffer;
8    DWORD Flags;
9 }MUI_ENTRY, *PMUI_ENTRY;
10 
11 typedef struct
12 {
13     LPCSTR ErrorText;
14     LPCSTR ErrorStatus;
15 }MUI_ERROR;
16 
17 typedef struct
18 {
19     LONG Number;
20     MUI_ENTRY * MuiEntry;
21 } MUI_PAGE;
22 
23 typedef struct
24 {
25     LONG Number;
26     LPSTR String;
27 } MUI_STRING;
28 
29 typedef struct
30 {
31     PWCHAR FontName;
32     PWCHAR SubFontName;
33 } MUI_SUBFONT;
34 
35 typedef struct
36 {
37     PWCHAR LangID; // Language ID (like "0409")
38     PWCHAR LayoutID; // Layout ID (like "00000409")
39 } MUI_LAYOUTS;
40 
41 typedef struct
42 {
43     PWCHAR LanguageID;
44     PWCHAR ACPage;
45     PWCHAR OEMCPage;
46     PWCHAR MACCPage;
47     PWCHAR LanguageDescriptor;
48     PWCHAR GeoID;
49     const MUI_PAGE * MuiPages;
50     const MUI_ERROR * MuiErrors;
51     const MUI_STRING * MuiStrings;
52     const MUI_SUBFONT * MuiSubFonts;
53     const MUI_LAYOUTS * MuiLayouts;
54 } MUI_LANGUAGE;
55 
56 BOOLEAN
57 IsLanguageAvailable(
58     PWCHAR LanguageId);
59 
60 VOID
61 MUIDisplayPage(
62     ULONG PageNumber);
63 
64 VOID
65 MUIClearPage(
66     ULONG PageNumber);
67 
68 VOID
69 MUIDisplayError(
70     ULONG ErrorNum,
71     PINPUT_RECORD Ir,
72     ULONG WaitEvent,
73     ...);
74 
75 LPCWSTR
76 MUIDefaultKeyboardLayout(VOID);
77 
78 PWCHAR
79 MUIGetGeoID(VOID);
80 
81 const MUI_LAYOUTS *
82 MUIGetLayoutsList(VOID);
83 
84 BOOLEAN
85 AddKbLayoutsToRegistry(
86     IN const MUI_LAYOUTS *MuiLayouts);
87 
88 BOOLEAN
89 AddCodePage(VOID);
90 
91 BOOLEAN
92 AddKeyboardLayouts(VOID);
93 
94 VOID
95 SetConsoleCodePage(VOID);
96 
97 LPSTR
98 MUIGetString(
99     ULONG Number);
100 
101 #define STRING_PLEASEWAIT                1
102 #define STRING_INSTALLCREATEPARTITION    2
103 #define STRING_INSTALLCREATELOGICAL           60
104 #define STRING_INSTALLDELETEPARTITION    3
105 #define STRING_DELETEPARTITION                59
106 #define STRING_PARTITIONSIZE             4
107 #define STRING_CHOOSENEWPARTITION        5
108 #define STRING_CHOOSE_NEW_EXTENDED_PARTITION  57
109 #define STRING_CHOOSE_NEW_LOGICAL_PARTITION   61
110 #define STRING_HDDSIZE                   6
111 #define STRING_CREATEPARTITION           7
112 #define STRING_PARTFORMAT                8
113 #define STRING_NONFORMATTEDPART          9
114 #define STRING_NONFORMATTEDSYSTEMPART         62
115 #define STRING_NONFORMATTEDOTHERPART          63
116 #define STRING_INSTALLONPART             10
117 #define STRING_CHECKINGPART              11
118 #define STRING_CONTINUE                  12
119 #define STRING_QUITCONTINUE              13
120 #define STRING_REBOOTCOMPUTER            14
121 #define STRING_TXTSETUPFAILED            15
122 #define STRING_COPYING                   16
123 #define STRING_SETUPCOPYINGFILES         17
124 #define STRING_REGHIVEUPDATE             20
125 #define STRING_IMPORTFILE                21
126 #define STRING_DISPLAYETTINGSUPDATE      22
127 #define STRING_LOCALESETTINGSUPDATE      23
128 #define STRING_KEYBOARDSETTINGSUPDATE    24
129 #define STRING_CODEPAGEINFOUPDATE        25
130 #define STRING_DONE                      26
131 #define STRING_REBOOTCOMPUTER2           27
132 #define STRING_CONSOLEFAIL1              28
133 #define STRING_CONSOLEFAIL2              29
134 #define STRING_CONSOLEFAIL3              30
135 #define STRING_FORMATTINGDISK            31
136 #define STRING_CHECKINGDISK              32
137 #define STRING_FORMATDISK1               33
138 #define STRING_FORMATDISK2               34
139 #define STRING_KEEPFORMAT                35
140 #define STRING_HDINFOPARTCREATE          36
141 #define STRING_HDDINFOUNK1               37
142 #define STRING_HDDINFOUNK2               38
143 #define STRING_HDINFOPARTDELETE          39
144 #define STRING_HDDINFOUNK3               40
145 #define STRING_HDINFOPARTZEROED          41
146 #define STRING_HDDINFOUNK4               42
147 #define STRING_HDINFOPARTEXISTS          43
148 #define STRING_HDDINFOUNK5               44
149 #define STRING_HDINFOPARTSELECT          45
150 #define STRING_HDDINFOUNK6               46
151 #define STRING_NEWPARTITION              47
152 #define STRING_UNPSPACE                  48
153 #define STRING_MAXSIZE                   49
154 #define STRING_UNFORMATTED               50
155 #define STRING_EXTENDED_PARTITION             58
156 #define STRING_FORMATUNUSED              51
157 #define STRING_FORMATUNKNOWN             52
158 #define STRING_KB                        53
159 #define STRING_MB                        54
160 #define STRING_GB                        55
161 #define STRING_ADDKBLAYOUTS              56
162 #define STRING_REBOOTPROGRESSBAR         64
163