Added missing file.
[tinycc/k1w1.git] / win32 / include / winapi / winnls.h
blob563c6434d8f1ee5fd54070aed49797d409a695ed
1 /**
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.
5 */
6 #ifndef _WINNLS_
7 #define _WINNLS_
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
13 #ifndef NONLS
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
118 #define CSTR_EQUAL 2
119 #define CSTR_GREATER_THAN 3
121 #define CP_ACP 0
122 #define CP_OEMCP 1
123 #define CP_MACCP 2
124 #define CP_THREAD_ACP 3
125 #define CP_SYMBOL 42
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
207 #define CTRY_PERU 51
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
233 #define CTRY_UAE 971
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
438 #define CAL_JAPAN 3
439 #define CAL_TAIWAN 4
440 #define CAL_KOREA 5
441 #define CAL_HIJRI 6
442 #define CAL_THAI 7
443 #define CAL_HEBREW 8
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;
470 typedef DWORD CALID;
472 typedef struct _cpinfo {
473 UINT MaxCharSize;
474 BYTE DefaultChar[MAX_DEFAULTCHAR];
475 BYTE LeadByte[MAX_LEADBYTES];
476 } CPINFO,*LPCPINFO;
478 typedef struct _cpinfoexA {
479 UINT MaxCharSize;
480 BYTE DefaultChar[MAX_DEFAULTCHAR];
481 BYTE LeadByte[MAX_LEADBYTES];
482 WCHAR UnicodeDefaultChar;
483 UINT CodePage;
484 CHAR CodePageName[MAX_PATH];
485 } CPINFOEXA,*LPCPINFOEXA;
487 typedef struct _cpinfoexW {
488 UINT MaxCharSize;
489 BYTE DefaultChar[MAX_DEFAULTCHAR];
490 BYTE LeadByte[MAX_LEADBYTES];
491 WCHAR UnicodeDefaultChar;
492 UINT CodePage;
493 WCHAR CodePageName[MAX_PATH];
494 } CPINFOEXW,*LPCPINFOEXW;
496 #ifdef UNICODE
497 typedef CPINFOEXW CPINFOEX;
498 typedef LPCPINFOEXW LPCPINFOEX;
499 #else
500 typedef CPINFOEXA CPINFOEX;
501 typedef LPCPINFOEXA LPCPINFOEX;
502 #endif
504 typedef struct _numberfmtA {
505 UINT NumDigits;
506 UINT LeadingZero;
507 UINT Grouping;
508 LPSTR lpDecimalSep;
509 LPSTR lpThousandSep;
510 UINT NegativeOrder;
511 } NUMBERFMTA,*LPNUMBERFMTA;
513 typedef struct _numberfmtW {
514 UINT NumDigits;
515 UINT LeadingZero;
516 UINT Grouping;
517 LPWSTR lpDecimalSep;
518 LPWSTR lpThousandSep;
519 UINT NegativeOrder;
520 } NUMBERFMTW,*LPNUMBERFMTW;
522 #ifdef UNICODE
523 typedef NUMBERFMTW NUMBERFMT;
524 typedef LPNUMBERFMTW LPNUMBERFMT;
525 #else
526 typedef NUMBERFMTA NUMBERFMT;
527 typedef LPNUMBERFMTA LPNUMBERFMT;
528 #endif
530 typedef struct _currencyfmtA {
531 UINT NumDigits;
532 UINT LeadingZero;
533 UINT Grouping;
534 LPSTR lpDecimalSep;
535 LPSTR lpThousandSep;
536 UINT NegativeOrder;
537 UINT PositiveOrder;
538 LPSTR lpCurrencySymbol;
539 } CURRENCYFMTA,*LPCURRENCYFMTA;
541 typedef struct _currencyfmtW {
542 UINT NumDigits;
543 UINT LeadingZero;
544 UINT Grouping;
545 LPWSTR lpDecimalSep;
546 LPWSTR lpThousandSep;
547 UINT NegativeOrder;
548 UINT PositiveOrder;
549 LPWSTR lpCurrencySymbol;
550 } CURRENCYFMTW,*LPCURRENCYFMTW;
552 #ifdef UNICODE
553 typedef CURRENCYFMTW CURRENCYFMT;
554 typedef LPCURRENCYFMTW LPCURRENCYFMT;
555 #else
556 typedef CURRENCYFMTA CURRENCYFMT;
557 typedef LPCURRENCYFMTA LPCURRENCYFMT;
558 #endif
560 enum SYSNLS_FUNCTION {
561 COMPARE_STRING = 0x0001
564 typedef DWORD NLS_FUNCTION;
566 typedef struct _nlsversioninfo{
567 DWORD dwNLSVersionInfoSize;
568 DWORD dwNLSVersion;
569 DWORD dwDefinedVersion;
570 } NLSVERSIONINFO,*LPNLSVERSIONINFO;
572 typedef LONG GEOID;
573 typedef DWORD GEOTYPE;
574 typedef DWORD GEOCLASS;
576 #define GEOID_NOT_AVAILABLE -1
578 enum SYSGEOTYPE {
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
583 enum SYSGEOCLASS {
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);
609 #ifdef UNICODE
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
620 #else
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
631 #endif
633 #ifdef UNICODE
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
658 #else
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
683 #endif
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);
760 #endif
762 #ifdef __cplusplus
764 #endif
765 #endif