OSDN Git Service

* include/winnls.h: NORM_IGNORE* remove duplicate defines.
authorearnie <earnie>
Tue, 5 Dec 2000 17:26:01 +0000 (17:26 +0000)
committerearnie <earnie>
Tue, 5 Dec 2000 17:26:01 +0000 (17:26 +0000)
SORT_STRINGSORT: ditto.
CMAP*: ditto.
CTRY_*: add new defines.
LGRPID_*: ditto.
LCMAP*: change defines to hex notation.
CALID: change from ULONG to DWORD.
CALTYPE: ditto.
_cpinfoex[AW]: add structure.
FoldString: correct Unicode mappings.
GetCPInfoEx[AW]: add prototypes.
EnumCalendarInfoEx[AW]: ditto.
EnumDateFormatsEx[AW]: ditto.
EnumSystemLanguageGroups[AW]: ditto.
EnumLanguageGroupLocales[AW]: ditto.
EnumUILanguages[AW]: ditto.
GetSystemDefaultUILanguage[AW]: ditto.
GetUserDefaultUILanguage[AW]: ditto.
IsValidLanguageGroup[AW]: ditto.
CALINFO_ENUMPROCEX[AW]: add function pointer typedef
LANGUAGEGROUP_ENUMPROC[AW]: ditto
LANGGROUPLOCALE_ENUMPROC[AW]: ditto
UILANGUAGE_ENUMPROC[AW]: ditto
DATEFMT_ENUMPROCEX[AW]: ditto
LPCURRENCYFMT[AW]: add structure pointer typedef
LPNUMBERFMT[AW]: ditto

* ChangeLog: Correct entry by Matt Hargett to include file name.

winsup/w32api/ChangeLog
winsup/w32api/include/winnls.h

index 3e7d35f..c1b763c 100644 (file)
@@ -1,7 +1,36 @@
+2000-12-04  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
+
+       * include/winnls.h: NORM_IGNORE* remove duplicate defines. 
+       SORT_STRINGSORT: ditto. 
+       CMAP*: ditto. 
+       CTRY_*: add new defines. 
+       LGRPID_*: ditto. 
+       LCMAP*: change defines to hex notation. 
+       CALID: change from ULONG to DWORD. 
+       CALTYPE: ditto. 
+       _cpinfoex[AW]: add structure. 
+       FoldString: correct Unicode mappings. 
+       GetCPInfoEx[AW]: add prototypes. 
+       EnumCalendarInfoEx[AW]: ditto. 
+       EnumDateFormatsEx[AW]: ditto. 
+       EnumSystemLanguageGroups[AW]: ditto. 
+       EnumLanguageGroupLocales[AW]: ditto. 
+       EnumUILanguages[AW]: ditto. 
+       GetSystemDefaultUILanguage[AW]: ditto. 
+       GetUserDefaultUILanguage[AW]: ditto. 
+       IsValidLanguageGroup[AW]: ditto. 
+       CALINFO_ENUMPROCEX[AW]: add function pointer typedef 
+       LANGUAGEGROUP_ENUMPROC[AW]: ditto 
+       LANGGROUPLOCALE_ENUMPROC[AW]: ditto 
+       UILANGUAGE_ENUMPROC[AW]: ditto 
+       DATEFMT_ENUMPROCEX[AW]: ditto 
+       LPCURRENCYFMT[AW]: add structure pointer typedef 
+       LPNUMBERFMT[AW]: ditto 
+
 Sun Dec 02 14:21:02 2000  Matt Hargett <matt@use.net>
 
-       * Added a define for INVALID_SET_FILE_POINTER, a possible return
-       code for the SetFilePointer() win32 API call.
+       * include/winbase.h: Added a define for INVALID_SET_FILE_POINTER, a 
+       possible return code for the SetFilePointer() win32 API call.
 
 Mon Oct  9 11:49:00 2000  Corinna Vinschen <corinna@vinschen.de>
 
index 851edaf..ea72eda 100644 (file)
@@ -108,6 +108,8 @@ extern "C" {
 #define LOCALE_INEGSYMPRECEDES 86
 #define LOCALE_INEGSEPBYSPACE  87
 #define LOCALE_FONTSIGNATURE   88
+#define LOCALE_SISO639LANGNAME 89
+#define LOCALE_SISO3166CTRYNAME 90
 #define LOCALE_SYSTEM_DEFAULT  0x800
 #define LOCALE_USER_DEFAULT    0x400
 #define NORM_IGNORECASE        1
@@ -116,14 +118,17 @@ extern "C" {
 #define NORM_IGNORESYMBOLS     4
 #define NORM_IGNOREWIDTH       131072
 #define SORT_STRINGSORT        4096
-#define LCMAP_BYTEREV  2048
-#define LCMAP_FULLWIDTH        8388608
-#define LCMAP_HALFWIDTH        4194304
-#define LCMAP_HIRAGANA 1048576
-#define LCMAP_KATAKANA 2097152
-#define LCMAP_LOWERCASE        256
-#define LCMAP_SORTKEY  1024
-#define LCMAP_UPPERCASE        512
+#define LCMAP_LOWERCASE 0x00000100
+#define LCMAP_UPPERCASE 0x00000200
+#define LCMAP_SORTKEY 0x00000400
+#define LCMAP_BYTEREV 0x00000800
+#define LCMAP_HIRAGANA 0x00100000
+#define LCMAP_KATAKANA 0x00200000
+#define LCMAP_HALFWIDTH 0x00400000
+#define LCMAP_FULLWIDTH 0x00800000
+#define LCMAP_LINGUISTIC_CASING 0x01000000
+#define LCMAP_SIMPLIFIED_CHINESE 0x02000000
+#define LCMAP_TRADITIONAL_CHINESE 0x04000000
 #define ENUM_ALL_CALENDARS (-1)
 #define DATE_SHORTDATE 1
 #define DATE_LONGDATE 2
@@ -132,6 +137,7 @@ extern "C" {
 #define CP_SUPPORTED 2
 #define LCID_INSTALLED 1
 #define LCID_SUPPORTED 2
+#define LCID_ALTERNATE_SORTS 4
 #define MAP_FOLDCZONE 16
 #define MAP_FOLDDIGITS 128
 #define MAP_PRECOMPOSED 32
@@ -177,26 +183,13 @@ extern "C" {
 #define C3_FULLWIDTH 128
 #define C3_IDEOGRAPH 256
 #define C3_KASHIDA 512
+#define C3_LEXICAL 1024
 #define C3_ALPHA 32768
 #define C3_NOTAPPLICABLE 0
 #define TIME_NOMINUTESORSECONDS 1
 #define TIME_NOSECONDS 2
 #define TIME_NOTIMEMARKER 4
 #define TIME_FORCE24HOURFORMAT 8
-#define LCMAP_BYTEREV 2048
-#define LCMAP_FULLWIDTH 8388608
-#define LCMAP_HALFWIDTH 4194304
-#define LCMAP_HIRAGANA 1048576
-#define LCMAP_KATAKANA 2097152
-#define LCMAP_LOWERCASE 256
-#define LCMAP_SORTKEY 1024
-#define LCMAP_UPPERCASE 512
-#define SORT_STRINGSORT 4096
-#define NORM_IGNORECASE 1
-#define NORM_IGNORENONSPACE 2
-#define NORM_IGNORESYMBOLS 4
-#define NORM_IGNOREKANATYPE 65536
-#define NORM_IGNOREWIDTH 131072
 #define MB_PRECOMPOSED 1
 #define MB_COMPOSITE 2
 #define MB_ERR_INVALID_CHARS 8
@@ -206,45 +199,114 @@ extern "C" {
 #define WC_SEPCHARS 32
 #define WC_DEFAULTCHAR 64
 #define CTRY_DEFAULT 0
+#define CTRY_ALBANIA 355
+#define CTRY_ALGERIA 213
+#define CTRY_ARGENTINA 54
+#define CTRY_ARMENIA 374
 #define CTRY_AUSTRALIA 61
 #define CTRY_AUSTRIA 43
+#define CTRY_AZERBAIJAN 994
+#define CTRY_BAHRAIN 973
+#define CTRY_BELARUS 375
 #define CTRY_BELGIUM 32
+#define CTRY_BELIZE 501
+#define CTRY_BOLIVIA 591
 #define CTRY_BRAZIL 55
+#define CTRY_BRUNEI_DARUSSALAM 673
 #define CTRY_BULGARIA 359
 #define CTRY_CANADA 2
+#define CTRY_CARIBBEAN 1
+#define CTRY_CHILE 56
+#define CTRY_COLOMBIA 57
+#define CTRY_COSTA_RICA 506
 #define CTRY_CROATIA 385
-#define CTRY_CZECH 42
+#define CTRY_CZECH 420
 #define CTRY_DENMARK 45
+#define CTRY_DOMINICAN_REPUBLIC 1
+#define CTRY_ECUADOR 593
+#define CTRY_EGYPT 20
+#define CTRY_EL_SALVADOR 503
+#define CTRY_ESTONIA 372
+#define CTRY_FAEROE_ISLANDS 298
 #define CTRY_FINLAND 358
 #define CTRY_FRANCE 33
+#define CTRY_GEORGIA 995
 #define CTRY_GERMANY 49
 #define CTRY_GREECE 30
+#define CTRY_GUATEMALA 502
+#define CTRY_HONDURAS 504
 #define CTRY_HONG_KONG 852
 #define CTRY_HUNGARY 36
 #define CTRY_ICELAND 354
+#define CTRY_INDIA 91
+#define CTRY_INDONESIA 62
+#define CTRY_IRAN 981
+#define CTRY_IRAQ 964
 #define CTRY_IRELAND 353
+#define CTRY_ISRAEL 972
 #define CTRY_ITALY 39
+#define CTRY_JAMAICA 1
 #define CTRY_JAPAN 81
+#define CTRY_JORDAN 962
+#define CTRY_KAZAKSTAN 7
+#define CTRY_KENYA 254
+#define CTRY_KUWAIT 965
+#define CTRY_LATVIA 371
+#define CTRY_LEBANON 961
+#define CTRY_LIBYA 218
+#define CTRY_LIECHTENSTEIN 41
+#define CTRY_LITHUANIA 370
+#define CTRY_LUXEMBOURG 352
+#define CTRY_MACAU 853
+#define CTRY_MACEDONIA 389
+#define CTRY_MALAYSIA 60
 #define CTRY_MEXICO 52
+#define CTRY_MONACO 33
+#define CTRY_MOROCCO 212
 #define CTRY_NETHERLANDS 31
 #define CTRY_NEW_ZEALAND 64
+#define CTRY_NICARAGUA 505
 #define CTRY_NORWAY 47
+#define CTRY_OMAN 968
+#define CTRY_PAKISTAN 92
+#define CTRY_PANAMA 507
+#define CTRY_PARAGUAY 595
+#define CTRY_PERU 51
+#define CTRY_PHILIPPINES 63
 #define CTRY_POLAND 48
 #define CTRY_PORTUGAL 351
 #define CTRY_PRCHINA 86
+#define CTRY_PUERTO_RICO 1
+#define CTRY_QATAR 974
 #define CTRY_ROMANIA 40
 #define CTRY_RUSSIA 7
+#define CTRY_SAUDI_ARABIA 966
+#define CTRY_SERBIA 381
 #define CTRY_SINGAPORE 65
-#define CTRY_SLOVAK 42
+#define CTRY_SLOVAK 421
 #define CTRY_SLOVENIA 386
+#define CTRY_SOUTH_AFRICA 27
 #define CTRY_SOUTH_KOREA 82
 #define CTRY_SPAIN 34
 #define CTRY_SWEDEN 46
 #define CTRY_SWITZERLAND 41
+#define CTRY_SYRIA 963
 #define CTRY_TAIWAN 886
+#define CTRY_TATARSTAN 7
+#define CTRY_THAILAND 66
+#define CTRY_TRINIDAD_Y_TOBAGO 1
+#define CTRY_TUNISIA 216
 #define CTRY_TURKEY 90
+#define CTRY_UAE 971
+#define CTRY_UKRAINE 380
 #define CTRY_UNITED_KINGDOM 44
 #define CTRY_UNITED_STATES 1
+#define CTRY_URUGUAY 598
+#define CTRY_UZBEKISTAN 7
+#define CTRY_VENEZUELA 58
+#define CTRY_VIET_NAM 84
+#define CTRY_YEMEN 967
+#define CTRY_ZIMBABWE 263
 #define CAL_ICALINTVALUE 1
 #define CAL_SCALNAME 2
 #define CAL_IYEAROFFSETRANGE 3
@@ -296,26 +358,106 @@ extern "C" {
 #define CAL_JAPAN 3
 #define CAL_TAIWAN 4
 #define CAL_KOREA 5
+#define CAL_HIJRI 6
+#define CAL_THAI 7
+#define CAL_HEBREW 8
+#define CAL_GREGORIAN_ME_FRENCH 9
+#define CAL_GREGORIAN_ARABIC 10
+#define CAL_GREGORIAN_XLIT_ENGLISH 11
+#define CAL_GREGORIAN_XLIT_FRENCH 12
+#define CSTR_LESS_THAN 1
+#define CSTR_EQUAL 2
+#define CSTR_GREATER_THAN 3
+#define LGRPID_INSTALLED 1
+#define LGRPID_SUPPORTED 2
+#define LGRPID_WESTERN_EUROPE 1
+#define LGRPID_CENTRAL_EUROPE 2
+#define LGRPID_BALTIC 3
+#define LGRPID_GREEK 4
+#define LGRPID_CYRILLIC 5
+#define LGRPID_TURKISH 6
+#define LGRPID_JAPANESE 7
+#define LGRPID_KOREAN 8
+#define LGRPID_TRADITIONAL_CHINESE 9
+#define LGRPID_SIMPLIFIED_CHINESE 10
+#define LGRPID_THAI 11
+#define LGRPID_HEBREW 12
+#define LGRPID_ARABIC 13
+#define LGRPID_VIETNAMESE 14
+#define LGRPID_INDIC 15
+#define LGRPID_GEORGIAN 16
+#define LGRPID_ARMENIAN 17
+
+#if(WINVER >= 0x0500)
+#define LOCALE_SYEARMONTH 0x1006
+#define LOCALE_SENGCURRNAME 0x1007
+#define LOCALE_SNATIVECURRNAME 0x1008
+#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x1012
+#define LOCALE_SSORTNAME 0x1013
+#define LOCALE_IDIGITSUBSTITUTION 0x1014
+#define LOCALE_IPAPERSIZE 0x100A
+#define DATE_YEARMONTH 8
+#define DATE_LTRREADING 16
+#define DATE_RTLREADING 32
+#define MAP_EXPAND_LIGATURES   0x2000
+#define WC_NO_BEST_FIT_CHARS 1024
+#define CAL_SYEARMONTH 47
+#define CAL_ITWODIGITYEARMAX 48
+#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
+#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
+#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
+#endif /* WINVER >= 0x0500 */
+#ifndef  _BASETSD_H
+typedef long LONG_PTR;
+#endif 
 
 #ifndef RC_INVOKED
 typedef DWORD LCTYPE;
-typedef ULONG CALTYPE;
-typedef ULONG CALID;
+typedef DWORD CALTYPE;
+typedef DWORD CALID;
+typedef DWORD LGRPID;
 typedef BOOL (CALLBACK *CALINFO_ENUMPROCA)(LPSTR);
 typedef BOOL (CALLBACK *CALINFO_ENUMPROCW)(LPWSTR);
+typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXA)(LPSTR, CALID);
+typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXW)(LPWSTR, CALID);
+typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR);
+typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCW)(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR);
+typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR);
+typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCW)(LGRPID, LCID, LPWSTR, LONG_PTR);
+typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCW)(LPWSTR, LONG_PTR);
+typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR);
 typedef BOOL (CALLBACK *LOCALE_ENUMPROCA)(LPSTR);
 typedef BOOL (CALLBACK *LOCALE_ENUMPROCW)(LPWSTR);
 typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCA)(LPSTR);
 typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCW)(LPWSTR);
 typedef BOOL (CALLBACK *DATEFMT_ENUMPROCA)(LPSTR);
 typedef BOOL (CALLBACK *DATEFMT_ENUMPROCW)(LPWSTR);
+typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXA)(LPSTR, CALID);
+typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXW)(LPWSTR, CALID);
 typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCA)(LPSTR);
 typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCW)(LPWSTR);
+
 typedef struct _cpinfo {
        UINT MaxCharSize;
        BYTE DefaultChar[MAX_DEFAULTCHAR];
        BYTE LeadByte[MAX_LEADBYTES];
 } CPINFO,*LPCPINFO;
+typedef struct _cpinfoexA {
+    UINT MaxCharSize;
+    BYTE DefaultChar[MAX_DEFAULTCHAR];
+    BYTE LeadByte[MAX_LEADBYTES];
+    WCHAR UnicodeDefaultChar;
+    UINT CodePage;
+    CHAR CodePageName[MAX_PATH];
+} CPINFOEXA, *LPCPINFOEXA;
+typedef struct _cpinfoexW {
+    UINT MaxCharSize;
+    BYTE DefaultChar[MAX_DEFAULTCHAR];
+    BYTE LeadByte[MAX_LEADBYTES];
+    WCHAR UnicodeDefaultChar;
+    UINT CodePage;
+    WCHAR CodePageName[MAX_PATH];
+} CPINFOEXW, *LPCPINFOEXW;
 typedef struct _currencyfmtA {
        UINT NumDigits;
        UINT LeadingZero;
@@ -325,7 +467,7 @@ typedef struct _currencyfmtA {
        UINT NegativeOrder;
        UINT PositiveOrder;
        LPSTR lpCurrencySymbol;
-} CURRENCYFMTA;
+} CURRENCYFMTA, *LPCURRENCYFMTA;
 typedef struct _currencyfmtW {
        UINT NumDigits;
        UINT LeadingZero;
@@ -335,7 +477,7 @@ typedef struct _currencyfmtW {
        UINT NegativeOrder;
        UINT PositiveOrder;
        LPWSTR lpCurrencySymbol;
-} CURRENCYFMTW;
+} CURRENCYFMTW, *LPCURRENCYFMTW;
 typedef struct _numberfmtA {
        UINT NumDigits;
        UINT LeadingZero;
@@ -343,7 +485,7 @@ typedef struct _numberfmtA {
        LPSTR lpDecimalSep;
        LPSTR lpThousandSep;
        UINT NegativeOrder;
-} NUMBERFMTA;
+} NUMBERFMTA, *LPNUMBERFMTA;
 typedef struct _numberfmtW {
        UINT NumDigits;
        UINT LeadingZero;
@@ -351,7 +493,7 @@ typedef struct _numberfmtW {
        LPWSTR lpDecimalSep;
        LPWSTR lpThousandSep;
        UINT NegativeOrder;
-} NUMBERFMTW;
+} NUMBERFMTW, *LPNUMBERFMTW;
 
 int WINAPI CompareStringA(LCID,DWORD,LPCSTR,int,LPCSTR,int);
 int WINAPI CompareStringW(LCID,DWORD,LPCWSTR,int,LPCWSTR,int);
@@ -370,6 +512,8 @@ int WINAPI FoldStringA(DWORD,LPCSTR,int,LPSTR,int);
 int WINAPI FoldStringW(DWORD,LPCWSTR,int,LPWSTR,int);
 UINT WINAPI GetACP(void);
 BOOL WINAPI GetCPInfo(UINT,LPCPINFO);
+BOOL WINAPI GetCPInfoExA(UINT,DWORD,LPCPINFOEXA);
+BOOL WINAPI GetCPInfoExW(UINT,DWORD,LPCPINFOEXW);
 int WINAPI GetCurrencyFormatA(LCID,DWORD,LPCSTR,const CURRENCYFMTA*,LPSTR,int);
 int WINAPI GetCurrencyFormatW(LCID,DWORD,LPCWSTR,const CURRENCYFMTW*,LPWSTR,int);
 int WINAPI GetDateFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int);
@@ -401,21 +545,46 @@ BOOL WINAPI SetLocaleInfoA(LCID,LCTYPE,LPCSTR);
 BOOL WINAPI SetLocaleInfoW(LCID,LCTYPE,LPCWSTR);
 BOOL WINAPI SetThreadLocale(LCID);
 int WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,int,LPSTR,int,LPCSTR,LPBOOL);
+#if (WINVER >= 0x0500)
+BOOL WINAPI EnumCalendarInfoExA(CALINFO_ENUMPROCEXA,LCID,CALID,CALTYPE);
+BOOL WINAPI EnumCalendarInfoExW(CALINFO_ENUMPROCEXW,LCID,CALID,CALTYPE);
+BOOL WINAPI EnumDateFormatsExA(DATEFMT_ENUMPROCEXA,LCID,DWORD);
+BOOL WINAPI EnumDateFormatsExW(DATEFMT_ENUMPROCEXW,LCID,DWORD);
+BOOL WINAPI EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA,DWORD,LONG_PTR);
+BOOL WINAPI EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW,DWORD,LONG_PTR);
+BOOL WINAPI EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA,LGRPID,DWORD,LONG_PTR);
+BOOL WINAPI EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW,LGRPID,DWORD,LONG_PTR);
+BOOL WINAPI EnumUILanguagesA(UILANGUAGE_ENUMPROCA,DWORD,LONG_PTR);
+BOOL WINAPI EnumUILanguagesW(UILANGUAGE_ENUMPROCW,DWORD,LONG_PTR);
+LANGID WINAPI GetSystemDefaultUILanguage(void);
+LANGID WINAPI GetUserDefaultUILanguage(void);
+BOOL WINAPI IsValidLanguageGroup(LGRPID,DWORD);
+#endif /* (WINVER >= 0x0500) */
 
 #ifdef UNICODE
 #define CALINFO_ENUMPROC CALINFO_ENUMPROCW
+#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW
 #define LOCALE_ENUMPROC LOCALE_ENUMPROCW
 #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW
 #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW
+#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW
 #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW
+#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW
+#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW
+#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW
+typedef CPINFOEXW CPINFOEX;
+typedef LPCPINFOEXW LPCPINFOEX;
 typedef CURRENCYFMTW CURRENCYFMT;
+typedef LPCURRENCYFMTW LPCURRENCYFMT;
 typedef NUMBERFMTW NUMBERFMT;
+typedef LPNUMBERFMTW LPNUMBERFMT;
 #define CompareString CompareStringW
 #define EnumCalendarInfo EnumCalendarInfoW
 #define EnumSystemCodePages EnumSystemCodePagesW
 #define EnumSystemLocales EnumSystemLocalesW
 #define EnumTimeFormats EnumTimeFormatsW
-#define FoldString FoldStringA
+#define FoldString FoldStringW
+#define GetCPInfoEx GetCPInfoExW
 #define GetCurrencyFormat GetCurrencyFormatW
 #define GetDateFormat GetDateFormatW
 #define GetLocaleInfo GetLocaleInfoW
@@ -424,20 +593,37 @@ typedef NUMBERFMTW NUMBERFMT;
 #define GetTimeFormat GetTimeFormatW
 #define LCMapString LCMapStringW
 #define SetLocaleInfo SetLocaleInfoW
+#if (WINVER >= 0x0500)
+#define EnumCalendarInfoEx EnumCalendarInfoExW;
+#define EnumDateFormatsEx EnumDateFormatsExW;
+#define EnumSystemLanguageGroups EnumSystemLanguageGroupsW;
+#define EnumLanguageGroupLocales EnumLanguageGroupLocalesW;
+#define EnumUILanguages EnumUILanguagesW;
+#endif /* (WINVER >= 0x0500) */
 #else
 #define CALINFO_ENUMPROC CALINFO_ENUMPROCA
+#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA
 #define LOCALE_ENUMPROC LOCALE_ENUMPROCA
 #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA
 #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA
+#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA
 #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA
+#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA
+#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA
+#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA
+typedef CPINFOEXA CPINFOEX;
+typedef LPCPINFOEXA LPCPINFOEX;
 typedef CURRENCYFMTA CURRENCYFMT;
+typedef LPCURRENCYFMTA LPCURRENCYFMT;
 typedef NUMBERFMTA NUMBERFMT;
+typedef LPNUMBERFMTA LPNUMBERFMT;
 #define CompareString CompareStringA
 #define EnumCalendarInfo EnumCalendarInfoA
 #define EnumSystemCodePages EnumSystemCodePagesA
 #define EnumSystemLocales EnumSystemLocalesA
 #define EnumTimeFormats EnumTimeFormatsA
-#define FoldString FoldStringW
+#define FoldString FoldStringA
+#define GetCPInfoEx GetCPInfoExA
 #define GetCurrencyFormat GetCurrencyFormatA
 #define GetDateFormat GetDateFormatA
 #define GetLocaleInfo GetLocaleInfoA
@@ -446,8 +632,15 @@ typedef NUMBERFMTA NUMBERFMT;
 #define GetTimeFormat GetTimeFormatA
 #define LCMapString LCMapStringA
 #define SetLocaleInfo SetLocaleInfoA
-#endif
-#endif
+#if (WINVER >= 0x0500)
+#define EnumCalendarInfoEx EnumCalendarInfoExA;
+#define EnumDateFormatsEx EnumDateFormatsExA;
+#define EnumSystemLanguageGroups EnumSystemLanguageGroupsA;
+#define EnumLanguageGroupLocales EnumLanguageGroupLocalesA;
+#define EnumUILanguages EnumUILanguagesA;
+#endif /* (WINVER >= 0x0500) */
+#endif /* UNICODE */
+#endif /* RC_INVOKED */
 #ifdef __cplusplus
 }
 #endif