[PSDK] Update SYSGEOTYPE.
[reactos.git] / reactos / include / psdk / winnls.h
index 4b1a9c3..0a468c3 100644 (file)
@@ -116,45 +116,57 @@ extern "C" {
 #define LOCALE_SABBREVMONTHNAME13      0x100F
 #define LOCALE_SPOSITIVESIGN   80
 #define LOCALE_SNEGATIVESIGN   81
-#define LOCALE_SSCRIPTS         108
+#define LOCALE_SSCRIPTS         108 // FIXME
 #define LOCALE_IPOSSIGNPOSN    82
 #define LOCALE_INEGSIGNPOSN    83
 #define LOCALE_IPOSSYMPRECEDES 84
 #define LOCALE_IPOSSEPBYSPACE  85
 #define LOCALE_INEGSYMPRECEDES 86
 #define LOCALE_INEGSEPBYSPACE  87
-#if (WINVER >= 0x0400)
 #define LOCALE_FONTSIGNATURE    88
 #define LOCALE_SISO639LANGNAME  89
 #define LOCALE_SISO3166CTRYNAME 90
-#define LOCALE_SNAME            92
-#endif
+#define LOCALE_SNAME            92 // FIXME
+
 #if (WINVER >= 0x0600)
+#define LOCALE_SNAME            92
+#define LOCALE_SDURATION        93
+#define LOCALE_SKEYBOARDSTOINSTALL 94
+#define LOCALE_SSHORTESTDAYNAME1 96
+#define LOCALE_SSHORTESTDAYNAME2 97
+#define LOCALE_SSHORTESTDAYNAME3 98
+#define LOCALE_SSHORTESTDAYNAME4 99
+#define LOCALE_SSHORTESTDAYNAME5 100
+#define LOCALE_SSHORTESTDAYNAME6 101
+#define LOCALE_SSHORTESTDAYNAME7 102
+#define LOCALE_SISO639LANGNAME2  103
+#define LOCALE_SISO3166CTRYNAME2 104
+#define LOCALE_SNAN              105
+#define LOCALE_SPOSINFINITY      106
+#define LOCALE_SNEGINFINITY      107
 #define LOCALE_SSCRIPTS 108
-#endif
-#define LOCALE_SYSTEM_DEFAULT  0x800
-#define LOCALE_USER_DEFAULT    0x400
+#define LOCALE_SPARENT  109
+#define LOCALE_SCONSOLEFALLBACKNAME 110
+#endif /* (WINVER >= 0x0600) */
 
+//#if (WINVER >= _WIN32_WINNT_WIN7)
 #define LOCALE_IREADINGLAYOUT       0x0070
 #define LOCALE_INEUTRAL             0x0071
+#define LOCALE_INEGATIVEPERCENT     0x0074
+#define LOCALE_IPOSITIVEPERCENT     0x0075
+#define LOCALE_SPERCENT             0x0076
+#define LOCALE_SPERMILLE            0x0077
+#define LOCALE_SMONTHDAY            0x0078
+#define LOCALE_SSHORTTIME           0x0079
+#define LOCALE_SOPENTYPELANGUAGETAG 0x007a
+#define LOCALE_SSORTLOCALE          0x007b
+//#endif /* (WINVER >= _WIN32_WINNT_WIN7) */
 
-#if defined(__GNUC__)
-# define LOCALE_NAME_INVARIANT      (const WCHAR []){ 0 }
-#elif defined(_MSC_VER)
-# define LOCALE_NAME_INVARIANT      L""
-#else
-static const WCHAR LOCALE_NAME_INVARIANT[] = { 0 };
-#endif
-
-#if defined(__GNUC__)
-# define LOCALE_NAME_SYSTEM_DEFAULT      (const WCHAR []){'!','s','y','s','-','d','e','f','a','u','l','t','-','l','o','c','a','l','e',0}
-#elif defined(_MSC_VER)
-# define LOCALE_NAME_SYSTEM_DEFAULT      L"!sys-default-locale"
-#else
-static const WCHAR LOCALE_NAME_SYSTEM_DEFAULT[] = {'!','s','y','s','-','d','e','f','a','u','l','t','-','l','o','c','a','l','e',0};
-#endif
-
+#if (WINVER >= 0x0600)
 #define LOCALE_NAME_USER_DEFAULT    NULL
+#define LOCALE_NAME_INVARIANT      L""
+#define LOCALE_NAME_SYSTEM_DEFAULT      L"!sys-default-locale"
+#endif
 
 #define LOCALE_IDEFAULTUNIXCODEPAGE   0x1030 /* Wine extension */
 
@@ -163,6 +175,8 @@ static const WCHAR LOCALE_NAME_SYSTEM_DEFAULT[] = {'!','s','y','s','-','d','e','
 #define NORM_IGNORENONSPACE    2
 #define NORM_IGNORESYMBOLS     4
 #define NORM_IGNOREWIDTH       131072
+#define LINGUISTIC_IGNORECASE 0x00000010
+#define NORM_LINGUISTIC_CASING 0x08000000
 #define SORT_STRINGSORT        4096
 #define LCMAP_LOWERCASE 0x00000100
 #define LCMAP_UPPERCASE 0x00000200
@@ -246,6 +260,8 @@ static const WCHAR LOCALE_NAME_SYSTEM_DEFAULT[] = {'!','s','y','s','-','d','e','
 #define C3_LEXICAL 1024
 #define C3_ALPHA 32768
 #define C3_NOTAPPLICABLE 0
+#define C3_HIGHSURROGATE 0x0800
+#define C3_LOWSURROGATE 0x1000
 #define TIME_NOMINUTESORSECONDS 1
 #define TIME_NOSECONDS 2
 #define TIME_NOTIMEMARKER 4
@@ -471,7 +487,7 @@ static const WCHAR LOCALE_NAME_SYSTEM_DEFAULT[] = {'!','s','y','s','-','d','e','
 #define VS_ALLOW_LATIN 0x1
 #define GSS_ALLOW_INHERITED_COMMON 0x1
 #endif
-#ifndef  _BASETSD_H
+#ifndef  _BASETSD_H_
 typedef long LONG_PTR;
 #endif
 
@@ -514,18 +530,26 @@ enum SYSGEOCLASS {
        GEOCLASS_NATION = 16,
        GEOCLASS_REGION = 14
 };
-enum SYSGEOTYPE {
-       GEO_NATION            = 0x0001,
-       GEO_LATITUDE          = 0x0002,
-       GEO_LONGITUDE         = 0x0003,
-       GEO_ISO2              = 0x0004,
-       GEO_ISO3              = 0x0005,
-       GEO_RFC1766           = 0x0006,
-       GEO_LCID              = 0x0007,
-       GEO_FRIENDLYNAME      = 0x0008,
-       GEO_OFFICIALNAME      = 0x0009,
-       GEO_TIMEZONES         = 0x000a,
-       GEO_OFFICIALLANGUAGES = 0x000b
+
+/* Geographic Information types */
+enum SYSGEOTYPE
+{
+    GEO_NATION = 1,
+    GEO_LATITUDE,
+    GEO_LONGITUDE,
+    GEO_ISO2,
+    GEO_ISO3,
+    GEO_RFC1766,
+    GEO_LCID,
+    GEO_FRIENDLYNAME,
+    GEO_OFFICIALNAME,
+    GEO_TIMEZONES,
+    GEO_OFFICIALLANGUAGES,
+    GEO_ISO_UN_NUMBER,
+    GEO_PARENT,
+    GEO_DIALINGCODE,
+    GEO_CURRENCYCODE,
+    GEO_CURRENCYSYMBOL
 };
 
 typedef struct _cpinfo {
@@ -824,8 +848,30 @@ int WINAPI GetTimeFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int);
 int WINAPI GetTimeFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int);
 LANGID WINAPI GetUserDefaultLangID(void);
 LCID WINAPI GetUserDefaultLCID(void);
-LANGID WINAPI GetUserDefaultUILanguage(void);
 GEOID WINAPI GetUserGeoID(_In_ GEOCLASS);
+
+#if (WINVER >= 0x0600)
+
+int
+WINAPI
+IdnToAscii(
+  _In_ DWORD dwFlags,
+  _In_reads_(cchUnicodeChar) LPCWSTR lpUnicodeCharStr,
+  _In_ int cchUnicodeChar,
+  _Out_writes_opt_(cchASCIIChar) LPWSTR lpASCIICharStr,
+  _In_ int cchASCIIChar);
+
+int
+WINAPI
+IdnToUnicode(
+  _In_ DWORD dwFlags,
+  _In_reads_(cchASCIIChar) LPCWSTR lpASCIICharStr,
+  _In_ int cchASCIIChar,
+  _Out_writes_opt_(cchUnicodeChar) LPWSTR lpUnicodeCharStr,
+  _In_ int cchUnicodeChar);
+
+#endif /* WINVER >= 0x0600 */
+
 BOOL WINAPI IsDBCSLeadByte(_In_ BYTE);
 BOOL WINAPI IsDBCSLeadByteEx(_In_ UINT, _In_ BYTE);