Differences From Artifact [50bd587780b74515]:
- File
src/win32/winnls.d
- 2011-02-23 12:53:16 - part of checkin [c2b7a98c21] on branch trunk - Initial import (user: kinaba) [annotate]
To Artifact [7ac912f533a75996]:
- File
src/win32/winnls.d
- 2015-04-21 10:46:55 - part of checkin [4e2933c620] on branch trunk - Rebased to the latest verson dmd 2.067. Not yet verified the outcome. (user: kinaba) [annotate]
1 +/***********************************************************************\
2 +* winnls.d *
3 +* *
4 +* Windows API header module *
5 +* *
6 +* Translated from MinGW Windows headers *
7 +* by Stewart Gordon *
8 +* *
9 +* Placed into public domain *
10 +\***********************************************************************/
1 11 module win32.winnls;
2 -
3 -// Translated from Microsoft Platform SDK August 2001 Edition
4 -// by Y.Tomino
5 -
6 -import win32.windef;
7 -import win32.winbase;
8 -
9 -// #ifndef _WINNLS_
10 -// #define _WINNLS_
11 -
12 -// #ifdef __cplusplus
13 -// extern "C" {
14 -// #endif
15 -
16 -// #ifndef NONLS
17 -
18 -// #ifdef _MAC
19 -// #...
20 -// #endif
21 -
22 -enum : uint { MAX_LEADBYTES = 12 }
23 -enum : uint { MAX_DEFAULTCHAR = 2 }
24 -
25 -enum : uint { MB_PRECOMPOSED = 0x00000001 }
26 -enum : uint { MB_COMPOSITE = 0x00000002 }
27 -enum : uint { MB_USEGLYPHCHARS = 0x00000004 }
28 -enum : uint { MB_ERR_INVALID_CHARS = 0x00000008 }
29 -
30 -enum : uint { WC_COMPOSITECHECK = 0x00000200 }
31 -enum : uint { WC_DISCARDNS = 0x00000010 }
32 -enum : uint { WC_SEPCHARS = 0x00000020 }
33 -enum : uint { WC_DEFAULTCHAR = 0x00000040 }
34 -
35 -// #if(WINVER >= 0x0500)
36 -enum : uint { WC_NO_BEST_FIT_CHARS = 0x00000400 }
37 -// #endif /* WINVER >= 0x0500 */
38 -
39 -enum : uint { CT_CTYPE1 = 0x00000001 }
40 -enum : uint { CT_CTYPE2 = 0x00000002 }
41 -enum : uint { CT_CTYPE3 = 0x00000004 }
42 -
43 -enum : uint { C1_UPPER = 0x0001 }
44 -enum : uint { C1_LOWER = 0x0002 }
45 -enum : uint { C1_DIGIT = 0x0004 }
46 -enum : uint { C1_SPACE = 0x0008 }
47 -enum : uint { C1_PUNCT = 0x0010 }
48 -enum : uint { C1_CNTRL = 0x0020 }
49 -enum : uint { C1_BLANK = 0x0040 }
50 -enum : uint { C1_XDIGIT = 0x0080 }
51 -enum : uint { C1_ALPHA = 0x0100 }
52 -enum : uint { C1_DEFINED = 0x0200 }
53 -
54 -enum : uint { C2_LEFTTORIGHT = 0x0001 }
55 -enum : uint { C2_RIGHTTOLEFT = 0x0002 }
56 -
57 -enum : uint { C2_EUROPENUMBER = 0x0003 }
58 -enum : uint { C2_EUROPESEPARATOR = 0x0004 }
59 -enum : uint { C2_EUROPETERMINATOR = 0x0005 }
60 -enum : uint { C2_ARABICNUMBER = 0x0006 }
61 -enum : uint { C2_COMMONSEPARATOR = 0x0007 }
62 -
63 -enum : uint { C2_BLOCKSEPARATOR = 0x0008 }
64 -enum : uint { C2_SEGMENTSEPARATOR = 0x0009 }
65 -enum : uint { C2_WHITESPACE = 0x000A }
66 -enum : uint { C2_OTHERNEUTRAL = 0x000B }
67 -
68 -enum : uint { C2_NOTAPPLICABLE = 0x0000 }
69 -
70 -enum : uint { C3_NONSPACING = 0x0001 }
71 -enum : uint { C3_DIACRITIC = 0x0002 }
72 -enum : uint { C3_VOWELMARK = 0x0004 }
73 -enum : uint { C3_SYMBOL = 0x0008 }
74 -
75 -enum : uint { C3_KATAKANA = 0x0010 }
76 -enum : uint { C3_HIRAGANA = 0x0020 }
77 -enum : uint { C3_HALFWIDTH = 0x0040 }
78 -enum : uint { C3_FULLWIDTH = 0x0080 }
79 -enum : uint { C3_IDEOGRAPH = 0x0100 }
80 -enum : uint { C3_KASHIDA = 0x0200 }
81 -enum : uint { C3_LEXICAL = 0x0400 }
82 -
83 -enum : uint { C3_ALPHA = 0x8000 }
84 -
85 -enum : uint { C3_NOTAPPLICABLE = 0x0000 }
86 -
87 -enum : uint { NORM_IGNORECASE = 0x00000001 }
88 -enum : uint { NORM_IGNORENONSPACE = 0x00000002 }
89 -enum : uint { NORM_IGNORESYMBOLS = 0x00000004 }
90 -
91 -enum : uint { NORM_IGNOREKANATYPE = 0x00010000 }
92 -enum : uint { NORM_IGNOREWIDTH = 0x00020000 }
93 -
94 -enum : uint { MAP_FOLDCZONE = 0x00000010 }
95 -enum : uint { MAP_PRECOMPOSED = 0x00000020 }
96 -enum : uint { MAP_COMPOSITE = 0x00000040 }
97 -enum : uint { MAP_FOLDDIGITS = 0x00000080 }
98 -
99 -// #if(WINVER >= 0x0500)
100 -enum : uint { MAP_EXPAND_LIGATURES = 0x00002000 }
101 -// #endif /* WINVER >= 0x0500 */
102 -
103 -enum : uint { LCMAP_LOWERCASE = 0x00000100 }
104 -enum : uint { LCMAP_UPPERCASE = 0x00000200 }
105 -enum : uint { LCMAP_SORTKEY = 0x00000400 }
106 -enum : uint { LCMAP_BYTEREV = 0x00000800 }
107 -
108 -enum : uint { LCMAP_HIRAGANA = 0x00100000 }
109 -enum : uint { LCMAP_KATAKANA = 0x00200000 }
110 -enum : uint { LCMAP_HALFWIDTH = 0x00400000 }
111 -enum : uint { LCMAP_FULLWIDTH = 0x00800000 }
112 -
113 -enum : uint { LCMAP_LINGUISTIC_CASING = 0x01000000 }
114 -
115 -enum : uint { LCMAP_SIMPLIFIED_CHINESE = 0x02000000 }
116 -enum : uint { LCMAP_TRADITIONAL_CHINESE = 0x04000000 }
117 -
118 -enum : uint { LGRPID_INSTALLED = 0x00000001 }
119 -enum : uint { LGRPID_SUPPORTED = 0x00000002 }
120 -
121 -enum : uint { LCID_INSTALLED = 0x00000001 }
122 -enum : uint { LCID_SUPPORTED = 0x00000002 }
123 -enum : uint { LCID_ALTERNATE_SORTS = 0x00000004 }
124 -
125 -enum : uint { CP_INSTALLED = 0x00000001 }
126 -enum : uint { CP_SUPPORTED = 0x00000002 }
127 -
128 -enum : uint { SORT_STRINGSORT = 0x00001000 }
129 -
130 -enum : uint { CSTR_LESS_THAN = 1 }
131 -enum : uint { CSTR_EQUAL = 2 }
132 -enum : uint { CSTR_GREATER_THAN = 3 }
133 -
134 -enum : uint { CP_ACP = 0 }
135 -enum : uint { CP_OEMCP = 1 }
136 -enum : uint { CP_MACCP = 2 }
137 -enum : uint { CP_THREAD_ACP = 3 }
138 -enum : uint { CP_SYMBOL = 42 }
139 -
140 -enum : uint { CP_UTF7 = 65000 }
141 -enum : uint { CP_UTF8 = 65001 }
142 -
143 -enum : uint { CTRY_DEFAULT = 0 }
144 -
145 -enum : uint { CTRY_ALBANIA = 355 }
146 -enum : uint { CTRY_ALGERIA = 213 }
147 -enum : uint { CTRY_ARGENTINA = 54 }
148 -enum : uint { CTRY_ARMENIA = 374 }
149 -enum : uint { CTRY_AUSTRALIA = 61 }
150 -enum : uint { CTRY_AUSTRIA = 43 }
151 -enum : uint { CTRY_AZERBAIJAN = 994 }
152 -enum : uint { CTRY_BAHRAIN = 973 }
153 -enum : uint { CTRY_BELARUS = 375 }
154 -enum : uint { CTRY_BELGIUM = 32 }
155 -enum : uint { CTRY_BELIZE = 501 }
156 -enum : uint { CTRY_BOLIVIA = 591 }
157 -enum : uint { CTRY_BRAZIL = 55 }
158 -enum : uint { CTRY_BRUNEI_DARUSSALAM = 673 }
159 -enum : uint { CTRY_BULGARIA = 359 }
160 -enum : uint { CTRY_CANADA = 2 }
161 -enum : uint { CTRY_CARIBBEAN = 1 }
162 -enum : uint { CTRY_CHILE = 56 }
163 -enum : uint { CTRY_COLOMBIA = 57 }
164 -enum : uint { CTRY_COSTA_RICA = 506 }
165 -enum : uint { CTRY_CROATIA = 385 }
166 -enum : uint { CTRY_CZECH = 420 }
167 -enum : uint { CTRY_DENMARK = 45 }
168 -enum : uint { CTRY_DOMINICAN_REPUBLIC = 1 }
169 -enum : uint { CTRY_ECUADOR = 593 }
170 -enum : uint { CTRY_EGYPT = 20 }
171 -enum : uint { CTRY_EL_SALVADOR = 503 }
172 -enum : uint { CTRY_ESTONIA = 372 }
173 -enum : uint { CTRY_FAEROE_ISLANDS = 298 }
174 -enum : uint { CTRY_FINLAND = 358 }
175 -enum : uint { CTRY_FRANCE = 33 }
176 -enum : uint { CTRY_GEORGIA = 995 }
177 -enum : uint { CTRY_GERMANY = 49 }
178 -enum : uint { CTRY_GREECE = 30 }
179 -enum : uint { CTRY_GUATEMALA = 502 }
180 -enum : uint { CTRY_HONDURAS = 504 }
181 -enum : uint { CTRY_HONG_KONG = 852 }
182 -enum : uint { CTRY_HUNGARY = 36 }
183 -enum : uint { CTRY_ICELAND = 354 }
184 -enum : uint { CTRY_INDIA = 91 }
185 -enum : uint { CTRY_INDONESIA = 62 }
186 -enum : uint { CTRY_IRAN = 981 }
187 -enum : uint { CTRY_IRAQ = 964 }
188 -enum : uint { CTRY_IRELAND = 353 }
189 -enum : uint { CTRY_ISRAEL = 972 }
190 -enum : uint { CTRY_ITALY = 39 }
191 -enum : uint { CTRY_JAMAICA = 1 }
192 -enum : uint { CTRY_JAPAN = 81 }
193 -enum : uint { CTRY_JORDAN = 962 }
194 -enum : uint { CTRY_KAZAKSTAN = 7 }
195 -enum : uint { CTRY_KENYA = 254 }
196 -enum : uint { CTRY_KUWAIT = 965 }
197 -enum : uint { CTRY_KYRGYZSTAN = 996 }
198 -enum : uint { CTRY_LATVIA = 371 }
199 -enum : uint { CTRY_LEBANON = 961 }
200 -enum : uint { CTRY_LIBYA = 218 }
201 -enum : uint { CTRY_LIECHTENSTEIN = 41 }
202 -enum : uint { CTRY_LITHUANIA = 370 }
203 -enum : uint { CTRY_LUXEMBOURG = 352 }
204 -enum : uint { CTRY_MACAU = 853 }
205 -enum : uint { CTRY_MACEDONIA = 389 }
206 -enum : uint { CTRY_MALAYSIA = 60 }
207 -enum : uint { CTRY_MALDIVES = 960 }
208 -enum : uint { CTRY_MEXICO = 52 }
209 -enum : uint { CTRY_MONACO = 33 }
210 -enum : uint { CTRY_MONGOLIA = 976 }
211 -enum : uint { CTRY_MOROCCO = 212 }
212 -enum : uint { CTRY_NETHERLANDS = 31 }
213 -enum : uint { CTRY_NEW_ZEALAND = 64 }
214 -enum : uint { CTRY_NICARAGUA = 505 }
215 -enum : uint { CTRY_NORWAY = 47 }
216 -enum : uint { CTRY_OMAN = 968 }
217 -enum : uint { CTRY_PAKISTAN = 92 }
218 -enum : uint { CTRY_PANAMA = 507 }
219 -enum : uint { CTRY_PARAGUAY = 595 }
220 -enum : uint { CTRY_PERU = 51 }
221 -enum : uint { CTRY_PHILIPPINES = 63 }
222 -enum : uint { CTRY_POLAND = 48 }
223 -enum : uint { CTRY_PORTUGAL = 351 }
224 -enum : uint { CTRY_PRCHINA = 86 }
225 -enum : uint { CTRY_PUERTO_RICO = 1 }
226 -enum : uint { CTRY_QATAR = 974 }
227 -enum : uint { CTRY_ROMANIA = 40 }
228 -enum : uint { CTRY_RUSSIA = 7 }
229 -enum : uint { CTRY_SAUDI_ARABIA = 966 }
230 -enum : uint { CTRY_SERBIA = 381 }
231 -enum : uint { CTRY_SINGAPORE = 65 }
232 -enum : uint { CTRY_SLOVAK = 421 }
233 -enum : uint { CTRY_SLOVENIA = 386 }
234 -enum : uint { CTRY_SOUTH_AFRICA = 27 }
235 -enum : uint { CTRY_SOUTH_KOREA = 82 }
236 -enum : uint { CTRY_SPAIN = 34 }
237 -enum : uint { CTRY_SWEDEN = 46 }
238 -enum : uint { CTRY_SWITZERLAND = 41 }
239 -enum : uint { CTRY_SYRIA = 963 }
240 -enum : uint { CTRY_TAIWAN = 886 }
241 -enum : uint { CTRY_TATARSTAN = 7 }
242 -enum : uint { CTRY_THAILAND = 66 }
243 -enum : uint { CTRY_TRINIDAD_Y_TOBAGO = 1 }
244 -enum : uint { CTRY_TUNISIA = 216 }
245 -enum : uint { CTRY_TURKEY = 90 }
246 -enum : uint { CTRY_UAE = 971 }
247 -enum : uint { CTRY_UKRAINE = 380 }
248 -enum : uint { CTRY_UNITED_KINGDOM = 44 }
249 -enum : uint { CTRY_UNITED_STATES = 1 }
250 -enum : uint { CTRY_URUGUAY = 598 }
251 -enum : uint { CTRY_UZBEKISTAN = 7 }
252 -enum : uint { CTRY_VENEZUELA = 58 }
253 -enum : uint { CTRY_VIET_NAM = 84 }
254 -enum : uint { CTRY_YEMEN = 967 }
255 -enum : uint { CTRY_ZIMBABWE = 263 }
256 -
257 -enum : uint { LOCALE_NOUSEROVERRIDE = 0x80000000 }
258 -enum : uint { LOCALE_USE_CP_ACP = 0x40000000 }
259 -
260 -// #if(WINVER >= 0x0400)
261 -enum : uint { LOCALE_RETURN_NUMBER = 0x20000000 }
262 -// #endif /* WINVER >= 0x0400 */
263 -
264 -enum : uint { LOCALE_ILANGUAGE = 0x00000001 }
265 -enum : uint { LOCALE_SLANGUAGE = 0x00000002 }
266 -enum : uint { LOCALE_SENGLANGUAGE = 0x00001001 }
267 -enum : uint { LOCALE_SABBREVLANGNAME = 0x00000003 }
268 -enum : uint { LOCALE_SNATIVELANGNAME = 0x00000004 }
269 -
270 -enum : uint { LOCALE_ICOUNTRY = 0x00000005 }
271 -enum : uint { LOCALE_SCOUNTRY = 0x00000006 }
272 -enum : uint { LOCALE_SENGCOUNTRY = 0x00001002 }
273 -enum : uint { LOCALE_SABBREVCTRYNAME = 0x00000007 }
274 -enum : uint { LOCALE_SNATIVECTRYNAME = 0x00000008 }
275 -
276 -enum : uint { LOCALE_IDEFAULTLANGUAGE = 0x00000009 }
277 -enum : uint { LOCALE_IDEFAULTCOUNTRY = 0x0000000A }
278 -enum : uint { LOCALE_IDEFAULTCODEPAGE = 0x0000000B }
279 -enum : uint { LOCALE_IDEFAULTANSICODEPAGE = 0x00001004 }
280 -enum : uint { LOCALE_IDEFAULTMACCODEPAGE = 0x00001011 }
281 -
282 -enum : uint { LOCALE_SLIST = 0x0000000C }
283 -enum : uint { LOCALE_IMEASURE = 0x0000000D }
284 -
285 -enum : uint { LOCALE_SDECIMAL = 0x0000000E }
286 -enum : uint { LOCALE_STHOUSAND = 0x0000000F }
287 -enum : uint { LOCALE_SGROUPING = 0x00000010 }
288 -enum : uint { LOCALE_IDIGITS = 0x00000011 }
289 -enum : uint { LOCALE_ILZERO = 0x00000012 }
290 -enum : uint { LOCALE_INEGNUMBER = 0x00001010 }
291 -enum : uint { LOCALE_SNATIVEDIGITS = 0x00000013 }
292 -
293 -enum : uint { LOCALE_SCURRENCY = 0x00000014 }
294 -enum : uint { LOCALE_SINTLSYMBOL = 0x00000015 }
295 -enum : uint { LOCALE_SMONDECIMALSEP = 0x00000016 }
296 -enum : uint { LOCALE_SMONTHOUSANDSEP = 0x00000017 }
297 -enum : uint { LOCALE_SMONGROUPING = 0x00000018 }
298 -enum : uint { LOCALE_ICURRDIGITS = 0x00000019 }
299 -enum : uint { LOCALE_IINTLCURRDIGITS = 0x0000001A }
300 -enum : uint { LOCALE_ICURRENCY = 0x0000001B }
301 -enum : uint { LOCALE_INEGCURR = 0x0000001C }
302 -
303 -enum : uint { LOCALE_SDATE = 0x0000001D }
304 -enum : uint { LOCALE_STIME = 0x0000001E }
305 -enum : uint { LOCALE_SSHORTDATE = 0x0000001F }
306 -enum : uint { LOCALE_SLONGDATE = 0x00000020 }
307 -enum : uint { LOCALE_STIMEFORMAT = 0x00001003 }
308 -enum : uint { LOCALE_IDATE = 0x00000021 }
309 -enum : uint { LOCALE_ILDATE = 0x00000022 }
310 -enum : uint { LOCALE_ITIME = 0x00000023 }
311 -enum : uint { LOCALE_ITIMEMARKPOSN = 0x00001005 }
312 -enum : uint { LOCALE_ICENTURY = 0x00000024 }
313 -enum : uint { LOCALE_ITLZERO = 0x00000025 }
314 -enum : uint { LOCALE_IDAYLZERO = 0x00000026 }
315 -enum : uint { LOCALE_IMONLZERO = 0x00000027 }
316 -enum : uint { LOCALE_S1159 = 0x00000028 }
317 -enum : uint { LOCALE_S2359 = 0x00000029 }
318 -
319 -enum : uint { LOCALE_ICALENDARTYPE = 0x00001009 }
320 -enum : uint { LOCALE_IOPTIONALCALENDAR = 0x0000100B }
321 -enum : uint { LOCALE_IFIRSTDAYOFWEEK = 0x0000100C }
322 -enum : uint { LOCALE_IFIRSTWEEKOFYEAR = 0x0000100D }
323 -
324 -enum : uint { LOCALE_SDAYNAME1 = 0x0000002A }
325 -enum : uint { LOCALE_SDAYNAME2 = 0x0000002B }
326 -enum : uint { LOCALE_SDAYNAME3 = 0x0000002C }
327 -enum : uint { LOCALE_SDAYNAME4 = 0x0000002D }
328 -enum : uint { LOCALE_SDAYNAME5 = 0x0000002E }
329 -enum : uint { LOCALE_SDAYNAME6 = 0x0000002F }
330 -enum : uint { LOCALE_SDAYNAME7 = 0x00000030 }
331 -enum : uint { LOCALE_SABBREVDAYNAME1 = 0x00000031 }
332 -enum : uint { LOCALE_SABBREVDAYNAME2 = 0x00000032 }
333 -enum : uint { LOCALE_SABBREVDAYNAME3 = 0x00000033 }
334 -enum : uint { LOCALE_SABBREVDAYNAME4 = 0x00000034 }
335 -enum : uint { LOCALE_SABBREVDAYNAME5 = 0x00000035 }
336 -enum : uint { LOCALE_SABBREVDAYNAME6 = 0x00000036 }
337 -enum : uint { LOCALE_SABBREVDAYNAME7 = 0x00000037 }
338 -enum : uint { LOCALE_SMONTHNAME1 = 0x00000038 }
339 -enum : uint { LOCALE_SMONTHNAME2 = 0x00000039 }
340 -enum : uint { LOCALE_SMONTHNAME3 = 0x0000003A }
341 -enum : uint { LOCALE_SMONTHNAME4 = 0x0000003B }
342 -enum : uint { LOCALE_SMONTHNAME5 = 0x0000003C }
343 -enum : uint { LOCALE_SMONTHNAME6 = 0x0000003D }
344 -enum : uint { LOCALE_SMONTHNAME7 = 0x0000003E }
345 -enum : uint { LOCALE_SMONTHNAME8 = 0x0000003F }
346 -enum : uint { LOCALE_SMONTHNAME9 = 0x00000040 }
347 -enum : uint { LOCALE_SMONTHNAME10 = 0x00000041 }
348 -enum : uint { LOCALE_SMONTHNAME11 = 0x00000042 }
349 -enum : uint { LOCALE_SMONTHNAME12 = 0x00000043 }
350 -enum : uint { LOCALE_SMONTHNAME13 = 0x0000100E }
351 -enum : uint { LOCALE_SABBREVMONTHNAME1 = 0x00000044 }
352 -enum : uint { LOCALE_SABBREVMONTHNAME2 = 0x00000045 }
353 -enum : uint { LOCALE_SABBREVMONTHNAME3 = 0x00000046 }
354 -enum : uint { LOCALE_SABBREVMONTHNAME4 = 0x00000047 }
355 -enum : uint { LOCALE_SABBREVMONTHNAME5 = 0x00000048 }
356 -enum : uint { LOCALE_SABBREVMONTHNAME6 = 0x00000049 }
357 -enum : uint { LOCALE_SABBREVMONTHNAME7 = 0x0000004A }
358 -enum : uint { LOCALE_SABBREVMONTHNAME8 = 0x0000004B }
359 -enum : uint { LOCALE_SABBREVMONTHNAME9 = 0x0000004C }
360 -enum : uint { LOCALE_SABBREVMONTHNAME10 = 0x0000004D }
361 -enum : uint { LOCALE_SABBREVMONTHNAME11 = 0x0000004E }
362 -enum : uint { LOCALE_SABBREVMONTHNAME12 = 0x0000004F }
363 -enum : uint { LOCALE_SABBREVMONTHNAME13 = 0x0000100F }
364 -
365 -enum : uint { LOCALE_SPOSITIVESIGN = 0x00000050 }
366 -enum : uint { LOCALE_SNEGATIVESIGN = 0x00000051 }
367 -enum : uint { LOCALE_IPOSSIGNPOSN = 0x00000052 }
368 -enum : uint { LOCALE_INEGSIGNPOSN = 0x00000053 }
369 -enum : uint { LOCALE_IPOSSYMPRECEDES = 0x00000054 }
370 -enum : uint { LOCALE_IPOSSEPBYSPACE = 0x00000055 }
371 -enum : uint { LOCALE_INEGSYMPRECEDES = 0x00000056 }
372 -enum : uint { LOCALE_INEGSEPBYSPACE = 0x00000057 }
373 -
374 -// #if(WINVER >= 0x0400)
375 -enum : uint { LOCALE_FONTSIGNATURE = 0x00000058 }
376 -enum : uint { LOCALE_SISO639LANGNAME = 0x00000059 }
377 -enum : uint { LOCALE_SISO3166CTRYNAME = 0x0000005A }
378 -// #endif /* WINVER >= 0x0400 */
379 -
380 -// #if(WINVER >= 0x0500)
381 -enum : uint { LOCALE_IDEFAULTEBCDICCODEPAGE = 0x00001012 }
382 -enum : uint { LOCALE_IPAPERSIZE = 0x0000100A }
383 -enum : uint { LOCALE_SENGCURRNAME = 0x00001007 }
384 -enum : uint { LOCALE_SNATIVECURRNAME = 0x00001008 }
385 -enum : uint { LOCALE_SYEARMONTH = 0x00001006 }
386 -enum : uint { LOCALE_SSORTNAME = 0x00001013 }
387 -enum : uint { LOCALE_IDIGITSUBSTITUTION = 0x00001014 }
388 -
389 -// #endif /* WINVER >= 0x0500 */
390 -
391 -enum : uint { TIME_NOMINUTESORSECONDS = 0x00000001 }
392 -enum : uint { TIME_NOSECONDS = 0x00000002 }
393 -enum : uint { TIME_NOTIMEMARKER = 0x00000004 }
394 -enum : uint { TIME_FORCE24HOURFORMAT = 0x00000008 }
395 -
396 -enum : uint { DATE_SHORTDATE = 0x00000001 }
397 -enum : uint { DATE_LONGDATE = 0x00000002 }
398 -enum : uint { DATE_USE_ALT_CALENDAR = 0x00000004 }
399 -
400 -// #if(WINVER >= 0x0500)
401 -enum : uint { DATE_YEARMONTH = 0x00000008 }
402 -enum : uint { DATE_LTRREADING = 0x00000010 }
403 -enum : uint { DATE_RTLREADING = 0x00000020 }
404 -// #endif /* WINVER >= 0x0500 */
405 -
406 -// #if(WINVER >= 0x0500)
407 -alias LOCALE_NOUSEROVERRIDE CAL_NOUSEROVERRIDE;
408 -alias LOCALE_USE_CP_ACP CAL_USE_CP_ACP;
409 -alias LOCALE_RETURN_NUMBER CAL_RETURN_NUMBER;
410 -// #endif /* WINVER >= 0x0500 */
411 -
412 -enum : uint { CAL_ICALINTVALUE = 0x00000001 }
413 -enum : uint { CAL_SCALNAME = 0x00000002 }
414 -enum : uint { CAL_IYEAROFFSETRANGE = 0x00000003 }
415 -enum : uint { CAL_SERASTRING = 0x00000004 }
416 -enum : uint { CAL_SSHORTDATE = 0x00000005 }
417 -enum : uint { CAL_SLONGDATE = 0x00000006 }
418 -enum : uint { CAL_SDAYNAME1 = 0x00000007 }
419 -enum : uint { CAL_SDAYNAME2 = 0x00000008 }
420 -enum : uint { CAL_SDAYNAME3 = 0x00000009 }
421 -enum : uint { CAL_SDAYNAME4 = 0x0000000a }
422 -enum : uint { CAL_SDAYNAME5 = 0x0000000b }
423 -enum : uint { CAL_SDAYNAME6 = 0x0000000c }
424 -enum : uint { CAL_SDAYNAME7 = 0x0000000d }
425 -enum : uint { CAL_SABBREVDAYNAME1 = 0x0000000e }
426 -enum : uint { CAL_SABBREVDAYNAME2 = 0x0000000f }
427 -enum : uint { CAL_SABBREVDAYNAME3 = 0x00000010 }
428 -enum : uint { CAL_SABBREVDAYNAME4 = 0x00000011 }
429 -enum : uint { CAL_SABBREVDAYNAME5 = 0x00000012 }
430 -enum : uint { CAL_SABBREVDAYNAME6 = 0x00000013 }
431 -enum : uint { CAL_SABBREVDAYNAME7 = 0x00000014 }
432 -enum : uint { CAL_SMONTHNAME1 = 0x00000015 }
433 -enum : uint { CAL_SMONTHNAME2 = 0x00000016 }
434 -enum : uint { CAL_SMONTHNAME3 = 0x00000017 }
435 -enum : uint { CAL_SMONTHNAME4 = 0x00000018 }
436 -enum : uint { CAL_SMONTHNAME5 = 0x00000019 }
437 -enum : uint { CAL_SMONTHNAME6 = 0x0000001a }
438 -enum : uint { CAL_SMONTHNAME7 = 0x0000001b }
439 -enum : uint { CAL_SMONTHNAME8 = 0x0000001c }
440 -enum : uint { CAL_SMONTHNAME9 = 0x0000001d }
441 -enum : uint { CAL_SMONTHNAME10 = 0x0000001e }
442 -enum : uint { CAL_SMONTHNAME11 = 0x0000001f }
443 -enum : uint { CAL_SMONTHNAME12 = 0x00000020 }
444 -enum : uint { CAL_SMONTHNAME13 = 0x00000021 }
445 -enum : uint { CAL_SABBREVMONTHNAME1 = 0x00000022 }
446 -enum : uint { CAL_SABBREVMONTHNAME2 = 0x00000023 }
447 -enum : uint { CAL_SABBREVMONTHNAME3 = 0x00000024 }
448 -enum : uint { CAL_SABBREVMONTHNAME4 = 0x00000025 }
449 -enum : uint { CAL_SABBREVMONTHNAME5 = 0x00000026 }
450 -enum : uint { CAL_SABBREVMONTHNAME6 = 0x00000027 }
451 -enum : uint { CAL_SABBREVMONTHNAME7 = 0x00000028 }
452 -enum : uint { CAL_SABBREVMONTHNAME8 = 0x00000029 }
453 -enum : uint { CAL_SABBREVMONTHNAME9 = 0x0000002a }
454 -enum : uint { CAL_SABBREVMONTHNAME10 = 0x0000002b }
455 -enum : uint { CAL_SABBREVMONTHNAME11 = 0x0000002c }
456 -enum : uint { CAL_SABBREVMONTHNAME12 = 0x0000002d }
457 -enum : uint { CAL_SABBREVMONTHNAME13 = 0x0000002e }
458 -
459 -// #if(WINVER >= 0x0500)
460 -enum : uint { CAL_SYEARMONTH = 0x0000002f }
461 -enum : uint { CAL_ITWODIGITYEARMAX = 0x00000030 }
462 -// #endif /* WINVER >= 0x0500 */
463 -
464 -enum : uint { ENUM_ALL_CALENDARS = 0xffffffff }
465 -
466 -enum : uint { CAL_GREGORIAN = 1 }
467 -enum : uint { CAL_GREGORIAN_US = 2 }
468 -enum : uint { CAL_JAPAN = 3 }
469 -enum : uint { CAL_TAIWAN = 4 }
470 -enum : uint { CAL_KOREA = 5 }
471 -enum : uint { CAL_HIJRI = 6 }
472 -enum : uint { CAL_THAI = 7 }
473 -enum : uint { CAL_HEBREW = 8 }
474 -enum : uint { CAL_GREGORIAN_ME_FRENCH = 9 }
475 -enum : uint { CAL_GREGORIAN_ARABIC = 10 }
476 -enum : uint { CAL_GREGORIAN_XLIT_ENGLISH = 11 }
477 -enum : uint { CAL_GREGORIAN_XLIT_FRENCH = 12 }
478 -
479 -enum : uint { LGRPID_WESTERN_EUROPE = 0x0001 }
480 -enum : uint { LGRPID_CENTRAL_EUROPE = 0x0002 }
481 -enum : uint { LGRPID_BALTIC = 0x0003 }
482 -enum : uint { LGRPID_GREEK = 0x0004 }
483 -enum : uint { LGRPID_CYRILLIC = 0x0005 }
484 -enum : uint { LGRPID_TURKISH = 0x0006 }
485 -enum : uint { LGRPID_JAPANESE = 0x0007 }
486 -enum : uint { LGRPID_KOREAN = 0x0008 }
487 -enum : uint { LGRPID_TRADITIONAL_CHINESE = 0x0009 }
488 -enum : uint { LGRPID_SIMPLIFIED_CHINESE = 0x000a }
489 -enum : uint { LGRPID_THAI = 0x000b }
490 -enum : uint { LGRPID_HEBREW = 0x000c }
491 -enum : uint { LGRPID_ARABIC = 0x000d }
492 -enum : uint { LGRPID_VIETNAMESE = 0x000e }
493 -enum : uint { LGRPID_INDIC = 0x000f }
494 -enum : uint { LGRPID_GEORGIAN = 0x0010 }
495 -enum : uint { LGRPID_ARMENIAN = 0x0011 }
496 -
497 -alias DWORD LGRPID;
498 -
499 -alias DWORD LCTYPE;
500 -
501 -alias DWORD CALTYPE;
502 -
503 -alias DWORD CALID;
504 -
505 -struct _cpinfo {
506 - UINT MaxCharSize;
507 - BYTE DefaultChar[MAX_DEFAULTCHAR];
508 - BYTE LeadByte[MAX_LEADBYTES];
509 -}
510 -alias _cpinfo CPINFO;
511 -alias _cpinfo* LPCPINFO;
512 -
513 -struct _cpinfoexA {
514 - UINT MaxCharSize;
515 - BYTE DefaultChar[MAX_DEFAULTCHAR];
516 - BYTE LeadByte[MAX_LEADBYTES];
517 - WCHAR UnicodeDefaultChar;
518 - UINT CodePage;
519 - CHAR CodePageName[MAX_PATH];
520 -}
521 -alias _cpinfoexA CPINFOEXA;
522 -alias _cpinfoexA* LPCPINFOEXA;
523 -
524 -struct _cpinfoexW {
525 - UINT MaxCharSize;
526 - BYTE DefaultChar[MAX_DEFAULTCHAR];
527 - BYTE LeadByte[MAX_LEADBYTES];
528 - WCHAR UnicodeDefaultChar;
529 - UINT CodePage;
530 - WCHAR CodePageName[MAX_PATH];
531 -}
532 -alias _cpinfoexW CPINFOEXW;
533 -alias _cpinfoexW* LPCPINFOEXW;
534 -
535 -// #ifdef UNICODE
536 -alias CPINFOEXW CPINFOEX;
537 -alias LPCPINFOEXW LPCPINFOEX;
538 -// #else
539 -// ...
540 -// #endif // UNICODE
541 -
542 -struct _numberfmtA {
543 - UINT NumDigits;
544 - UINT LeadingZero;
545 - UINT Grouping;
546 - LPSTR lpDecimalSep;
547 - LPSTR lpThousandSep;
548 - UINT NegativeOrder;
549 -}
550 -alias _numberfmtA NUMBERFMTA;
551 -alias _numberfmtA* LPNUMBERFMTA;
552 -
553 -struct _numberfmtW {
554 - UINT NumDigits;
555 - UINT LeadingZero;
556 - UINT Grouping;
557 - LPWSTR lpDecimalSep;
558 - LPWSTR lpThousandSep;
559 - UINT NegativeOrder;
560 -}
561 -alias _numberfmtW NUMBERFMTW;
562 -alias _numberfmtW* LPNUMBERFMTW;
563 -
564 -// #ifdef UNICODE
565 -alias NUMBERFMTW NUMBERFMT;
566 -alias LPNUMBERFMTW LPNUMBERFMT;
567 -// #else
568 -// ...
569 -// #endif // UNICODE
570 -
571 -struct _currencyfmtA {
572 - UINT NumDigits;
573 - UINT LeadingZero;
574 - UINT Grouping;
575 - LPSTR lpDecimalSep;
576 - LPSTR lpThousandSep;
577 - UINT NegativeOrder;
578 - UINT PositiveOrder;
579 - LPSTR lpCurrencySymbol;
580 -}
581 -alias _currencyfmtA CURRENCYFMTA;
582 -alias _currencyfmtA* LPCURRENCYFMTA;
583 -
584 -struct _currencyfmtW {
585 - UINT NumDigits;
586 - UINT LeadingZero;
587 - UINT Grouping;
588 - LPWSTR lpDecimalSep;
589 - LPWSTR lpThousandSep;
590 - UINT NegativeOrder;
591 - UINT PositiveOrder;
592 - LPWSTR lpCurrencySymbol;
593 -}
594 -alias _currencyfmtW CURRENCYFMTW;
595 -alias _currencyfmtW* LPCURRENCYFMTW;
596 -
597 -// #ifdef UNICODE
598 -alias CURRENCYFMTW CURRENCYFMT;
599 -alias LPCURRENCYFMTW LPCURRENCYFMT;
600 -// #else
601 -// ...
602 -// #endif // UNICODE
603 -
604 -alias LONG GEOID;
605 -alias DWORD GEOTYPE;
606 -alias DWORD GEOCLASS;
607 -
608 -enum { GEOID_NOT_AVAILABLE = -1 }
12 +pragma(lib, "kernel32.lib");
13 +
14 +private import win32.basetsd, win32.w32api, win32.winbase, win32.windef;
15 +
16 +alias DWORD LCTYPE, CALTYPE, CALID, LGRPID, GEOID, GEOTYPE, GEOCLASS;
17 +
18 +const size_t
19 + MAX_DEFAULTCHAR = 2,
20 + MAX_LEADBYTES = 12;
21 +
22 +const LCTYPE
23 + LOCALE_USE_CP_ACP = 0x40000000,
24 + LOCALE_RETURN_NUMBER = 0x20000000;
25 +
26 +enum : LCTYPE {
27 + LOCALE_ILANGUAGE = 1,
28 + LOCALE_SLANGUAGE,
29 + LOCALE_SABBREVLANGNAME,
30 + LOCALE_SNATIVELANGNAME,
31 + LOCALE_ICOUNTRY,
32 + LOCALE_SCOUNTRY,
33 + LOCALE_SABBREVCTRYNAME,
34 + LOCALE_SNATIVECTRYNAME,
35 + LOCALE_IDEFAULTLANGUAGE,
36 + LOCALE_IDEFAULTCOUNTRY,
37 + LOCALE_IDEFAULTCODEPAGE,
38 + LOCALE_SLIST,
39 + LOCALE_IMEASURE,
40 + LOCALE_SDECIMAL,
41 + LOCALE_STHOUSAND,
42 + LOCALE_SGROUPING,
43 + LOCALE_IDIGITS,
44 + LOCALE_ILZERO,
45 + LOCALE_SNATIVEDIGITS,
46 + LOCALE_SCURRENCY,
47 + LOCALE_SINTLSYMBOL,
48 + LOCALE_SMONDECIMALSEP,
49 + LOCALE_SMONTHOUSANDSEP,
50 + LOCALE_SMONGROUPING,
51 + LOCALE_ICURRDIGITS,
52 + LOCALE_IINTLCURRDIGITS,
53 + LOCALE_ICURRENCY,
54 + LOCALE_INEGCURR,
55 + LOCALE_SDATE,
56 + LOCALE_STIME,
57 + LOCALE_SSHORTDATE,
58 + LOCALE_SLONGDATE,
59 + LOCALE_IDATE,
60 + LOCALE_ILDATE,
61 + LOCALE_ITIME,
62 + LOCALE_ICENTURY,
63 + LOCALE_ITLZERO,
64 + LOCALE_IDAYLZERO,
65 + LOCALE_IMONLZERO,
66 + LOCALE_S1159,
67 + LOCALE_S2359,
68 + LOCALE_SDAYNAME1,
69 + LOCALE_SDAYNAME2,
70 + LOCALE_SDAYNAME3,
71 + LOCALE_SDAYNAME4,
72 + LOCALE_SDAYNAME5,
73 + LOCALE_SDAYNAME6,
74 + LOCALE_SDAYNAME7,
75 + LOCALE_SABBREVDAYNAME1,
76 + LOCALE_SABBREVDAYNAME2,
77 + LOCALE_SABBREVDAYNAME3,
78 + LOCALE_SABBREVDAYNAME4,
79 + LOCALE_SABBREVDAYNAME5,
80 + LOCALE_SABBREVDAYNAME6,
81 + LOCALE_SABBREVDAYNAME7,
82 + LOCALE_SMONTHNAME1,
83 + LOCALE_SMONTHNAME2,
84 + LOCALE_SMONTHNAME3,
85 + LOCALE_SMONTHNAME4,
86 + LOCALE_SMONTHNAME5,
87 + LOCALE_SMONTHNAME6,
88 + LOCALE_SMONTHNAME7,
89 + LOCALE_SMONTHNAME8,
90 + LOCALE_SMONTHNAME9,
91 + LOCALE_SMONTHNAME10,
92 + LOCALE_SMONTHNAME11,
93 + LOCALE_SMONTHNAME12,
94 + LOCALE_SABBREVMONTHNAME1,
95 + LOCALE_SABBREVMONTHNAME2,
96 + LOCALE_SABBREVMONTHNAME3,
97 + LOCALE_SABBREVMONTHNAME4,
98 + LOCALE_SABBREVMONTHNAME5,
99 + LOCALE_SABBREVMONTHNAME6,
100 + LOCALE_SABBREVMONTHNAME7,
101 + LOCALE_SABBREVMONTHNAME8,
102 + LOCALE_SABBREVMONTHNAME9,
103 + LOCALE_SABBREVMONTHNAME10,
104 + LOCALE_SABBREVMONTHNAME11,
105 + LOCALE_SABBREVMONTHNAME12,
106 + LOCALE_SPOSITIVESIGN,
107 + LOCALE_SNEGATIVESIGN,
108 + LOCALE_IPOSSIGNPOSN,
109 + LOCALE_INEGSIGNPOSN,
110 + LOCALE_IPOSSYMPRECEDES,
111 + LOCALE_IPOSSEPBYSPACE,
112 + LOCALE_INEGSYMPRECEDES,
113 + LOCALE_INEGSEPBYSPACE,
114 + LOCALE_FONTSIGNATURE,
115 + LOCALE_SISO639LANGNAME,
116 + LOCALE_SISO3166CTRYNAME, // = 90
117 + LOCALE_SENGLANGUAGE = 0x1001,
118 + LOCALE_SENGCOUNTRY = 0x1002,
119 + LOCALE_IDEFAULTANSICODEPAGE = 0x1004,
120 + LOCALE_INEGNUMBER = 0x1010,
121 + LOCALE_STIMEFORMAT = 0x1003,
122 + LOCALE_ITIMEMARKPOSN = 0x1005,
123 + LOCALE_ICALENDARTYPE = 0x1009,
124 + LOCALE_IOPTIONALCALENDAR = 0x100B,
125 + LOCALE_IFIRSTDAYOFWEEK = 0x100C,
126 + LOCALE_IFIRSTWEEKOFYEAR = 0x100D,
127 + LOCALE_SMONTHNAME13 = 0x100E,
128 + LOCALE_SABBREVMONTHNAME13 = 0x100F
129 +}
130 +
131 +enum : LCID {
132 + LOCALE_USER_DEFAULT = 0x400,
133 + LOCALE_SYSTEM_DEFAULT = 0x800
134 +}
135 +
136 +const DWORD
137 + NORM_IGNORECASE = 1,
138 + NORM_IGNORENONSPACE = 2,
139 + NORM_IGNORESYMBOLS = 4,
140 + SORT_STRINGSORT = 0x01000,
141 + NORM_IGNOREKANATYPE = 0x10000,
142 + NORM_IGNOREWIDTH = 0x20000;
143 +
144 +const DWORD
145 + LCMAP_LOWERCASE = 0x00000100,
146 + LCMAP_UPPERCASE = 0x00000200,
147 + LCMAP_SORTKEY = 0x00000400,
148 + LCMAP_BYTEREV = 0x00000800,
149 + LCMAP_HIRAGANA = 0x00100000,
150 + LCMAP_KATAKANA = 0x00200000,
151 + LCMAP_HALFWIDTH = 0x00400000,
152 + LCMAP_FULLWIDTH = 0x00800000,
153 + LCMAP_LINGUISTIC_CASING = 0x01000000,
154 + LCMAP_SIMPLIFIED_CHINESE = 0x02000000,
155 + LCMAP_TRADITIONAL_CHINESE = 0x04000000;
156 +
157 +const CALID ENUM_ALL_CALENDARS = -1;
158 +
159 +const DWORD
160 + DATE_SHORTDATE = 1,
161 + DATE_LONGDATE = 2,
162 + DATE_USE_ALT_CALENDAR = 4,
163 + LOCALE_NOUSEROVERRIDE = 0x80000000;
164 +
165 +enum : DWORD {
166 + CP_INSTALLED = 1,
167 + CP_SUPPORTED
168 +}
169 +
170 +enum : DWORD {
171 + LCID_INSTALLED = 1,
172 + LCID_SUPPORTED = 2,
173 + LCID_ALTERNATE_SORTS = 4
174 +}
175 +
176 +const DWORD
177 + MAP_FOLDCZONE = 16,
178 + MAP_PRECOMPOSED = 32,
179 + MAP_COMPOSITE = 64,
180 + MAP_FOLDDIGITS = 128;
181 +
182 +enum : UINT {
183 + CP_ACP,
184 + CP_OEMCP,
185 + CP_MACCP,
186 + CP_THREAD_ACP, // = 3
187 + CP_SYMBOL = 42,
188 + CP_UTF7 = 65000,
189 + CP_UTF8 = 65001
190 +}
191 +
192 +enum : DWORD {
193 + CT_CTYPE1 = 1,
194 + CT_CTYPE2 = 2,
195 + CT_CTYPE3 = 4
196 +}
197 +
198 +const WORD
199 + C1_UPPER = 1,
200 + C1_LOWER = 2,
201 + C1_DIGIT = 4,
202 + C1_SPACE = 8,
203 + C1_PUNCT = 16,
204 + C1_CNTRL = 32,
205 + C1_BLANK = 64,
206 + C1_XDIGIT = 128,
207 + C1_ALPHA = 256;
208 +
209 +enum : WORD {
210 + C2_NOTAPPLICABLE,
211 + C2_LEFTTORIGHT,
212 + C2_RIGHTTOLEFT,
213 + C2_EUROPENUMBER,
214 + C2_EUROPESEPARATOR,
215 + C2_EUROPETERMINATOR,
216 + C2_ARABICNUMBER,
217 + C2_COMMONSEPARATOR,
218 + C2_BLOCKSEPARATOR,
219 + C2_SEGMENTSEPARATOR,
220 + C2_WHITESPACE,
221 + C2_OTHERNEUTRAL // = 11
222 +}
223 +
224 +const WORD
225 + C3_NOTAPPLICABLE = 0,
226 + C3_NONSPACING = 1,
227 + C3_DIACRITIC = 2,
228 + C3_VOWELMARK = 4,
229 + C3_SYMBOL = 8,
230 + C3_KATAKANA = 0x0010,
231 + C3_HIRAGANA = 0x0020,
232 + C3_HALFWIDTH = 0x0040,
233 + C3_FULLWIDTH = 0x0080,
234 + C3_IDEOGRAPH = 0x0100,
235 + C3_KASHIDA = 0x0200,
236 + C3_LEXICAL = 0x0400,
237 + C3_ALPHA = 0x8000;
238 +
239 +const DWORD
240 + TIME_NOMINUTESORSECONDS = 1,
241 + TIME_NOSECONDS = 2,
242 + TIME_NOTIMEMARKER = 4,
243 + TIME_FORCE24HOURFORMAT = 8;
244 +
245 +const DWORD
246 + MB_PRECOMPOSED = 1,
247 + MB_COMPOSITE = 2,
248 + MB_USEGLYPHCHARS = 4,
249 + MB_ERR_INVALID_CHARS = 8;
250 +
251 +const DWORD
252 + WC_DISCARDNS = 16,
253 + WC_SEPCHARS = 32,
254 + WC_DEFAULTCHAR = 64,
255 + WC_COMPOSITECHECK = 512;
256 +
257 +enum : LONG {
258 + CTRY_DEFAULT = 0,
259 + CTRY_DOMINICAN_REPUBLIC = 1,
260 + CTRY_PUERTO_RICO = 1,
261 + CTRY_CARIBBEAN = 1,
262 + CTRY_JAMAICA = 1,
263 + CTRY_UNITED_STATES = 1,
264 + CTRY_TRINIDAD_Y_TOBAGO = 1,
265 + CTRY_CANADA = 2,
266 + CTRY_RUSSIA = 7,
267 + CTRY_UZBEKISTAN = 7,
268 + CTRY_KAZAKSTAN = 7,
269 + CTRY_TATARSTAN = 7,
270 + CTRY_EGYPT = 20,
271 + CTRY_SOUTH_AFRICA = 27,
272 + CTRY_GREECE = 30,
273 + CTRY_NETHERLANDS = 31,
274 + CTRY_BELGIUM = 32,
275 + CTRY_FRANCE = 33,
276 + CTRY_MONACO = 33,
277 + CTRY_SPAIN = 34,
278 + CTRY_HUNGARY = 36,
279 + CTRY_ITALY = 39,
280 + CTRY_ROMANIA = 40,
281 + CTRY_SWITZERLAND = 41,
282 + CTRY_LIECHTENSTEIN = 41,
283 + CTRY_AUSTRIA = 43,
284 + CTRY_UNITED_KINGDOM = 44,
285 + CTRY_DENMARK = 45,
286 + CTRY_SWEDEN = 46,
287 + CTRY_NORWAY = 47,
288 + CTRY_POLAND = 48,
289 + CTRY_GERMANY = 49,
290 + CTRY_PERU = 51,
291 + CTRY_MEXICO = 52,
292 + CTRY_ARGENTINA = 54,
293 + CTRY_BRAZIL = 55,
294 + CTRY_CHILE = 56,
295 + CTRY_COLOMBIA = 57,
296 + CTRY_VENEZUELA = 58,
297 + CTRY_MALAYSIA = 60,
298 + CTRY_AUSTRALIA = 61,
299 + CTRY_INDONESIA = 62,
300 + CTRY_PHILIPPINES = 63,
301 + CTRY_NEW_ZEALAND = 64,
302 + CTRY_SINGAPORE = 65,
303 + CTRY_THAILAND = 66,
304 + CTRY_JAPAN = 81,
305 + CTRY_SOUTH_KOREA = 82,
306 + CTRY_VIET_NAM = 84,
307 + CTRY_PRCHINA = 86,
308 + CTRY_TURKEY = 90,
309 + CTRY_INDIA = 91,
310 + CTRY_PAKISTAN = 92,
311 + CTRY_MOROCCO = 212,
312 + CTRY_ALGERIA = 213,
313 + CTRY_TUNISIA = 216,
314 + CTRY_LIBYA = 218,
315 + CTRY_KENYA = 254,
316 + CTRY_ZIMBABWE = 263,
317 + CTRY_FAEROE_ISLANDS = 298,
318 + CTRY_PORTUGAL = 351,
319 + CTRY_LUXEMBOURG = 352,
320 + CTRY_IRELAND = 353,
321 + CTRY_ICELAND = 354,
322 + CTRY_ALBANIA = 355,
323 + CTRY_FINLAND = 358,
324 + CTRY_BULGARIA = 359,
325 + CTRY_LITHUANIA = 370,
326 + CTRY_LATVIA = 371,
327 + CTRY_ESTONIA = 372,
328 + CTRY_ARMENIA = 374,
329 + CTRY_BELARUS = 375,
330 + CTRY_UKRAINE = 380,
331 + CTRY_SERBIA = 381,
332 + CTRY_CROATIA = 385,
333 + CTRY_SLOVENIA = 386,
334 + CTRY_MACEDONIA = 389,
335 + CTRY_CZECH = 420,
336 + CTRY_SLOVAK = 421,
337 + CTRY_BELIZE = 501,
338 + CTRY_GUATEMALA = 502,
339 + CTRY_EL_SALVADOR = 503,
340 + CTRY_HONDURAS = 504,
341 + CTRY_NICARAGUA = 505,
342 + CTRY_COSTA_RICA = 506,
343 + CTRY_PANAMA = 507,
344 + CTRY_BOLIVIA = 591,
345 + CTRY_ECUADOR = 593,
346 + CTRY_PARAGUAY = 595,
347 + CTRY_URUGUAY = 598,
348 + CTRY_BRUNEI_DARUSSALAM = 673,
349 + CTRY_HONG_KONG = 852,
350 + CTRY_MACAU = 853,
351 + CTRY_TAIWAN = 886,
352 + CTRY_MALDIVES = 960,
353 + CTRY_LEBANON = 961,
354 + CTRY_JORDAN = 962,
355 + CTRY_SYRIA = 963,
356 + CTRY_IRAQ = 964,
357 + CTRY_KUWAIT = 965,
358 + CTRY_SAUDI_ARABIA = 966,
359 + CTRY_YEMEN = 967,
360 + CTRY_OMAN = 968,
361 + CTRY_UAE = 971,
362 + CTRY_ISRAEL = 972,
363 + CTRY_BAHRAIN = 973,
364 + CTRY_QATAR = 974,
365 + CTRY_MONGOLIA = 976,
366 + CTRY_IRAN = 981,
367 + CTRY_AZERBAIJAN = 994,
368 + CTRY_GEORGIA = 995,
369 + CTRY_KYRGYZSTAN = 996
370 +}
371 +
372 +enum : CALTYPE {
373 + CAL_ICALINTVALUE = 1,
374 + CAL_SCALNAME,
375 + CAL_IYEAROFFSETRANGE,
376 + CAL_SERASTRING,
377 + CAL_SSHORTDATE,
378 + CAL_SLONGDATE,
379 + CAL_SDAYNAME1,
380 + CAL_SDAYNAME2,
381 + CAL_SDAYNAME3,
382 + CAL_SDAYNAME4,
383 + CAL_SDAYNAME5,
384 + CAL_SDAYNAME6,
385 + CAL_SDAYNAME7,
386 + CAL_SABBREVDAYNAME1,
387 + CAL_SABBREVDAYNAME2,
388 + CAL_SABBREVDAYNAME3,
389 + CAL_SABBREVDAYNAME4,
390 + CAL_SABBREVDAYNAME5,
391 + CAL_SABBREVDAYNAME6,
392 + CAL_SABBREVDAYNAME7,
393 + CAL_SMONTHNAME1,
394 + CAL_SMONTHNAME2,
395 + CAL_SMONTHNAME3,
396 + CAL_SMONTHNAME4,
397 + CAL_SMONTHNAME5,
398 + CAL_SMONTHNAME6,
399 + CAL_SMONTHNAME7,
400 + CAL_SMONTHNAME8,
401 + CAL_SMONTHNAME9,
402 + CAL_SMONTHNAME10,
403 + CAL_SMONTHNAME11,
404 + CAL_SMONTHNAME12,
405 + CAL_SMONTHNAME13,
406 + CAL_SABBREVMONTHNAME1,
407 + CAL_SABBREVMONTHNAME2,
408 + CAL_SABBREVMONTHNAME3,
409 + CAL_SABBREVMONTHNAME4,
410 + CAL_SABBREVMONTHNAME5,
411 + CAL_SABBREVMONTHNAME6,
412 + CAL_SABBREVMONTHNAME7,
413 + CAL_SABBREVMONTHNAME8,
414 + CAL_SABBREVMONTHNAME9,
415 + CAL_SABBREVMONTHNAME10,
416 + CAL_SABBREVMONTHNAME11,
417 + CAL_SABBREVMONTHNAME12,
418 + CAL_SABBREVMONTHNAME13 // = 46
419 +}
420 +
421 +
422 +enum : CALTYPE {
423 + CAL_GREGORIAN = 1,
424 + CAL_GREGORIAN_US,
425 + CAL_JAPAN,
426 + CAL_TAIWAN,
427 + CAL_KOREA,
428 + CAL_HIJRI,
429 + CAL_THAI,
430 + CAL_HEBREW,
431 + CAL_GREGORIAN_ME_FRENCH,
432 + CAL_GREGORIAN_ARABIC,
433 + CAL_GREGORIAN_XLIT_ENGLISH,
434 + CAL_GREGORIAN_XLIT_FRENCH // = 12
435 +}
436 +
437 +enum : int {
438 + CSTR_LESS_THAN = 1,
439 + CSTR_EQUAL,
440 + CSTR_GREATER_THAN
441 +}
442 +
443 +enum : DWORD {
444 + LGRPID_INSTALLED = 1,
445 + LGRPID_SUPPORTED
446 +}
447 +
448 +enum : LGRPID {
449 + LGRPID_WESTERN_EUROPE = 1,
450 + LGRPID_CENTRAL_EUROPE,
451 + LGRPID_BALTIC,
452 + LGRPID_GREEK,
453 + LGRPID_CYRILLIC,
454 + LGRPID_TURKISH,
455 + LGRPID_JAPANESE,
456 + LGRPID_KOREAN,
457 + LGRPID_TRADITIONAL_CHINESE,
458 + LGRPID_SIMPLIFIED_CHINESE,
459 + LGRPID_THAI,
460 + LGRPID_HEBREW,
461 + LGRPID_ARABIC,
462 + LGRPID_VIETNAMESE,
463 + LGRPID_INDIC,
464 + LGRPID_GEORGIAN,
465 + LGRPID_ARMENIAN // = 17
466 +}
467 +
468 +static if (WINVER >= 0x500) {
469 + enum : LCTYPE {
470 + LOCALE_SYEARMONTH = 0x1006,
471 + LOCALE_SENGCURRNAME = 0x1007,
472 + LOCALE_SNATIVECURRNAME = 0x1008,
473 + LOCALE_IDEFAULTEBCDICCODEPAGE = 0x1012,
474 + LOCALE_SSORTNAME = 0x1013,
475 + LOCALE_IDIGITSUBSTITUTION = 0x1014,
476 + LOCALE_IPAPERSIZE = 0x100A
477 + }
478 +
479 + const DWORD
480 + DATE_YEARMONTH = 8,
481 + DATE_LTRREADING = 16,
482 + DATE_RTLREADING = 32;
483 +
484 + const DWORD MAP_EXPAND_LIGATURES = 0x2000;
485 + const DWORD WC_NO_BEST_FIT_CHARS = 1024;
486 +
487 + enum : CALTYPE {
488 + CAL_SYEARMONTH = 47,
489 + CAL_ITWODIGITYEARMAX = 48,
490 + CAL_NOUSEROVERRIDE = LOCALE_NOUSEROVERRIDE,
491 + CAL_RETURN_NUMBER = LOCALE_RETURN_NUMBER,
492 + CAL_USE_CP_ACP = LOCALE_USE_CP_ACP
493 + }
494 +} // (WINVER >= 0x500)
495 +
496 +extern (Windows) {
497 + alias BOOL function(LPSTR) CALINFO_ENUMPROCA;
498 + alias BOOL function(LPWSTR) CALINFO_ENUMPROCW;
499 + alias BOOL function(LPSTR, CALID) CALINFO_ENUMPROCEXA;
500 + alias BOOL function(LPWSTR, CALID) CALINFO_ENUMPROCEXW;
501 + alias BOOL function(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR)
502 + LANGUAGEGROUP_ENUMPROCA;
503 + alias BOOL function(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR)
504 + LANGUAGEGROUP_ENUMPROCW;
505 + alias BOOL function(LGRPID, LCID, LPSTR, LONG_PTR)
506 + LANGGROUPLOCALE_ENUMPROCA;
507 + alias BOOL function(LGRPID, LCID, LPWSTR, LONG_PTR)
508 + LANGGROUPLOCALE_ENUMPROCW;
509 + alias BOOL function(LPWSTR, LONG_PTR) UILANGUAGE_ENUMPROCW;
510 + alias BOOL function(LPSTR, LONG_PTR) UILANGUAGE_ENUMPROCA;
511 + alias BOOL function(LPSTR) LOCALE_ENUMPROCA;
512 + alias BOOL function(LPWSTR) LOCALE_ENUMPROCW;
513 + alias BOOL function(LPSTR) CODEPAGE_ENUMPROCA;
514 + alias BOOL function(LPWSTR) CODEPAGE_ENUMPROCW;
515 + alias BOOL function(LPSTR) DATEFMT_ENUMPROCA;
516 + alias BOOL function(LPWSTR) DATEFMT_ENUMPROCW;
517 + alias BOOL function(LPSTR, CALID) DATEFMT_ENUMPROCEXA;
518 + alias BOOL function(LPWSTR, CALID) DATEFMT_ENUMPROCEXW;
519 + alias BOOL function(LPSTR) TIMEFMT_ENUMPROCA;
520 + alias BOOL function(LPWSTR) TIMEFMT_ENUMPROCW;
521 + alias BOOL function(GEOID) GEO_ENUMPROC;
522 +}
523 +
524 +enum NLS_FUNCTION {
525 + COMPARE_STRING = 0x0001
526 +}
527 +
528 +enum SYSGEOCLASS {
529 + GEOCLASS_NATION = 16,
530 + GEOCLASS_REGION = 14
531 +}
609 532
610 533 enum SYSGEOTYPE {
611 - GEO_NATION = 0x0001,
612 - GEO_LATITUDE = 0x0002,
613 - GEO_LONGITUDE = 0x0003,
614 - GEO_ISO2 = 0x0004,
615 - GEO_ISO3 = 0x0005,
616 - GEO_RFC1766 = 0x0006,
617 - GEO_LCID = 0x0007,
618 - GEO_FRIENDLYNAME = 0x0008,
619 - GEO_OFFICIALNAME = 0x0009,
620 - GEO_TIMEZONES = 0x000A,
621 - GEO_OFFICIALLANGUAGES = 0x000B,
534 + GEO_NATION = 0x0001,
535 + GEO_LATITUDE = 0x0002,
536 + GEO_LONGITUDE = 0x0003,
537 + GEO_ISO2 = 0x0004,
538 + GEO_ISO3 = 0x0005,
539 + GEO_RFC1766 = 0x0006,
540 + GEO_LCID = 0x0007,
541 + GEO_FRIENDLYNAME = 0x0008,
542 + GEO_OFFICIALNAME = 0x0009,
543 + GEO_TIMEZONES = 0x000a,
544 + GEO_OFFICIALLANGUAGES = 0x000a
545 +}
546 +
547 +struct CPINFO {
548 + UINT MaxCharSize;
549 + BYTE[MAX_DEFAULTCHAR] DefaultChar;
550 + BYTE[MAX_LEADBYTES] LeadByte;
551 +}
552 +alias CPINFO* LPCPINFO;
553 +
554 +struct CPINFOEXA {
555 + UINT MaxCharSize;
556 + BYTE[MAX_DEFAULTCHAR] DefaultChar;
557 + BYTE[MAX_LEADBYTES] LeadByte;
558 + WCHAR UnicodeDefaultChar;
559 + UINT CodePage;
560 + CHAR[MAX_PATH] CodePageName;
561 +}
562 +alias CPINFOEXA* LPCPINFOEXA;
563 +
564 +struct CPINFOEXW {
565 + UINT MaxCharSize;
566 + BYTE[MAX_DEFAULTCHAR] DefaultChar;
567 + BYTE[MAX_LEADBYTES] LeadByte;
568 + WCHAR UnicodeDefaultChar;
569 + UINT CodePage;
570 + WCHAR[MAX_PATH] CodePageName;
571 +}
572 +alias CPINFOEXW* LPCPINFOEXW;
573 +
574 +struct CURRENCYFMTA {
575 + UINT NumDigits;
576 + UINT LeadingZero;
577 + UINT Grouping;
578 + LPSTR lpDecimalSep;
579 + LPSTR lpThousandSep;
580 + UINT NegativeOrder;
581 + UINT PositiveOrder;
582 + LPSTR lpCurrencySymbol;
583 +}
584 +alias CURRENCYFMTA* LPCURRENCYFMTA;
585 +
586 +struct CURRENCYFMTW {
587 + UINT NumDigits;
588 + UINT LeadingZero;
589 + UINT Grouping;
590 + LPWSTR lpDecimalSep;
591 + LPWSTR lpThousandSep;
592 + UINT NegativeOrder;
593 + UINT PositiveOrder;
594 + LPWSTR lpCurrencySymbol;
595 +}
596 +alias CURRENCYFMTW* LPCURRENCYFMTW;
597 +
598 +struct NLSVERSIONINFO {
599 + DWORD dwNLSVersionInfoSize;
600 + DWORD dwNLSVersion;
601 + DWORD dwDefinedVersion;
602 +}
603 +alias NLSVERSIONINFO* LPNLSVERSIONINFO;
604 +
605 +struct NUMBERFMTA {
606 + UINT NumDigits;
607 + UINT LeadingZero;
608 + UINT Grouping;
609 + LPSTR lpDecimalSep;
610 + LPSTR lpThousandSep;
611 + UINT NegativeOrder;
612 +}
613 +alias NUMBERFMTA* LPNUMBERFMTA;
614 +
615 +struct NUMBERFMTW {
616 + UINT NumDigits;
617 + UINT LeadingZero;
618 + UINT Grouping;
619 + LPWSTR lpDecimalSep;
620 + LPWSTR lpThousandSep;
621 + UINT NegativeOrder;
622 622 }
623 +alias NUMBERFMTW* LPNUMBERFMTW;
624 +
625 +extern (Windows) {
626 + int CompareStringA(LCID, DWORD, LPCSTR, int, LPCSTR, int);
627 + int CompareStringW(LCID, DWORD, LPCWSTR, int, LPCWSTR, int);
628 + LCID ConvertDefaultLocale(LCID);
629 + BOOL EnumCalendarInfoA(CALINFO_ENUMPROCA, LCID, CALID, CALTYPE);
630 + BOOL EnumCalendarInfoW(CALINFO_ENUMPROCW, LCID, CALID, CALTYPE);
631 + BOOL EnumDateFormatsA(DATEFMT_ENUMPROCA, LCID, DWORD);
632 + BOOL EnumDateFormatsW(DATEFMT_ENUMPROCW, LCID, DWORD);
633 + BOOL EnumSystemCodePagesA(CODEPAGE_ENUMPROCA, DWORD);
634 + BOOL EnumSystemCodePagesW(CODEPAGE_ENUMPROCW, DWORD);
635 + BOOL EnumSystemGeoID(GEOCLASS, GEOID, GEO_ENUMPROC);
636 + BOOL EnumSystemLocalesA(LOCALE_ENUMPROCA, DWORD);
637 + BOOL EnumSystemLocalesW(LOCALE_ENUMPROCW, DWORD);
638 + BOOL EnumTimeFormatsA(TIMEFMT_ENUMPROCA, LCID, DWORD);
639 + BOOL EnumTimeFormatsW(TIMEFMT_ENUMPROCW, LCID, DWORD);
640 + int FoldStringA(DWORD, LPCSTR, int, LPSTR, int);
641 + int FoldStringW(DWORD, LPCWSTR, int, LPWSTR, int);
642 + UINT GetACP();
643 + int GetCalendarInfoA(LCID, CALID, CALTYPE, LPSTR, int, LPDWORD);
644 + int GetCalendarInfoW(LCID, CALID, CALTYPE, LPWSTR, int, LPDWORD);
645 + BOOL GetCPInfo(UINT, LPCPINFO);
646 + BOOL GetCPInfoExA(UINT, DWORD, LPCPINFOEXA);
647 + BOOL GetCPInfoExW(UINT, DWORD, LPCPINFOEXW);
648 + int GetCurrencyFormatA(LCID, DWORD, LPCSTR, CPtr!(CURRENCYFMTA), LPSTR, int);
649 + int GetCurrencyFormatW(LCID, DWORD, LPCWSTR, CPtr!(CURRENCYFMTW), LPWSTR,
650 + int);
651 + int GetDateFormatA(LCID, DWORD, CPtr!(SYSTEMTIME), LPCSTR, LPSTR, int);
652 + int GetDateFormatW(LCID, DWORD, CPtr!(SYSTEMTIME), LPCWSTR, LPWSTR, int);
653 + int GetGeoInfoA(GEOID, GEOTYPE, LPSTR, int, LANGID);
654 + int GetGeoInfoW(GEOID, GEOTYPE, LPWSTR, int, LANGID);
655 + int GetLocaleInfoA(LCID, LCTYPE, LPSTR, int);
656 + int GetLocaleInfoW(LCID, LCTYPE, LPWSTR, int);
657 + BOOL GetNLSVersion(NLS_FUNCTION, LCID, LPNLSVERSIONINFO);
658 + int GetNumberFormatA(LCID, DWORD, LPCSTR, CPtr!(NUMBERFMTA), LPSTR, int);
659 + int GetNumberFormatW(LCID, DWORD, LPCWSTR, CPtr!(NUMBERFMTW), LPWSTR, int);
660 + UINT GetOEMCP();
661 + BOOL GetStringTypeA(LCID, DWORD, LPCSTR, int, LPWORD);
662 + BOOL GetStringTypeW(DWORD, LPCWSTR, int, LPWORD);
663 + BOOL GetStringTypeExA(LCID, DWORD, LPCSTR, int, LPWORD);
664 + BOOL GetStringTypeExW(LCID, DWORD, LPCWSTR, int, LPWORD);
665 + LANGID GetSystemDefaultLangID();
666 + LCID GetSystemDefaultLCID();
667 + LCID GetThreadLocale();
668 + int GetTimeFormatA(LCID, DWORD, CPtr!(SYSTEMTIME), LPCSTR, LPSTR, int);
669 + int GetTimeFormatW(LCID, DWORD, CPtr!(SYSTEMTIME), LPCWSTR, LPWSTR, int);
670 + LANGID GetUserDefaultLangID();
671 + LCID GetUserDefaultLCID();
672 + GEOID GetUserGeoID(GEOCLASS);
673 + BOOL IsDBCSLeadByte(BYTE);
674 + BOOL IsDBCSLeadByteEx(UINT, BYTE);
675 + BOOL IsNLSDefinedString(NLS_FUNCTION, DWORD, LPNLSVERSIONINFO, LPCWSTR,
676 + int);
677 + BOOL IsValidCodePage(UINT);
678 + BOOL IsValidLocale(LCID, DWORD);
679 + int LCMapStringA(LCID, DWORD, LPCSTR, int, LPSTR, int);
680 + int LCMapStringW(LCID, DWORD, LPCWSTR, int, LPWSTR, int);
681 + int MultiByteToWideChar(UINT, DWORD, LPCSTR, int, LPWSTR, int);
682 + int SetCalendarInfoA(LCID, CALID, CALTYPE, LPCSTR);
683 + int SetCalendarInfoW(LCID, CALID, CALTYPE, LPCWSTR);
684 + BOOL SetLocaleInfoA(LCID, LCTYPE, LPCSTR);
685 + BOOL SetLocaleInfoW(LCID, LCTYPE, LPCWSTR);
686 + BOOL SetThreadLocale(LCID);
687 + BOOL SetUserGeoID(GEOID);
688 + int WideCharToMultiByte(UINT, DWORD, LPCWSTR, int, LPSTR, int, LPCSTR,
689 + LPBOOL);
690 +
691 + static if (WINVER >= 0x410) {
692 + BOOL EnumCalendarInfoExA(CALINFO_ENUMPROCEXA, LCID, CALID, CALTYPE);
693 + BOOL EnumCalendarInfoExW(CALINFO_ENUMPROCEXW, LCID, CALID, CALTYPE);
694 + BOOL EnumDateFormatsExA(DATEFMT_ENUMPROCEXA, LCID, DWORD);
695 + BOOL EnumDateFormatsExW(DATEFMT_ENUMPROCEXW, LCID, DWORD);
696 + BOOL IsValidLanguageGroup(LGRPID, DWORD);
697 + }
698 +
699 + static if (WINVER >= 0x500) {
700 + LANGID GetSystemDefaultUILanguage();
701 + LANGID GetUserDefaultUILanguage();
623 702
624 -enum SYSGEOCLASS {
625 - GEOCLASS_NATION = 16,
626 - GEOCLASS_REGION = 14,
703 + static if (_WIN32_WINNT_ONLY) {
704 + BOOL EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA, DWORD,
705 + LONG_PTR);
706 + BOOL EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW, DWORD,
707 + LONG_PTR);
708 + BOOL EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA, LGRPID,
709 + DWORD, LONG_PTR);
710 + BOOL EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW, LGRPID,
711 + DWORD, LONG_PTR);
712 + BOOL EnumUILanguagesA(UILANGUAGE_ENUMPROCA, DWORD, LONG_PTR);
713 + BOOL EnumUILanguagesW(UILANGUAGE_ENUMPROCW, DWORD, LONG_PTR);
714 + }
715 + }
627 716 }
628 717
629 -// #ifdef STRICT
630 -
631 -// ...
632 -
633 -// ...
634 -
635 -// #else // !STRICT
636 -
637 -alias FARPROC LANGUAGEGROUP_ENUMPROCA;
638 -alias FARPROC LANGGROUPLOCALE_ENUMPROCA;
639 -alias FARPROC UILANGUAGE_ENUMPROCA;
640 -alias FARPROC LOCALE_ENUMPROCA;
641 -alias FARPROC CODEPAGE_ENUMPROCA;
642 -alias FARPROC DATEFMT_ENUMPROCA;
643 -alias FARPROC DATEFMT_ENUMPROCEXA;
644 -alias FARPROC TIMEFMT_ENUMPROCA;
645 -alias FARPROC CALINFO_ENUMPROCA;
646 -alias FARPROC CALINFO_ENUMPROCEXA;
647 -alias FARPROC GEO_ENUMPROC;
718 +version (Unicode) {
719 + alias CALINFO_ENUMPROCW CALINFO_ENUMPROC;
720 + alias CALINFO_ENUMPROCEXW CALINFO_ENUMPROCEX;
721 + alias LOCALE_ENUMPROCW LOCALE_ENUMPROC;
722 + alias CODEPAGE_ENUMPROCW CODEPAGE_ENUMPROC;
723 + alias DATEFMT_ENUMPROCW DATEFMT_ENUMPROC;
724 + alias DATEFMT_ENUMPROCEXW DATEFMT_ENUMPROCEX;
725 + alias TIMEFMT_ENUMPROCW TIMEFMT_ENUMPROC;
726 + alias LANGUAGEGROUP_ENUMPROCW LANGUAGEGROUP_ENUMPROC;
727 + alias LANGGROUPLOCALE_ENUMPROCW LANGGROUPLOCALE_ENUMPROC;
728 + alias UILANGUAGE_ENUMPROCW UILANGUAGE_ENUMPROC;
729 + alias CPINFOEXW CPINFOEX;
730 + alias LPCPINFOEXW LPCPINFOEX;
731 + alias CURRENCYFMTW CURRENCYFMT;
732 + alias LPCURRENCYFMTW LPCURRENCYFMT;
733 + alias NUMBERFMTW NUMBERFMT;
734 + alias LPNUMBERFMTW LPNUMBERFMT;
735 + alias CompareStringW CompareString;
736 + alias EnumCalendarInfoW EnumCalendarInfo;
737 + alias EnumSystemCodePagesW EnumSystemCodePages;
738 + alias EnumSystemLocalesW EnumSystemLocales;
739 + alias EnumTimeFormatsW EnumTimeFormats;
740 + alias FoldStringW FoldString;
741 + alias GetCalendarInfoW GetCalendarInfo;
742 + alias GetCPInfoExW GetCPInfoEx;
743 + alias GetCurrencyFormatW GetCurrencyFormat;
744 + alias GetDateFormatW GetDateFormat;
745 + alias GetGeoInfoW GetGeoInfo;
746 + alias GetLocaleInfoW GetLocaleInfo;
747 + alias GetNumberFormatW GetNumberFormat;
748 + alias GetStringTypeExW GetStringTypeEx;
749 + alias GetTimeFormatW GetTimeFormat;
750 + alias LCMapStringW LCMapString;
751 + alias SetCalendarInfoW SetCalendarInfo;
752 + alias SetLocaleInfoW SetLocaleInfo;
648 753
649 -alias FARPROC LANGUAGEGROUP_ENUMPROCW;
650 -alias FARPROC LANGGROUPLOCALE_ENUMPROCW;
651 -alias FARPROC UILANGUAGE_ENUMPROCW;
652 -alias FARPROC LOCALE_ENUMPROCW;
653 -alias FARPROC CODEPAGE_ENUMPROCW;
654 -alias FARPROC DATEFMT_ENUMPROCW;
655 -alias FARPROC DATEFMT_ENUMPROCEXW;
656 -alias FARPROC TIMEFMT_ENUMPROCW;
657 -alias FARPROC CALINFO_ENUMPROCW;
658 -alias FARPROC CALINFO_ENUMPROCEXW;
754 + static if (WINVER >= 0x410) {
755 + alias EnumCalendarInfoExW EnumCalendarInfoEx;
756 + alias EnumDateFormatsExW EnumDateFormatsEx;
757 + }
659 758
660 -// #endif // !STRICT
661 -
662 -// #ifdef UNICODE
663 -
664 -alias LANGUAGEGROUP_ENUMPROCW LANGUAGEGROUP_ENUMPROC;
665 -alias LANGGROUPLOCALE_ENUMPROCW LANGGROUPLOCALE_ENUMPROC;
666 -alias UILANGUAGE_ENUMPROCW UILANGUAGE_ENUMPROC;
667 -alias LOCALE_ENUMPROCW LOCALE_ENUMPROC;
668 -alias CODEPAGE_ENUMPROCW CODEPAGE_ENUMPROC;
669 -alias DATEFMT_ENUMPROCW DATEFMT_ENUMPROC;
670 -alias DATEFMT_ENUMPROCEXW DATEFMT_ENUMPROCEX;
671 -alias TIMEFMT_ENUMPROCW TIMEFMT_ENUMPROC;
672 -alias CALINFO_ENUMPROCW CALINFO_ENUMPROC;
673 -alias CALINFO_ENUMPROCEXW CALINFO_ENUMPROCEX;
674 -
675 -// #else
676 -
677 -// #...
678 -// #...
679 -// #...
680 -// #...
681 -// #...
682 -// #...
683 -// #...
684 -// #...
685 -// #...
686 -// #...
759 + static if (_WIN32_WINNT_ONLY && WINVER >= 0x500) {
760 + alias EnumSystemLanguageGroupsW EnumSystemLanguageGroups;
761 + alias EnumLanguageGroupLocalesW EnumLanguageGroupLocales;
762 + alias EnumUILanguagesW EnumUILanguages;
763 + }
687 764
688 -// #endif // !UNICODE
689 -
690 -extern(Windows) export BOOL IsValidCodePage(
691 - UINT CodePage);
692 -
693 -extern(Windows) export UINT GetACP();
694 -
695 -extern(Windows) export UINT GetOEMCP();
696 -
697 -extern(Windows) export BOOL GetCPInfo(
698 - UINT CodePage,
699 - LPCPINFO lpCPInfo);
700 -
701 -extern(Windows) export BOOL GetCPInfoExA(
702 - UINT CodePage,
703 - DWORD dwFlags,
704 - LPCPINFOEXA lpCPInfoEx);
705 -extern(Windows) export BOOL GetCPInfoExW(
706 - UINT CodePage,
707 - DWORD dwFlags,
708 - LPCPINFOEXW lpCPInfoEx);
709 -// #ifdef UNICODE
710 -alias GetCPInfoExW GetCPInfoEx;
711 -// #else
712 -// #...
713 -// #endif // !UNICODE
714 -
715 -extern(Windows) export BOOL IsDBCSLeadByte(
716 - BYTE TestChar);
717 -
718 -extern(Windows) export BOOL IsDBCSLeadByteEx(
719 - UINT CodePage,
720 - BYTE TestChar);
721 -
722 -extern(Windows) export int MultiByteToWideChar(
723 - UINT CodePage,
724 - DWORD dwFlags,
725 - LPCSTR lpMultiByteStr,
726 - int cbMultiByte,
727 - LPWSTR lpWideCharStr,
728 - int cchWideChar);
729 -
730 -extern(Windows) export int WideCharToMultiByte(
731 - UINT CodePage,
732 - DWORD dwFlags,
733 - LPCWSTR lpWideCharStr,
734 - int cchWideChar,
735 - LPSTR lpMultiByteStr,
736 - int cbMultiByte,
737 - LPCSTR lpDefaultChar,
738 - LPBOOL lpUsedDefaultChar);
739 -
740 -extern(Windows) export int CompareStringA(
741 - LCID Locale,
742 - DWORD dwCmpFlags,
743 - LPCSTR lpString1,
744 - int cchCount1,
745 - LPCSTR lpString2,
746 - int cchCount2);
747 -extern(Windows) export int CompareStringW(
748 - LCID Locale,
749 - DWORD dwCmpFlags,
750 - LPCWSTR lpString1,
751 - int cchCount1,
752 - LPCWSTR lpString2,
753 - int cchCount2);
754 -// #ifdef UNICODE
755 -alias CompareStringW CompareString;
756 -// #else
757 -// #...
758 -// #endif // !UNICODE
765 +} else {
766 + alias CALINFO_ENUMPROCA CALINFO_ENUMPROC;
767 + alias CALINFO_ENUMPROCEXA CALINFO_ENUMPROCEX;
768 + alias LOCALE_ENUMPROCA LOCALE_ENUMPROC;
769 + alias CODEPAGE_ENUMPROCA CODEPAGE_ENUMPROC;
770 + alias DATEFMT_ENUMPROCA DATEFMT_ENUMPROC;
771 + alias DATEFMT_ENUMPROCEXA DATEFMT_ENUMPROCEX;
772 + alias TIMEFMT_ENUMPROCA TIMEFMT_ENUMPROC;
773 + alias LANGUAGEGROUP_ENUMPROCA LANGUAGEGROUP_ENUMPROC;
774 + alias LANGGROUPLOCALE_ENUMPROCA LANGGROUPLOCALE_ENUMPROC;
775 + alias UILANGUAGE_ENUMPROCA UILANGUAGE_ENUMPROC;
776 + alias CPINFOEXA CPINFOEX;
777 + alias LPCPINFOEXA LPCPINFOEX;
778 + alias CURRENCYFMTA CURRENCYFMT;
779 + alias LPCURRENCYFMTA LPCURRENCYFMT;
780 + alias NUMBERFMTA NUMBERFMT;
781 + alias LPNUMBERFMTA LPNUMBERFMT;
782 + alias CompareStringA CompareString;
783 + alias EnumCalendarInfoA EnumCalendarInfo;
784 + alias EnumSystemCodePagesA EnumSystemCodePages;
785 + alias EnumSystemLocalesA EnumSystemLocales;
786 + alias EnumTimeFormatsA EnumTimeFormats;
787 + alias FoldStringA FoldString;
788 + alias GetCalendarInfoA GetCalendarInfo;
789 + alias GetCPInfoExA GetCPInfoEx;
790 + alias GetCurrencyFormatA GetCurrencyFormat;
791 + alias GetDateFormatA GetDateFormat;
792 + alias GetGeoInfoA GetGeoInfo;
793 + alias GetLocaleInfoA GetLocaleInfo;
794 + alias GetNumberFormatA GetNumberFormat;
795 + alias GetStringTypeExA GetStringTypeEx;
796 + alias GetTimeFormatA GetTimeFormat;
797 + alias LCMapStringA LCMapString;
798 + alias SetCalendarInfoA SetCalendarInfo;
799 + alias SetLocaleInfoA SetLocaleInfo;
759 800
760 -extern(Windows) export int LCMapStringA(
761 - LCID Locale,
762 - DWORD dwMapFlags,
763 - LPCSTR lpSrcStr,
764 - int cchSrc,
765 - LPSTR lpDestStr,
766 - int cchDest);
767 -extern(Windows) export int LCMapStringW(
768 - LCID Locale,
769 - DWORD dwMapFlags,
770 - LPCWSTR lpSrcStr,
771 - int cchSrc,
772 - LPWSTR lpDestStr,
773 - int cchDest);
774 -// #ifdef UNICODE
775 -alias LCMapStringW LCMapString;
776 -// #else
777 -// #...
778 -// #endif // !UNICODE
779 -
780 -extern(Windows) export int GetLocaleInfoA(
781 - LCID Locale,
782 - LCTYPE LCType,
783 - LPSTR lpLCData,
784 - int cchData);
785 -extern(Windows) export int GetLocaleInfoW(
786 - LCID Locale,
787 - LCTYPE LCType,
788 - LPWSTR lpLCData,
789 - int cchData);
790 -// #ifdef UNICODE
791 -alias GetLocaleInfoW GetLocaleInfo;
792 -// #else
793 -// #...
794 -// #endif // !UNICODE
795 -
796 -extern(Windows) export BOOL SetLocaleInfoA(
797 - LCID Locale,
798 - LCTYPE LCType,
799 - LPCSTR lpLCData);
800 -extern(Windows) export BOOL SetLocaleInfoW(
801 - LCID Locale,
802 - LCTYPE LCType,
803 - LPCWSTR lpLCData);
804 -// #ifdef UNICODE
805 -alias SetLocaleInfoW SetLocaleInfo;
806 -// #else
807 -// #...
808 -// #endif // !UNICODE
809 -
810 -// #if (WINVER >= 0x040A)
811 -extern(Windows) export int GetCalendarInfoA(
812 - LCID Locale,
813 - CALID Calendar,
814 - CALTYPE CalType,
815 - LPSTR lpCalData,
816 - int cchData,
817 - LPDWORD lpValue);
818 -extern(Windows) export int GetCalendarInfoW(
819 - LCID Locale,
820 - CALID Calendar,
821 - CALTYPE CalType,
822 - LPWSTR lpCalData,
823 - int cchData,
824 - LPDWORD lpValue);
825 -// #ifdef UNICODE
826 -alias GetCalendarInfoW GetCalendarInfo;
827 -// #else
828 -// #...
829 -// #endif // !UNICODE
830 -
831 -extern(Windows) export BOOL SetCalendarInfoA(
832 - LCID Locale,
833 - CALID Calendar,
834 - CALTYPE CalType,
835 - LPCSTR lpCalData);
836 -extern(Windows) export BOOL SetCalendarInfoW(
837 - LCID Locale,
838 - CALID Calendar,
839 - CALTYPE CalType,
840 - LPCWSTR lpCalData);
841 -// #ifdef UNICODE
842 -alias SetCalendarInfoW SetCalendarInfo;
843 -// #else
844 -// #...
845 -// #endif // !UNICODE
846 -// #endif
847 -
848 -extern(Windows) export int GetTimeFormatA(
849 - LCID Locale,
850 - DWORD dwFlags,
851 - SYSTEMTIME *lpTime,
852 - LPCSTR lpFormat,
853 - LPSTR lpTimeStr,
854 - int cchTime);
855 -extern(Windows) export int GetTimeFormatW(
856 - LCID Locale,
857 - DWORD dwFlags,
858 - SYSTEMTIME *lpTime,
859 - LPCWSTR lpFormat,
860 - LPWSTR lpTimeStr,
861 - int cchTime);
862 -// #ifdef UNICODE
863 -alias GetTimeFormatW GetTimeFormat;
864 -// #else
865 -// #...
866 -// #endif // !UNICODE
867 -
868 -extern(Windows) export int GetDateFormatA(
869 - LCID Locale,
870 - DWORD dwFlags,
871 - SYSTEMTIME *lpDate,
872 - LPCSTR lpFormat,
873 - LPSTR lpDateStr,
874 - int cchDate);
875 -extern(Windows) export int GetDateFormatW(
876 - LCID Locale,
877 - DWORD dwFlags,
878 - SYSTEMTIME *lpDate,
879 - LPCWSTR lpFormat,
880 - LPWSTR lpDateStr,
881 - int cchDate);
882 -// #ifdef UNICODE
883 -alias GetDateFormatW GetDateFormat;
884 -// #else
885 -// #...
886 -// #endif // !UNICODE
801 + static if (WINVER >= 0x410) {
802 + alias EnumCalendarInfoExA EnumCalendarInfoEx;
803 + alias EnumDateFormatsExA EnumDateFormatsEx;
804 + }
887 805
888 -extern(Windows) export int GetNumberFormatA(
889 - LCID Locale,
890 - DWORD dwFlags,
891 - LPCSTR lpValue,
892 - NUMBERFMTA *lpFormat,
893 - LPSTR lpNumberStr,
894 - int cchNumber);
895 -extern(Windows) export int GetNumberFormatW(
896 - LCID Locale,
897 - DWORD dwFlags,
898 - LPCWSTR lpValue,
899 - NUMBERFMTW *lpFormat,
900 - LPWSTR lpNumberStr,
901 - int cchNumber);
902 -// #ifdef UNICODE
903 -alias GetNumberFormatW GetNumberFormat;
904 -// #else
905 -// #...
906 -// #endif // !UNICODE
907 -
908 -extern(Windows) export int GetCurrencyFormatA(
909 - LCID Locale,
910 - DWORD dwFlags,
911 - LPCSTR lpValue,
912 - CURRENCYFMTA *lpFormat,
913 - LPSTR lpCurrencyStr,
914 - int cchCurrency);
915 -extern(Windows) export int GetCurrencyFormatW(
916 - LCID Locale,
917 - DWORD dwFlags,
918 - LPCWSTR lpValue,
919 - CURRENCYFMTW *lpFormat,
920 - LPWSTR lpCurrencyStr,
921 - int cchCurrency);
922 -// #ifdef UNICODE
923 -alias GetCurrencyFormatW GetCurrencyFormat;
924 -// #else
925 -// #...
926 -// #endif // !UNICODE
927 -
928 -extern(Windows) export BOOL EnumCalendarInfoA(
929 - CALINFO_ENUMPROCA lpCalInfoEnumProc,
930 - LCID Locale,
931 - CALID Calendar,
932 - CALTYPE CalType);
933 -extern(Windows) export BOOL EnumCalendarInfoW(
934 - CALINFO_ENUMPROCW lpCalInfoEnumProc,
935 - LCID Locale,
936 - CALID Calendar,
937 - CALTYPE CalType);
938 -// #ifdef UNICODE
939 -alias EnumCalendarInfoW EnumCalendarInfo;
940 -// #else
941 -// #...
942 -// #endif // !UNICODE
943 -
944 -// #if(WINVER >= 0x0500)
945 -extern(Windows) export BOOL EnumCalendarInfoExA(
946 - CALINFO_ENUMPROCEXA lpCalInfoEnumProcEx,
947 - LCID Locale,
948 - CALID Calendar,
949 - CALTYPE CalType);
950 -extern(Windows) export BOOL EnumCalendarInfoExW(
951 - CALINFO_ENUMPROCEXW lpCalInfoEnumProcEx,
952 - LCID Locale,
953 - CALID Calendar,
954 - CALTYPE CalType);
955 -// #ifdef UNICODE
956 -alias EnumCalendarInfoExW EnumCalendarInfoEx;
957 -// #else
958 -// #...
959 -// #endif // !UNICODE
960 -// #endif /* WINVER >= 0x0500 */
961 -
962 -extern(Windows) export BOOL EnumTimeFormatsA(
963 - TIMEFMT_ENUMPROCA lpTimeFmtEnumProc,
964 - LCID Locale,
965 - DWORD dwFlags);
966 -extern(Windows) export BOOL EnumTimeFormatsW(
967 - TIMEFMT_ENUMPROCW lpTimeFmtEnumProc,
968 - LCID Locale,
969 - DWORD dwFlags);
970 -// #ifdef UNICODE
971 -alias EnumTimeFormatsW EnumTimeFormats;
972 -// #else
973 -// #...
974 -// #endif // !UNICODE
975 -
976 -extern(Windows) export BOOL EnumDateFormatsA(
977 - DATEFMT_ENUMPROCA lpDateFmtEnumProc,
978 - LCID Locale,
979 - DWORD dwFlags);
980 -extern(Windows) export BOOL EnumDateFormatsW(
981 - DATEFMT_ENUMPROCW lpDateFmtEnumProc,
982 - LCID Locale,
983 - DWORD dwFlags);
984 -// #ifdef UNICODE
985 -alias EnumDateFormatsW EnumDateFormats;
986 -// #else
987 -// #...
988 -// #endif // !UNICODE
989 -
990 -// #if(WINVER >= 0x0500)
991 -extern(Windows) export BOOL EnumDateFormatsExA(
992 - DATEFMT_ENUMPROCEXA lpDateFmtEnumProcEx,
993 - LCID Locale,
994 - DWORD dwFlags);
995 -extern(Windows) export BOOL EnumDateFormatsExW(
996 - DATEFMT_ENUMPROCEXW lpDateFmtEnumProcEx,
997 - LCID Locale,
998 - DWORD dwFlags);
999 -// #ifdef UNICODE
1000 -alias EnumDateFormatsExW EnumDateFormatsEx;
1001 -// #else
1002 -// #...
1003 -// #endif // !UNICODE
1004 -// #endif /* WINVER >= 0x0500 */
1005 -
1006 -// #if(WINVER >= 0x0500)
1007 -extern(Windows) export BOOL IsValidLanguageGroup(
1008 - LGRPID LanguageGroup,
1009 - DWORD dwFlags);
1010 -// #endif /* WINVER >= 0x0500 */
1011 -
1012 -extern(Windows) export BOOL IsValidLocale(
1013 - LCID Locale,
1014 - DWORD dwFlags);
1015 -
1016 -extern(Windows) export int GetGeoInfoA(
1017 - GEOID Location,
1018 - GEOTYPE GeoType,
1019 - LPSTR lpGeoData,
1020 - int cchData,
1021 - LANGID LangId);
1022 -extern(Windows) export int GetGeoInfoW(
1023 - GEOID Location,
1024 - GEOTYPE GeoType,
1025 - LPWSTR lpGeoData,
1026 - int cchData,
1027 - LANGID LangId);
1028 -// #ifdef UNICODE
1029 -alias GetGeoInfoW GetGeoInfo;
1030 -// #else
1031 -// #...
1032 -// #endif // !UNICODE
1033 -
1034 -extern(Windows) export BOOL EnumSystemGeoID(
1035 - GEOCLASS GeoClass,
1036 - GEOID ParentGeoId,
1037 - GEO_ENUMPROC lpGeoEnumProc);
1038 -
1039 -extern(Windows) export GEOID GetUserGeoID(
1040 - GEOCLASS GeoClass);
1041 -
1042 -extern(Windows) export BOOL SetUserGeoID(
1043 - GEOID GeoId);
1044 -
1045 -extern(Windows) export LCID ConvertDefaultLocale(
1046 - LCID Locale);
1047 -
1048 -extern(Windows) export LCID GetThreadLocale();
1049 -
1050 -extern(Windows) export BOOL SetThreadLocale(
1051 - LCID Locale
1052 - );
1053 -
1054 -// #if(WINVER >= 0x0500)
1055 -extern(Windows) export LANGID GetSystemDefaultUILanguage();
1056 -
1057 -extern(Windows) export LANGID GetUserDefaultUILanguage();
1058 -// #endif /* WINVER >= 0x0500 */
1059 -
1060 -extern(Windows) export LANGID GetSystemDefaultLangID();
1061 -
1062 -extern(Windows) export LANGID GetUserDefaultLangID();
1063 -
1064 -extern(Windows) export LCID GetSystemDefaultLCID();
1065 -
1066 -extern(Windows) export LCID GetUserDefaultLCID();
1067 -
1068 -extern(Windows) export BOOL GetStringTypeExA(
1069 - LCID Locale,
1070 - DWORD dwInfoType,
1071 - LPCSTR lpSrcStr,
1072 - int cchSrc,
1073 - LPWORD lpCharType);
1074 -extern(Windows) export BOOL GetStringTypeExW(
1075 - LCID Locale,
1076 - DWORD dwInfoType,
1077 - LPCWSTR lpSrcStr,
1078 - int cchSrc,
1079 - LPWORD lpCharType);
1080 -// #ifdef UNICODE
1081 -alias GetStringTypeExW GetStringTypeEx;
1082 -// #else
1083 -// #...
1084 -// #endif // !UNICODE
1085 -
1086 -extern(Windows) export BOOL GetStringTypeA(
1087 - LCID Locale,
1088 - DWORD dwInfoType,
1089 - LPCSTR lpSrcStr,
1090 - int cchSrc,
1091 - LPWORD lpCharType);
1092 -
1093 -extern(Windows) export BOOL GetStringTypeW(
1094 - DWORD dwInfoType,
1095 - LPCWSTR lpSrcStr,
1096 - int cchSrc,
1097 - LPWORD lpCharType);
1098 -
1099 -extern(Windows) export int FoldStringA(
1100 - DWORD dwMapFlags,
1101 - LPCSTR lpSrcStr,
1102 - int cchSrc,
1103 - LPSTR lpDestStr,
1104 - int cchDest);
1105 -extern(Windows) export int FoldStringW(
1106 - DWORD dwMapFlags,
1107 - LPCWSTR lpSrcStr,
1108 - int cchSrc,
1109 - LPWSTR lpDestStr,
1110 - int cchDest);
1111 -// #ifdef UNICODE
1112 -alias FoldStringW FoldString;
1113 -// #else
1114 -// #...
1115 -// #endif // !UNICODE
1116 -
1117 -// #if(WINVER >= 0x0500)
1118 -extern(Windows) export BOOL EnumSystemLanguageGroupsA(
1119 - LANGUAGEGROUP_ENUMPROCA lpLanguageGroupEnumProc,
1120 - DWORD dwFlags,
1121 - LONG_PTR lParam);
1122 -extern(Windows) export BOOL EnumSystemLanguageGroupsW(
1123 - LANGUAGEGROUP_ENUMPROCW lpLanguageGroupEnumProc,
1124 - DWORD dwFlags,
1125 - LONG_PTR lParam);
1126 -// #ifdef UNICODE
1127 -alias EnumSystemLanguageGroupsW EnumSystemLanguageGroups;
1128 -// #else
1129 -// #...
1130 -// #endif // !UNICODE
1131 -
1132 -extern(Windows) export BOOL EnumLanguageGroupLocalesA(
1133 - LANGGROUPLOCALE_ENUMPROCA lpLangGroupLocaleEnumProc,
1134 - LGRPID LanguageGroup,
1135 - DWORD dwFlags,
1136 - LONG_PTR lParam);
1137 -extern(Windows) export BOOL EnumLanguageGroupLocalesW(
1138 - LANGGROUPLOCALE_ENUMPROCW lpLangGroupLocaleEnumProc,
1139 - LGRPID LanguageGroup,
1140 - DWORD dwFlags,
1141 - LONG_PTR lParam);
1142 -// #ifdef UNICODE
1143 -alias EnumLanguageGroupLocalesW EnumLanguageGroupLocales;
1144 -// #else
1145 -// #...
1146 -// #endif // !UNICODE
1147 -
1148 -extern(Windows) export BOOL EnumUILanguagesA(
1149 - UILANGUAGE_ENUMPROCA lpUILanguageEnumProc,
1150 - DWORD dwFlags,
1151 - LONG_PTR lParam);
1152 -extern(Windows) export BOOL EnumUILanguagesW(
1153 - UILANGUAGE_ENUMPROCW lpUILanguageEnumProc,
1154 - DWORD dwFlags,
1155 - LONG_PTR lParam);
1156 -// #ifdef UNICODE
1157 -alias EnumUILanguagesW EnumUILanguages;
1158 -// #else
1159 -// #...
1160 -// #endif // !UNICODE
1161 -// #endif /* WINVER >= 0x0500 */
1162 -
1163 -extern(Windows) export BOOL EnumSystemLocalesA(
1164 - LOCALE_ENUMPROCA lpLocaleEnumProc,
1165 - DWORD dwFlags);
1166 -extern(Windows) export BOOL EnumSystemLocalesW(
1167 - LOCALE_ENUMPROCW lpLocaleEnumProc,
1168 - DWORD dwFlags);
1169 -// #ifdef UNICODE
1170 -alias EnumSystemLocalesW EnumSystemLocales;
1171 -// #else
1172 -// #...
1173 -// #endif // !UNICODE
1174 -
1175 -extern(Windows) export BOOL EnumSystemCodePagesA(
1176 - CODEPAGE_ENUMPROCA lpCodePageEnumProc,
1177 - DWORD dwFlags);
1178 -extern(Windows) export BOOL EnumSystemCodePagesW(
1179 - CODEPAGE_ENUMPROCW lpCodePageEnumProc,
1180 - DWORD dwFlags);
1181 -// #ifdef UNICODE
1182 -alias EnumSystemCodePagesW EnumSystemCodePages;
1183 -// #else
1184 -// #...
1185 -// #endif // !UNICODE
1186 -
1187 -// #endif // NONLS
1188 -
1189 -// #ifdef __cplusplus
1190 -// }
1191 -// #endif
1192 -
1193 -// #endif // _WINNLS_
806 + static if (_WIN32_WINNT_ONLY && WINVER >= 0x500) {
807 + alias EnumSystemLanguageGroupsA EnumSystemLanguageGroups;
808 + alias EnumLanguageGroupLocalesA EnumLanguageGroupLocales;
809 + alias EnumUILanguagesA EnumUILanguages;
810 + }
811 +}