1 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 }
609
610 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,
622 }
623
624 enum SYSGEOCLASS {
625 GEOCLASS_NATION = 16,
626 GEOCLASS_REGION = 14,
627 }
628
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;
648
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;
659
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 // #...
687
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
759
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
887
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_