headers: Add missing APIs in winnls.h.
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: Liu Hao <lh_mouse@126.com>
diff --git a/mingw-w64-headers/include/winnls.h b/mingw-w64-headers/include/winnls.h
index 0e338e0..cd8c602 100644
--- a/mingw-w64-headers/include/winnls.h
+++ b/mingw-w64-headers/include/winnls.h
@@ -346,6 +346,8 @@
#define LOCALE_IDEFAULTANSICODEPAGE 0x00001004
#define LOCALE_IDEFAULTMACCODEPAGE 0x00001011
+#define LOCALE_IDIALINGCODE 0x00000005
+
#define LOCALE_SLIST 0x0000000c
#define LOCALE_IMEASURE 0x0000000d
@@ -372,6 +374,8 @@
#define LOCALE_SSHORTDATE 0x0000001f
#define LOCALE_SLONGDATE 0x00000020
#define LOCALE_STIMEFORMAT 0x00001003
+#define LOCALE_SAM 0x00000028
+#define LOCALE_SPM 0x00000029
#define LOCALE_IDATE 0x00000021
#define LOCALE_ILDATE 0x00000022
#define LOCALE_ITIME 0x00000023
@@ -485,6 +489,15 @@
#define LOCALE_SSORTLOCALE 0x0000007b
#endif
+#if WINVER >= _WIN32_WINNT_WIN8
+#define LOCALE_SRELATIVELONGDATE 0x0000007c
+#endif
+
+#if WINVER >= _WIN32_WINNT_WIN10
+#define LOCALE_SSHORTESTAM 0x0000007e
+#define LOCALE_SSHORTESTPM 0x0000007f
+#endif
+
#define TIME_NOMINUTESORSECONDS 0x00000001
#define TIME_NOSECONDS 0x00000002
#define TIME_NOTIMEMARKER 0x00000004
@@ -500,6 +513,9 @@
#if WINVER >= 0x0601
#define DATE_AUTOLAYOUT 0x00000040
#endif
+#if WINVER >= _WIN32_WINNT_WINTHRESHOLD
+#define DATE_MONTHDAY 0x00000080
+#endif
#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
@@ -570,6 +586,14 @@
#define CAL_SMONTHDAY 0x00000038
#define CAL_SABBREVERASTRING 0x00000039
#endif
+#if WINVER >= _WIN32_WINNT_WIN8
+#define CAL_SRELATIVELONGDATE 0x0000003a
+#endif
+#if NTDDI_VERSION >= NTDDI_WIN10_RS2
+#define CAL_SENGLISHERANAME 0x0000003b
+#define CAL_SENGLISHABBREVERANAME 0x0000003c
+#endif
+#define CAL_SJAPANESEERAFIRSTYEAR 0x0000003d
#define ENUM_ALL_CALENDARS 0xffffffff
@@ -766,7 +790,14 @@
GEO_TIMEZONES = 0x000a,
GEO_OFFICIALLANGUAGES = 0x000b,
GEO_ISO_UN_NUMBER = 0x000c,
- GEO_PARENT = 0x000d
+ GEO_PARENT = 0x000d,
+ GEO_DIALINGCODE = 0x000e,
+ GEO_CURRENCYCODE= 0x000f,
+ GEO_CURRENCYSYMBOL= 0x0010,
+#if NTDDI_VERSION >= NTDDI_WIN10_RS3
+ GEO_NAME = 0x0011,
+ GEO_ID = 0x0012
+#endif
};
enum SYSGEOCLASS {
@@ -816,6 +847,9 @@
typedef WINBOOL (CALLBACK *CALINFO_ENUMPROCW) (LPWSTR);
typedef WINBOOL (CALLBACK *CALINFO_ENUMPROCEXW) (LPWSTR, CALID);
typedef WINBOOL (CALLBACK *GEO_ENUMPROC) (GEOID);
+ #if NTDDI_VERSION >= NTDDI_WIN10_RS3
+ typedef WINBOOL (CALLBACK *GEO_ENUMNAMEPROC) (PWSTR, LPARAM);
+ #endif
#else
typedef FARPROC LANGUAGEGROUP_ENUMPROCA;
typedef FARPROC LANGGROUPLOCALE_ENUMPROCA;
@@ -838,6 +872,9 @@
typedef FARPROC TIMEFMT_ENUMPROCW;
typedef FARPROC CALINFO_ENUMPROCW;
typedef FARPROC CALINFO_ENUMPROCEXW;
+ #if NTDDI_VERSION >= NTDDI_WIN10_RS3
+ typedef FARPROC GEO_ENUMNAMEPROC;
+ #endif
#endif
#ifdef UNICODE
@@ -987,6 +1024,7 @@
WINBASEAPI int WINAPI GetGeoInfoW (GEOID Location, GEOTYPE GeoType, LPWSTR lpGeoData, int cchData, LANGID LangId);
WINBASEAPI WINBOOL WINAPI EnumSystemGeoID (GEOCLASS GeoClass, GEOID ParentGeoId, GEO_ENUMPROC lpGeoEnumProc);
WINBASEAPI GEOID WINAPI GetUserGeoID (GEOCLASS GeoClass);
+ WINBASEAPI int WINAPI GetUserDefaultGeoName (LPWSTR geoName, int geoNameCount);
WINBASEAPI WINBOOL WINAPI GetCPInfo (UINT CodePage, LPCPINFO lpCPInfo);
WINBASEAPI WINBOOL WINAPI GetCPInfoExA (UINT CodePage, DWORD dwFlags, LPCPINFOEXA lpCPInfoEx);
WINBASEAPI WINBOOL WINAPI GetCPInfoExW (UINT CodePage, DWORD dwFlags, LPCPINFOEXW lpCPInfoEx);
@@ -996,6 +1034,11 @@
WINBASEAPI LCID WINAPI LocaleNameToLCID (LPCWSTR lpName, DWORD dwFlags);
#endif
+#if NTDDI_VERSION >= NTDDI_WIN10_RS3
+ WINBASEAPI int WINAPI GetGeoInfoEx (PWSTR location, GEOTYPE geoType, PWSTR geoData, int geoDataCount);
+ WINBASEAPI WINBOOL WINAPI SetUserGeoName (PWSTR geoName);
+#endif
+
#define GetGeoInfo __MINGW_NAME_AW(GetGeoInfo)
#define GetCPInfoEx __MINGW_NAME_AW(GetCPInfoEx)
@@ -1042,6 +1085,16 @@
#define EnumLanguageGroupLocales __MINGW_NAME_AW(EnumLanguageGroupLocales)
#define EnumUILanguages __MINGW_NAME_AW(EnumUILanguages)
+#if NTDDI_VERSION >= NTDDI_WIN10_RS3
+ WINBASEAPI WINBOOL WINAPI EnumSystemGeoNames (GEOCLASS geoClass, GEO_ENUMNAMEPROC geoEnumProc, LPARAM data);
+#endif
+
+#if NTDDI_VERSION >= NTDDI_WIN10_VB
+ DECLARE_HANDLE(HSAVEDUILANGUAGES);
+ WINBASEAPI WINBOOL WINAPI SetThreadPreferredUILanguages2 (ULONG flags, PCZZWSTR languages, PULONG numLanguagesSet, HSAVEDUILANGUAGES *snapshot);
+ WINBASEAPI void WINAPI RestoreThreadPreferredUILanguages (const HSAVEDUILANGUAGES snapshot);
+#endif /* NTDDI_WIN10_VB */
+
#endif
#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)