holdingarea/llvm/llvm-gcc4.2-2.7-x86-mingw32/include/mlang.h
branchbug235_bringup_0
changeset 20 d2d6724aef32
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/holdingarea/llvm/llvm-gcc4.2-2.7-x86-mingw32/include/mlang.h	Thu Sep 16 09:43:14 2010 +0100
@@ -0,0 +1,349 @@
+#ifndef _MLANG_H
+#define _MLANG_H
+#if __GNUC__ >= 3
+#pragma GCC system_header
+#endif
+
+#include <windows.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#pragma pack(push,1)
+
+#define MAX_MIMECP_NAME   64
+#define MAX_MIMECSET_NAME 50
+#define MAX_SCRIPT_NAME   48
+#define MAX_MIMEFACE_NAME 32
+#define MAX_RFC1766_NAME   6
+#define MAX_LOCALE_NAME   32
+
+typedef enum tagMIMECONTF {
+    MIMECONTF_MAILNEWS = 0x00000001,
+    MIMECONTF_BROWSER = 0x00000002,
+    MIMECONTF_MINIMAL = 0x00000004,
+    MIMECONTF_IMPORT = 0x00000008,
+    MIMECONTF_SAVABLE_MAILNEWS = 0x00000100,
+    MIMECONTF_SAVABLE_BROWSER = 0x00000200,
+    MIMECONTF_EXPORT = 0x00000400,
+    MIMECONTF_PRIVCONVERTER = 0x00010000,
+    MIMECONTF_VALID = 0x00020000,
+    MIMECONTF_VALID_NLS = 0x00040000,
+    MIMECONTF_MIME_IE4 = 0x10000000,
+    MIMECONTF_MIME_LATEST = 0x20000000,
+    MIMECONTF_MIME_REGISTRY = 0x40000000
+} MIMECONTF;
+typedef enum tagMLCONVCHARF {
+    MLCONVCHARF_NONE = 0,
+    MLCONVCHARF_AUTODETECT = 1,
+    MLCONVCHARF_NCR_ENTITIZE = 2,
+    MLCONVCHARF_NAME_ENTITIZE = 4,
+    MLCONVCHARF_USEDEFCHAR = 8,
+    MLCONVCHARF_NOBESTFITCHARS = 16
+} MLCONVCHAR;
+typedef enum tagMLCPF {
+    MLDETECTF_MAILNEWS = 0x0001,
+    MLDETECTF_BROWSER = 0x0002,
+    MLDETECTF_VALID = 0x0004,
+    MLDETECTF_VALID_NLS = 0x0008,
+    MLDETECTF_PRESERVE_ORDER = 0x0010,
+    MLDETECTF_PREFERRED_ONLY = 0x0020,
+    MLDETECTF_FILTER_SPECIALCHAR = 0x0040
+} MLCP;
+typedef enum tagMLDETECTCP {
+    MLDETECTCP_NONE = 0,
+    MLDETECTCP_7BIT = 1,
+    MLDETECTCP_8BIT = 2,
+    MLDETECTCP_DBCS = 4,
+    MLDETECTCP_HTML = 8
+} MLDETECTCP;
+typedef enum tagSCRIPTFONTCONTF {
+    SCRIPTCONTF_FIXED_FONT = 0x00000001,
+    SCRIPTCONTF_PROPORTIONAL_FONT = 0x00000002,
+    SCRIPTCONTF_SCRIPT_USER = 0x00010000,
+    SCRIPTCONTF_SCRIPT_HIDE = 0x00020000,
+    SCRIPTCONTF_SCRIPT_SYSTEM = 0x00040000
+} SCRIPTFONTCONTF;
+typedef enum tagSCRIPTCONTF {
+    sidDefault,
+    sidMerge,
+    sidAsciiSym,
+    sidAsciiLatin,
+    sidLatin,
+    sidGreek,
+    sidCyrillic,
+    sidArmenian,
+    sidHebrew,
+    sidArabic,
+    sidDevanagari,
+    sidBengali,
+    sidGurmukhi,
+    sidGujarati,
+    sidOriya,
+    sidTamil,
+    sidTelugu,
+    sidKannada,
+    sidMalayalam,
+    sidThai,
+    sidLao,
+    sidTibetan,
+    sidGeorgian,
+    sidHangul,
+    sidKana,
+    sidBopomofo,
+    sidHan,
+    sidEthiopic,
+    sidCanSyllabic,
+    sidCherokee,
+    sidYi,
+    sidBraille,
+    sidRunic,
+    sidOgham,
+    sidSinhala,
+    sidSyriac,
+    sidBurmese,
+    sidKhmer,
+    sidThaana,
+    sidMongolian,
+    sidLim,
+    sidFEFirst = sidHangul,
+    sidFELast = sidHan
+} SCRIPTCONTF;
+  
+typedef struct tagDetectEncodingInfo {
+    UINT nLangID;
+    UINT nCodePage;
+    INT nDocPercent;
+    INT nConfidence;
+} DetectEncodingInfo, *pDetectEncodingInfo;
+typedef struct tagMIMECPINFO {
+    DWORD dwFlags;
+    UINT uiCodePage;
+    UINT uiFamilyCodePage;
+    WCHAR wszDescription[MAX_MIMECP_NAME];
+    WCHAR wszWebCharset[MAX_MIMECSET_NAME];
+    WCHAR wszHeaderCharset[MAX_MIMECSET_NAME];
+    WCHAR wszBodyCharset[MAX_MIMECSET_NAME];
+    WCHAR wszFixedWidthFont[MAX_MIMEFACE_NAME];
+    WCHAR wszProportionalFont[MAX_MIMEFACE_NAME];
+    BYTE bGDICharset;
+} MIMECPINFO, *PMIMECPINFO;
+typedef struct tagMIMECSETINFO {
+    UINT uiCodePage;
+    UINT uiInternetEncoding;
+    WCHAR wszCharset[MAX_MIMECSET_NAME];
+} MIMECSETINFO, *PMIMECSETINFO;
+typedef struct tagRFC1766INFO {
+    LCID lcid;
+    WCHAR wszRfc1766[MAX_RFC1766_NAME];
+    WCHAR wszLocaleName[MAX_LOCALE_NAME];
+} RFC1766INFO, *PRFC1766INFO;
+typedef BYTE SCRIPT_ID;  
+typedef struct tagSCRIPTINFO {
+    SCRIPT_ID ScriptId;
+    UINT uiCodePage;
+    WCHAR wszDescription[MAX_SCRIPT_NAME];
+    WCHAR wszFixedWidthFont[MAX_MIMEFACE_NAME];
+    WCHAR wszProportionalFont[MAX_MIMEFACE_NAME];
+} SCRIPTINFO, *PSCRIPTINFO;
+typedef struct tagUNICODERANGE {
+  WCHAR wcFrom;
+  WCHAR wcTo;
+} UNICODERANGE;
+
+typedef struct tagSCRIPTFONTINFO SCRIPTFONTINFO;
+  
+EXTERN_C const IID IID_IEnumCodePage;
+#define INTERFACE IEnumCodePage
+DECLARE_INTERFACE_(IEnumCodePage,IUnknown)
+{
+        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+        STDMETHOD_(ULONG,Release)(THIS) PURE;
+        STDMETHOD(Clone)(THIS_ IEnumCodePage**) PURE;
+        STDMETHOD(Next)(THIS_ ULONG,PMIMECPINFO,ULONG*) PURE;
+        STDMETHOD(Reset)(THIS) PURE;
+        STDMETHOD(Skip)(THIS_ ULONG) PURE;
+};
+#undef INTERFACE
+
+EXTERN_C const IID IID_IEnumRfc1766;
+#define INTERFACE IEnumRfc1766
+DECLARE_INTERFACE_(IEnumRfc1766,IUnknown)
+{
+        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+        STDMETHOD_(ULONG,Release)(THIS) PURE;
+        STDMETHOD(Clone)(THIS_ IEnumRfc1766**) PURE;
+        STDMETHOD(Next)(THIS_ ULONG,PRFC1766INFO,ULONG*) PURE;
+        STDMETHOD(Reset)(THIS) PURE;
+        STDMETHOD(Skip)(THIS_ ULONG) PURE;
+};
+#undef INTERFACE
+
+EXTERN_C const IID IID_IEnumScript;
+#define INTERFACE IEnumScript
+DECLARE_INTERFACE_(IEnumScript,IUnknown)
+{
+        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+        STDMETHOD_(ULONG,Release)(THIS) PURE;
+        STDMETHOD(Clone)(THIS_ IEnumScript**) PURE;
+        STDMETHOD(Next)(THIS_ ULONG,PSCRIPTINFO,ULONG*) PURE;
+        STDMETHOD(Reset)(THIS) PURE;
+        STDMETHOD(Skip)(THIS_ ULONG) PURE;
+};
+#undef INTERFACE
+
+EXTERN_C const IID IID_IMLangCodePages;
+#define INTERFACE IMLangCodePages
+DECLARE_INTERFACE_(IMLangCodePages,IUnknown)
+{
+        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+        STDMETHOD_(ULONG,Release)(THIS) PURE;
+        STDMETHOD(GetCharCodePages)(THIS_ WCHAR,DWORD*) PURE;
+        STDMETHOD(GetStrCodePages)(THIS_ const WCHAR *,long,DWORD,DWORD*,long*) PURE;
+        STDMETHOD(CodePageToCodePages)(THIS_ UINT,DWORD*) PURE;
+        STDMETHOD(CodePagesToCodePage)(THIS_ DWORD,UINT,UINT*) PURE;
+};
+#undef INTERFACE
+
+EXTERN_C const IID IID_IMLangConvertCharset;
+#define INTERFACE IMLangConvertCharset
+DECLARE_INTERFACE_(IMLangConvertCharset,IUnknown)
+{
+        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+        STDMETHOD_(ULONG,Release)(THIS) PURE;
+        STDMETHOD(Initialize)(THIS_ UINT,UINT,DWORD) PURE;
+        STDMETHOD(GetSourceCodePage)(THIS_ UINT*) PURE;
+        STDMETHOD(GetDestinationCodePage)(THIS_ UINT*) PURE;
+        STDMETHOD(GetProperty)(THIS_ DWORD*) PURE;
+        STDMETHOD(DoConversion)(THIS_ BYTE*,UINT*,BYTE*,UINT*) PURE;
+        STDMETHOD(DoConversionToUnicode)(THIS_ CHAR*,UINT*,WCHAR*,UINT*) PURE;
+        STDMETHOD(DoConversionFromUnicode)(THIS_ WCHAR*,UINT*,CHAR*,UINT*) PURE;
+};
+#undef INTERFACE
+EXTERN_C const CLSID CLSID_CMLangConvertCharset;
+
+EXTERN_C const IID IID_IMLangFontLink;
+#define INTERFACE IMLangFontLink
+DECLARE_INTERFACE_(IMLangFontLink,IMLangCodePages)
+{
+        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+        STDMETHOD_(ULONG,Release)(THIS) PURE;
+        STDMETHOD(GetCharCodePages)(THIS_ WCHAR,DWORD*) PURE;
+        STDMETHOD(GetStrCodePages)(THIS_ const WCHAR *,long,DWORD,DWORD*,long*) PURE;
+        STDMETHOD(CodePageToCodePages)(THIS_ UINT,DWORD*) PURE;
+        STDMETHOD(CodePagesToCodePage)(THIS_ DWORD,UINT,UINT*) PURE;
+        STDMETHOD(GetFontCodePages)(THIS_ HDC,HFONT,DWORD*) PURE;
+        STDMETHOD(ReleaseFont)(THIS_ HFONT) PURE;
+        STDMETHOD(ResetFontMapping)(THIS) PURE;
+        STDMETHOD(MapFont)(THIS_ HDC,DWORD,WCHAR,HFONT*) PURE;
+};
+#undef INTERFACE
+
+EXTERN_C const IID IID_IMLangFontLink2;
+#define INTERFACE IMLangFontLink2
+DECLARE_INTERFACE_(IMLangFontLink2,IMLangCodePages)
+{
+        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+        STDMETHOD_(ULONG,Release)(THIS) PURE;
+        STDMETHOD(GetCharCodePages)(THIS_ WCHAR,DWORD*) PURE;
+        STDMETHOD(GetStrCodePages)(THIS_ const WCHAR *,long,DWORD,DWORD*,long*) PURE;
+        STDMETHOD(CodePageToCodePages)(THIS_ UINT,DWORD*) PURE;
+        STDMETHOD(CodePagesToCodePage)(THIS_ DWORD,UINT,UINT*) PURE;
+        STDMETHOD(GetFontCodePages)(THIS_ HDC,HFONT,DWORD*) PURE;
+        STDMETHOD(ReleaseFont)(THIS_ HFONT) PURE;
+        STDMETHOD(ResetFontMapping)(THIS) PURE;
+        STDMETHOD(MapFont)(THIS_ HDC,DWORD,WCHAR,HFONT*) PURE;
+        STDMETHOD(GetFontUnicodeRange)(THIS_ HDC,UINT*,UNICODERANGE*) PURE;
+        STDMETHOD(GetScriptFontInfo)(THIS_ SCRIPT_ID,DWORD,UINT*,SCRIPTFONTINFO*) PURE;
+        STDMETHOD(CodePageToScriptID)(THIS) PURE;
+};
+#undef INTERFACE
+
+EXTERN_C const IID IID_IMLangLineBreakConsole;
+#define INTERFACE IMLangLineBreakConsole
+DECLARE_INTERFACE_(IMLangLineBreakConsole,IMLangCodePages)
+{
+        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+        STDMETHOD_(ULONG,Release)(THIS) PURE;
+        STDMETHOD(BreakLineML)(THIS) PURE;
+        STDMETHOD(BreakLineW)(THIS_ LCID,const WCHAR*,long,long,long*,long*) PURE;
+        STDMETHOD(BreakLineA)(THIS_ LCID,UINT,const CHAR*,long,long,long*,long*) PURE;
+};
+#undef INTERFACE
+
+EXTERN_C const IID IID_IMultiLanguage;
+#define INTERFACE IMultiLanguage
+DECLARE_INTERFACE_(IMultiLanguage,IUnknown)
+{
+        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+        STDMETHOD_(ULONG,Release)(THIS) PURE;
+        STDMETHOD(GetNumberOfCodePageInfo)(THIS_ UINT*) PURE;
+        STDMETHOD(GetCodePageInfo)(THIS_ UINT,PMIMECPINFO) PURE;
+        STDMETHOD(GetFamilyCodePage)(THIS_ UINT,UINT*) PURE;
+        STDMETHOD(EnumCodePages)(THIS_ DWORD,IEnumCodePage**) PURE;
+        STDMETHOD(GetCharsetInfo)(THIS_ BSTR,PMIMECSETINFO) PURE;
+        STDMETHOD(IsConvertible)(THIS_ DWORD,DWORD) PURE;
+        STDMETHOD(ConvertString)(THIS_ DWORD*,DWORD,DWORD,BYTE*,UINT*,BYTE*,UINT*) PURE;
+        STDMETHOD(ConvertStringToUnicode)(THIS_ DWORD*,DWORD,CHAR*,UINT*,WCHAR*,UINT*) PURE;
+        STDMETHOD(ConvertStringFromUnicode)(THIS_ DWORD*,DWORD,WCHAR*,UINT*,CHAR*,UINT*) PURE;
+        STDMETHOD(ConvertStringReset)(THIS) PURE;
+        STDMETHOD(GetRfc1766FromLcid)(THIS_ LCID,BSTR*) PURE;
+        STDMETHOD(GetLcidFromRfc1766)(THIS_ LCID*,BSTR) PURE;
+        STDMETHOD(EnumRfc1766)(THIS_ IEnumRfc1766**) PURE;
+        STDMETHOD(GetRfc1766Info)(THIS_ LCID,PRFC1766INFO) PURE;
+        STDMETHOD(CreateConvertCharset)(THIS_ UINT,UINT,DWORD,IMLangConvertCharset**) PURE;
+};
+#undef INTERFACE
+EXTERN_C const CLSID CLSID_CMultiLanguage;
+
+EXTERN_C const IID IID_IMultiLanguage2;
+#define INTERFACE IMultiLanguage2
+DECLARE_INTERFACE_(IMultiLanguage2,IUnknown)
+{
+        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+        STDMETHOD_(ULONG,Release)(THIS) PURE;
+        STDMETHOD(GetNumberOfCodePageInfo)(THIS_ UINT*) PURE;
+        STDMETHOD(GetCodePageInfo)(THIS_ UINT,PMIMECPINFO) PURE;
+        STDMETHOD(GetFamilyCodePage)(THIS_ UINT,UINT*) PURE;
+        STDMETHOD(EnumCodePages)(THIS_ DWORD,IEnumCodePage**) PURE;
+        STDMETHOD(GetCharsetInfo)(THIS_ BSTR,PMIMECSETINFO) PURE;
+        STDMETHOD(IsConvertible)(THIS_ DWORD,DWORD) PURE;
+        STDMETHOD(ConvertString)(THIS_ DWORD*,DWORD,DWORD,BYTE*,UINT*,BYTE*,UINT*) PURE;
+        STDMETHOD(ConvertStringToUnicode)(THIS_ DWORD*,DWORD,CHAR*,UINT*,WCHAR*,UINT*) PURE;
+        STDMETHOD(ConvertStringFromUnicode)(THIS_ DWORD*,DWORD,WCHAR*,UINT*,CHAR*,UINT*) PURE;
+        STDMETHOD(ConvertStringReset)(THIS) PURE;
+        STDMETHOD(GetRfc1766FromLcid)(THIS_ LCID,BSTR*) PURE;
+        STDMETHOD(GetLcidFromRfc1766)(THIS_ LCID*,BSTR) PURE;
+        STDMETHOD(EnumRfc1766)(THIS_ IEnumRfc1766**) PURE;
+        STDMETHOD(GetRfc1766Info)(THIS_ LCID,PRFC1766INFO) PURE;
+        STDMETHOD(CreateConvertCharset)(THIS_ UINT,UINT,DWORD,IMLangConvertCharset**) PURE;
+        STDMETHOD(ConvertStringInIStream)(THIS_ DWORD*,DWORD,WCHAR*,DWORD,DWORD,IStream*,IStream*) PURE;
+        STDMETHOD(ConvertStringToUnicodeEx)(THIS_ DWORD*,DWORD,CHAR*,UINT*,WCHAR*,UINT*,DWORD,WCHAR*) PURE;
+        STDMETHOD(ConvertStringFromUnicodeEx)(THIS_ DWORD*,DWORD,WCHAR*,UINT*,CHAR*,UINT*,DWORD,WCHAR*) PURE;
+        STDMETHOD(DetectCodepageInIStream)(THIS_ DWORD,DWORD,IStream*,DetectEncodingInfo*,INT*) PURE;
+        STDMETHOD(DetectInputCodepage)(THIS_ DWORD,DWORD,CHAR*,INT*,DetectEncodingInfo*,INT*) PURE;
+        STDMETHOD(ValidateCodePage)(THIS) PURE;
+        STDMETHOD(GetCodePageDescription)(THIS_ UINT,LCID,LPWSTR,int) PURE;
+        STDMETHOD(IsCodePageInstallable)(THIS) PURE;
+        STDMETHOD(SetMimeDBSource)(THIS_ MIMECONTF) PURE;
+        STDMETHOD(GetNumberOfScripts)(THIS_ UINT*) PURE;
+        STDMETHOD(EnumScripts)(THIS_ DWORD,LANGID,IEnumScript**) PURE;
+};
+#undef INTERFACE
+
+  
+#pragma pack(pop)
+#ifdef __cplusplus
+}
+#endif
+#endif