Annotation of elwix/tools/oldlzma/SRC/Common/MyWindows.h, revision 1.1

1.1     ! misho       1: // MyWindows.h
        !             2: 
        !             3: #ifndef __MYWINDOWS_H
        !             4: #define __MYWINDOWS_H
        !             5: 
        !             6: #ifdef _WIN32
        !             7: 
        !             8: #include <windows.h>
        !             9: 
        !            10: #else
        !            11: 
        !            12: #include <stddef.h> // for wchar_t
        !            13: #include <string.h>
        !            14: 
        !            15: #include "Types.h"
        !            16: #include "MyGuidDef.h"
        !            17: 
        !            18: typedef char CHAR;
        !            19: typedef unsigned char UCHAR;
        !            20: typedef unsigned char BYTE;
        !            21: 
        !            22: typedef short SHORT;
        !            23: typedef unsigned short USHORT;
        !            24: typedef unsigned short WORD;
        !            25: typedef short VARIANT_BOOL;
        !            26: 
        !            27: typedef int INT;
        !            28: typedef Int32 INT32;
        !            29: typedef unsigned int UINT;
        !            30: typedef UInt32 UINT32;
        !            31: typedef INT32 LONG;   // LONG, ULONG and DWORD must be 32-bit
        !            32: typedef UINT32 ULONG;
        !            33: typedef UINT32 DWORD;
        !            34: 
        !            35: typedef Int64 LONGLONG;
        !            36: typedef UInt64 ULONGLONG;
        !            37: 
        !            38: typedef struct LARGE_INTEGER { LONGLONG QuadPart; }LARGE_INTEGER;
        !            39: typedef struct _ULARGE_INTEGER { ULONGLONG QuadPart;} ULARGE_INTEGER;
        !            40: 
        !            41: typedef const CHAR *LPCSTR;
        !            42: typedef CHAR TCHAR;
        !            43: typedef const TCHAR *LPCTSTR;
        !            44: typedef wchar_t WCHAR;
        !            45: typedef WCHAR OLECHAR;
        !            46: typedef const WCHAR *LPCWSTR;
        !            47: typedef OLECHAR *BSTR;
        !            48: typedef const OLECHAR *LPCOLESTR;
        !            49: typedef OLECHAR *LPOLESTR;
        !            50: 
        !            51: typedef struct _FILETIME
        !            52: {
        !            53:   DWORD dwLowDateTime;
        !            54:   DWORD dwHighDateTime;
        !            55: }FILETIME;
        !            56: 
        !            57: #define HRESULT LONG
        !            58: #define FAILED(Status) ((HRESULT)(Status)<0)
        !            59: typedef ULONG PROPID;
        !            60: typedef LONG SCODE;
        !            61: 
        !            62: #define S_OK    ((HRESULT)0x00000000L)
        !            63: #define S_FALSE ((HRESULT)0x00000001L)
        !            64: #define E_NOINTERFACE ((HRESULT)0x80004002L)
        !            65: #define E_ABORT ((HRESULT)0x80004004L)
        !            66: #define E_FAIL ((HRESULT)0x80004005L)
        !            67: #define STG_E_INVALIDFUNCTION ((HRESULT)0x80030001L)
        !            68: #define E_OUTOFMEMORY ((HRESULT)0x8007000EL)
        !            69: #define E_INVALIDARG ((HRESULT)0x80070057L)
        !            70: 
        !            71: #ifdef _MSC_VER
        !            72: #define STDMETHODCALLTYPE __stdcall 
        !            73: #else
        !            74: #define STDMETHODCALLTYPE 
        !            75: #endif
        !            76: 
        !            77: #define STDMETHOD_(t, f) virtual t STDMETHODCALLTYPE f
        !            78: #define STDMETHOD(f) STDMETHOD_(HRESULT, f)
        !            79: #define STDMETHODIMP_(type) type STDMETHODCALLTYPE
        !            80: #define STDMETHODIMP STDMETHODIMP_(HRESULT)
        !            81: 
        !            82: #define PURE = 0
        !            83: 
        !            84: #define MIDL_INTERFACE(x) struct 
        !            85: 
        !            86: struct IUnknown
        !            87: {
        !            88:   STDMETHOD(QueryInterface) (REFIID iid, void **outObject) PURE;
        !            89:   STDMETHOD_(ULONG, AddRef)() PURE;
        !            90:   STDMETHOD_(ULONG, Release)() PURE;
        !            91: };
        !            92: 
        !            93: typedef IUnknown *LPUNKNOWN;
        !            94: 
        !            95: #define VARIANT_TRUE ((VARIANT_BOOL)-1)
        !            96: #define VARIANT_FALSE ((VARIANT_BOOL)0)
        !            97: 
        !            98: enum VARENUM
        !            99: {      
        !           100:   VT_EMPTY     = 0,
        !           101:        VT_NULL = 1,
        !           102:        VT_I2   = 2,
        !           103:        VT_I4   = 3,
        !           104:        VT_R4   = 4,
        !           105:        VT_R8   = 5,
        !           106:        VT_CY   = 6,
        !           107:        VT_DATE = 7,
        !           108:        VT_BSTR = 8,
        !           109:        VT_DISPATCH     = 9,
        !           110:        VT_ERROR        = 10,
        !           111:        VT_BOOL = 11,
        !           112:        VT_VARIANT      = 12,
        !           113:        VT_UNKNOWN      = 13,
        !           114:        VT_DECIMAL      = 14,
        !           115:        VT_I1   = 16,
        !           116:        VT_UI1  = 17,
        !           117:        VT_UI2  = 18,
        !           118:        VT_UI4  = 19,
        !           119:        VT_I8   = 20,
        !           120:        VT_UI8  = 21,
        !           121:        VT_INT  = 22,
        !           122:        VT_UINT = 23,
        !           123:        VT_VOID = 24,
        !           124:        VT_HRESULT      = 25,
        !           125:        VT_FILETIME     = 64
        !           126: };
        !           127: 
        !           128: typedef unsigned short VARTYPE;
        !           129: typedef WORD PROPVAR_PAD1;
        !           130: typedef WORD PROPVAR_PAD2;
        !           131: typedef WORD PROPVAR_PAD3;
        !           132: 
        !           133: typedef struct tagPROPVARIANT
        !           134: {
        !           135:   VARTYPE vt;
        !           136:   PROPVAR_PAD1 wReserved1;
        !           137:   PROPVAR_PAD2 wReserved2;
        !           138:   PROPVAR_PAD3 wReserved3;
        !           139:   union 
        !           140:   {
        !           141:     CHAR cVal;
        !           142:     UCHAR bVal;
        !           143:     SHORT iVal;
        !           144:     USHORT uiVal;
        !           145:     LONG lVal;
        !           146:     ULONG ulVal;
        !           147:     INT intVal;
        !           148:     UINT uintVal;
        !           149:     LARGE_INTEGER hVal;
        !           150:     ULARGE_INTEGER uhVal;
        !           151:     VARIANT_BOOL boolVal;
        !           152:     SCODE scode;
        !           153:     FILETIME filetime;
        !           154:     BSTR bstrVal;
        !           155:   };
        !           156: } PROPVARIANT;
        !           157: 
        !           158: typedef PROPVARIANT tagVARIANT;
        !           159: typedef tagVARIANT VARIANT;
        !           160: typedef VARIANT VARIANTARG;
        !           161: 
        !           162: MY_EXTERN_C BSTR SysAllocStringByteLen(LPCSTR psz, UINT len);
        !           163: MY_EXTERN_C BSTR SysAllocString(const OLECHAR *sz);
        !           164: MY_EXTERN_C void SysFreeString(BSTR bstr);
        !           165: MY_EXTERN_C UINT SysStringByteLen(BSTR bstr);
        !           166: MY_EXTERN_C UINT SysStringLen(BSTR bstr);
        !           167: 
        !           168: MY_EXTERN_C DWORD GetLastError();
        !           169: MY_EXTERN_C HRESULT VariantClear(VARIANTARG *prop);
        !           170: MY_EXTERN_C HRESULT VariantCopy(VARIANTARG *dest, VARIANTARG *src);
        !           171: MY_EXTERN_C LONG CompareFileTime(const FILETIME* ft1, const FILETIME* ft2);
        !           172: 
        !           173: #define CP_ACP    0
        !           174: #define CP_OEMCP  1
        !           175: 
        !           176: typedef enum tagSTREAM_SEEK
        !           177: {      
        !           178:   STREAM_SEEK_SET      = 0,
        !           179:   STREAM_SEEK_CUR      = 1,
        !           180:   STREAM_SEEK_END      = 2
        !           181: } STREAM_SEEK;
        !           182: 
        !           183: #endif
        !           184: #endif

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>