• R/O
  • HTTP
  • SSH
  • HTTPS

mingw-org-wsl: 提交

The MinGW.org Windows System Libraries


Commit MetaInfo

修訂6b7d4acd7af8ec3892ba42a5cc02d5c59fdf4633 (tree)
時間2020-01-15 00:12:18
作者Keith Marshall <keith@user...>
CommiterKeith Marshall

Log Message

Make <winnls.h> header effectively self-contained.

Change Summary

差異

--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,7 @@
22
33 Adjust repository version following WSL-5.2.3 release.
44
5+ * All files (5.3-trunk): New branch; create, and switch to it.
56 * VERSION.m4 (__VERSION__): Increment it to 5.3
67
78 2020-01-13 Keith Marshall <keith@users.osdn.me>
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,3 +1,29 @@
1+2020-01-14 Keith Marshall <keith@users.osdn.me>
2+
3+ Make <winnls.h> header effectively self-contained.
4+
5+ * include/winnls.h: Tidy layout; assert copyright.
6+ Include <winbase.h>, so supporting stand-alone inclusion.
7+ (pragma GCC system_header): Remove redundant GCC version guard.
8+ (WINVER, _WIN32_WINNT): Always use symbolic version comparisons.
9+ (__AW_ALIAS__): Use it to selectively typedef...
10+ [UNICODE vs. ! UNICODE] (CPINFOEX, LPCPINFOEX, CURRENCYFMT)
11+ (LPCURRENCYFMT, NUMBERFMT, LPNUMBERFMT): ...each of these generic data
12+ types; delete redundant UNICODE vs. non-UNICODE variants.
13+ (__AW_SUFFIXED__): Likewise, use it to selectively define...
14+ [UNICODE vs. ! UNICODE] (CALINFO_ENUMPROC, CALINFO_ENUMPROCEX)
15+ (LANGUAGEGROUP_ENUMPROC, LANGGROUPLOCALE_ENUMPROC, LOCALE_ENUMPROC)
16+ (CODEPAGE_ENUMPROC, DATEFMT_ENUMPROC, DATEFMT_ENUMPROCEX)
17+ (TIMEFMT_ENUMPROC, UILANGUAGE_ENUMPROC, CompareString)
18+ (EnumCalendarInfo, EnumDateFormats, EnumSystemCodePages)
19+ (EnumSystemLocales, EnumTimeFormats, FoldString, GetCalendarInfo)
20+ (GetCPInfoEx, GetCurrencyFormat, GetDateFormat, GetGeoInfo)
21+ (GetLocaleInfo, GetNumberFormat, GetStringTypeEx, GetTimeFormat)
22+ (LCMapString, SetCalendarInfo, SetLocaleInfo, EnumCalendarInfoEx)
23+ (EnumDateFormatsEx, EnumSystemLanguageGroups, EnumLanguageGroupLocales)
24+ (EnumUILanguages): ...these generic names; delete redundant variants.
25+ (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
26+
127 2019-07-06 Keith Marshall <keith@users.osdn.me>
228
329 Prepare and publish MinGW.org WSL-5.2.2 release.
--- a/w32api/include/winnls.h
+++ b/w32api/include/winnls.h
@@ -1,459 +1,505 @@
1+/*
2+ * winnls.h
3+ *
4+ * Windows National Language Support API definitions.
5+ *
6+ * $Id$
7+ *
8+ * Written by Anders Norlander <anorland@hem2.passagen.se>
9+ * Copyright (C) 1998-2000, 2002-2004, 2006, 2009, 2019, MinGW.org Project.
10+ *
11+ *
12+ * Permission is hereby granted, free of charge, to any person obtaining a
13+ * copy of this software and associated documentation files (the "Software"),
14+ * to deal in the Software without restriction, including without limitation
15+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16+ * and/or sell copies of the Software, and to permit persons to whom the
17+ * Software is furnished to do so, subject to the following conditions:
18+ *
19+ * The above copyright notice and this permission notice (including the next
20+ * paragraph) shall be included in all copies or substantial portions of the
21+ * Software.
22+ *
23+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
28+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
29+ * DEALINGS IN THE SOFTWARE.
30+ *
31+ */
132 #ifndef _WINNLS_H
2-#define _WINNLS_H
3-#if __GNUC__ >= 3
433 #pragma GCC system_header
5-#endif
34+#define _WINNLS_H
635
7-#ifndef WINBASEAPI
8-#ifdef __W32API_USE_DLLIMPORT__
9-#define WINBASEAPI DECLSPEC_IMPORT
10-#else
11-#define WINBASEAPI
12-#endif
13-#endif
36+#include <winbase.h>
1437
15-#ifdef __cplusplus
16-extern "C" {
17-#endif
38+_BEGIN_C_DECLS
39+
40+#define MAX_LEADBYTES 12
41+#define MAX_DEFAULTCHAR 2
42+#define LOCALE_NOUSEROVERRIDE 0x80000000
43+#define LOCALE_USE_CP_ACP 0x40000000
44+
45+#if WINVER >= _WIN32_WINNT_NT4 /* also >= Win95 */
46+
47+#define LOCALE_RETURN_NUMBER 0x20000000
48+
49+#endif /* >= WinNT4 / Win95 */
50+
51+#define LOCALE_ILANGUAGE 1
52+#define LOCALE_SLANGUAGE 2
53+#define LOCALE_SENGLANGUAGE 0x1001
54+#define LOCALE_SABBREVLANGNAME 3
55+#define LOCALE_SNATIVELANGNAME 4
56+#define LOCALE_ICOUNTRY 5
57+#define LOCALE_SCOUNTRY 6
58+#define LOCALE_SENGCOUNTRY 0x1002
59+#define LOCALE_SABBREVCTRYNAME 7
60+#define LOCALE_SNATIVECTRYNAME 8
61+#define LOCALE_IDEFAULTLANGUAGE 9
62+#define LOCALE_IDEFAULTCOUNTRY 10
63+#define LOCALE_IDEFAULTCODEPAGE 11
64+#define LOCALE_IDEFAULTANSICODEPAGE 0x1004
65+#define LOCALE_SLIST 12
66+#define LOCALE_IMEASURE 13
67+#define LOCALE_SDECIMAL 14
68+#define LOCALE_STHOUSAND 15
69+#define LOCALE_SGROUPING 16
70+#define LOCALE_IDIGITS 17
71+#define LOCALE_ILZERO 18
72+#define LOCALE_INEGNUMBER 0x1010
73+#define LOCALE_SNATIVEDIGITS 19
74+#define LOCALE_SCURRENCY 20
75+#define LOCALE_SINTLSYMBOL 21
76+#define LOCALE_SMONDECIMALSEP 22
77+#define LOCALE_SMONTHOUSANDSEP 23
78+#define LOCALE_SMONGROUPING 24
79+#define LOCALE_ICURRDIGITS 25
80+#define LOCALE_IINTLCURRDIGITS 26
81+#define LOCALE_ICURRENCY 27
82+#define LOCALE_INEGCURR 28
83+#define LOCALE_SDATE 29
84+#define LOCALE_STIME 30
85+#define LOCALE_SSHORTDATE 31
86+#define LOCALE_SLONGDATE 32
87+#define LOCALE_STIMEFORMAT 0x1003
88+#define LOCALE_IDATE 33
89+#define LOCALE_ILDATE 34
90+#define LOCALE_ITIME 35
91+#define LOCALE_ITIMEMARKPOSN 0x1005
92+#define LOCALE_ICENTURY 36
93+#define LOCALE_ITLZERO 37
94+#define LOCALE_IDAYLZERO 38
95+#define LOCALE_IMONLZERO 39
96+#define LOCALE_S1159 40
97+#define LOCALE_S2359 41
98+#define LOCALE_ICALENDARTYPE 0x1009
99+#define LOCALE_IOPTIONALCALENDAR 0x100B
100+#define LOCALE_IFIRSTDAYOFWEEK 0x100C
101+#define LOCALE_IFIRSTWEEKOFYEAR 0x100D
102+#define LOCALE_SDAYNAME1 42
103+#define LOCALE_SDAYNAME2 43
104+#define LOCALE_SDAYNAME3 44
105+#define LOCALE_SDAYNAME4 45
106+#define LOCALE_SDAYNAME5 46
107+#define LOCALE_SDAYNAME6 47
108+#define LOCALE_SDAYNAME7 48
109+#define LOCALE_SABBREVDAYNAME1 49
110+#define LOCALE_SABBREVDAYNAME2 50
111+#define LOCALE_SABBREVDAYNAME3 51
112+#define LOCALE_SABBREVDAYNAME4 52
113+#define LOCALE_SABBREVDAYNAME5 53
114+#define LOCALE_SABBREVDAYNAME6 54
115+#define LOCALE_SABBREVDAYNAME7 55
116+#define LOCALE_SMONTHNAME1 56
117+#define LOCALE_SMONTHNAME2 57
118+#define LOCALE_SMONTHNAME3 58
119+#define LOCALE_SMONTHNAME4 59
120+#define LOCALE_SMONTHNAME5 60
121+#define LOCALE_SMONTHNAME6 61
122+#define LOCALE_SMONTHNAME7 62
123+#define LOCALE_SMONTHNAME8 63
124+#define LOCALE_SMONTHNAME9 64
125+#define LOCALE_SMONTHNAME10 65
126+#define LOCALE_SMONTHNAME11 66
127+#define LOCALE_SMONTHNAME12 67
128+#define LOCALE_SMONTHNAME13 0x100E
129+#define LOCALE_SABBREVMONTHNAME1 68
130+#define LOCALE_SABBREVMONTHNAME2 69
131+#define LOCALE_SABBREVMONTHNAME3 70
132+#define LOCALE_SABBREVMONTHNAME4 71
133+#define LOCALE_SABBREVMONTHNAME5 72
134+#define LOCALE_SABBREVMONTHNAME6 73
135+#define LOCALE_SABBREVMONTHNAME7 74
136+#define LOCALE_SABBREVMONTHNAME8 75
137+#define LOCALE_SABBREVMONTHNAME9 76
138+#define LOCALE_SABBREVMONTHNAME10 77
139+#define LOCALE_SABBREVMONTHNAME11 78
140+#define LOCALE_SABBREVMONTHNAME12 79
141+#define LOCALE_SABBREVMONTHNAME13 0x100F
142+#define LOCALE_SPOSITIVESIGN 80
143+#define LOCALE_SNEGATIVESIGN 81
144+#define LOCALE_IPOSSIGNPOSN 82
145+#define LOCALE_INEGSIGNPOSN 83
146+#define LOCALE_IPOSSYMPRECEDES 84
147+#define LOCALE_IPOSSEPBYSPACE 85
148+#define LOCALE_INEGSYMPRECEDES 86
149+#define LOCALE_INEGSEPBYSPACE 87
150+#define LOCALE_FONTSIGNATURE 88
151+#define LOCALE_SISO639LANGNAME 89
152+#define LOCALE_SISO3166CTRYNAME 90
153+#define LOCALE_SYSTEM_DEFAULT 0x800
154+#define LOCALE_USER_DEFAULT 0x400
155+#define NORM_IGNORECASE 1
156+#define NORM_IGNOREKANATYPE 65536
157+#define NORM_IGNORENONSPACE 2
158+#define NORM_IGNORESYMBOLS 4
159+#define NORM_IGNOREWIDTH 131072
160+#define SORT_STRINGSORT 4096
161+#define LCMAP_LOWERCASE 0x00000100
162+#define LCMAP_UPPERCASE 0x00000200
163+#define LCMAP_SORTKEY 0x00000400
164+#define LCMAP_BYTEREV 0x00000800
165+#define LCMAP_HIRAGANA 0x00100000
166+#define LCMAP_KATAKANA 0x00200000
167+#define LCMAP_HALFWIDTH 0x00400000
168+#define LCMAP_FULLWIDTH 0x00800000
169+#define LCMAP_LINGUISTIC_CASING 0x01000000
170+#define LCMAP_SIMPLIFIED_CHINESE 0x02000000
171+#define LCMAP_TRADITIONAL_CHINESE 0x04000000
172+#define ENUM_ALL_CALENDARS (-1)
173+#define DATE_SHORTDATE 1
174+#define DATE_LONGDATE 2
175+#define DATE_USE_ALT_CALENDAR 4
176+#define CP_INSTALLED 1
177+#define CP_SUPPORTED 2
178+#define LCID_INSTALLED 1
179+#define LCID_SUPPORTED 2
180+#define LCID_ALTERNATE_SORTS 4
181+#define MAP_FOLDCZONE 16
182+#define MAP_FOLDDIGITS 128
183+#define MAP_PRECOMPOSED 32
184+#define MAP_COMPOSITE 64
185+#define CP_ACP 0
186+#define CP_OEMCP 1
187+#define CP_MACCP 2
188+#define CP_THREAD_ACP 3
189+#define CP_SYMBOL 42
190+#define CP_UTF7 65000
191+#define CP_UTF8 65001
192+#define CT_CTYPE1 1
193+#define CT_CTYPE2 2
194+#define CT_CTYPE3 4
195+#define C1_UPPER 1
196+#define C1_LOWER 2
197+#define C1_DIGIT 4
198+#define C1_SPACE 8
199+#define C1_PUNCT 16
200+#define C1_CNTRL 32
201+#define C1_BLANK 64
202+#define C1_XDIGIT 128
203+#define C1_ALPHA 256
204+#define C2_LEFTTORIGHT 1
205+#define C2_RIGHTTOLEFT 2
206+#define C2_EUROPENUMBER 3
207+#define C2_EUROPESEPARATOR 4
208+#define C2_EUROPETERMINATOR 5
209+#define C2_ARABICNUMBER 6
210+#define C2_COMMONSEPARATOR 7
211+#define C2_BLOCKSEPARATOR 8
212+#define C2_SEGMENTSEPARATOR 9
213+#define C2_WHITESPACE 10
214+#define C2_OTHERNEUTRAL 11
215+#define C2_NOTAPPLICABLE 0
216+#define C3_NONSPACING 1
217+#define C3_DIACRITIC 2
218+#define C3_VOWELMARK 4
219+#define C3_SYMBOL 8
220+#define C3_KATAKANA 16
221+#define C3_HIRAGANA 32
222+#define C3_HALFWIDTH 64
223+#define C3_FULLWIDTH 128
224+#define C3_IDEOGRAPH 256
225+#define C3_KASHIDA 512
226+#define C3_LEXICAL 1024
227+#define C3_ALPHA 32768
228+#define C3_NOTAPPLICABLE 0
229+#define TIME_NOMINUTESORSECONDS 1
230+#define TIME_NOSECONDS 2
231+#define TIME_NOTIMEMARKER 4
232+#define TIME_FORCE24HOURFORMAT 8
233+#define MB_PRECOMPOSED 1
234+#define MB_COMPOSITE 2
235+#define MB_ERR_INVALID_CHARS 8
236+#define MB_USEGLYPHCHARS 4
237+#define WC_COMPOSITECHECK 512
238+#define WC_DISCARDNS 16
239+#define WC_SEPCHARS 32
240+#define WC_DEFAULTCHAR 64
241+#define CTRY_DEFAULT 0
242+#define CTRY_ALBANIA 355
243+#define CTRY_ALGERIA 213
244+#define CTRY_ARGENTINA 54
245+#define CTRY_ARMENIA 374
246+#define CTRY_AUSTRALIA 61
247+#define CTRY_AUSTRIA 43
248+#define CTRY_AZERBAIJAN 994
249+#define CTRY_BAHRAIN 973
250+#define CTRY_BELARUS 375
251+#define CTRY_BELGIUM 32
252+#define CTRY_BELIZE 501
253+#define CTRY_BOLIVIA 591
254+#define CTRY_BRAZIL 55
255+#define CTRY_BRUNEI_DARUSSALAM 673
256+#define CTRY_BULGARIA 359
257+#define CTRY_CANADA 2
258+#define CTRY_CARIBBEAN 1
259+#define CTRY_CHILE 56
260+#define CTRY_COLOMBIA 57
261+#define CTRY_COSTA_RICA 506
262+#define CTRY_CROATIA 385
263+#define CTRY_CZECH 420
264+#define CTRY_DENMARK 45
265+#define CTRY_DOMINICAN_REPUBLIC 1
266+#define CTRY_ECUADOR 593
267+#define CTRY_EGYPT 20
268+#define CTRY_EL_SALVADOR 503
269+#define CTRY_ESTONIA 372
270+#define CTRY_FAEROE_ISLANDS 298
271+#define CTRY_FINLAND 358
272+#define CTRY_FRANCE 33
273+#define CTRY_GEORGIA 995
274+#define CTRY_GERMANY 49
275+#define CTRY_GREECE 30
276+#define CTRY_GUATEMALA 502
277+#define CTRY_HONDURAS 504
278+#define CTRY_HONG_KONG 852
279+#define CTRY_HUNGARY 36
280+#define CTRY_ICELAND 354
281+#define CTRY_INDIA 91
282+#define CTRY_INDONESIA 62
283+#define CTRY_IRAN 981
284+#define CTRY_IRAQ 964
285+#define CTRY_IRELAND 353
286+#define CTRY_ISRAEL 972
287+#define CTRY_ITALY 39
288+#define CTRY_JAMAICA 1
289+#define CTRY_JAPAN 81
290+#define CTRY_JORDAN 962
291+#define CTRY_KAZAKSTAN 7
292+#define CTRY_KENYA 254
293+#define CTRY_KUWAIT 965
294+#define CTRY_KYRGYZSTAN 996
295+#define CTRY_LATVIA 371
296+#define CTRY_LEBANON 961
297+#define CTRY_LIBYA 218
298+#define CTRY_LIECHTENSTEIN 41
299+#define CTRY_LITHUANIA 370
300+#define CTRY_LUXEMBOURG 352
301+#define CTRY_MACAU 853
302+#define CTRY_MACEDONIA 389
303+#define CTRY_MALAYSIA 60
304+#define CTRY_MALDIVES 960
305+#define CTRY_MEXICO 52
306+#define CTRY_MONACO 33
307+#define CTRY_MONGOLIA 976
308+#define CTRY_MOROCCO 212
309+#define CTRY_NETHERLANDS 31
310+#define CTRY_NEW_ZEALAND 64
311+#define CTRY_NICARAGUA 505
312+#define CTRY_NORWAY 47
313+#define CTRY_OMAN 968
314+#define CTRY_PAKISTAN 92
315+#define CTRY_PANAMA 507
316+#define CTRY_PARAGUAY 595
317+#define CTRY_PERU 51
318+#define CTRY_PHILIPPINES 63
319+#define CTRY_POLAND 48
320+#define CTRY_PORTUGAL 351
321+#define CTRY_PRCHINA 86
322+#define CTRY_PUERTO_RICO 1
323+#define CTRY_QATAR 974
324+#define CTRY_ROMANIA 40
325+#define CTRY_RUSSIA 7
326+#define CTRY_SAUDI_ARABIA 966
327+#define CTRY_SERBIA 381
328+#define CTRY_SINGAPORE 65
329+#define CTRY_SLOVAK 421
330+#define CTRY_SLOVENIA 386
331+#define CTRY_SOUTH_AFRICA 27
332+#define CTRY_SOUTH_KOREA 82
333+#define CTRY_SPAIN 34
334+#define CTRY_SWEDEN 46
335+#define CTRY_SWITZERLAND 41
336+#define CTRY_SYRIA 963
337+#define CTRY_TAIWAN 886
338+#define CTRY_TATARSTAN 7
339+#define CTRY_THAILAND 66
340+#define CTRY_TRINIDAD_Y_TOBAGO 1
341+#define CTRY_TUNISIA 216
342+#define CTRY_TURKEY 90
343+#define CTRY_UAE 971
344+#define CTRY_UKRAINE 380
345+#define CTRY_UNITED_KINGDOM 44
346+#define CTRY_UNITED_STATES 1
347+#define CTRY_URUGUAY 598
348+#define CTRY_UZBEKISTAN 7
349+#define CTRY_VENEZUELA 58
350+#define CTRY_VIET_NAM 84
351+#define CTRY_YEMEN 967
352+#define CTRY_ZIMBABWE 263
353+#define CAL_ICALINTVALUE 1
354+#define CAL_SCALNAME 2
355+#define CAL_IYEAROFFSETRANGE 3
356+#define CAL_SERASTRING 4
357+#define CAL_SSHORTDATE 5
358+#define CAL_SLONGDATE 6
359+#define CAL_SDAYNAME1 7
360+#define CAL_SDAYNAME2 8
361+#define CAL_SDAYNAME3 9
362+#define CAL_SDAYNAME4 10
363+#define CAL_SDAYNAME5 11
364+#define CAL_SDAYNAME6 12
365+#define CAL_SDAYNAME7 13
366+#define CAL_SABBREVDAYNAME1 14
367+#define CAL_SABBREVDAYNAME2 15
368+#define CAL_SABBREVDAYNAME3 16
369+#define CAL_SABBREVDAYNAME4 17
370+#define CAL_SABBREVDAYNAME5 18
371+#define CAL_SABBREVDAYNAME6 19
372+#define CAL_SABBREVDAYNAME7 20
373+#define CAL_SMONTHNAME1 21
374+#define CAL_SMONTHNAME2 22
375+#define CAL_SMONTHNAME3 23
376+#define CAL_SMONTHNAME4 24
377+#define CAL_SMONTHNAME5 25
378+#define CAL_SMONTHNAME6 26
379+#define CAL_SMONTHNAME7 27
380+#define CAL_SMONTHNAME8 28
381+#define CAL_SMONTHNAME9 29
382+#define CAL_SMONTHNAME10 30
383+#define CAL_SMONTHNAME11 31
384+#define CAL_SMONTHNAME12 32
385+#define CAL_SMONTHNAME13 33
386+#define CAL_SABBREVMONTHNAME1 34
387+#define CAL_SABBREVMONTHNAME2 35
388+#define CAL_SABBREVMONTHNAME3 36
389+#define CAL_SABBREVMONTHNAME4 37
390+#define CAL_SABBREVMONTHNAME5 38
391+#define CAL_SABBREVMONTHNAME6 39
392+#define CAL_SABBREVMONTHNAME7 40
393+#define CAL_SABBREVMONTHNAME8 41
394+#define CAL_SABBREVMONTHNAME9 42
395+#define CAL_SABBREVMONTHNAME10 43
396+#define CAL_SABBREVMONTHNAME11 44
397+#define CAL_SABBREVMONTHNAME12 45
398+#define CAL_SABBREVMONTHNAME13 46
399+#define CAL_GREGORIAN 1
400+#define CAL_GREGORIAN_US 2
401+#define CAL_JAPAN 3
402+#define CAL_TAIWAN 4
403+#define CAL_KOREA 5
404+#define CAL_HIJRI 6
405+#define CAL_THAI 7
406+#define CAL_HEBREW 8
407+#define CAL_GREGORIAN_ME_FRENCH 9
408+#define CAL_GREGORIAN_ARABIC 10
409+#define CAL_GREGORIAN_XLIT_ENGLISH 11
410+#define CAL_GREGORIAN_XLIT_FRENCH 12
411+#define CSTR_LESS_THAN 1
412+#define CSTR_EQUAL 2
413+#define CSTR_GREATER_THAN 3
414+#define LGRPID_INSTALLED 1
415+#define LGRPID_SUPPORTED 2
416+#define LGRPID_WESTERN_EUROPE 1
417+#define LGRPID_CENTRAL_EUROPE 2
418+#define LGRPID_BALTIC 3
419+#define LGRPID_GREEK 4
420+#define LGRPID_CYRILLIC 5
421+#define LGRPID_TURKISH 6
422+#define LGRPID_JAPANESE 7
423+#define LGRPID_KOREAN 8
424+#define LGRPID_TRADITIONAL_CHINESE 9
425+#define LGRPID_SIMPLIFIED_CHINESE 10
426+#define LGRPID_THAI 11
427+#define LGRPID_HEBREW 12
428+#define LGRPID_ARABIC 13
429+#define LGRPID_VIETNAMESE 14
430+#define LGRPID_INDIC 15
431+#define LGRPID_GEORGIAN 16
432+#define LGRPID_ARMENIAN 17
433+#define IS_HIGH_SURROGATE(c) (((c) & 0xFC00) == 0xD800)
434+#define IS_LOW_SURROGATE(c) (((c) & 0xFC00) == 0xDC00)
435+#define IS_SURROGATE_PAIR(hc,lc) (IS_HIGH_SURROGATE(hc) && IS_LOW_SURROGATE(lc))
436+
437+#if WINVER >= _WIN32_WINDOWS_98 /* also >= Win2K */
18438
19-#define MAX_LEADBYTES 12
20-#define MAX_DEFAULTCHAR 2
21-#define LOCALE_NOUSEROVERRIDE 0x80000000
22-#define LOCALE_USE_CP_ACP 0x40000000
23-#if (WINVER >= 0x0400)
24-#define LOCALE_RETURN_NUMBER 0x20000000
439+#define CAL_SYEARMONTH 47
440+#define CAL_ITWODIGITYEARMAX 48
441+#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
442+#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
443+#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
444+#define LOCALE_SYEARMONTH 0x1006
445+#define LOCALE_SENGCURRNAME 0x1007
446+#define LOCALE_SNATIVECURRNAME 0x1008
447+#define LOCALE_SSORTNAME 0x1013
448+
449+#endif /* >= Win98 / Win2K */
450+
451+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
452+
453+#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x1012
454+#define LOCALE_IDIGITSUBSTITUTION 0x1014
455+#define LOCALE_IPAPERSIZE 0x100A
456+#define DATE_YEARMONTH 8
457+#define DATE_LTRREADING 16
458+#define DATE_RTLREADING 32
459+#define MAP_EXPAND_LIGATURES 0x2000
460+#define WC_NO_BEST_FIT_CHARS 1024
461+
462+#endif /* >= Win2K */
463+
464+#if _WIN32_WINNT >= _WIN32_WINNT_VISTA
465+
466+#if 0
467+#define CAL_SSHORTESTDAYNAME1
468+#define CAL_SSHORTESTDAYNAME2
469+#define CAL_SSHORTESTDAYNAME3
470+#define CAL_SSHORTESTDAYNAME4
471+#define CAL_SSHORTESTDAYNAME5
472+#define CAL_SSHORTESTDAYNAME6
473+#define CAL_SSHORTESTDAYNAME7
474+
475+#define LOCALE_SSHORTESTDAYNAME1
476+#define LOCALE_SSHORTESTDAYNAME2
477+#define LOCALE_SSHORTESTDAYNAME3
478+#define LOCALE_SSHORTESTDAYNAME4
479+#define LOCALE_SSHORTESTDAYNAME5
480+#define LOCALE_SSHORTESTDAYNAME6
481+#define LOCALE_SSHORTESTDAYNAME7
25482 #endif
26-#define LOCALE_ILANGUAGE 1
27-#define LOCALE_SLANGUAGE 2
28-#define LOCALE_SENGLANGUAGE 0x1001
29-#define LOCALE_SABBREVLANGNAME 3
30-#define LOCALE_SNATIVELANGNAME 4
31-#define LOCALE_ICOUNTRY 5
32-#define LOCALE_SCOUNTRY 6
33-#define LOCALE_SENGCOUNTRY 0x1002
34-#define LOCALE_SABBREVCTRYNAME 7
35-#define LOCALE_SNATIVECTRYNAME 8
36-#define LOCALE_IDEFAULTLANGUAGE 9
37-#define LOCALE_IDEFAULTCOUNTRY 10
38-#define LOCALE_IDEFAULTCODEPAGE 11
39-#define LOCALE_IDEFAULTANSICODEPAGE 0x1004
40-#define LOCALE_SLIST 12
41-#define LOCALE_IMEASURE 13
42-#define LOCALE_SDECIMAL 14
43-#define LOCALE_STHOUSAND 15
44-#define LOCALE_SGROUPING 16
45-#define LOCALE_IDIGITS 17
46-#define LOCALE_ILZERO 18
47-#define LOCALE_INEGNUMBER 0x1010
48-#define LOCALE_SNATIVEDIGITS 19
49-#define LOCALE_SCURRENCY 20
50-#define LOCALE_SINTLSYMBOL 21
51-#define LOCALE_SMONDECIMALSEP 22
52-#define LOCALE_SMONTHOUSANDSEP 23
53-#define LOCALE_SMONGROUPING 24
54-#define LOCALE_ICURRDIGITS 25
55-#define LOCALE_IINTLCURRDIGITS 26
56-#define LOCALE_ICURRENCY 27
57-#define LOCALE_INEGCURR 28
58-#define LOCALE_SDATE 29
59-#define LOCALE_STIME 30
60-#define LOCALE_SSHORTDATE 31
61-#define LOCALE_SLONGDATE 32
62-#define LOCALE_STIMEFORMAT 0x1003
63-#define LOCALE_IDATE 33
64-#define LOCALE_ILDATE 34
65-#define LOCALE_ITIME 35
66-#define LOCALE_ITIMEMARKPOSN 0x1005
67-#define LOCALE_ICENTURY 36
68-#define LOCALE_ITLZERO 37
69-#define LOCALE_IDAYLZERO 38
70-#define LOCALE_IMONLZERO 39
71-#define LOCALE_S1159 40
72-#define LOCALE_S2359 41
73-#define LOCALE_ICALENDARTYPE 0x1009
74-#define LOCALE_IOPTIONALCALENDAR 0x100B
75-#define LOCALE_IFIRSTDAYOFWEEK 0x100C
76-#define LOCALE_IFIRSTWEEKOFYEAR 0x100D
77-#define LOCALE_SDAYNAME1 42
78-#define LOCALE_SDAYNAME2 43
79-#define LOCALE_SDAYNAME3 44
80-#define LOCALE_SDAYNAME4 45
81-#define LOCALE_SDAYNAME5 46
82-#define LOCALE_SDAYNAME6 47
83-#define LOCALE_SDAYNAME7 48
84-#define LOCALE_SABBREVDAYNAME1 49
85-#define LOCALE_SABBREVDAYNAME2 50
86-#define LOCALE_SABBREVDAYNAME3 51
87-#define LOCALE_SABBREVDAYNAME4 52
88-#define LOCALE_SABBREVDAYNAME5 53
89-#define LOCALE_SABBREVDAYNAME6 54
90-#define LOCALE_SABBREVDAYNAME7 55
91-#define LOCALE_SMONTHNAME1 56
92-#define LOCALE_SMONTHNAME2 57
93-#define LOCALE_SMONTHNAME3 58
94-#define LOCALE_SMONTHNAME4 59
95-#define LOCALE_SMONTHNAME5 60
96-#define LOCALE_SMONTHNAME6 61
97-#define LOCALE_SMONTHNAME7 62
98-#define LOCALE_SMONTHNAME8 63
99-#define LOCALE_SMONTHNAME9 64
100-#define LOCALE_SMONTHNAME10 65
101-#define LOCALE_SMONTHNAME11 66
102-#define LOCALE_SMONTHNAME12 67
103-#define LOCALE_SMONTHNAME13 0x100E
104-#define LOCALE_SABBREVMONTHNAME1 68
105-#define LOCALE_SABBREVMONTHNAME2 69
106-#define LOCALE_SABBREVMONTHNAME3 70
107-#define LOCALE_SABBREVMONTHNAME4 71
108-#define LOCALE_SABBREVMONTHNAME5 72
109-#define LOCALE_SABBREVMONTHNAME6 73
110-#define LOCALE_SABBREVMONTHNAME7 74
111-#define LOCALE_SABBREVMONTHNAME8 75
112-#define LOCALE_SABBREVMONTHNAME9 76
113-#define LOCALE_SABBREVMONTHNAME10 77
114-#define LOCALE_SABBREVMONTHNAME11 78
115-#define LOCALE_SABBREVMONTHNAME12 79
116-#define LOCALE_SABBREVMONTHNAME13 0x100F
117-#define LOCALE_SPOSITIVESIGN 80
118-#define LOCALE_SNEGATIVESIGN 81
119-#define LOCALE_IPOSSIGNPOSN 82
120-#define LOCALE_INEGSIGNPOSN 83
121-#define LOCALE_IPOSSYMPRECEDES 84
122-#define LOCALE_IPOSSEPBYSPACE 85
123-#define LOCALE_INEGSYMPRECEDES 86
124-#define LOCALE_INEGSEPBYSPACE 87
125-#define LOCALE_FONTSIGNATURE 88
126-#define LOCALE_SISO639LANGNAME 89
127-#define LOCALE_SISO3166CTRYNAME 90
128-#define LOCALE_SYSTEM_DEFAULT 0x800
129-#define LOCALE_USER_DEFAULT 0x400
130-#define NORM_IGNORECASE 1
131-#define NORM_IGNOREKANATYPE 65536
132-#define NORM_IGNORENONSPACE 2
133-#define NORM_IGNORESYMBOLS 4
134-#define NORM_IGNOREWIDTH 131072
135-#define SORT_STRINGSORT 4096
136-#define LCMAP_LOWERCASE 0x00000100
137-#define LCMAP_UPPERCASE 0x00000200
138-#define LCMAP_SORTKEY 0x00000400
139-#define LCMAP_BYTEREV 0x00000800
140-#define LCMAP_HIRAGANA 0x00100000
141-#define LCMAP_KATAKANA 0x00200000
142-#define LCMAP_HALFWIDTH 0x00400000
143-#define LCMAP_FULLWIDTH 0x00800000
144-#define LCMAP_LINGUISTIC_CASING 0x01000000
145-#define LCMAP_SIMPLIFIED_CHINESE 0x02000000
146-#define LCMAP_TRADITIONAL_CHINESE 0x04000000
147-#define ENUM_ALL_CALENDARS (-1)
148-#define DATE_SHORTDATE 1
149-#define DATE_LONGDATE 2
150-#define DATE_USE_ALT_CALENDAR 4
151-#define CP_INSTALLED 1
152-#define CP_SUPPORTED 2
153-#define LCID_INSTALLED 1
154-#define LCID_SUPPORTED 2
155-#define LCID_ALTERNATE_SORTS 4
156-#define MAP_FOLDCZONE 16
157-#define MAP_FOLDDIGITS 128
158-#define MAP_PRECOMPOSED 32
159-#define MAP_COMPOSITE 64
160-#define CP_ACP 0
161-#define CP_OEMCP 1
162-#define CP_MACCP 2
163-#define CP_THREAD_ACP 3
164-#define CP_SYMBOL 42
165-#define CP_UTF7 65000
166-#define CP_UTF8 65001
167-#define CT_CTYPE1 1
168-#define CT_CTYPE2 2
169-#define CT_CTYPE3 4
170-#define C1_UPPER 1
171-#define C1_LOWER 2
172-#define C1_DIGIT 4
173-#define C1_SPACE 8
174-#define C1_PUNCT 16
175-#define C1_CNTRL 32
176-#define C1_BLANK 64
177-#define C1_XDIGIT 128
178-#define C1_ALPHA 256
179-#define C2_LEFTTORIGHT 1
180-#define C2_RIGHTTOLEFT 2
181-#define C2_EUROPENUMBER 3
182-#define C2_EUROPESEPARATOR 4
183-#define C2_EUROPETERMINATOR 5
184-#define C2_ARABICNUMBER 6
185-#define C2_COMMONSEPARATOR 7
186-#define C2_BLOCKSEPARATOR 8
187-#define C2_SEGMENTSEPARATOR 9
188-#define C2_WHITESPACE 10
189-#define C2_OTHERNEUTRAL 11
190-#define C2_NOTAPPLICABLE 0
191-#define C3_NONSPACING 1
192-#define C3_DIACRITIC 2
193-#define C3_VOWELMARK 4
194-#define C3_SYMBOL 8
195-#define C3_KATAKANA 16
196-#define C3_HIRAGANA 32
197-#define C3_HALFWIDTH 64
198-#define C3_FULLWIDTH 128
199-#define C3_IDEOGRAPH 256
200-#define C3_KASHIDA 512
201-#define C3_LEXICAL 1024
202-#define C3_ALPHA 32768
203-#define C3_NOTAPPLICABLE 0
204-#define TIME_NOMINUTESORSECONDS 1
205-#define TIME_NOSECONDS 2
206-#define TIME_NOTIMEMARKER 4
207-#define TIME_FORCE24HOURFORMAT 8
208-#define MB_PRECOMPOSED 1
209-#define MB_COMPOSITE 2
210-#define MB_ERR_INVALID_CHARS 8
211-#define MB_USEGLYPHCHARS 4
212-#define WC_COMPOSITECHECK 512
213-#define WC_DISCARDNS 16
214-#define WC_SEPCHARS 32
215-#define WC_DEFAULTCHAR 64
216-#define CTRY_DEFAULT 0
217-#define CTRY_ALBANIA 355
218-#define CTRY_ALGERIA 213
219-#define CTRY_ARGENTINA 54
220-#define CTRY_ARMENIA 374
221-#define CTRY_AUSTRALIA 61
222-#define CTRY_AUSTRIA 43
223-#define CTRY_AZERBAIJAN 994
224-#define CTRY_BAHRAIN 973
225-#define CTRY_BELARUS 375
226-#define CTRY_BELGIUM 32
227-#define CTRY_BELIZE 501
228-#define CTRY_BOLIVIA 591
229-#define CTRY_BRAZIL 55
230-#define CTRY_BRUNEI_DARUSSALAM 673
231-#define CTRY_BULGARIA 359
232-#define CTRY_CANADA 2
233-#define CTRY_CARIBBEAN 1
234-#define CTRY_CHILE 56
235-#define CTRY_COLOMBIA 57
236-#define CTRY_COSTA_RICA 506
237-#define CTRY_CROATIA 385
238-#define CTRY_CZECH 420
239-#define CTRY_DENMARK 45
240-#define CTRY_DOMINICAN_REPUBLIC 1
241-#define CTRY_ECUADOR 593
242-#define CTRY_EGYPT 20
243-#define CTRY_EL_SALVADOR 503
244-#define CTRY_ESTONIA 372
245-#define CTRY_FAEROE_ISLANDS 298
246-#define CTRY_FINLAND 358
247-#define CTRY_FRANCE 33
248-#define CTRY_GEORGIA 995
249-#define CTRY_GERMANY 49
250-#define CTRY_GREECE 30
251-#define CTRY_GUATEMALA 502
252-#define CTRY_HONDURAS 504
253-#define CTRY_HONG_KONG 852
254-#define CTRY_HUNGARY 36
255-#define CTRY_ICELAND 354
256-#define CTRY_INDIA 91
257-#define CTRY_INDONESIA 62
258-#define CTRY_IRAN 981
259-#define CTRY_IRAQ 964
260-#define CTRY_IRELAND 353
261-#define CTRY_ISRAEL 972
262-#define CTRY_ITALY 39
263-#define CTRY_JAMAICA 1
264-#define CTRY_JAPAN 81
265-#define CTRY_JORDAN 962
266-#define CTRY_KAZAKSTAN 7
267-#define CTRY_KENYA 254
268-#define CTRY_KUWAIT 965
269-#define CTRY_KYRGYZSTAN 996
270-#define CTRY_LATVIA 371
271-#define CTRY_LEBANON 961
272-#define CTRY_LIBYA 218
273-#define CTRY_LIECHTENSTEIN 41
274-#define CTRY_LITHUANIA 370
275-#define CTRY_LUXEMBOURG 352
276-#define CTRY_MACAU 853
277-#define CTRY_MACEDONIA 389
278-#define CTRY_MALAYSIA 60
279-#define CTRY_MALDIVES 960
280-#define CTRY_MEXICO 52
281-#define CTRY_MONACO 33
282-#define CTRY_MONGOLIA 976
283-#define CTRY_MOROCCO 212
284-#define CTRY_NETHERLANDS 31
285-#define CTRY_NEW_ZEALAND 64
286-#define CTRY_NICARAGUA 505
287-#define CTRY_NORWAY 47
288-#define CTRY_OMAN 968
289-#define CTRY_PAKISTAN 92
290-#define CTRY_PANAMA 507
291-#define CTRY_PARAGUAY 595
292-#define CTRY_PERU 51
293-#define CTRY_PHILIPPINES 63
294-#define CTRY_POLAND 48
295-#define CTRY_PORTUGAL 351
296-#define CTRY_PRCHINA 86
297-#define CTRY_PUERTO_RICO 1
298-#define CTRY_QATAR 974
299-#define CTRY_ROMANIA 40
300-#define CTRY_RUSSIA 7
301-#define CTRY_SAUDI_ARABIA 966
302-#define CTRY_SERBIA 381
303-#define CTRY_SINGAPORE 65
304-#define CTRY_SLOVAK 421
305-#define CTRY_SLOVENIA 386
306-#define CTRY_SOUTH_AFRICA 27
307-#define CTRY_SOUTH_KOREA 82
308-#define CTRY_SPAIN 34
309-#define CTRY_SWEDEN 46
310-#define CTRY_SWITZERLAND 41
311-#define CTRY_SYRIA 963
312-#define CTRY_TAIWAN 886
313-#define CTRY_TATARSTAN 7
314-#define CTRY_THAILAND 66
315-#define CTRY_TRINIDAD_Y_TOBAGO 1
316-#define CTRY_TUNISIA 216
317-#define CTRY_TURKEY 90
318-#define CTRY_UAE 971
319-#define CTRY_UKRAINE 380
320-#define CTRY_UNITED_KINGDOM 44
321-#define CTRY_UNITED_STATES 1
322-#define CTRY_URUGUAY 598
323-#define CTRY_UZBEKISTAN 7
324-#define CTRY_VENEZUELA 58
325-#define CTRY_VIET_NAM 84
326-#define CTRY_YEMEN 967
327-#define CTRY_ZIMBABWE 263
328-#define CAL_ICALINTVALUE 1
329-#define CAL_SCALNAME 2
330-#define CAL_IYEAROFFSETRANGE 3
331-#define CAL_SERASTRING 4
332-#define CAL_SSHORTDATE 5
333-#define CAL_SLONGDATE 6
334-#define CAL_SDAYNAME1 7
335-#define CAL_SDAYNAME2 8
336-#define CAL_SDAYNAME3 9
337-#define CAL_SDAYNAME4 10
338-#define CAL_SDAYNAME5 11
339-#define CAL_SDAYNAME6 12
340-#define CAL_SDAYNAME7 13
341-#define CAL_SABBREVDAYNAME1 14
342-#define CAL_SABBREVDAYNAME2 15
343-#define CAL_SABBREVDAYNAME3 16
344-#define CAL_SABBREVDAYNAME4 17
345-#define CAL_SABBREVDAYNAME5 18
346-#define CAL_SABBREVDAYNAME6 19
347-#define CAL_SABBREVDAYNAME7 20
348-#define CAL_SMONTHNAME1 21
349-#define CAL_SMONTHNAME2 22
350-#define CAL_SMONTHNAME3 23
351-#define CAL_SMONTHNAME4 24
352-#define CAL_SMONTHNAME5 25
353-#define CAL_SMONTHNAME6 26
354-#define CAL_SMONTHNAME7 27
355-#define CAL_SMONTHNAME8 28
356-#define CAL_SMONTHNAME9 29
357-#define CAL_SMONTHNAME10 30
358-#define CAL_SMONTHNAME11 31
359-#define CAL_SMONTHNAME12 32
360-#define CAL_SMONTHNAME13 33
361-#define CAL_SABBREVMONTHNAME1 34
362-#define CAL_SABBREVMONTHNAME2 35
363-#define CAL_SABBREVMONTHNAME3 36
364-#define CAL_SABBREVMONTHNAME4 37
365-#define CAL_SABBREVMONTHNAME5 38
366-#define CAL_SABBREVMONTHNAME6 39
367-#define CAL_SABBREVMONTHNAME7 40
368-#define CAL_SABBREVMONTHNAME8 41
369-#define CAL_SABBREVMONTHNAME9 42
370-#define CAL_SABBREVMONTHNAME10 43
371-#define CAL_SABBREVMONTHNAME11 44
372-#define CAL_SABBREVMONTHNAME12 45
373-#define CAL_SABBREVMONTHNAME13 46
374-#define CAL_GREGORIAN 1
375-#define CAL_GREGORIAN_US 2
376-#define CAL_JAPAN 3
377-#define CAL_TAIWAN 4
378-#define CAL_KOREA 5
379-#define CAL_HIJRI 6
380-#define CAL_THAI 7
381-#define CAL_HEBREW 8
382-#define CAL_GREGORIAN_ME_FRENCH 9
383-#define CAL_GREGORIAN_ARABIC 10
384-#define CAL_GREGORIAN_XLIT_ENGLISH 11
385-#define CAL_GREGORIAN_XLIT_FRENCH 12
386-#define CSTR_LESS_THAN 1
387-#define CSTR_EQUAL 2
388-#define CSTR_GREATER_THAN 3
389-#define LGRPID_INSTALLED 1
390-#define LGRPID_SUPPORTED 2
391-#define LGRPID_WESTERN_EUROPE 1
392-#define LGRPID_CENTRAL_EUROPE 2
393-#define LGRPID_BALTIC 3
394-#define LGRPID_GREEK 4
395-#define LGRPID_CYRILLIC 5
396-#define LGRPID_TURKISH 6
397-#define LGRPID_JAPANESE 7
398-#define LGRPID_KOREAN 8
399-#define LGRPID_TRADITIONAL_CHINESE 9
400-#define LGRPID_SIMPLIFIED_CHINESE 10
401-#define LGRPID_THAI 11
402-#define LGRPID_HEBREW 12
403-#define LGRPID_ARABIC 13
404-#define LGRPID_VIETNAMESE 14
405-#define LGRPID_INDIC 15
406-#define LGRPID_GEORGIAN 16
407-#define LGRPID_ARMENIAN 17
408-#define IS_HIGH_SURROGATE(c) (((c) & 0xFC00) == 0xD800)
409-#define IS_LOW_SURROGATE(c) (((c) & 0xFC00) == 0xDC00)
410-#define IS_SURROGATE_PAIR(hc,lc) (IS_HIGH_SURROGATE(hc) && IS_LOW_SURROGATE(lc))
411-#if (WINVER >= 0x0410)
412-#define CAL_SYEARMONTH 47
413-#define CAL_ITWODIGITYEARMAX 48
414-#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
415-#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
416-#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
417-#define LOCALE_SYEARMONTH 0x1006
418-#define LOCALE_SENGCURRNAME 0x1007
419-#define LOCALE_SNATIVECURRNAME 0x1008
420-#define LOCALE_SSORTNAME 0x1013
421-#endif /* (WINVER >= 0x0410) */
422-#if (WINVER >= 0x0500)
423-#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x1012
424-#define LOCALE_IDIGITSUBSTITUTION 0x1014
425-#define LOCALE_IPAPERSIZE 0x100A
426-#define DATE_YEARMONTH 8
427-#define DATE_LTRREADING 16
428-#define DATE_RTLREADING 32
429-#define MAP_EXPAND_LIGATURES 0x2000
430-#define WC_NO_BEST_FIT_CHARS 1024
431-#endif /* (WINVER >= 0x0500) */
432-#if (WINVER >= 0x0600)
433-/*#define CAL_SSHORTESTDAYNAME1 */
434-/*#define CAL_SSHORTESTDAYNAME2 */
435-/*#define CAL_SSHORTESTDAYNAME3 */
436-/*#define CAL_SSHORTESTDAYNAME4 */
437-/*#define CAL_SSHORTESTDAYNAME5 */
438-/*#define CAL_SSHORTESTDAYNAME6 */
439-/*#define CAL_SSHORTESTDAYNAME7 */
440-#define CAL_UMALQURA 23
441-/*#define LOCALE_SDURATION */
442-/*#define LOCALE_SIETFLANGUAGE */
443-/*#define LOCALE_SISO3166CTRYNAME2 */
444-/*#define LOCALE_SISO639LANGNAME2 */
445-/*#define LOCALE_SKEYBOARDSTOINSTALL */
446-/*#define LOCALE_SNAME */
447-/*#define LOCALE_SNAN */
448-/*#define LOCALE_SNEGINFINITY */
449-/*#define LOCALE_SPOSINFINITY */
450-/*#define LOCALE_SSCRIPTS */
451-#endif /* (WINVER >= 0x0600) */
452-#ifndef _BASETSD_H
453-typedef long LONG_PTR;
483+
484+#define CAL_UMALQURA 23
485+
486+#if 0
487+#define LOCALE_SDURATION
488+#define LOCALE_SIETFLANGUAGE
489+#define LOCALE_SISO3166CTRYNAME2
490+#define LOCALE_SISO639LANGNAME2
491+#define LOCALE_SKEYBOARDSTOINSTALL
492+#define LOCALE_SNAME
493+#define LOCALE_SNAN
494+#define LOCALE_SNEGINFINITY
495+#define LOCALE_SPOSINFINITY
496+#define LOCALE_SSCRIPTS
454497 #endif
455498
499+#endif /* >= WinVista */
500+
456501 #ifndef RC_INVOKED
502+
457503 typedef DWORD LCTYPE;
458504 typedef DWORD CALTYPE;
459505 typedef DWORD CALID;
@@ -461,277 +507,288 @@ typedef DWORD LGRPID;
461507 typedef DWORD GEOID;
462508 typedef DWORD GEOTYPE;
463509 typedef DWORD GEOCLASS;
464-typedef BOOL (CALLBACK *CALINFO_ENUMPROCA)(LPSTR);
465-typedef BOOL (CALLBACK *CALINFO_ENUMPROCW)(LPWSTR);
466-typedef BOOL (CALLBACK *CALINFO_ENUMPROCEXA)(LPSTR, CALID);
467-typedef BOOL (CALLBACK *CALINFO_ENUMPROCEXW)(LPWSTR, CALID);
468-typedef BOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR);
469-typedef BOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCW)(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR);
470-typedef BOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR);
471-typedef BOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCW)(LGRPID, LCID, LPWSTR, LONG_PTR);
472-typedef BOOL (CALLBACK *UILANGUAGE_ENUMPROCW)(LPWSTR, LONG_PTR);
473-typedef BOOL (CALLBACK *UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR);
474-typedef BOOL (CALLBACK *LOCALE_ENUMPROCA)(LPSTR);
475-typedef BOOL (CALLBACK *LOCALE_ENUMPROCW)(LPWSTR);
476-typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCA)(LPSTR);
477-typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCW)(LPWSTR);
478-typedef BOOL (CALLBACK *DATEFMT_ENUMPROCA)(LPSTR);
479-typedef BOOL (CALLBACK *DATEFMT_ENUMPROCW)(LPWSTR);
480-typedef BOOL (CALLBACK *DATEFMT_ENUMPROCEXA)(LPSTR, CALID);
481-typedef BOOL (CALLBACK *DATEFMT_ENUMPROCEXW)(LPWSTR, CALID);
482-typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCA)(LPSTR);
483-typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCW)(LPWSTR);
484-typedef BOOL (CALLBACK *GEO_ENUMPROC)(GEOID);
485-
486-enum NLS_FUNCTION {
487- COMPARE_STRING = 0x0001
488-};
489-typedef enum NLS_FUNCTION NLS_FUNCTION;
490-enum SYSGEOCLASS {
491- GEOCLASS_NATION = 16,
492- GEOCLASS_REGION = 14
510+
511+#define CALINFO_ENUMPROC __AW_SUFFIXED__( CALINFO_ENUMPROC )
512+typedef BOOL (CALLBACK *CALINFO_ENUMPROCA) (LPSTR);
513+typedef BOOL (CALLBACK *CALINFO_ENUMPROCW) (LPWSTR);
514+
515+#define CALINFO_ENUMPROCEX __AW_SUFFIXED__( CALINFO_ENUMPROCEX )
516+typedef BOOL (CALLBACK *CALINFO_ENUMPROCEXA) (LPSTR, CALID);
517+typedef BOOL (CALLBACK *CALINFO_ENUMPROCEXW) (LPWSTR, CALID);
518+
519+#define LANGUAGEGROUP_ENUMPROC __AW_SUFFIXED__( LANGUAGEGROUP_ENUMPROC )
520+typedef BOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCA) (LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR);
521+typedef BOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCW) (LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR);
522+
523+#define LANGGROUPLOCALE_ENUMPROC __AW_SUFFIXED__( LANGGROUPLOCALE_ENUMPROC )
524+typedef BOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCA) (LGRPID, LCID, LPSTR, LONG_PTR);
525+typedef BOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCW) (LGRPID, LCID, LPWSTR, LONG_PTR);
526+
527+#define UILANGUAGE_ENUMPROC __AW_SUFFIXED__( UILANGUAGE_ENUMPROC )
528+typedef BOOL (CALLBACK *UILANGUAGE_ENUMPROCA) (LPSTR, LONG_PTR);
529+typedef BOOL (CALLBACK *UILANGUAGE_ENUMPROCW) (LPWSTR, LONG_PTR);
530+
531+#define LOCALE_ENUMPROC __AW_SUFFIXED__( LOCALE_ENUMPROC )
532+typedef BOOL (CALLBACK *LOCALE_ENUMPROCA) (LPSTR);
533+typedef BOOL (CALLBACK *LOCALE_ENUMPROCW) (LPWSTR);
534+
535+#define CODEPAGE_ENUMPROC __AW_SUFFIXED__( CODEPAGE_ENUMPROC )
536+typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCA) (LPSTR);
537+typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCW) (LPWSTR);
538+
539+#define DATEFMT_ENUMPROC __AW_SUFFIXED__( DATEFMT_ENUMPROC )
540+typedef BOOL (CALLBACK *DATEFMT_ENUMPROCA) (LPSTR);
541+typedef BOOL (CALLBACK *DATEFMT_ENUMPROCW) (LPWSTR);
542+
543+#define DATEFMT_ENUMPROCEX __AW_SUFFIXED__( DATEFMT_ENUMPROCEX )
544+typedef BOOL (CALLBACK *DATEFMT_ENUMPROCEXA) (LPSTR, CALID);
545+typedef BOOL (CALLBACK *DATEFMT_ENUMPROCEXW) (LPWSTR, CALID);
546+
547+#define TIMEFMT_ENUMPROC __AW_SUFFIXED__( TIMEFMT_ENUMPROC )
548+typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCA) (LPSTR);
549+typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCW) (LPWSTR);
550+
551+typedef BOOL (CALLBACK *GEO_ENUMPROC) (GEOID);
552+
553+typedef
554+enum NLS_FUNCTION
555+{ COMPARE_STRING = 1
556+} NLS_FUNCTION;
557+
558+enum SYSGEOCLASS
559+{ GEOCLASS_REGION = 14,
560+ GEOCLASS_NATION = 16
493561 };
494-enum SYSGEOTYPE {
495- GEO_NATION = 0x0001,
496- GEO_LATITUDE = 0x0002,
497- GEO_LONGITUDE = 0x0003,
498- GEO_ISO2 = 0x0004,
499- GEO_ISO3 = 0x0005,
500- GEO_RFC1766 = 0x0006,
501- GEO_LCID = 0x0007,
502- GEO_FRIENDLYNAME = 0x0008,
503- GEO_OFFICIALNAME = 0x0009,
504- GEO_TIMEZONES = 0x000a,
505- GEO_OFFICIALLANGUAGES = 0x000a
562+
563+enum SYSGEOTYPE
564+{ GEO_NATION = 1,
565+ GEO_LATITUDE,
566+ GEO_LONGITUDE,
567+ GEO_ISO2,
568+ GEO_ISO3,
569+ GEO_RFC1766,
570+ GEO_LCID,
571+ GEO_FRIENDLYNAME,
572+ GEO_OFFICIALNAME,
573+ GEO_TIMEZONES,
574+ GEO_OFFICIALLANGUAGES
506575 };
507576
508-typedef struct _cpinfo {
509- UINT MaxCharSize;
510- BYTE DefaultChar[MAX_DEFAULTCHAR];
511- BYTE LeadByte[MAX_LEADBYTES];
512-} CPINFO,*LPCPINFO;
513-typedef struct _cpinfoexA {
514- UINT MaxCharSize;
515- BYTE DefaultChar[MAX_DEFAULTCHAR];
516- BYTE LeadByte[MAX_LEADBYTES];
517- WCHAR UnicodeDefaultChar;
518- UINT CodePage;
519- CHAR CodePageName[MAX_PATH];
520-} CPINFOEXA,*LPCPINFOEXA;
521-typedef struct _cpinfoexW {
522- UINT MaxCharSize;
523- BYTE DefaultChar[MAX_DEFAULTCHAR];
524- BYTE LeadByte[MAX_LEADBYTES];
525- WCHAR UnicodeDefaultChar;
526- UINT CodePage;
527- WCHAR CodePageName[MAX_PATH];
528-} CPINFOEXW,*LPCPINFOEXW;
529-typedef struct _currencyfmtA {
530- UINT NumDigits;
531- UINT LeadingZero;
532- UINT Grouping;
533- LPSTR lpDecimalSep;
534- LPSTR lpThousandSep;
535- UINT NegativeOrder;
536- UINT PositiveOrder;
537- LPSTR lpCurrencySymbol;
538-} CURRENCYFMTA,*LPCURRENCYFMTA;
539-typedef struct _currencyfmtW {
540- UINT NumDigits;
541- UINT LeadingZero;
542- UINT Grouping;
543- LPWSTR lpDecimalSep;
544- LPWSTR lpThousandSep;
545- UINT NegativeOrder;
546- UINT PositiveOrder;
547- LPWSTR lpCurrencySymbol;
548-} CURRENCYFMTW,*LPCURRENCYFMTW;
549-typedef struct nlsversioninfo {
550- DWORD dwNLSVersionInfoSize;
551- DWORD dwNLSVersion;
552- DWORD dwDefinedVersion;
553-} NLSVERSIONINFO,*LPNLSVERSIONINFO;
554-typedef struct _numberfmtA {
555- UINT NumDigits;
556- UINT LeadingZero;
557- UINT Grouping;
558- LPSTR lpDecimalSep;
559- LPSTR lpThousandSep;
560- UINT NegativeOrder;
561-} NUMBERFMTA,*LPNUMBERFMTA;
562-typedef struct _numberfmtW {
563- UINT NumDigits;
564- UINT LeadingZero;
565- UINT Grouping;
566- LPWSTR lpDecimalSep;
567- LPWSTR lpThousandSep;
568- UINT NegativeOrder;
569-} NUMBERFMTW,*LPNUMBERFMTW;
570-
571-WINBASEAPI int WINAPI CompareStringA(LCID,DWORD,LPCSTR,int,LPCSTR,int);
572-WINBASEAPI int WINAPI CompareStringW(LCID,DWORD,LPCWSTR,int,LPCWSTR,int);
573-WINBASEAPI LCID WINAPI ConvertDefaultLocale(LCID);
574-WINBASEAPI BOOL WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA,LCID,CALID,CALTYPE);
575-WINBASEAPI BOOL WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW,LCID,CALID,CALTYPE);
576-WINBASEAPI BOOL WINAPI EnumDateFormatsA(DATEFMT_ENUMPROCA,LCID,DWORD);
577-WINBASEAPI BOOL WINAPI EnumDateFormatsW(DATEFMT_ENUMPROCW,LCID,DWORD);
578-WINBASEAPI BOOL WINAPI EnumSystemCodePagesA(CODEPAGE_ENUMPROCA,DWORD);
579-WINBASEAPI BOOL WINAPI EnumSystemCodePagesW(CODEPAGE_ENUMPROCW,DWORD);
580-WINBASEAPI BOOL WINAPI EnumSystemGeoID(GEOCLASS,GEOID,GEO_ENUMPROC);
581-WINBASEAPI BOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA,DWORD);
582-WINBASEAPI BOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW,DWORD);
583-WINBASEAPI BOOL WINAPI EnumTimeFormatsA(TIMEFMT_ENUMPROCA,LCID,DWORD);
584-WINBASEAPI BOOL WINAPI EnumTimeFormatsW(TIMEFMT_ENUMPROCW,LCID,DWORD);
585-WINBASEAPI int WINAPI FoldStringA(DWORD,LPCSTR,int,LPSTR,int);
586-WINBASEAPI int WINAPI FoldStringW(DWORD,LPCWSTR,int,LPWSTR,int);
587-WINBASEAPI UINT WINAPI GetACP(void);
588-WINBASEAPI int WINAPI GetCalendarInfoA(LCID,CALID,CALTYPE,LPSTR,int,LPDWORD);
589-WINBASEAPI int WINAPI GetCalendarInfoW(LCID,CALID,CALTYPE,LPWSTR,int,LPDWORD);
590-WINBASEAPI BOOL WINAPI GetCPInfo(UINT,LPCPINFO);
591-WINBASEAPI BOOL WINAPI GetCPInfoExA(UINT,DWORD,LPCPINFOEXA);
592-WINBASEAPI BOOL WINAPI GetCPInfoExW(UINT,DWORD,LPCPINFOEXW);
593-WINBASEAPI int WINAPI GetCurrencyFormatA(LCID,DWORD,LPCSTR,const CURRENCYFMTA*,LPSTR,int);
594-WINBASEAPI int WINAPI GetCurrencyFormatW(LCID,DWORD,LPCWSTR,const CURRENCYFMTW*,LPWSTR,int);
595-WINBASEAPI int WINAPI GetDateFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int);
596-WINBASEAPI int WINAPI GetDateFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int);
597-WINBASEAPI int WINAPI GetGeoInfoA(GEOID,GEOTYPE,LPSTR,int,LANGID);
598-WINBASEAPI int WINAPI GetGeoInfoW(GEOID,GEOTYPE,LPWSTR,int,LANGID);
599-WINBASEAPI int WINAPI GetLocaleInfoA(LCID,LCTYPE,LPSTR,int);
600-WINBASEAPI int WINAPI GetLocaleInfoW(LCID,LCTYPE,LPWSTR,int);
601-WINBASEAPI BOOL WINAPI GetNLSVersion(NLS_FUNCTION,LCID,LPNLSVERSIONINFO);
602-WINBASEAPI int WINAPI GetNumberFormatA(LCID,DWORD,LPCSTR,const NUMBERFMTA*,LPSTR,int);
603-WINBASEAPI int WINAPI GetNumberFormatW(LCID,DWORD,LPCWSTR,const NUMBERFMTW*,LPWSTR,int);
604-WINBASEAPI UINT WINAPI GetOEMCP(void);
605-WINBASEAPI BOOL WINAPI GetStringTypeA(LCID,DWORD,LPCSTR,int,LPWORD);
606-WINBASEAPI BOOL WINAPI GetStringTypeW(DWORD,LPCWSTR,int,LPWORD);
607-WINBASEAPI BOOL WINAPI GetStringTypeExA(LCID,DWORD,LPCSTR,int,LPWORD);
608-WINBASEAPI BOOL WINAPI GetStringTypeExW(LCID,DWORD,LPCWSTR,int,LPWORD);
609-WINBASEAPI LANGID WINAPI GetSystemDefaultLangID(void);
610-WINBASEAPI LCID WINAPI GetSystemDefaultLCID(void);
611-WINBASEAPI LCID WINAPI GetThreadLocale(void);
612-WINBASEAPI int WINAPI GetTimeFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int);
613-WINBASEAPI int WINAPI GetTimeFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int);
614-WINBASEAPI LANGID WINAPI GetUserDefaultLangID(void);
615-WINBASEAPI LCID WINAPI GetUserDefaultLCID(void);
616-WINBASEAPI GEOID WINAPI GetUserGeoID(GEOCLASS);
617-WINBASEAPI BOOL WINAPI IsDBCSLeadByte(BYTE);
618-WINBASEAPI BOOL WINAPI IsDBCSLeadByteEx(UINT,BYTE);
619-WINBASEAPI BOOL WINAPI IsNLSDefinedString(NLS_FUNCTION,DWORD,LPNLSVERSIONINFO,LPCWSTR,int);
620-WINBASEAPI BOOL WINAPI IsValidCodePage(UINT);
621-WINBASEAPI BOOL WINAPI IsValidLocale(LCID,DWORD);
622-WINBASEAPI int WINAPI LCMapStringA(LCID,DWORD,LPCSTR,int,LPSTR,int);
623-WINBASEAPI int WINAPI LCMapStringW(LCID,DWORD,LPCWSTR,int,LPWSTR,int);
624-WINBASEAPI int WINAPI MultiByteToWideChar(UINT,DWORD,LPCSTR,int,LPWSTR,int);
625-WINBASEAPI int WINAPI SetCalendarInfoA(LCID,CALID,CALTYPE,LPCSTR);
626-WINBASEAPI int WINAPI SetCalendarInfoW(LCID,CALID,CALTYPE,LPCWSTR);
627-WINBASEAPI BOOL WINAPI SetLocaleInfoA(LCID,LCTYPE,LPCSTR);
628-WINBASEAPI BOOL WINAPI SetLocaleInfoW(LCID,LCTYPE,LPCWSTR);
629-WINBASEAPI BOOL WINAPI SetThreadLocale(LCID);
630-WINBASEAPI BOOL WINAPI SetUserGeoID(GEOID);
631-WINBASEAPI int WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,int,LPSTR,int,LPCSTR,LPBOOL);
632-#if (WINVER >= 0x0500)
633-WINBASEAPI BOOL WINAPI EnumCalendarInfoExA(CALINFO_ENUMPROCEXA,LCID,CALID,CALTYPE);
634-WINBASEAPI BOOL WINAPI EnumCalendarInfoExW(CALINFO_ENUMPROCEXW,LCID,CALID,CALTYPE);
635-WINBASEAPI BOOL WINAPI EnumDateFormatsExA(DATEFMT_ENUMPROCEXA,LCID,DWORD);
636-WINBASEAPI BOOL WINAPI EnumDateFormatsExW(DATEFMT_ENUMPROCEXW,LCID,DWORD);
637-WINBASEAPI BOOL WINAPI EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA,DWORD,LONG_PTR);
638-WINBASEAPI BOOL WINAPI EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW,DWORD,LONG_PTR);
639-WINBASEAPI BOOL WINAPI EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA,LGRPID,DWORD,LONG_PTR);
640-WINBASEAPI BOOL WINAPI EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW,LGRPID,DWORD,LONG_PTR);
641-WINBASEAPI BOOL WINAPI EnumUILanguagesA(UILANGUAGE_ENUMPROCA,DWORD,LONG_PTR);
642-WINBASEAPI BOOL WINAPI EnumUILanguagesW(UILANGUAGE_ENUMPROCW,DWORD,LONG_PTR);
643-WINBASEAPI LANGID WINAPI GetSystemDefaultUILanguage(void);
644-WINBASEAPI LANGID WINAPI GetUserDefaultUILanguage(void);
645-WINBASEAPI BOOL WINAPI IsValidLanguageGroup(LGRPID,DWORD);
646-#endif /* (WINVER >= 0x0500) */
647-
648-#ifdef UNICODE
649-#define CALINFO_ENUMPROC CALINFO_ENUMPROCW
650-#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW
651-#define LOCALE_ENUMPROC LOCALE_ENUMPROCW
652-#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW
653-#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW
654-#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW
655-#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW
656-#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW
657-#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW
658-#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW
659-typedef CPINFOEXW CPINFOEX;
660-typedef LPCPINFOEXW LPCPINFOEX;
661-typedef CURRENCYFMTW CURRENCYFMT;
662-typedef LPCURRENCYFMTW LPCURRENCYFMT;
663-typedef NUMBERFMTW NUMBERFMT;
664-typedef LPNUMBERFMTW LPNUMBERFMT;
665-#define CompareString CompareStringW
666-#define EnumCalendarInfo EnumCalendarInfoW
667-#define EnumSystemCodePages EnumSystemCodePagesW
668-#define EnumSystemLocales EnumSystemLocalesW
669-#define EnumTimeFormats EnumTimeFormatsW
670-#define FoldString FoldStringW
671-#define GetCalendarInfo GetCalendarInfoW
672-#define GetCPInfoEx GetCPInfoExW
673-#define GetCurrencyFormat GetCurrencyFormatW
674-#define GetDateFormat GetDateFormatW
675-#define GetGeoInfo GetGeoInfoW
676-#define GetLocaleInfo GetLocaleInfoW
677-#define GetNumberFormat GetNumberFormatW
678-#define GetStringTypeEx GetStringTypeExW
679-#define GetTimeFormat GetTimeFormatW
680-#define LCMapString LCMapStringW
681-#define SetCalendarInfo SetCalendarInfoW
682-#define SetLocaleInfo SetLocaleInfoW
683-#if (WINVER >= 0x0500)
684-#define EnumCalendarInfoEx EnumCalendarInfoExW
685-#define EnumDateFormatsEx EnumDateFormatsExW
686-#define EnumSystemLanguageGroups EnumSystemLanguageGroupsW
687-#define EnumLanguageGroupLocales EnumLanguageGroupLocalesW
688-#define EnumUILanguages EnumUILanguagesW
689-#endif /* (WINVER >= 0x0500) */
690-#else
691-#define CALINFO_ENUMPROC CALINFO_ENUMPROCA
692-#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA
693-#define LOCALE_ENUMPROC LOCALE_ENUMPROCA
694-#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA
695-#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA
696-#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA
697-#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA
698-#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA
699-#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA
700-#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA
701-typedef CPINFOEXA CPINFOEX;
702-typedef LPCPINFOEXA LPCPINFOEX;
703-typedef CURRENCYFMTA CURRENCYFMT;
704-typedef LPCURRENCYFMTA LPCURRENCYFMT;
705-typedef NUMBERFMTA NUMBERFMT;
706-typedef LPNUMBERFMTA LPNUMBERFMT;
707-#define CompareString CompareStringA
708-#define EnumCalendarInfo EnumCalendarInfoA
709-#define EnumSystemCodePages EnumSystemCodePagesA
710-#define EnumSystemLocales EnumSystemLocalesA
711-#define EnumTimeFormats EnumTimeFormatsA
712-#define FoldString FoldStringA
713-#define GetCalendarInfo GetCalendarInfoA
714-#define GetCPInfoEx GetCPInfoExA
715-#define GetCurrencyFormat GetCurrencyFormatA
716-#define GetDateFormat GetDateFormatA
717-#define GetGeoInfo GetGeoInfoA
718-#define GetLocaleInfo GetLocaleInfoA
719-#define GetNumberFormat GetNumberFormatA
720-#define GetStringTypeEx GetStringTypeExA
721-#define GetTimeFormat GetTimeFormatA
722-#define LCMapString LCMapStringA
723-#define SetCalendarInfo SetCalendarInfoA
724-#define SetLocaleInfo SetLocaleInfoA
725-#if (WINVER >= 0x0500)
726-#define EnumCalendarInfoEx EnumCalendarInfoExA
727-#define EnumDateFormatsEx EnumDateFormatsExA
728-#define EnumSystemLanguageGroups EnumSystemLanguageGroupsA
729-#define EnumLanguageGroupLocales EnumLanguageGroupLocalesA
730-#define EnumUILanguages EnumUILanguagesA
731-#endif /* (WINVER >= 0x0500) */
732-#endif /* UNICODE */
733-#endif /* RC_INVOKED */
734-#ifdef __cplusplus
735-}
736-#endif
737-#endif
577+typedef struct _cpinfo
578+{ UINT MaxCharSize;
579+ BYTE DefaultChar[MAX_DEFAULTCHAR];
580+ BYTE LeadByte[MAX_LEADBYTES];
581+} CPINFO, *LPCPINFO;
582+
583+typedef struct _cpinfoexA
584+{ UINT MaxCharSize;
585+ BYTE DefaultChar[MAX_DEFAULTCHAR];
586+ BYTE LeadByte[MAX_LEADBYTES];
587+ WCHAR UnicodeDefaultChar;
588+ UINT CodePage;
589+ CHAR CodePageName[MAX_PATH];
590+} CPINFOEXA, *LPCPINFOEXA;
591+
592+typedef struct _cpinfoexW
593+{ UINT MaxCharSize;
594+ BYTE DefaultChar[MAX_DEFAULTCHAR];
595+ BYTE LeadByte[MAX_LEADBYTES];
596+ WCHAR UnicodeDefaultChar;
597+ UINT CodePage;
598+ WCHAR CodePageName[MAX_PATH];
599+} CPINFOEXW, *LPCPINFOEXW;
600+
601+typedef __AW_ALIAS__( CPINFOEX ), *LPCPINFOEX;
602+
603+typedef struct _currencyfmtA
604+{ UINT NumDigits;
605+ UINT LeadingZero;
606+ UINT Grouping;
607+ LPSTR lpDecimalSep;
608+ LPSTR lpThousandSep;
609+ UINT NegativeOrder;
610+ UINT PositiveOrder;
611+ LPSTR lpCurrencySymbol;
612+} CURRENCYFMTA, *LPCURRENCYFMTA;
613+
614+typedef struct _currencyfmtW
615+{ UINT NumDigits;
616+ UINT LeadingZero;
617+ UINT Grouping;
618+ LPWSTR lpDecimalSep;
619+ LPWSTR lpThousandSep;
620+ UINT NegativeOrder;
621+ UINT PositiveOrder;
622+ LPWSTR lpCurrencySymbol;
623+} CURRENCYFMTW, *LPCURRENCYFMTW;
624+
625+typedef __AW_ALIAS__( CURRENCYFMT ), *LPCURRENCYFMT;
626+
627+typedef struct nlsversioninfo
628+{ DWORD dwNLSVersionInfoSize;
629+ DWORD dwNLSVersion;
630+ DWORD dwDefinedVersion;
631+} NLSVERSIONINFO, *LPNLSVERSIONINFO;
632+
633+typedef struct _numberfmtA
634+{ UINT NumDigits;
635+ UINT LeadingZero;
636+ UINT Grouping;
637+ LPSTR lpDecimalSep;
638+ LPSTR lpThousandSep;
639+ UINT NegativeOrder;
640+} NUMBERFMTA, *LPNUMBERFMTA;
641+
642+typedef struct _numberfmtW
643+{ UINT NumDigits;
644+ UINT LeadingZero;
645+ UINT Grouping;
646+ LPWSTR lpDecimalSep;
647+ LPWSTR lpThousandSep;
648+ UINT NegativeOrder;
649+} NUMBERFMTW, *LPNUMBERFMTW;
650+
651+typedef __AW_ALIAS__( NUMBERFMT ), *LPNUMBERFMT;
652+
653+#define CompareString __AW_SUFFIXED__( CompareString )
654+WINBASEAPI WINAPI int CompareStringA (LCID, DWORD, LPCSTR, int, LPCSTR, int);
655+WINBASEAPI WINAPI int CompareStringW (LCID, DWORD, LPCWSTR, int, LPCWSTR, int);
656+
657+WINBASEAPI WINAPI LCID ConvertDefaultLocale (LCID);
658+
659+#define EnumCalendarInfo __AW_SUFFIXED__( EnumCalendarInfo )
660+WINBASEAPI WINAPI BOOL EnumCalendarInfoA (CALINFO_ENUMPROCA, LCID, CALID, CALTYPE);
661+WINBASEAPI WINAPI BOOL EnumCalendarInfoW (CALINFO_ENUMPROCW, LCID, CALID, CALTYPE);
662+
663+#define EnumDateFormats __AW_SUFFIXED__( EnumDateFormats )
664+WINBASEAPI WINAPI BOOL EnumDateFormatsA (DATEFMT_ENUMPROCA, LCID, DWORD);
665+WINBASEAPI WINAPI BOOL EnumDateFormatsW (DATEFMT_ENUMPROCW, LCID, DWORD);
666+
667+#define EnumSystemCodePages __AW_SUFFIXED__( EnumSystemCodePages )
668+WINBASEAPI WINAPI BOOL EnumSystemCodePagesA (CODEPAGE_ENUMPROCA, DWORD);
669+WINBASEAPI WINAPI BOOL EnumSystemCodePagesW (CODEPAGE_ENUMPROCW, DWORD);
670+
671+WINBASEAPI WINAPI BOOL EnumSystemGeoID (GEOCLASS, GEOID, GEO_ENUMPROC);
672+
673+#define EnumSystemLocales __AW_SUFFIXED__( EnumSystemLocales )
674+WINBASEAPI WINAPI BOOL EnumSystemLocalesA (LOCALE_ENUMPROCA, DWORD);
675+WINBASEAPI WINAPI BOOL EnumSystemLocalesW (LOCALE_ENUMPROCW, DWORD);
676+
677+#define EnumTimeFormats __AW_SUFFIXED__( EnumTimeFormats )
678+WINBASEAPI WINAPI BOOL EnumTimeFormatsA (TIMEFMT_ENUMPROCA, LCID, DWORD);
679+WINBASEAPI WINAPI BOOL EnumTimeFormatsW (TIMEFMT_ENUMPROCW, LCID, DWORD);
680+
681+#define FoldString __AW_SUFFIXED__( FoldString )
682+WINBASEAPI WINAPI int FoldStringA (DWORD, LPCSTR, int, LPSTR, int);
683+WINBASEAPI WINAPI int FoldStringW (DWORD, LPCWSTR, int, LPWSTR, int);
684+
685+WINBASEAPI WINAPI UINT GetACP (void);
686+
687+#define GetCalendarInfo __AW_SUFFIXED__( GetCalendarInfo )
688+WINBASEAPI WINAPI int GetCalendarInfoA (LCID, CALID, CALTYPE, LPSTR, int, LPDWORD);
689+WINBASEAPI WINAPI int GetCalendarInfoW (LCID, CALID, CALTYPE, LPWSTR, int, LPDWORD);
690+
691+WINBASEAPI WINAPI BOOL GetCPInfo (UINT, LPCPINFO);
692+
693+#define GetCPInfoEx __AW_SUFFIXED__( GetCPInfoEx )
694+WINBASEAPI WINAPI BOOL GetCPInfoExA (UINT, DWORD, LPCPINFOEXA);
695+WINBASEAPI WINAPI BOOL GetCPInfoExW (UINT, DWORD, LPCPINFOEXW);
696+
697+#define GetCurrencyFormat __AW_SUFFIXED__( GetCurrencyFormat )
698+WINBASEAPI WINAPI int GetCurrencyFormatA (LCID, DWORD, LPCSTR, const CURRENCYFMTA *, LPSTR, int);
699+WINBASEAPI WINAPI int GetCurrencyFormatW (LCID, DWORD, LPCWSTR, const CURRENCYFMTW *, LPWSTR, int);
700+
701+#define GetDateFormat __AW_SUFFIXED__( GetDateFormat )
702+WINBASEAPI WINAPI int GetDateFormatA (LCID, DWORD, const SYSTEMTIME *, LPCSTR, LPSTR, int);
703+WINBASEAPI WINAPI int GetDateFormatW (LCID, DWORD, const SYSTEMTIME *, LPCWSTR, LPWSTR, int);
704+
705+#define GetGeoInfo __AW_SUFFIXED__( GetGeoInfo )
706+WINBASEAPI WINAPI int GetGeoInfoA (GEOID, GEOTYPE, LPSTR, int, LANGID);
707+WINBASEAPI WINAPI int GetGeoInfoW (GEOID, GEOTYPE, LPWSTR, int, LANGID);
708+
709+#define GetLocaleInfo __AW_SUFFIXED__( GetLocaleInfo )
710+WINBASEAPI WINAPI int GetLocaleInfoA (LCID, LCTYPE, LPSTR, int);
711+WINBASEAPI WINAPI int GetLocaleInfoW (LCID, LCTYPE, LPWSTR, int);
712+
713+WINBASEAPI WINAPI BOOL GetNLSVersion (NLS_FUNCTION, LCID, LPNLSVERSIONINFO);
714+
715+#define GetNumberFormat __AW_SUFFIXED__( GetNumberFormat )
716+WINBASEAPI WINAPI int GetNumberFormatA (LCID, DWORD, LPCSTR, const NUMBERFMTA *, LPSTR, int);
717+WINBASEAPI WINAPI int GetNumberFormatW (LCID, DWORD, LPCWSTR, const NUMBERFMTW *, LPWSTR, int);
718+
719+WINBASEAPI WINAPI UINT GetOEMCP (void);
720+
721+WINBASEAPI WINAPI BOOL GetStringTypeA (LCID, DWORD, LPCSTR, int, LPWORD);
722+WINBASEAPI WINAPI BOOL GetStringTypeW (DWORD, LPCWSTR, int, LPWORD);
723+
724+#define GetStringTypeEx __AW_SUFFIXED__( GetStringTypeEx )
725+WINBASEAPI WINAPI BOOL GetStringTypeExA (LCID, DWORD, LPCSTR, int, LPWORD);
726+WINBASEAPI WINAPI BOOL GetStringTypeExW (LCID, DWORD, LPCWSTR, int, LPWORD);
727+
728+WINBASEAPI WINAPI LANGID GetSystemDefaultLangID (void);
729+WINBASEAPI WINAPI LCID GetSystemDefaultLCID (void);
730+WINBASEAPI WINAPI LCID GetThreadLocale (void);
731+
732+#define GetTimeFormat __AW_SUFFIXED__( GetTimeFormat )
733+WINBASEAPI WINAPI int GetTimeFormatA (LCID, DWORD, const SYSTEMTIME *, LPCSTR, LPSTR, int);
734+WINBASEAPI WINAPI int GetTimeFormatW (LCID, DWORD, const SYSTEMTIME *, LPCWSTR, LPWSTR, int);
735+
736+WINBASEAPI WINAPI LANGID GetUserDefaultLangID (void);
737+WINBASEAPI WINAPI LCID GetUserDefaultLCID (void);
738+WINBASEAPI WINAPI GEOID GetUserGeoID (GEOCLASS);
739+WINBASEAPI WINAPI BOOL IsDBCSLeadByte (BYTE);
740+WINBASEAPI WINAPI BOOL IsDBCSLeadByteEx (UINT, BYTE);
741+WINBASEAPI WINAPI BOOL IsNLSDefinedString (NLS_FUNCTION, DWORD, LPNLSVERSIONINFO, LPCWSTR, int);
742+WINBASEAPI WINAPI BOOL IsValidCodePage (UINT);
743+WINBASEAPI WINAPI BOOL IsValidLocale (LCID, DWORD);
744+
745+#define LCMapString __AW_SUFFIXED__( LCMapString )
746+WINBASEAPI WINAPI int LCMapStringA (LCID, DWORD, LPCSTR, int, LPSTR, int);
747+WINBASEAPI WINAPI int LCMapStringW (LCID, DWORD, LPCWSTR, int, LPWSTR, int);
748+
749+WINBASEAPI WINAPI int MultiByteToWideChar (UINT, DWORD, LPCSTR, int, LPWSTR, int);
750+
751+#define SetCalendarInfo __AW_SUFFIXED__( SetCalendarInfo )
752+WINBASEAPI WINAPI int SetCalendarInfoA (LCID, CALID, CALTYPE, LPCSTR);
753+WINBASEAPI WINAPI int SetCalendarInfoW (LCID, CALID, CALTYPE, LPCWSTR);
754+
755+#define SetLocaleInfo __AW_SUFFIXED__( SetLocaleInfo )
756+WINBASEAPI WINAPI BOOL SetLocaleInfoA (LCID, LCTYPE, LPCSTR);
757+WINBASEAPI WINAPI BOOL SetLocaleInfoW (LCID, LCTYPE, LPCWSTR);
758+
759+WINBASEAPI WINAPI BOOL SetThreadLocale (LCID);
760+WINBASEAPI WINAPI BOOL SetUserGeoID (GEOID);
761+WINBASEAPI WINAPI int WideCharToMultiByte (UINT, DWORD, LPCWSTR, int, LPSTR, int, LPCSTR, LPBOOL);
762+
763+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
764+
765+#define EnumCalendarInfoEx __AW_SUFFIXED__( EnumCalendarInfoEx )
766+WINBASEAPI WINAPI BOOL EnumCalendarInfoExA (CALINFO_ENUMPROCEXA, LCID, CALID, CALTYPE);
767+WINBASEAPI WINAPI BOOL EnumCalendarInfoExW (CALINFO_ENUMPROCEXW, LCID, CALID, CALTYPE);
768+
769+#define EnumDateFormatsEx __AW_SUFFIXED__( EnumDateFormatsEx )
770+WINBASEAPI WINAPI BOOL EnumDateFormatsExA (DATEFMT_ENUMPROCEXA, LCID, DWORD);
771+WINBASEAPI WINAPI BOOL EnumDateFormatsExW (DATEFMT_ENUMPROCEXW, LCID, DWORD);
772+
773+#define EnumSystemLanguageGroups __AW_SUFFIXED__( EnumSystemLanguageGroups )
774+WINBASEAPI WINAPI BOOL EnumSystemLanguageGroupsA (LANGUAGEGROUP_ENUMPROCA, DWORD, LONG_PTR);
775+WINBASEAPI WINAPI BOOL EnumSystemLanguageGroupsW (LANGUAGEGROUP_ENUMPROCW, DWORD, LONG_PTR);
776+
777+#define EnumLanguageGroupLocales __AW_SUFFIXED__( EnumLanguageGroupLocales )
778+WINBASEAPI WINAPI BOOL EnumLanguageGroupLocalesA (LANGGROUPLOCALE_ENUMPROCA, LGRPID, DWORD, LONG_PTR);
779+WINBASEAPI WINAPI BOOL EnumLanguageGroupLocalesW (LANGGROUPLOCALE_ENUMPROCW, LGRPID, DWORD, LONG_PTR);
780+
781+#define EnumUILanguages __AW_SUFFIXED__( EnumUILanguages )
782+WINBASEAPI WINAPI BOOL EnumUILanguagesA (UILANGUAGE_ENUMPROCA, DWORD, LONG_PTR);
783+WINBASEAPI WINAPI BOOL EnumUILanguagesW (UILANGUAGE_ENUMPROCW, DWORD, LONG_PTR);
784+
785+WINBASEAPI WINAPI LANGID GetSystemDefaultUILanguage (void);
786+WINBASEAPI WINAPI LANGID GetUserDefaultUILanguage (void);
787+WINBASEAPI WINAPI BOOL IsValidLanguageGroup (LGRPID, DWORD);
788+
789+#endif /* >= Win2K */
790+#endif /* ! RC_INVOKED */
791+
792+_END_C_DECLS
793+
794+#endif /* !_WINNLS_H: $RCSfile$: end of file */
Show on old repository browser