tcc_preprocess: add gcc-style include-depth flags
[tinycc/k1w1.git] / win32 / include / winapi / winnls.h
blob3933812b705da99e7d79ded9b2a2f413e70b1529
1 #ifndef _WINNLS_H
2 #define _WINNLS_H
3 #if __GNUC__ >=3
4 #pragma GCC system_header
5 #endif
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
11 #define MAX_LEADBYTES 12
12 #define MAX_DEFAULTCHAR 2
13 #define LOCALE_NOUSEROVERRIDE 0x80000000
14 #define LOCALE_USE_CP_ACP 0x40000000
15 #define LOCALE_ILANGUAGE 1
16 #define LOCALE_SLANGUAGE 2
17 #define LOCALE_SENGLANGUAGE 0x1001
18 #define LOCALE_SABBREVLANGNAME 3
19 #define LOCALE_SNATIVELANGNAME 4
20 #define LOCALE_ICOUNTRY 5
21 #define LOCALE_SCOUNTRY 6
22 #define LOCALE_SENGCOUNTRY 0x1002
23 #define LOCALE_SABBREVCTRYNAME 7
24 #define LOCALE_SNATIVECTRYNAME 8
25 #define LOCALE_IDEFAULTLANGUAGE 9
26 #define LOCALE_IDEFAULTCOUNTRY 10
27 #define LOCALE_IDEFAULTCODEPAGE 11
28 #define LOCALE_IDEFAULTANSICODEPAGE 0x1004
29 #define LOCALE_SLIST 12
30 #define LOCALE_IMEASURE 13
31 #define LOCALE_SDECIMAL 14
32 #define LOCALE_STHOUSAND 15
33 #define LOCALE_SGROUPING 16
34 #define LOCALE_IDIGITS 17
35 #define LOCALE_ILZERO 18
36 #define LOCALE_INEGNUMBER 0x1010
37 #define LOCALE_SNATIVEDIGITS 19
38 #define LOCALE_SCURRENCY 20
39 #define LOCALE_SINTLSYMBOL 21
40 #define LOCALE_SMONDECIMALSEP 22
41 #define LOCALE_SMONTHOUSANDSEP 23
42 #define LOCALE_SMONGROUPING 24
43 #define LOCALE_ICURRDIGITS 25
44 #define LOCALE_IINTLCURRDIGITS 26
45 #define LOCALE_ICURRENCY 27
46 #define LOCALE_INEGCURR 28
47 #define LOCALE_SDATE 29
48 #define LOCALE_STIME 30
49 #define LOCALE_SSHORTDATE 31
50 #define LOCALE_SLONGDATE 32
51 #define LOCALE_STIMEFORMAT 0x1003
52 #define LOCALE_IDATE 33
53 #define LOCALE_ILDATE 34
54 #define LOCALE_ITIME 35
55 #define LOCALE_ITIMEMARKPOSN 0x1005
56 #define LOCALE_ICENTURY 36
57 #define LOCALE_ITLZERO 37
58 #define LOCALE_IDAYLZERO 38
59 #define LOCALE_IMONLZERO 39
60 #define LOCALE_S1159 40
61 #define LOCALE_S2359 41
62 #define LOCALE_ICALENDARTYPE 0x1009
63 #define LOCALE_IOPTIONALCALENDAR 0x100B
64 #define LOCALE_IFIRSTDAYOFWEEK 0x100C
65 #define LOCALE_IFIRSTWEEKOFYEAR 0x100D
66 #define LOCALE_SDAYNAME1 42
67 #define LOCALE_SDAYNAME2 43
68 #define LOCALE_SDAYNAME3 44
69 #define LOCALE_SDAYNAME4 45
70 #define LOCALE_SDAYNAME5 46
71 #define LOCALE_SDAYNAME6 47
72 #define LOCALE_SDAYNAME7 48
73 #define LOCALE_SABBREVDAYNAME1 49
74 #define LOCALE_SABBREVDAYNAME2 50
75 #define LOCALE_SABBREVDAYNAME3 51
76 #define LOCALE_SABBREVDAYNAME4 52
77 #define LOCALE_SABBREVDAYNAME5 53
78 #define LOCALE_SABBREVDAYNAME6 54
79 #define LOCALE_SABBREVDAYNAME7 55
80 #define LOCALE_SMONTHNAME1 56
81 #define LOCALE_SMONTHNAME2 57
82 #define LOCALE_SMONTHNAME3 58
83 #define LOCALE_SMONTHNAME4 59
84 #define LOCALE_SMONTHNAME5 60
85 #define LOCALE_SMONTHNAME6 61
86 #define LOCALE_SMONTHNAME7 62
87 #define LOCALE_SMONTHNAME8 63
88 #define LOCALE_SMONTHNAME9 64
89 #define LOCALE_SMONTHNAME10 65
90 #define LOCALE_SMONTHNAME11 66
91 #define LOCALE_SMONTHNAME12 67
92 #define LOCALE_SMONTHNAME13 0x100E
93 #define LOCALE_SABBREVMONTHNAME1 68
94 #define LOCALE_SABBREVMONTHNAME2 69
95 #define LOCALE_SABBREVMONTHNAME3 70
96 #define LOCALE_SABBREVMONTHNAME4 71
97 #define LOCALE_SABBREVMONTHNAME5 72
98 #define LOCALE_SABBREVMONTHNAME6 73
99 #define LOCALE_SABBREVMONTHNAME7 74
100 #define LOCALE_SABBREVMONTHNAME8 75
101 #define LOCALE_SABBREVMONTHNAME9 76
102 #define LOCALE_SABBREVMONTHNAME10 77
103 #define LOCALE_SABBREVMONTHNAME11 78
104 #define LOCALE_SABBREVMONTHNAME12 79
105 #define LOCALE_SABBREVMONTHNAME13 0x100F
106 #define LOCALE_SPOSITIVESIGN 80
107 #define LOCALE_SNEGATIVESIGN 81
108 #define LOCALE_IPOSSIGNPOSN 82
109 #define LOCALE_INEGSIGNPOSN 83
110 #define LOCALE_IPOSSYMPRECEDES 84
111 #define LOCALE_IPOSSEPBYSPACE 85
112 #define LOCALE_INEGSYMPRECEDES 86
113 #define LOCALE_INEGSEPBYSPACE 87
114 #define LOCALE_FONTSIGNATURE 88
115 #define LOCALE_SISO639LANGNAME 89
116 #define LOCALE_SISO3166CTRYNAME 90
117 #define LOCALE_SYSTEM_DEFAULT 0x800
118 #define LOCALE_USER_DEFAULT 0x400
119 #define NORM_IGNORECASE 1
120 #define NORM_IGNOREKANATYPE 65536
121 #define NORM_IGNORENONSPACE 2
122 #define NORM_IGNORESYMBOLS 4
123 #define NORM_IGNOREWIDTH 131072
124 #define SORT_STRINGSORT 4096
125 #define LCMAP_LOWERCASE 0x00000100
126 #define LCMAP_UPPERCASE 0x00000200
127 #define LCMAP_SORTKEY 0x00000400
128 #define LCMAP_BYTEREV 0x00000800
129 #define LCMAP_HIRAGANA 0x00100000
130 #define LCMAP_KATAKANA 0x00200000
131 #define LCMAP_HALFWIDTH 0x00400000
132 #define LCMAP_FULLWIDTH 0x00800000
133 #define LCMAP_LINGUISTIC_CASING 0x01000000
134 #define LCMAP_SIMPLIFIED_CHINESE 0x02000000
135 #define LCMAP_TRADITIONAL_CHINESE 0x04000000
136 #define ENUM_ALL_CALENDARS (-1)
137 #define DATE_SHORTDATE 1
138 #define DATE_LONGDATE 2
139 #define DATE_USE_ALT_CALENDAR 4
140 #define CP_INSTALLED 1
141 #define CP_SUPPORTED 2
142 #define LCID_INSTALLED 1
143 #define LCID_SUPPORTED 2
144 #define LCID_ALTERNATE_SORTS 4
145 #define MAP_FOLDCZONE 16
146 #define MAP_FOLDDIGITS 128
147 #define MAP_PRECOMPOSED 32
148 #define MAP_COMPOSITE 64
149 #define CP_ACP 0
150 #define CP_OEMCP 1
151 #define CP_MACCP 2
152 #define CP_THREAD_ACP 3
153 #define CP_SYMBOL 42
154 #define CP_UTF7 65000
155 #define CP_UTF8 65001
156 #define CT_CTYPE1 1
157 #define CT_CTYPE2 2
158 #define CT_CTYPE3 4
159 #define C1_UPPER 1
160 #define C1_LOWER 2
161 #define C1_DIGIT 4
162 #define C1_SPACE 8
163 #define C1_PUNCT 16
164 #define C1_CNTRL 32
165 #define C1_BLANK 64
166 #define C1_XDIGIT 128
167 #define C1_ALPHA 256
168 #define C2_LEFTTORIGHT 1
169 #define C2_RIGHTTOLEFT 2
170 #define C2_EUROPENUMBER 3
171 #define C2_EUROPESEPARATOR 4
172 #define C2_EUROPETERMINATOR 5
173 #define C2_ARABICNUMBER 6
174 #define C2_COMMONSEPARATOR 7
175 #define C2_BLOCKSEPARATOR 8
176 #define C2_SEGMENTSEPARATOR 9
177 #define C2_WHITESPACE 10
178 #define C2_OTHERNEUTRAL 11
179 #define C2_NOTAPPLICABLE 0
180 #define C3_NONSPACING 1
181 #define C3_DIACRITIC 2
182 #define C3_VOWELMARK 4
183 #define C3_SYMBOL 8
184 #define C3_KATAKANA 16
185 #define C3_HIRAGANA 32
186 #define C3_HALFWIDTH 64
187 #define C3_FULLWIDTH 128
188 #define C3_IDEOGRAPH 256
189 #define C3_KASHIDA 512
190 #define C3_LEXICAL 1024
191 #define C3_ALPHA 32768
192 #define C3_NOTAPPLICABLE 0
193 #define TIME_NOMINUTESORSECONDS 1
194 #define TIME_NOSECONDS 2
195 #define TIME_NOTIMEMARKER 4
196 #define TIME_FORCE24HOURFORMAT 8
197 #define MB_PRECOMPOSED 1
198 #define MB_COMPOSITE 2
199 #define MB_ERR_INVALID_CHARS 8
200 #define MB_USEGLYPHCHARS 4
201 #define WC_COMPOSITECHECK 512
202 #define WC_DISCARDNS 16
203 #define WC_SEPCHARS 32
204 #define WC_DEFAULTCHAR 64
205 #define CTRY_DEFAULT 0
206 #define CTRY_ALBANIA 355
207 #define CTRY_ALGERIA 213
208 #define CTRY_ARGENTINA 54
209 #define CTRY_ARMENIA 374
210 #define CTRY_AUSTRALIA 61
211 #define CTRY_AUSTRIA 43
212 #define CTRY_AZERBAIJAN 994
213 #define CTRY_BAHRAIN 973
214 #define CTRY_BELARUS 375
215 #define CTRY_BELGIUM 32
216 #define CTRY_BELIZE 501
217 #define CTRY_BOLIVIA 591
218 #define CTRY_BRAZIL 55
219 #define CTRY_BRUNEI_DARUSSALAM 673
220 #define CTRY_BULGARIA 359
221 #define CTRY_CANADA 2
222 #define CTRY_CARIBBEAN 1
223 #define CTRY_CHILE 56
224 #define CTRY_COLOMBIA 57
225 #define CTRY_COSTA_RICA 506
226 #define CTRY_CROATIA 385
227 #define CTRY_CZECH 420
228 #define CTRY_DENMARK 45
229 #define CTRY_DOMINICAN_REPUBLIC 1
230 #define CTRY_ECUADOR 593
231 #define CTRY_EGYPT 20
232 #define CTRY_EL_SALVADOR 503
233 #define CTRY_ESTONIA 372
234 #define CTRY_FAEROE_ISLANDS 298
235 #define CTRY_FINLAND 358
236 #define CTRY_FRANCE 33
237 #define CTRY_GEORGIA 995
238 #define CTRY_GERMANY 49
239 #define CTRY_GREECE 30
240 #define CTRY_GUATEMALA 502
241 #define CTRY_HONDURAS 504
242 #define CTRY_HONG_KONG 852
243 #define CTRY_HUNGARY 36
244 #define CTRY_ICELAND 354
245 #define CTRY_INDIA 91
246 #define CTRY_INDONESIA 62
247 #define CTRY_IRAN 981
248 #define CTRY_IRAQ 964
249 #define CTRY_IRELAND 353
250 #define CTRY_ISRAEL 972
251 #define CTRY_ITALY 39
252 #define CTRY_JAMAICA 1
253 #define CTRY_JAPAN 81
254 #define CTRY_JORDAN 962
255 #define CTRY_KAZAKSTAN 7
256 #define CTRY_KENYA 254
257 #define CTRY_KUWAIT 965
258 #define CTRY_LATVIA 371
259 #define CTRY_LEBANON 961
260 #define CTRY_LIBYA 218
261 #define CTRY_LIECHTENSTEIN 41
262 #define CTRY_LITHUANIA 370
263 #define CTRY_LUXEMBOURG 352
264 #define CTRY_MACAU 853
265 #define CTRY_MACEDONIA 389
266 #define CTRY_MALAYSIA 60
267 #define CTRY_MEXICO 52
268 #define CTRY_MONACO 33
269 #define CTRY_MOROCCO 212
270 #define CTRY_NETHERLANDS 31
271 #define CTRY_NEW_ZEALAND 64
272 #define CTRY_NICARAGUA 505
273 #define CTRY_NORWAY 47
274 #define CTRY_OMAN 968
275 #define CTRY_PAKISTAN 92
276 #define CTRY_PANAMA 507
277 #define CTRY_PARAGUAY 595
278 #define CTRY_PERU 51
279 #define CTRY_PHILIPPINES 63
280 #define CTRY_POLAND 48
281 #define CTRY_PORTUGAL 351
282 #define CTRY_PRCHINA 86
283 #define CTRY_PUERTO_RICO 1
284 #define CTRY_QATAR 974
285 #define CTRY_ROMANIA 40
286 #define CTRY_RUSSIA 7
287 #define CTRY_SAUDI_ARABIA 966
288 #define CTRY_SERBIA 381
289 #define CTRY_SINGAPORE 65
290 #define CTRY_SLOVAK 421
291 #define CTRY_SLOVENIA 386
292 #define CTRY_SOUTH_AFRICA 27
293 #define CTRY_SOUTH_KOREA 82
294 #define CTRY_SPAIN 34
295 #define CTRY_SWEDEN 46
296 #define CTRY_SWITZERLAND 41
297 #define CTRY_SYRIA 963
298 #define CTRY_TAIWAN 886
299 #define CTRY_TATARSTAN 7
300 #define CTRY_THAILAND 66
301 #define CTRY_TRINIDAD_Y_TOBAGO 1
302 #define CTRY_TUNISIA 216
303 #define CTRY_TURKEY 90
304 #define CTRY_UAE 971
305 #define CTRY_UKRAINE 380
306 #define CTRY_UNITED_KINGDOM 44
307 #define CTRY_UNITED_STATES 1
308 #define CTRY_URUGUAY 598
309 #define CTRY_UZBEKISTAN 7
310 #define CTRY_VENEZUELA 58
311 #define CTRY_VIET_NAM 84
312 #define CTRY_YEMEN 967
313 #define CTRY_ZIMBABWE 263
314 #define CAL_ICALINTVALUE 1
315 #define CAL_SCALNAME 2
316 #define CAL_IYEAROFFSETRANGE 3
317 #define CAL_SERASTRING 4
318 #define CAL_SSHORTDATE 5
319 #define CAL_SLONGDATE 6
320 #define CAL_SDAYNAME1 7
321 #define CAL_SDAYNAME2 8
322 #define CAL_SDAYNAME3 9
323 #define CAL_SDAYNAME4 10
324 #define CAL_SDAYNAME5 11
325 #define CAL_SDAYNAME6 12
326 #define CAL_SDAYNAME7 13
327 #define CAL_SABBREVDAYNAME1 14
328 #define CAL_SABBREVDAYNAME2 15
329 #define CAL_SABBREVDAYNAME3 16
330 #define CAL_SABBREVDAYNAME4 17
331 #define CAL_SABBREVDAYNAME5 18
332 #define CAL_SABBREVDAYNAME6 19
333 #define CAL_SABBREVDAYNAME7 20
334 #define CAL_SMONTHNAME1 21
335 #define CAL_SMONTHNAME2 22
336 #define CAL_SMONTHNAME3 23
337 #define CAL_SMONTHNAME4 24
338 #define CAL_SMONTHNAME5 25
339 #define CAL_SMONTHNAME6 26
340 #define CAL_SMONTHNAME7 27
341 #define CAL_SMONTHNAME8 28
342 #define CAL_SMONTHNAME9 29
343 #define CAL_SMONTHNAME10 30
344 #define CAL_SMONTHNAME11 31
345 #define CAL_SMONTHNAME12 32
346 #define CAL_SMONTHNAME13 33
347 #define CAL_SABBREVMONTHNAME1 34
348 #define CAL_SABBREVMONTHNAME2 35
349 #define CAL_SABBREVMONTHNAME3 36
350 #define CAL_SABBREVMONTHNAME4 37
351 #define CAL_SABBREVMONTHNAME5 38
352 #define CAL_SABBREVMONTHNAME6 39
353 #define CAL_SABBREVMONTHNAME7 40
354 #define CAL_SABBREVMONTHNAME8 41
355 #define CAL_SABBREVMONTHNAME9 42
356 #define CAL_SABBREVMONTHNAME10 43
357 #define CAL_SABBREVMONTHNAME11 44
358 #define CAL_SABBREVMONTHNAME12 45
359 #define CAL_SABBREVMONTHNAME13 46
360 #define CAL_GREGORIAN 1
361 #define CAL_GREGORIAN_US 2
362 #define CAL_JAPAN 3
363 #define CAL_TAIWAN 4
364 #define CAL_KOREA 5
365 #define CAL_HIJRI 6
366 #define CAL_THAI 7
367 #define CAL_HEBREW 8
368 #define CAL_GREGORIAN_ME_FRENCH 9
369 #define CAL_GREGORIAN_ARABIC 10
370 #define CAL_GREGORIAN_XLIT_ENGLISH 11
371 #define CAL_GREGORIAN_XLIT_FRENCH 12
372 #define CSTR_LESS_THAN 1
373 #define CSTR_EQUAL 2
374 #define CSTR_GREATER_THAN 3
375 #define LGRPID_INSTALLED 1
376 #define LGRPID_SUPPORTED 2
377 #define LGRPID_WESTERN_EUROPE 1
378 #define LGRPID_CENTRAL_EUROPE 2
379 #define LGRPID_BALTIC 3
380 #define LGRPID_GREEK 4
381 #define LGRPID_CYRILLIC 5
382 #define LGRPID_TURKISH 6
383 #define LGRPID_JAPANESE 7
384 #define LGRPID_KOREAN 8
385 #define LGRPID_TRADITIONAL_CHINESE 9
386 #define LGRPID_SIMPLIFIED_CHINESE 10
387 #define LGRPID_THAI 11
388 #define LGRPID_HEBREW 12
389 #define LGRPID_ARABIC 13
390 #define LGRPID_VIETNAMESE 14
391 #define LGRPID_INDIC 15
392 #define LGRPID_GEORGIAN 16
393 #define LGRPID_ARMENIAN 17
395 #if(WINVER >= 0x0500)
396 #define LOCALE_SYEARMONTH 0x1006
397 #define LOCALE_SENGCURRNAME 0x1007
398 #define LOCALE_SNATIVECURRNAME 0x1008
399 #define LOCALE_IDEFAULTEBCDICCODEPAGE 0x1012
400 #define LOCALE_SSORTNAME 0x1013
401 #define LOCALE_IDIGITSUBSTITUTION 0x1014
402 #define LOCALE_IPAPERSIZE 0x100A
403 #define DATE_YEARMONTH 8
404 #define DATE_LTRREADING 16
405 #define DATE_RTLREADING 32
406 #define MAP_EXPAND_LIGATURES 0x2000
407 #define WC_NO_BEST_FIT_CHARS 1024
408 #define CAL_SYEARMONTH 47
409 #define CAL_ITWODIGITYEARMAX 48
410 #define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
411 #define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
412 #define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
413 #endif /* WINVER >= 0x0500 */
414 #ifndef _BASETSD_H
415 typedef long LONG_PTR;
416 #endif
418 #ifndef RC_INVOKED
419 typedef DWORD LCTYPE;
420 typedef DWORD CALTYPE;
421 typedef DWORD CALID;
422 typedef DWORD LGRPID;
423 typedef BOOL (CALLBACK *CALINFO_ENUMPROCA)(LPSTR);
424 typedef BOOL (CALLBACK *CALINFO_ENUMPROCW)(LPWSTR);
425 typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXA)(LPSTR, CALID);
426 typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXW)(LPWSTR, CALID);
427 typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR);
428 typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCW)(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR);
429 typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR);
430 typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCW)(LGRPID, LCID, LPWSTR, LONG_PTR);
431 typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCW)(LPWSTR, LONG_PTR);
432 typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR);
433 typedef BOOL (CALLBACK *LOCALE_ENUMPROCA)(LPSTR);
434 typedef BOOL (CALLBACK *LOCALE_ENUMPROCW)(LPWSTR);
435 typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCA)(LPSTR);
436 typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCW)(LPWSTR);
437 typedef BOOL (CALLBACK *DATEFMT_ENUMPROCA)(LPSTR);
438 typedef BOOL (CALLBACK *DATEFMT_ENUMPROCW)(LPWSTR);
439 typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXA)(LPSTR, CALID);
440 typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXW)(LPWSTR, CALID);
441 typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCA)(LPSTR);
442 typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCW)(LPWSTR);
444 typedef struct _cpinfo {
445 UINT MaxCharSize;
446 BYTE DefaultChar[MAX_DEFAULTCHAR];
447 BYTE LeadByte[MAX_LEADBYTES];
448 } CPINFO,*LPCPINFO;
449 typedef struct _cpinfoexA {
450 UINT MaxCharSize;
451 BYTE DefaultChar[MAX_DEFAULTCHAR];
452 BYTE LeadByte[MAX_LEADBYTES];
453 WCHAR UnicodeDefaultChar;
454 UINT CodePage;
455 CHAR CodePageName[MAX_PATH];
456 } CPINFOEXA, *LPCPINFOEXA;
457 typedef struct _cpinfoexW {
458 UINT MaxCharSize;
459 BYTE DefaultChar[MAX_DEFAULTCHAR];
460 BYTE LeadByte[MAX_LEADBYTES];
461 WCHAR UnicodeDefaultChar;
462 UINT CodePage;
463 WCHAR CodePageName[MAX_PATH];
464 } CPINFOEXW, *LPCPINFOEXW;
465 typedef struct _currencyfmtA {
466 UINT NumDigits;
467 UINT LeadingZero;
468 UINT Grouping;
469 LPSTR lpDecimalSep;
470 LPSTR lpThousandSep;
471 UINT NegativeOrder;
472 UINT PositiveOrder;
473 LPSTR lpCurrencySymbol;
474 } CURRENCYFMTA, *LPCURRENCYFMTA;
475 typedef struct _currencyfmtW {
476 UINT NumDigits;
477 UINT LeadingZero;
478 UINT Grouping;
479 LPWSTR lpDecimalSep;
480 LPWSTR lpThousandSep;
481 UINT NegativeOrder;
482 UINT PositiveOrder;
483 LPWSTR lpCurrencySymbol;
484 } CURRENCYFMTW, *LPCURRENCYFMTW;
485 typedef struct _numberfmtA {
486 UINT NumDigits;
487 UINT LeadingZero;
488 UINT Grouping;
489 LPSTR lpDecimalSep;
490 LPSTR lpThousandSep;
491 UINT NegativeOrder;
492 } NUMBERFMTA, *LPNUMBERFMTA;
493 typedef struct _numberfmtW {
494 UINT NumDigits;
495 UINT LeadingZero;
496 UINT Grouping;
497 LPWSTR lpDecimalSep;
498 LPWSTR lpThousandSep;
499 UINT NegativeOrder;
500 } NUMBERFMTW, *LPNUMBERFMTW;
502 int WINAPI CompareStringA(LCID,DWORD,LPCSTR,int,LPCSTR,int);
503 int WINAPI CompareStringW(LCID,DWORD,LPCWSTR,int,LPCWSTR,int);
504 LCID WINAPI ConvertDefaultLocale(LCID);
505 BOOL WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA,LCID,CALID,CALTYPE);
506 BOOL WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW,LCID,CALID,CALTYPE);
507 BOOL WINAPI EnumDateFormatsA(DATEFMT_ENUMPROCA,LCID,DWORD);
508 BOOL WINAPI EnumDateFormatsW(DATEFMT_ENUMPROCW,LCID,DWORD);
509 BOOL WINAPI EnumSystemCodePagesA(CODEPAGE_ENUMPROCA,DWORD);
510 BOOL WINAPI EnumSystemCodePagesW(CODEPAGE_ENUMPROCW,DWORD);
511 BOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA,DWORD);
512 BOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW,DWORD);
513 BOOL WINAPI EnumTimeFormatsA(TIMEFMT_ENUMPROCA,LCID,DWORD);
514 BOOL WINAPI EnumTimeFormatsW(TIMEFMT_ENUMPROCW,LCID,DWORD);
515 int WINAPI FoldStringA(DWORD,LPCSTR,int,LPSTR,int);
516 int WINAPI FoldStringW(DWORD,LPCWSTR,int,LPWSTR,int);
517 UINT WINAPI GetACP(void);
518 BOOL WINAPI GetCPInfo(UINT,LPCPINFO);
519 BOOL WINAPI GetCPInfoExA(UINT,DWORD,LPCPINFOEXA);
520 BOOL WINAPI GetCPInfoExW(UINT,DWORD,LPCPINFOEXW);
521 int WINAPI GetCurrencyFormatA(LCID,DWORD,LPCSTR,const CURRENCYFMTA*,LPSTR,int);
522 int WINAPI GetCurrencyFormatW(LCID,DWORD,LPCWSTR,const CURRENCYFMTW*,LPWSTR,int);
523 int WINAPI GetDateFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int);
524 int WINAPI GetDateFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int);
525 int WINAPI GetLocaleInfoA(LCID,LCTYPE,LPSTR,int);
526 int WINAPI GetLocaleInfoW(LCID,LCTYPE,LPWSTR,int);
527 int WINAPI GetNumberFormatA(LCID,DWORD,LPCSTR,const NUMBERFMTA*,LPSTR,int);
528 int WINAPI GetNumberFormatW(LCID,DWORD,LPCWSTR,const NUMBERFMTW*,LPWSTR,int);
529 UINT WINAPI GetOEMCP(void);
530 BOOL WINAPI GetStringTypeA(LCID,DWORD,LPCSTR,int,LPWORD);
531 BOOL WINAPI GetStringTypeW(DWORD,LPCWSTR,int,LPWORD);
532 BOOL WINAPI GetStringTypeExA(LCID,DWORD,LPCSTR,int,LPWORD);
533 BOOL WINAPI GetStringTypeExW(LCID,DWORD,LPCWSTR,int,LPWORD);
534 LANGID WINAPI GetSystemDefaultLangID(void);
535 LCID WINAPI GetSystemDefaultLCID(void);
536 LCID WINAPI GetThreadLocale(void);
537 int WINAPI GetTimeFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int);
538 int WINAPI GetTimeFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int);
539 LANGID WINAPI GetUserDefaultLangID(void);
540 LCID WINAPI GetUserDefaultLCID(void);
541 BOOL WINAPI IsDBCSLeadByte(BYTE);
542 BOOL WINAPI IsDBCSLeadByteEx(UINT,BYTE);
543 BOOL WINAPI IsValidCodePage(UINT);
544 BOOL WINAPI IsValidLocale(LCID,DWORD);
545 int WINAPI LCMapStringA(LCID,DWORD,LPCSTR,int,LPSTR,int);
546 int WINAPI LCMapStringW(LCID,DWORD,LPCWSTR,int,LPWSTR,int);
547 int WINAPI MultiByteToWideChar(UINT,DWORD,LPCSTR,int,LPWSTR,int);
548 BOOL WINAPI SetLocaleInfoA(LCID,LCTYPE,LPCSTR);
549 BOOL WINAPI SetLocaleInfoW(LCID,LCTYPE,LPCWSTR);
550 BOOL WINAPI SetThreadLocale(LCID);
551 int WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,int,LPSTR,int,LPCSTR,LPBOOL);
552 #if (WINVER >= 0x0500)
553 BOOL WINAPI EnumCalendarInfoExA(CALINFO_ENUMPROCEXA,LCID,CALID,CALTYPE);
554 BOOL WINAPI EnumCalendarInfoExW(CALINFO_ENUMPROCEXW,LCID,CALID,CALTYPE);
555 BOOL WINAPI EnumDateFormatsExA(DATEFMT_ENUMPROCEXA,LCID,DWORD);
556 BOOL WINAPI EnumDateFormatsExW(DATEFMT_ENUMPROCEXW,LCID,DWORD);
557 BOOL WINAPI EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA,DWORD,LONG_PTR);
558 BOOL WINAPI EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW,DWORD,LONG_PTR);
559 BOOL WINAPI EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA,LGRPID,DWORD,LONG_PTR);
560 BOOL WINAPI EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW,LGRPID,DWORD,LONG_PTR);
561 BOOL WINAPI EnumUILanguagesA(UILANGUAGE_ENUMPROCA,DWORD,LONG_PTR);
562 BOOL WINAPI EnumUILanguagesW(UILANGUAGE_ENUMPROCW,DWORD,LONG_PTR);
563 LANGID WINAPI GetSystemDefaultUILanguage(void);
564 LANGID WINAPI GetUserDefaultUILanguage(void);
565 BOOL WINAPI IsValidLanguageGroup(LGRPID,DWORD);
566 #endif /* (WINVER >= 0x0500) */
568 #ifdef UNICODE
569 #define CALINFO_ENUMPROC CALINFO_ENUMPROCW
570 #define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW
571 #define LOCALE_ENUMPROC LOCALE_ENUMPROCW
572 #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW
573 #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW
574 #define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW
575 #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW
576 #define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW
577 #define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW
578 #define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW
579 typedef CPINFOEXW CPINFOEX;
580 typedef LPCPINFOEXW LPCPINFOEX;
581 typedef CURRENCYFMTW CURRENCYFMT;
582 typedef LPCURRENCYFMTW LPCURRENCYFMT;
583 typedef NUMBERFMTW NUMBERFMT;
584 typedef LPNUMBERFMTW LPNUMBERFMT;
585 #define CompareString CompareStringW
586 #define EnumCalendarInfo EnumCalendarInfoW
587 #define EnumSystemCodePages EnumSystemCodePagesW
588 #define EnumSystemLocales EnumSystemLocalesW
589 #define EnumTimeFormats EnumTimeFormatsW
590 #define FoldString FoldStringW
591 #define GetCPInfoEx GetCPInfoExW
592 #define GetCurrencyFormat GetCurrencyFormatW
593 #define GetDateFormat GetDateFormatW
594 #define GetLocaleInfo GetLocaleInfoW
595 #define GetNumberFormat GetNumberFormatW
596 #define GetStringTypeEx GetStringTypeExW
597 #define GetTimeFormat GetTimeFormatW
598 #define LCMapString LCMapStringW
599 #define SetLocaleInfo SetLocaleInfoW
600 #if (WINVER >= 0x0500)
601 #define EnumCalendarInfoEx EnumCalendarInfoExW;
602 #define EnumDateFormatsEx EnumDateFormatsExW;
603 #define EnumSystemLanguageGroups EnumSystemLanguageGroupsW;
604 #define EnumLanguageGroupLocales EnumLanguageGroupLocalesW;
605 #define EnumUILanguages EnumUILanguagesW;
606 #endif /* (WINVER >= 0x0500) */
607 #else
608 #define CALINFO_ENUMPROC CALINFO_ENUMPROCA
609 #define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA
610 #define LOCALE_ENUMPROC LOCALE_ENUMPROCA
611 #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA
612 #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA
613 #define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA
614 #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA
615 #define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA
616 #define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA
617 #define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA
618 typedef CPINFOEXA CPINFOEX;
619 typedef LPCPINFOEXA LPCPINFOEX;
620 typedef CURRENCYFMTA CURRENCYFMT;
621 typedef LPCURRENCYFMTA LPCURRENCYFMT;
622 typedef NUMBERFMTA NUMBERFMT;
623 typedef LPNUMBERFMTA LPNUMBERFMT;
624 #define CompareString CompareStringA
625 #define EnumCalendarInfo EnumCalendarInfoA
626 #define EnumSystemCodePages EnumSystemCodePagesA
627 #define EnumSystemLocales EnumSystemLocalesA
628 #define EnumTimeFormats EnumTimeFormatsA
629 #define FoldString FoldStringA
630 #define GetCPInfoEx GetCPInfoExA
631 #define GetCurrencyFormat GetCurrencyFormatA
632 #define GetDateFormat GetDateFormatA
633 #define GetLocaleInfo GetLocaleInfoA
634 #define GetNumberFormat GetNumberFormatA
635 #define GetStringTypeEx GetStringTypeExA
636 #define GetTimeFormat GetTimeFormatA
637 #define LCMapString LCMapStringA
638 #define SetLocaleInfo SetLocaleInfoA
639 #if (WINVER >= 0x0500)
640 #define EnumCalendarInfoEx EnumCalendarInfoExA;
641 #define EnumDateFormatsEx EnumDateFormatsExA;
642 #define EnumSystemLanguageGroups EnumSystemLanguageGroupsA;
643 #define EnumLanguageGroupLocales EnumLanguageGroupLocalesA;
644 #define EnumUILanguages EnumUILanguagesA;
645 #endif /* (WINVER >= 0x0500) */
646 #endif /* UNICODE */
647 #endif /* RC_INVOKED */
648 #ifdef __cplusplus
650 #endif
651 #endif