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