[PSDK] Add some missing MUI_* definitions.
[reactos.git] / reactos / include / psdk / winnls.h
index 4a1e55d..6107164 100644 (file)
@@ -260,6 +260,8 @@ extern "C" {
 #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
@@ -489,6 +491,13 @@ extern "C" {
 typedef long LONG_PTR;
 #endif
 
+#if (WINVER >= 0x0600)
+#define MUI_FULL_LANGUAGE             0x01
+#define MUI_LANGUAGE_ID               0x04
+#define MUI_LANGUAGE_NAME             0x08
+#define MUI_MACHINE_LANGUAGE_SETTINGS 0x400
+#endif /* (WINVER >= 0x0600) */
+
 #ifndef RC_INVOKED
 typedef DWORD LCTYPE;
 typedef DWORD CALTYPE;
@@ -497,6 +506,9 @@ typedef DWORD LGRPID;
 typedef DWORD GEOID;
 typedef DWORD GEOTYPE;
 typedef DWORD GEOCLASS;
+typedef BOOL (CALLBACK *CALINFO_ENUMPROCEXEX)(LPWSTR, CALID, LPWSTR, LPARAM);
+typedef BOOL (CALLBACK *DATEFMT_ENUMPROCEXEX)(LPWSTR, CALID, LPARAM);
+typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCEX)(LPWSTR, LPARAM);
 typedef BOOL (CALLBACK *CALINFO_ENUMPROCA)(LPSTR);
 typedef BOOL (CALLBACK *CALINFO_ENUMPROCW)(LPWSTR);
 typedef BOOL (CALLBACK *CALINFO_ENUMPROCEXA)(LPSTR, CALID);
@@ -528,18 +540,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 {
@@ -839,6 +859,29 @@ int WINAPI GetTimeFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int);
 LANGID WINAPI GetUserDefaultLangID(void);
 LCID WINAPI GetUserDefaultLCID(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);