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