2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
15 #define MAX_LEADBYTES 12
16 #define MAX_DEFAULTCHAR 2
18 #define MB_PRECOMPOSED 0x00000001
19 #define MB_COMPOSITE 0x00000002
20 #define MB_USEGLYPHCHARS 0x00000004
21 #define MB_ERR_INVALID_CHARS 0x00000008
23 #define WC_COMPOSITECHECK 0x00000200
24 #define WC_DISCARDNS 0x00000010
25 #define WC_SEPCHARS 0x00000020
26 #define WC_DEFAULTCHAR 0x00000040
27 #define WC_NO_BEST_FIT_CHARS 0x00000400
29 #define CT_CTYPE1 0x00000001
30 #define CT_CTYPE2 0x00000002
31 #define CT_CTYPE3 0x00000004
33 #define C1_UPPER 0x0001
34 #define C1_LOWER 0x0002
35 #define C1_DIGIT 0x0004
36 #define C1_SPACE 0x0008
37 #define C1_PUNCT 0x0010
38 #define C1_CNTRL 0x0020
39 #define C1_BLANK 0x0040
40 #define C1_XDIGIT 0x0080
41 #define C1_ALPHA 0x0100
42 #define C1_DEFINED 0x0200
44 #define C2_LEFTTORIGHT 0x0001
45 #define C2_RIGHTTOLEFT 0x0002
47 #define C2_EUROPENUMBER 0x0003
48 #define C2_EUROPESEPARATOR 0x0004
49 #define C2_EUROPETERMINATOR 0x0005
50 #define C2_ARABICNUMBER 0x0006
51 #define C2_COMMONSEPARATOR 0x0007
53 #define C2_BLOCKSEPARATOR 0x0008
54 #define C2_SEGMENTSEPARATOR 0x0009
55 #define C2_WHITESPACE 0x000A
56 #define C2_OTHERNEUTRAL 0x000B
58 #define C2_NOTAPPLICABLE 0x0000
60 #define C3_NONSPACING 0x0001
61 #define C3_DIACRITIC 0x0002
62 #define C3_VOWELMARK 0x0004
63 #define C3_SYMBOL 0x0008
65 #define C3_KATAKANA 0x0010
66 #define C3_HIRAGANA 0x0020
67 #define C3_HALFWIDTH 0x0040
68 #define C3_FULLWIDTH 0x0080
69 #define C3_IDEOGRAPH 0x0100
70 #define C3_KASHIDA 0x0200
71 #define C3_LEXICAL 0x0400
73 #define C3_ALPHA 0x8000
75 #define C3_NOTAPPLICABLE 0x0000
77 #define NORM_IGNORECASE 0x00000001
78 #define NORM_IGNORENONSPACE 0x00000002
79 #define NORM_IGNORESYMBOLS 0x00000004
81 #define NORM_IGNOREKANATYPE 0x00010000
82 #define NORM_IGNOREWIDTH 0x00020000
84 #define MAP_FOLDCZONE 0x00000010
85 #define MAP_PRECOMPOSED 0x00000020
86 #define MAP_COMPOSITE 0x00000040
87 #define MAP_FOLDDIGITS 0x00000080
88 #define MAP_EXPAND_LIGATURES 0x00002000
90 #define LCMAP_LOWERCASE 0x00000100
91 #define LCMAP_UPPERCASE 0x00000200
92 #define LCMAP_SORTKEY 0x00000400
93 #define LCMAP_BYTEREV 0x00000800
95 #define LCMAP_HIRAGANA 0x00100000
96 #define LCMAP_KATAKANA 0x00200000
97 #define LCMAP_HALFWIDTH 0x00400000
98 #define LCMAP_FULLWIDTH 0x00800000
100 #define LCMAP_LINGUISTIC_CASING 0x01000000
102 #define LCMAP_SIMPLIFIED_CHINESE 0x02000000
103 #define LCMAP_TRADITIONAL_CHINESE 0x04000000
105 #define LGRPID_INSTALLED 0x00000001
106 #define LGRPID_SUPPORTED 0x00000002
108 #define LCID_INSTALLED 0x00000001
109 #define LCID_SUPPORTED 0x00000002
110 #define LCID_ALTERNATE_SORTS 0x00000004
112 #define CP_INSTALLED 0x00000001
113 #define CP_SUPPORTED 0x00000002
115 #define SORT_STRINGSORT 0x00001000
117 #define CSTR_LESS_THAN 1
119 #define CSTR_GREATER_THAN 3
124 #define CP_THREAD_ACP 3
127 #define CP_UTF7 65000
128 #define CP_UTF8 65001
130 #define CTRY_DEFAULT 0
132 #define CTRY_ALBANIA 355
133 #define CTRY_ALGERIA 213
134 #define CTRY_ARGENTINA 54
135 #define CTRY_ARMENIA 374
136 #define CTRY_AUSTRALIA 61
137 #define CTRY_AUSTRIA 43
138 #define CTRY_AZERBAIJAN 994
139 #define CTRY_BAHRAIN 973
140 #define CTRY_BELARUS 375
141 #define CTRY_BELGIUM 32
142 #define CTRY_BELIZE 501
143 #define CTRY_BOLIVIA 591
144 #define CTRY_BRAZIL 55
145 #define CTRY_BRUNEI_DARUSSALAM 673
146 #define CTRY_BULGARIA 359
147 #define CTRY_CANADA 2
148 #define CTRY_CARIBBEAN 1
149 #define CTRY_CHILE 56
150 #define CTRY_COLOMBIA 57
151 #define CTRY_COSTA_RICA 506
152 #define CTRY_CROATIA 385
153 #define CTRY_CZECH 420
154 #define CTRY_DENMARK 45
155 #define CTRY_DOMINICAN_REPUBLIC 1
156 #define CTRY_ECUADOR 593
157 #define CTRY_EGYPT 20
158 #define CTRY_EL_SALVADOR 503
159 #define CTRY_ESTONIA 372
160 #define CTRY_FAEROE_ISLANDS 298
161 #define CTRY_FINLAND 358
162 #define CTRY_FRANCE 33
163 #define CTRY_GEORGIA 995
164 #define CTRY_GERMANY 49
165 #define CTRY_GREECE 30
166 #define CTRY_GUATEMALA 502
167 #define CTRY_HONDURAS 504
168 #define CTRY_HONG_KONG 852
169 #define CTRY_HUNGARY 36
170 #define CTRY_ICELAND 354
171 #define CTRY_INDIA 91
172 #define CTRY_INDONESIA 62
173 #define CTRY_IRAN 981
174 #define CTRY_IRAQ 964
175 #define CTRY_IRELAND 353
176 #define CTRY_ISRAEL 972
177 #define CTRY_ITALY 39
178 #define CTRY_JAMAICA 1
179 #define CTRY_JAPAN 81
180 #define CTRY_JORDAN 962
181 #define CTRY_KAZAKSTAN 7
182 #define CTRY_KENYA 254
183 #define CTRY_KUWAIT 965
184 #define CTRY_KYRGYZSTAN 996
185 #define CTRY_LATVIA 371
186 #define CTRY_LEBANON 961
187 #define CTRY_LIBYA 218
188 #define CTRY_LIECHTENSTEIN 41
189 #define CTRY_LITHUANIA 370
190 #define CTRY_LUXEMBOURG 352
191 #define CTRY_MACAU 853
192 #define CTRY_MACEDONIA 389
193 #define CTRY_MALAYSIA 60
194 #define CTRY_MALDIVES 960
195 #define CTRY_MEXICO 52
196 #define CTRY_MONACO 33
197 #define CTRY_MONGOLIA 976
198 #define CTRY_MOROCCO 212
199 #define CTRY_NETHERLANDS 31
200 #define CTRY_NEW_ZEALAND 64
201 #define CTRY_NICARAGUA 505
202 #define CTRY_NORWAY 47
203 #define CTRY_OMAN 968
204 #define CTRY_PAKISTAN 92
205 #define CTRY_PANAMA 507
206 #define CTRY_PARAGUAY 595
208 #define CTRY_PHILIPPINES 63
209 #define CTRY_POLAND 48
210 #define CTRY_PORTUGAL 351
211 #define CTRY_PRCHINA 86
212 #define CTRY_PUERTO_RICO 1
213 #define CTRY_QATAR 974
214 #define CTRY_ROMANIA 40
215 #define CTRY_RUSSIA 7
216 #define CTRY_SAUDI_ARABIA 966
217 #define CTRY_SERBIA 381
218 #define CTRY_SINGAPORE 65
219 #define CTRY_SLOVAK 421
220 #define CTRY_SLOVENIA 386
221 #define CTRY_SOUTH_AFRICA 27
222 #define CTRY_SOUTH_KOREA 82
223 #define CTRY_SPAIN 34
224 #define CTRY_SWEDEN 46
225 #define CTRY_SWITZERLAND 41
226 #define CTRY_SYRIA 963
227 #define CTRY_TAIWAN 886
228 #define CTRY_TATARSTAN 7
229 #define CTRY_THAILAND 66
230 #define CTRY_TRINIDAD_Y_TOBAGO 1
231 #define CTRY_TUNISIA 216
232 #define CTRY_TURKEY 90
234 #define CTRY_UKRAINE 380
235 #define CTRY_UNITED_KINGDOM 44
236 #define CTRY_UNITED_STATES 1
237 #define CTRY_URUGUAY 598
238 #define CTRY_UZBEKISTAN 7
239 #define CTRY_VENEZUELA 58
240 #define CTRY_VIET_NAM 84
241 #define CTRY_YEMEN 967
242 #define CTRY_ZIMBABWE 263
244 #define LOCALE_NOUSEROVERRIDE 0x80000000
245 #define LOCALE_USE_CP_ACP 0x40000000
246 #define LOCALE_RETURN_NUMBER 0x20000000
248 #define LOCALE_ILANGUAGE 0x00000001
249 #define LOCALE_SLANGUAGE 0x00000002
250 #define LOCALE_SENGLANGUAGE 0x00001001
251 #define LOCALE_SABBREVLANGNAME 0x00000003
252 #define LOCALE_SNATIVELANGNAME 0x00000004
254 #define LOCALE_ICOUNTRY 0x00000005
255 #define LOCALE_SCOUNTRY 0x00000006
256 #define LOCALE_SENGCOUNTRY 0x00001002
257 #define LOCALE_SABBREVCTRYNAME 0x00000007
258 #define LOCALE_SNATIVECTRYNAME 0x00000008
260 #define LOCALE_IDEFAULTLANGUAGE 0x00000009
261 #define LOCALE_IDEFAULTCOUNTRY 0x0000000A
262 #define LOCALE_IDEFAULTCODEPAGE 0x0000000B
263 #define LOCALE_IDEFAULTANSICODEPAGE 0x00001004
264 #define LOCALE_IDEFAULTMACCODEPAGE 0x00001011
266 #define LOCALE_SLIST 0x0000000C
267 #define LOCALE_IMEASURE 0x0000000D
269 #define LOCALE_SDECIMAL 0x0000000E
270 #define LOCALE_STHOUSAND 0x0000000F
271 #define LOCALE_SGROUPING 0x00000010
272 #define LOCALE_IDIGITS 0x00000011
273 #define LOCALE_ILZERO 0x00000012
274 #define LOCALE_INEGNUMBER 0x00001010
275 #define LOCALE_SNATIVEDIGITS 0x00000013
277 #define LOCALE_SCURRENCY 0x00000014
278 #define LOCALE_SINTLSYMBOL 0x00000015
279 #define LOCALE_SMONDECIMALSEP 0x00000016
280 #define LOCALE_SMONTHOUSANDSEP 0x00000017
281 #define LOCALE_SMONGROUPING 0x00000018
282 #define LOCALE_ICURRDIGITS 0x00000019
283 #define LOCALE_IINTLCURRDIGITS 0x0000001A
284 #define LOCALE_ICURRENCY 0x0000001B
285 #define LOCALE_INEGCURR 0x0000001C
287 #define LOCALE_SDATE 0x0000001D
288 #define LOCALE_STIME 0x0000001E
289 #define LOCALE_SSHORTDATE 0x0000001F
290 #define LOCALE_SLONGDATE 0x00000020
291 #define LOCALE_STIMEFORMAT 0x00001003
292 #define LOCALE_IDATE 0x00000021
293 #define LOCALE_ILDATE 0x00000022
294 #define LOCALE_ITIME 0x00000023
295 #define LOCALE_ITIMEMARKPOSN 0x00001005
296 #define LOCALE_ICENTURY 0x00000024
297 #define LOCALE_ITLZERO 0x00000025
298 #define LOCALE_IDAYLZERO 0x00000026
299 #define LOCALE_IMONLZERO 0x00000027
300 #define LOCALE_S1159 0x00000028
301 #define LOCALE_S2359 0x00000029
303 #define LOCALE_ICALENDARTYPE 0x00001009
304 #define LOCALE_IOPTIONALCALENDAR 0x0000100B
305 #define LOCALE_IFIRSTDAYOFWEEK 0x0000100C
306 #define LOCALE_IFIRSTWEEKOFYEAR 0x0000100D
308 #define LOCALE_SDAYNAME1 0x0000002A
309 #define LOCALE_SDAYNAME2 0x0000002B
310 #define LOCALE_SDAYNAME3 0x0000002C
311 #define LOCALE_SDAYNAME4 0x0000002D
312 #define LOCALE_SDAYNAME5 0x0000002E
313 #define LOCALE_SDAYNAME6 0x0000002F
314 #define LOCALE_SDAYNAME7 0x00000030
315 #define LOCALE_SABBREVDAYNAME1 0x00000031
316 #define LOCALE_SABBREVDAYNAME2 0x00000032
317 #define LOCALE_SABBREVDAYNAME3 0x00000033
318 #define LOCALE_SABBREVDAYNAME4 0x00000034
319 #define LOCALE_SABBREVDAYNAME5 0x00000035
320 #define LOCALE_SABBREVDAYNAME6 0x00000036
321 #define LOCALE_SABBREVDAYNAME7 0x00000037
322 #define LOCALE_SMONTHNAME1 0x00000038
323 #define LOCALE_SMONTHNAME2 0x00000039
324 #define LOCALE_SMONTHNAME3 0x0000003A
325 #define LOCALE_SMONTHNAME4 0x0000003B
326 #define LOCALE_SMONTHNAME5 0x0000003C
327 #define LOCALE_SMONTHNAME6 0x0000003D
328 #define LOCALE_SMONTHNAME7 0x0000003E
329 #define LOCALE_SMONTHNAME8 0x0000003F
330 #define LOCALE_SMONTHNAME9 0x00000040
331 #define LOCALE_SMONTHNAME10 0x00000041
332 #define LOCALE_SMONTHNAME11 0x00000042
333 #define LOCALE_SMONTHNAME12 0x00000043
334 #define LOCALE_SMONTHNAME13 0x0000100E
335 #define LOCALE_SABBREVMONTHNAME1 0x00000044
336 #define LOCALE_SABBREVMONTHNAME2 0x00000045
337 #define LOCALE_SABBREVMONTHNAME3 0x00000046
338 #define LOCALE_SABBREVMONTHNAME4 0x00000047
339 #define LOCALE_SABBREVMONTHNAME5 0x00000048
340 #define LOCALE_SABBREVMONTHNAME6 0x00000049
341 #define LOCALE_SABBREVMONTHNAME7 0x0000004A
342 #define LOCALE_SABBREVMONTHNAME8 0x0000004B
343 #define LOCALE_SABBREVMONTHNAME9 0x0000004C
344 #define LOCALE_SABBREVMONTHNAME10 0x0000004D
345 #define LOCALE_SABBREVMONTHNAME11 0x0000004E
346 #define LOCALE_SABBREVMONTHNAME12 0x0000004F
347 #define LOCALE_SABBREVMONTHNAME13 0x0000100F
349 #define LOCALE_SPOSITIVESIGN 0x00000050
350 #define LOCALE_SNEGATIVESIGN 0x00000051
351 #define LOCALE_IPOSSIGNPOSN 0x00000052
352 #define LOCALE_INEGSIGNPOSN 0x00000053
353 #define LOCALE_IPOSSYMPRECEDES 0x00000054
354 #define LOCALE_IPOSSEPBYSPACE 0x00000055
355 #define LOCALE_INEGSYMPRECEDES 0x00000056
356 #define LOCALE_INEGSEPBYSPACE 0x00000057
357 #define LOCALE_FONTSIGNATURE 0x00000058
358 #define LOCALE_SISO639LANGNAME 0x00000059
359 #define LOCALE_SISO3166CTRYNAME 0x0000005A
361 #define LOCALE_IDEFAULTEBCDICCODEPAGE 0x00001012
362 #define LOCALE_IPAPERSIZE 0x0000100A
363 #define LOCALE_SENGCURRNAME 0x00001007
364 #define LOCALE_SNATIVECURRNAME 0x00001008
365 #define LOCALE_SYEARMONTH 0x00001006
366 #define LOCALE_SSORTNAME 0x00001013
367 #define LOCALE_IDIGITSUBSTITUTION 0x00001014
369 #define TIME_NOMINUTESORSECONDS 0x00000001
370 #define TIME_NOSECONDS 0x00000002
371 #define TIME_NOTIMEMARKER 0x00000004
372 #define TIME_FORCE24HOURFORMAT 0x00000008
374 #define DATE_SHORTDATE 0x00000001
375 #define DATE_LONGDATE 0x00000002
376 #define DATE_USE_ALT_CALENDAR 0x00000004
377 #define DATE_YEARMONTH 0x00000008
378 #define DATE_LTRREADING 0x00000010
379 #define DATE_RTLREADING 0x00000020
381 #define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
382 #define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
383 #define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
385 #define CAL_ICALINTVALUE 0x00000001
386 #define CAL_SCALNAME 0x00000002
387 #define CAL_IYEAROFFSETRANGE 0x00000003
388 #define CAL_SERASTRING 0x00000004
389 #define CAL_SSHORTDATE 0x00000005
390 #define CAL_SLONGDATE 0x00000006
391 #define CAL_SDAYNAME1 0x00000007
392 #define CAL_SDAYNAME2 0x00000008
393 #define CAL_SDAYNAME3 0x00000009
394 #define CAL_SDAYNAME4 0x0000000a
395 #define CAL_SDAYNAME5 0x0000000b
396 #define CAL_SDAYNAME6 0x0000000c
397 #define CAL_SDAYNAME7 0x0000000d
398 #define CAL_SABBREVDAYNAME1 0x0000000e
399 #define CAL_SABBREVDAYNAME2 0x0000000f
400 #define CAL_SABBREVDAYNAME3 0x00000010
401 #define CAL_SABBREVDAYNAME4 0x00000011
402 #define CAL_SABBREVDAYNAME5 0x00000012
403 #define CAL_SABBREVDAYNAME6 0x00000013
404 #define CAL_SABBREVDAYNAME7 0x00000014
405 #define CAL_SMONTHNAME1 0x00000015
406 #define CAL_SMONTHNAME2 0x00000016
407 #define CAL_SMONTHNAME3 0x00000017
408 #define CAL_SMONTHNAME4 0x00000018
409 #define CAL_SMONTHNAME5 0x00000019
410 #define CAL_SMONTHNAME6 0x0000001a
411 #define CAL_SMONTHNAME7 0x0000001b
412 #define CAL_SMONTHNAME8 0x0000001c
413 #define CAL_SMONTHNAME9 0x0000001d
414 #define CAL_SMONTHNAME10 0x0000001e
415 #define CAL_SMONTHNAME11 0x0000001f
416 #define CAL_SMONTHNAME12 0x00000020
417 #define CAL_SMONTHNAME13 0x00000021
418 #define CAL_SABBREVMONTHNAME1 0x00000022
419 #define CAL_SABBREVMONTHNAME2 0x00000023
420 #define CAL_SABBREVMONTHNAME3 0x00000024
421 #define CAL_SABBREVMONTHNAME4 0x00000025
422 #define CAL_SABBREVMONTHNAME5 0x00000026
423 #define CAL_SABBREVMONTHNAME6 0x00000027
424 #define CAL_SABBREVMONTHNAME7 0x00000028
425 #define CAL_SABBREVMONTHNAME8 0x00000029
426 #define CAL_SABBREVMONTHNAME9 0x0000002a
427 #define CAL_SABBREVMONTHNAME10 0x0000002b
428 #define CAL_SABBREVMONTHNAME11 0x0000002c
429 #define CAL_SABBREVMONTHNAME12 0x0000002d
430 #define CAL_SABBREVMONTHNAME13 0x0000002e
431 #define CAL_SYEARMONTH 0x0000002f
432 #define CAL_ITWODIGITYEARMAX 0x00000030
434 #define ENUM_ALL_CALENDARS 0xffffffff
436 #define CAL_GREGORIAN 1
437 #define CAL_GREGORIAN_US 2
444 #define CAL_GREGORIAN_ME_FRENCH 9
445 #define CAL_GREGORIAN_ARABIC 10
446 #define CAL_GREGORIAN_XLIT_ENGLISH 11
447 #define CAL_GREGORIAN_XLIT_FRENCH 12
449 #define LGRPID_WESTERN_EUROPE 0x0001
450 #define LGRPID_CENTRAL_EUROPE 0x0002
451 #define LGRPID_BALTIC 0x0003
452 #define LGRPID_GREEK 0x0004
453 #define LGRPID_CYRILLIC 0x0005
454 #define LGRPID_TURKISH 0x0006
455 #define LGRPID_JAPANESE 0x0007
456 #define LGRPID_KOREAN 0x0008
457 #define LGRPID_TRADITIONAL_CHINESE 0x0009
458 #define LGRPID_SIMPLIFIED_CHINESE 0x000a
459 #define LGRPID_THAI 0x000b
460 #define LGRPID_HEBREW 0x000c
461 #define LGRPID_ARABIC 0x000d
462 #define LGRPID_VIETNAMESE 0x000e
463 #define LGRPID_INDIC 0x000f
464 #define LGRPID_GEORGIAN 0x0010
465 #define LGRPID_ARMENIAN 0x0011
467 typedef DWORD LGRPID
;
468 typedef DWORD LCTYPE
;
469 typedef DWORD CALTYPE
;
472 typedef struct _cpinfo
{
474 BYTE DefaultChar
[MAX_DEFAULTCHAR
];
475 BYTE LeadByte
[MAX_LEADBYTES
];
478 typedef struct _cpinfoexA
{
480 BYTE DefaultChar
[MAX_DEFAULTCHAR
];
481 BYTE LeadByte
[MAX_LEADBYTES
];
482 WCHAR UnicodeDefaultChar
;
484 CHAR CodePageName
[MAX_PATH
];
485 } CPINFOEXA
,*LPCPINFOEXA
;
487 typedef struct _cpinfoexW
{
489 BYTE DefaultChar
[MAX_DEFAULTCHAR
];
490 BYTE LeadByte
[MAX_LEADBYTES
];
491 WCHAR UnicodeDefaultChar
;
493 WCHAR CodePageName
[MAX_PATH
];
494 } CPINFOEXW
,*LPCPINFOEXW
;
497 typedef CPINFOEXW CPINFOEX
;
498 typedef LPCPINFOEXW LPCPINFOEX
;
500 typedef CPINFOEXA CPINFOEX
;
501 typedef LPCPINFOEXA LPCPINFOEX
;
504 typedef struct _numberfmtA
{
511 } NUMBERFMTA
,*LPNUMBERFMTA
;
513 typedef struct _numberfmtW
{
518 LPWSTR lpThousandSep
;
520 } NUMBERFMTW
,*LPNUMBERFMTW
;
523 typedef NUMBERFMTW NUMBERFMT
;
524 typedef LPNUMBERFMTW LPNUMBERFMT
;
526 typedef NUMBERFMTA NUMBERFMT
;
527 typedef LPNUMBERFMTA LPNUMBERFMT
;
530 typedef struct _currencyfmtA
{
538 LPSTR lpCurrencySymbol
;
539 } CURRENCYFMTA
,*LPCURRENCYFMTA
;
541 typedef struct _currencyfmtW
{
546 LPWSTR lpThousandSep
;
549 LPWSTR lpCurrencySymbol
;
550 } CURRENCYFMTW
,*LPCURRENCYFMTW
;
553 typedef CURRENCYFMTW CURRENCYFMT
;
554 typedef LPCURRENCYFMTW LPCURRENCYFMT
;
556 typedef CURRENCYFMTA CURRENCYFMT
;
557 typedef LPCURRENCYFMTA LPCURRENCYFMT
;
560 enum SYSNLS_FUNCTION
{
561 COMPARE_STRING
= 0x0001
564 typedef DWORD NLS_FUNCTION
;
566 typedef struct _nlsversioninfo
{
567 DWORD dwNLSVersionInfoSize
;
569 DWORD dwDefinedVersion
;
570 } NLSVERSIONINFO
,*LPNLSVERSIONINFO
;
573 typedef DWORD GEOTYPE
;
574 typedef DWORD GEOCLASS
;
576 #define GEOID_NOT_AVAILABLE -1
579 GEO_NATION
= 0x0001,GEO_LATITUDE
= 0x0002,GEO_LONGITUDE
= 0x0003,GEO_ISO2
= 0x0004,GEO_ISO3
= 0x0005,GEO_RFC1766
= 0x0006,GEO_LCID
= 0x0007,
580 GEO_FRIENDLYNAME
= 0x0008,GEO_OFFICIALNAME
= 0x0009,GEO_TIMEZONES
= 0x000A,GEO_OFFICIALLANGUAGES
= 0x000B
584 GEOCLASS_NATION
= 16,GEOCLASS_REGION
= 14
587 typedef WINBOOL (CALLBACK
*LANGUAGEGROUP_ENUMPROCA
)(LGRPID
,LPSTR
,LPSTR
,DWORD
,LONG_PTR
);
588 typedef WINBOOL (CALLBACK
*LANGGROUPLOCALE_ENUMPROCA
)(LGRPID
,LCID
,LPSTR
,LONG_PTR
);
589 typedef WINBOOL (CALLBACK
*UILANGUAGE_ENUMPROCA
)(LPSTR
,LONG_PTR
);
590 typedef WINBOOL (CALLBACK
*LOCALE_ENUMPROCA
)(LPSTR
);
591 typedef WINBOOL (CALLBACK
*CODEPAGE_ENUMPROCA
)(LPSTR
);
592 typedef WINBOOL (CALLBACK
*DATEFMT_ENUMPROCA
)(LPSTR
);
593 typedef WINBOOL (CALLBACK
*DATEFMT_ENUMPROCEXA
)(LPSTR
,CALID
);
594 typedef WINBOOL (CALLBACK
*TIMEFMT_ENUMPROCA
)(LPSTR
);
595 typedef WINBOOL (CALLBACK
*CALINFO_ENUMPROCA
)(LPSTR
);
596 typedef WINBOOL (CALLBACK
*CALINFO_ENUMPROCEXA
)(LPSTR
,CALID
);
597 typedef WINBOOL (CALLBACK
*LANGUAGEGROUP_ENUMPROCW
)(LGRPID
,LPWSTR
,LPWSTR
,DWORD
,LONG_PTR
);
598 typedef WINBOOL (CALLBACK
*LANGGROUPLOCALE_ENUMPROCW
)(LGRPID
,LCID
,LPWSTR
,LONG_PTR
);
599 typedef WINBOOL (CALLBACK
*UILANGUAGE_ENUMPROCW
)(LPWSTR
,LONG_PTR
);
600 typedef WINBOOL (CALLBACK
*LOCALE_ENUMPROCW
)(LPWSTR
);
601 typedef WINBOOL (CALLBACK
*CODEPAGE_ENUMPROCW
)(LPWSTR
);
602 typedef WINBOOL (CALLBACK
*DATEFMT_ENUMPROCW
)(LPWSTR
);
603 typedef WINBOOL (CALLBACK
*DATEFMT_ENUMPROCEXW
)(LPWSTR
,CALID
);
604 typedef WINBOOL (CALLBACK
*TIMEFMT_ENUMPROCW
)(LPWSTR
);
605 typedef WINBOOL (CALLBACK
*CALINFO_ENUMPROCW
)(LPWSTR
);
606 typedef WINBOOL (CALLBACK
*CALINFO_ENUMPROCEXW
)(LPWSTR
,CALID
);
607 typedef WINBOOL (CALLBACK
*GEO_ENUMPROC
)(GEOID
);
610 #define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW
611 #define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW
612 #define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW
613 #define LOCALE_ENUMPROC LOCALE_ENUMPROCW
614 #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW
615 #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW
616 #define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW
617 #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW
618 #define CALINFO_ENUMPROC CALINFO_ENUMPROCW
619 #define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW
621 #define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA
622 #define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA
623 #define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA
624 #define LOCALE_ENUMPROC LOCALE_ENUMPROCA
625 #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA
626 #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA
627 #define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA
628 #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA
629 #define CALINFO_ENUMPROC CALINFO_ENUMPROCA
630 #define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA
634 #define GetCPInfoEx GetCPInfoExW
635 #define CompareString CompareStringW
636 #define LCMapString LCMapStringW
637 #define GetLocaleInfo GetLocaleInfoW
638 #define SetLocaleInfo SetLocaleInfoW
639 #define GetCalendarInfo GetCalendarInfoW
640 #define SetCalendarInfo SetCalendarInfoW
641 #define GetTimeFormat GetTimeFormatW
642 #define GetDateFormat GetDateFormatW
643 #define GetNumberFormat GetNumberFormatW
644 #define GetCurrencyFormat GetCurrencyFormatW
645 #define EnumCalendarInfo EnumCalendarInfoW
646 #define EnumCalendarInfoEx EnumCalendarInfoExW
647 #define EnumTimeFormats EnumTimeFormatsW
648 #define EnumDateFormats EnumDateFormatsW
649 #define EnumDateFormatsEx EnumDateFormatsExW
650 #define GetGeoInfo GetGeoInfoW
651 #define GetStringTypeEx GetStringTypeExW
652 #define FoldString FoldStringW
653 #define EnumSystemLanguageGroups EnumSystemLanguageGroupsW
654 #define EnumLanguageGroupLocales EnumLanguageGroupLocalesW
655 #define EnumUILanguages EnumUILanguagesW
656 #define EnumSystemLocales EnumSystemLocalesW
657 #define EnumSystemCodePages EnumSystemCodePagesW
659 #define GetCPInfoEx GetCPInfoExA
660 #define CompareString CompareStringA
661 #define LCMapString LCMapStringA
662 #define GetLocaleInfo GetLocaleInfoA
663 #define SetLocaleInfo SetLocaleInfoA
664 #define GetCalendarInfo GetCalendarInfoA
665 #define SetCalendarInfo SetCalendarInfoA
666 #define GetTimeFormat GetTimeFormatA
667 #define GetDateFormat GetDateFormatA
668 #define GetNumberFormat GetNumberFormatA
669 #define GetCurrencyFormat GetCurrencyFormatA
670 #define EnumCalendarInfo EnumCalendarInfoA
671 #define EnumCalendarInfoEx EnumCalendarInfoExA
672 #define EnumTimeFormats EnumTimeFormatsA
673 #define EnumDateFormats EnumDateFormatsA
674 #define EnumDateFormatsEx EnumDateFormatsExA
675 #define GetGeoInfo GetGeoInfoA
676 #define GetStringTypeEx GetStringTypeExA
677 #define FoldString FoldStringA
678 #define EnumSystemLanguageGroups EnumSystemLanguageGroupsA
679 #define EnumLanguageGroupLocales EnumLanguageGroupLocalesA
680 #define EnumUILanguages EnumUILanguagesA
681 #define EnumSystemLocales EnumSystemLocalesA
682 #define EnumSystemCodePages EnumSystemCodePagesA
685 WINBASEAPI WINBOOL WINAPI
IsValidCodePage(UINT CodePage
);
686 WINBASEAPI UINT WINAPI
GetACP(void);
687 WINBASEAPI UINT WINAPI
GetOEMCP(void);
688 WINBASEAPI WINBOOL WINAPI
GetCPInfo(UINT CodePage
,LPCPINFO lpCPInfo
);
689 WINBASEAPI WINBOOL WINAPI
GetCPInfoExA(UINT CodePage
,DWORD dwFlags
,LPCPINFOEXA lpCPInfoEx
);
690 WINBASEAPI WINBOOL WINAPI
GetCPInfoExW(UINT CodePage
,DWORD dwFlags
,LPCPINFOEXW lpCPInfoEx
);
691 WINBASEAPI WINBOOL WINAPI
IsDBCSLeadByte(BYTE TestChar
);
692 WINBASEAPI WINBOOL WINAPI
IsDBCSLeadByteEx(UINT CodePage
,BYTE TestChar
);
693 WINBASEAPI
int WINAPI
MultiByteToWideChar(UINT CodePage
,DWORD dwFlags
,LPCSTR lpMultiByteStr
,int cbMultiByte
,LPWSTR lpWideCharStr
,int cchWideChar
);
694 WINBASEAPI
int WINAPI
WideCharToMultiByte(UINT CodePage
,DWORD dwFlags
,LPCWSTR lpWideCharStr
,int cchWideChar
,LPSTR lpMultiByteStr
,int cbMultiByte
,LPCSTR lpDefaultChar
,LPBOOL lpUsedDefaultChar
);
695 WINBASEAPI
int WINAPI
CompareStringA(LCID Locale
,DWORD dwCmpFlags
,LPCSTR lpString1
,int cchCount1
,LPCSTR lpString2
,int cchCount2
);
696 WINBASEAPI
int WINAPI
CompareStringW(LCID Locale
,DWORD dwCmpFlags
,LPCWSTR lpString1
,int cchCount1
,LPCWSTR lpString2
,int cchCount2
);
697 WINBASEAPI
int WINAPI
LCMapStringA(LCID Locale
,DWORD dwMapFlags
,LPCSTR lpSrcStr
,int cchSrc
,LPSTR lpDestStr
,int cchDest
);
698 WINBASEAPI
int WINAPI
LCMapStringW(LCID Locale
,DWORD dwMapFlags
,LPCWSTR lpSrcStr
,int cchSrc
,LPWSTR lpDestStr
,int cchDest
);
699 WINBASEAPI
int WINAPI
GetLocaleInfoA(LCID Locale
,LCTYPE LCType
,LPSTR lpLCData
,int cchData
);
700 WINBASEAPI
int WINAPI
GetLocaleInfoW(LCID Locale
,LCTYPE LCType
,LPWSTR lpLCData
,int cchData
);
701 WINBASEAPI WINBOOL WINAPI
SetLocaleInfoA(LCID Locale
,LCTYPE LCType
,LPCSTR lpLCData
);
702 WINBASEAPI WINBOOL WINAPI
SetLocaleInfoW(LCID Locale
,LCTYPE LCType
,LPCWSTR lpLCData
);
703 WINBASEAPI
int WINAPI
GetCalendarInfoA(LCID Locale
,CALID Calendar
,CALTYPE CalType
,LPSTR lpCalData
,int cchData
,LPDWORD lpValue
);
704 WINBASEAPI
int WINAPI
GetCalendarInfoW(LCID Locale
,CALID Calendar
,CALTYPE CalType
,LPWSTR lpCalData
,int cchData
,LPDWORD lpValue
);
705 WINBASEAPI WINBOOL WINAPI
SetCalendarInfoA(LCID Locale
,CALID Calendar
,CALTYPE CalType
,LPCSTR lpCalData
);
706 WINBASEAPI WINBOOL WINAPI
SetCalendarInfoW(LCID Locale
,CALID Calendar
,CALTYPE CalType
,LPCWSTR lpCalData
);
707 WINBASEAPI
int WINAPI
GetTimeFormatA(LCID Locale
,DWORD dwFlags
,CONST SYSTEMTIME
*lpTime
,LPCSTR lpFormat
,LPSTR lpTimeStr
,int cchTime
);
708 WINBASEAPI
int WINAPI
GetTimeFormatW(LCID Locale
,DWORD dwFlags
,CONST SYSTEMTIME
*lpTime
,LPCWSTR lpFormat
,LPWSTR lpTimeStr
,int cchTime
);
709 WINBASEAPI
int WINAPI
GetDateFormatA(LCID Locale
,DWORD dwFlags
,CONST SYSTEMTIME
*lpDate
,LPCSTR lpFormat
,LPSTR lpDateStr
,int cchDate
);
710 WINBASEAPI
int WINAPI
GetDateFormatW(LCID Locale
,DWORD dwFlags
,CONST SYSTEMTIME
*lpDate
,LPCWSTR lpFormat
,LPWSTR lpDateStr
,int cchDate
);
711 WINBASEAPI
int WINAPI
GetNumberFormatA(LCID Locale
,DWORD dwFlags
,LPCSTR lpValue
,CONST NUMBERFMTA
*lpFormat
,LPSTR lpNumberStr
,int cchNumber
);
712 WINBASEAPI
int WINAPI
GetNumberFormatW(LCID Locale
,DWORD dwFlags
,LPCWSTR lpValue
,CONST NUMBERFMTW
*lpFormat
,LPWSTR lpNumberStr
,int cchNumber
);
713 WINBASEAPI
int WINAPI
GetCurrencyFormatA(LCID Locale
,DWORD dwFlags
,LPCSTR lpValue
,CONST CURRENCYFMTA
*lpFormat
,LPSTR lpCurrencyStr
,int cchCurrency
);
714 WINBASEAPI
int WINAPI
GetCurrencyFormatW(LCID Locale
,DWORD dwFlags
,LPCWSTR lpValue
,CONST CURRENCYFMTW
*lpFormat
,LPWSTR lpCurrencyStr
,int cchCurrency
);
715 WINBASEAPI WINBOOL WINAPI
EnumCalendarInfoA(CALINFO_ENUMPROCA lpCalInfoEnumProc
,LCID Locale
,CALID Calendar
,CALTYPE CalType
);
716 WINBASEAPI WINBOOL WINAPI
EnumCalendarInfoW(CALINFO_ENUMPROCW lpCalInfoEnumProc
,LCID Locale
,CALID Calendar
,CALTYPE CalType
);
717 WINBASEAPI WINBOOL WINAPI
EnumCalendarInfoExA(CALINFO_ENUMPROCEXA lpCalInfoEnumProcEx
,LCID Locale
,CALID Calendar
,CALTYPE CalType
);
718 WINBASEAPI WINBOOL WINAPI
EnumCalendarInfoExW(CALINFO_ENUMPROCEXW lpCalInfoEnumProcEx
,LCID Locale
,CALID Calendar
,CALTYPE CalType
);
719 WINBASEAPI WINBOOL WINAPI
EnumTimeFormatsA(TIMEFMT_ENUMPROCA lpTimeFmtEnumProc
,LCID Locale
,DWORD dwFlags
);
720 WINBASEAPI WINBOOL WINAPI
EnumTimeFormatsW(TIMEFMT_ENUMPROCW lpTimeFmtEnumProc
,LCID Locale
,DWORD dwFlags
);
721 WINBASEAPI WINBOOL WINAPI
EnumDateFormatsA(DATEFMT_ENUMPROCA lpDateFmtEnumProc
,LCID Locale
,DWORD dwFlags
);
722 WINBASEAPI WINBOOL WINAPI
EnumDateFormatsW(DATEFMT_ENUMPROCW lpDateFmtEnumProc
,LCID Locale
,DWORD dwFlags
);
723 WINBASEAPI WINBOOL WINAPI
EnumDateFormatsExA(DATEFMT_ENUMPROCEXA lpDateFmtEnumProcEx
,LCID Locale
,DWORD dwFlags
);
724 WINBASEAPI WINBOOL WINAPI
EnumDateFormatsExW(DATEFMT_ENUMPROCEXW lpDateFmtEnumProcEx
,LCID Locale
,DWORD dwFlags
);
725 WINBASEAPI WINBOOL WINAPI
IsValidLanguageGroup(LGRPID LanguageGroup
,DWORD dwFlags
);
726 WINBASEAPI WINBOOL WINAPI
GetNLSVersion(NLS_FUNCTION Function
,LCID Locale
,LPNLSVERSIONINFO lpVersionInformation
);
727 WINBASEAPI WINBOOL WINAPI
IsNLSDefinedString(NLS_FUNCTION Function
,DWORD dwFlags
,LPNLSVERSIONINFO lpVersionInformation
,LPCWSTR lpString
,INT cchStr
);
728 WINBASEAPI WINBOOL WINAPI
IsValidLocale(LCID Locale
,DWORD dwFlags
);
729 WINBASEAPI
int WINAPI
GetGeoInfoA(GEOID Location
,GEOTYPE GeoType
,LPSTR lpGeoData
,int cchData
,LANGID LangId
);
730 WINBASEAPI
int WINAPI
GetGeoInfoW(GEOID Location
,GEOTYPE GeoType
,LPWSTR lpGeoData
,int cchData
,LANGID LangId
);
731 WINBASEAPI WINBOOL WINAPI
EnumSystemGeoID(GEOCLASS GeoClass
,GEOID ParentGeoId
,GEO_ENUMPROC lpGeoEnumProc
);
732 WINBASEAPI GEOID WINAPI
GetUserGeoID(GEOCLASS GeoClass
);
733 WINBASEAPI WINBOOL WINAPI
SetUserGeoID(GEOID GeoId
);
734 WINBASEAPI LCID WINAPI
ConvertDefaultLocale(LCID Locale
);
735 WINBASEAPI LCID WINAPI
GetThreadLocale(void);
736 WINBASEAPI WINBOOL WINAPI
SetThreadLocale(LCID Locale
);
737 WINBASEAPI LANGID WINAPI
GetSystemDefaultUILanguage(void);
738 WINBASEAPI LANGID WINAPI
GetUserDefaultUILanguage(void);
739 WINBASEAPI LANGID WINAPI
GetSystemDefaultLangID(void);
740 WINBASEAPI LANGID WINAPI
GetUserDefaultLangID(void);
741 WINBASEAPI LCID WINAPI
GetSystemDefaultLCID(void);
742 WINBASEAPI LCID WINAPI
GetUserDefaultLCID(void);
743 WINBASEAPI WINBOOL WINAPI
GetStringTypeExA(LCID Locale
,DWORD dwInfoType
,LPCSTR lpSrcStr
,int cchSrc
,LPWORD lpCharType
);
744 WINBASEAPI WINBOOL WINAPI
GetStringTypeExW(LCID Locale
,DWORD dwInfoType
,LPCWSTR lpSrcStr
,int cchSrc
,LPWORD lpCharType
);
745 WINBASEAPI WINBOOL WINAPI
GetStringTypeA(LCID Locale
,DWORD dwInfoType
,LPCSTR lpSrcStr
,int cchSrc
,LPWORD lpCharType
);
746 WINBASEAPI WINBOOL WINAPI
GetStringTypeW(DWORD dwInfoType
,LPCWSTR lpSrcStr
,int cchSrc
,LPWORD lpCharType
);
747 WINBASEAPI
int WINAPI
FoldStringA(DWORD dwMapFlags
,LPCSTR lpSrcStr
,int cchSrc
,LPSTR lpDestStr
,int cchDest
);
748 WINBASEAPI
int WINAPI
FoldStringW(DWORD dwMapFlags
,LPCWSTR lpSrcStr
,int cchSrc
,LPWSTR lpDestStr
,int cchDest
);
749 WINBASEAPI WINBOOL WINAPI
EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA lpLanguageGroupEnumProc
,DWORD dwFlags
,LONG_PTR lParam
);
750 WINBASEAPI WINBOOL WINAPI
EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW lpLanguageGroupEnumProc
,DWORD dwFlags
,LONG_PTR lParam
);
751 WINBASEAPI WINBOOL WINAPI
EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA lpLangGroupLocaleEnumProc
,LGRPID LanguageGroup
,DWORD dwFlags
,LONG_PTR lParam
);
752 WINBASEAPI WINBOOL WINAPI
EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW lpLangGroupLocaleEnumProc
,LGRPID LanguageGroup
,DWORD dwFlags
,LONG_PTR lParam
);
753 WINBASEAPI WINBOOL WINAPI
EnumUILanguagesA(UILANGUAGE_ENUMPROCA lpUILanguageEnumProc
,DWORD dwFlags
,LONG_PTR lParam
);
754 WINBASEAPI WINBOOL WINAPI
EnumUILanguagesW(UILANGUAGE_ENUMPROCW lpUILanguageEnumProc
,DWORD dwFlags
,LONG_PTR lParam
);
755 WINBASEAPI WINBOOL WINAPI
EnumSystemLocalesA(LOCALE_ENUMPROCA lpLocaleEnumProc
,DWORD dwFlags
);
756 WINBASEAPI WINBOOL WINAPI
EnumSystemLocalesW(LOCALE_ENUMPROCW lpLocaleEnumProc
,DWORD dwFlags
);
757 WINBASEAPI WINBOOL WINAPI
EnumSystemCodePagesA(CODEPAGE_ENUMPROCA lpCodePageEnumProc
,DWORD dwFlags
);
758 WINBASEAPI WINBOOL WINAPI
EnumSystemCodePagesW(CODEPAGE_ENUMPROCW lpCodePageEnumProc
,DWORD dwFlags
);