summaryrefslogtreecommitdiff
path: root/external/mingwheaders/mingw_headers.patch
diff options
context:
space:
mode:
Diffstat (limited to 'external/mingwheaders/mingw_headers.patch')
-rw-r--r--external/mingwheaders/mingw_headers.patch2130
1 files changed, 2130 insertions, 0 deletions
diff --git a/external/mingwheaders/mingw_headers.patch b/external/mingwheaders/mingw_headers.patch
new file mode 100644
index 000000000000..22995bf19773
--- /dev/null
+++ b/external/mingwheaders/mingw_headers.patch
@@ -0,0 +1,2130 @@
+--- include/crtdbg.h.orig 2006-09-18 01:21:38.968750000 +0900
++++ include/crtdbg.h 2006-09-02 23:12:50.109375000 +0900
+@@ -0,0 +1,11 @@
++#ifndef _CRTDBG_H
++#define _CRTDBG_H
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
++
++#ifndef _ASSERTE
++#define _ASSERTE(expr) ((void)0)
++#endif
++
++#endif
+--- include/excpt.h.orig 2009-01-11 04:32:43.000000000 +0900
++++ include/excpt.h 2009-08-21 09:21:56.000000000 +0900
+@@ -16,8 +16,11 @@
+
+ /* All the headers include this file. */
+ #include <_mingw.h>
++#include <setjmp.h>
++#include <stdarg.h>
+
+ #include <windef.h>
++#include <winbase.h>
+
+ /*
+ * NOTE: The constants structs and typedefs below should be defined in the
+@@ -52,7 +55,7 @@
+ * The type of function that is expected as an exception handler to be
+ * installed with __try1.
+ */
+-typedef EXCEPTION_DISPOSITION (*PEXCEPTION_HANDLER)
++typedef EXCEPTION_DISPOSITION (* PEXCEPTION_HANDLER)
+ (struct _EXCEPTION_RECORD*, void*, struct _CONTEXT*, void*);
+
+ /*
+@@ -93,8 +96,122 @@
+ __asm__ ("movl (%%esp),%%eax;movl %%eax,%%fs:0;addl $8,%%esp;" \
+ : : : "%eax");
+
++WINBASEAPI
++VOID
++WINAPI
++RtlUnwind (
++ IN PVOID TargetFrame OPTIONAL,
++ IN PVOID TargetIp OPTIONAL,
++ IN PEXCEPTION_RECORD ExceptionRecord OPTIONAL,
++ IN PVOID ReturnValue
++ );
+ #ifdef __cplusplus
+ }
++
++class __SEHandler
++{
++ public:
++ __SEHandler() {}
++ ~__SEHandler() {}
++ typedef int (*PF)(void *, LPEXCEPTION_POINTERS);
++ typedef void (*PH)(void *, LPEXCEPTION_POINTERS);
++ typedef void (*PN)(void *);
++ void Set(jmp_buf jb, void *pdata=NULL, PF pfilter=NULL, PH phandlerbody=NULL, PN pfinal=NULL)
++ {
++ __builtin_memcpy(m_jmpbuf, jb, sizeof(jmp_buf));
++ m_pData=pdata;
++ switch (reinterpret_cast<int>(pfilter))
++ {
++ default:
++ m_filter=pfilter;
++ break;
++ case EXCEPTION_CONTINUE_EXECUTION:
++ m_filter=DefaultFilterContinueExecution;
++ break;
++ case EXCEPTION_EXECUTE_HANDLER:
++ m_filter=DefaultFilterExecuteHandler;
++ break;
++ case EXCEPTION_CONTINUE_SEARCH:
++ m_filter=DefaultFilterContinueSearch;
++ break;
++ }
++ if (phandlerbody)
++ m_handlerbody=phandlerbody;
++ else
++ m_handlerbody=DefaultHandler;
++ if (pfinal)
++ m_final=pfinal;
++ else
++ m_final=DefaultFinal;
++ m_ER.pHandlerClass = this;
++ m_ER.hp = handler;
++ asm("movl %%fs:0, %%eax\n\t"
++ "movl %%eax, %0": : "m" (m_ER.prev): "%eax" );
++ asm("movl %0, %%eax\n\t"
++ "movl %%eax, %%fs:0": : "r" (&m_ER): "%eax" );
++ }
++ void Reset()
++ {
++ m_final(m_pData);
++ asm("movl %0, %%eax \n\t"
++ "movl %%eax, %%fs:0"
++ : : "m" (m_ER.prev): "%eax");
++ }
++ private:
++ __SEHandler(const __SEHandler&);
++ __SEHandler& operator=(const __SEHandler&);
++ struct _ER {
++ _ER* prev;
++ PEXCEPTION_HANDLER hp;
++ __SEHandler *pHandlerClass;
++ };
++ static EXCEPTION_DISPOSITION handler(
++ struct _EXCEPTION_RECORD *pExceptionRecord,
++ void * EstablisherFrame,
++ struct _CONTEXT *ContextRecord,
++ void * /*DispatcherContext*/)
++ {
++ __SEHandler* pThis = reinterpret_cast< _ER * >(EstablisherFrame)->pHandlerClass;
++ if ( pExceptionRecord->ExceptionFlags & EH_UNWINDING )
++ {
++ pThis->m_final(pThis->m_pData);
++ return ExceptionContinueSearch;
++ }
++ EXCEPTION_POINTERS ep={pExceptionRecord, ContextRecord};
++ switch ( pThis->m_filter(pThis->m_pData, &ep) )
++ {
++ case EXCEPTION_EXECUTE_HANDLER:
++ RtlUnwind(EstablisherFrame, &&__set_label, pExceptionRecord, 0);
++__set_label:
++ pThis->m_handlerbody(pThis->m_pData, &ep);
++ ContextRecord->Ebp = pThis->m_jmpbuf[0];
++ ContextRecord->Eip = pThis->m_jmpbuf[1];
++ ContextRecord->Esp = pThis->m_jmpbuf[2];
++ return ExceptionContinueExecution;
++ case EXCEPTION_CONTINUE_SEARCH:
++ return ExceptionContinueSearch;
++ case EXCEPTION_CONTINUE_EXECUTION:
++ return ExceptionContinueExecution;
++ }
++ return ExceptionContinueExecution;
++ }
++ static int DefaultFilterContinueSearch(void *, LPEXCEPTION_POINTERS) { return EXCEPTION_CONTINUE_SEARCH; }
++ static int DefaultFilterContinueExecution(void *, LPEXCEPTION_POINTERS) { return EXCEPTION_CONTINUE_EXECUTION; }
++ static int DefaultFilterExecuteHandler(void *, LPEXCEPTION_POINTERS) { return EXCEPTION_EXECUTE_HANDLER; }
++ static void DefaultHandler(void *, LPEXCEPTION_POINTERS) {}
++ static void DefaultFinal(void *) {}
++ typedef int (*handler_p)(
++ struct _EXCEPTION_RECORD *ExceptionRecord,
++ void * EstablisherFrame,
++ struct _CONTEXT *ContextRecord,
++ void * DispatcherContext);
++ _ER m_ER;
++ void *m_pData;
++ PN m_final;
++ PH m_handlerbody;
++ PF m_filter;
++ jmp_buf m_jmpbuf;
++};
+ #endif
+
+ #endif /* Not RC_INVOKED */
+--- include/tchar.h.orig 2009-01-11 04:32:46.000000000 +0900
++++ include/tchar.h 2009-08-21 09:21:56.000000000 +0900
+@@ -223,6 +223,9 @@
+ #define _ttelldir _wtelldir
+ #define _tseekdir _wseekdir
+
++#define _ttempnam _wtempnam
++
++
+ #else /* Not _UNICODE */
+
+ /*
+@@ -407,6 +410,8 @@
+ #define _ttelldir telldir
+ #define _tseekdir seekdir
+
++#define _ttempnam _tempnam
++
+ #endif /* Not _UNICODE */
+
+ /*
+--- include/amvideo.h.orig 2008-12-06 11:31:53.000000000 +0900
++++ include/amvideo.h 2009-08-21 09:21:56.000000000 +0900
+@@ -52,10 +52,10 @@
+ BITMAPINFOHEADER bmiHeader;
+ } VIDEOINFOHEADER;
+ typedef struct tagVIDEOINFO {
+- RECT rcSource,
+- RECT rcTarget,
+- DWORD dwBitRate,
+- DWORD dwBitErrorRate,
++ RECT rcSource;
++ RECT rcTarget;
++ DWORD dwBitRate;
++ DWORD dwBitErrorRate;
+ REFERENCE_TIME AvgTimePerFrame;
+ BITMAPINFOHEADER bmiHeader;
+ union {
+--- include/basetyps.h.orig 2008-12-06 11:31:53.000000000 +0900
++++ include/basetyps.h 2009-08-21 09:21:56.000000000 +0900
+@@ -80,6 +80,8 @@
+ CONST_VTABLE struct i##Vtbl
+ # define DECLARE_INTERFACE_(i,b) DECLARE_INTERFACE(i)
+ # endif
++# define DECLARE_INTERFACE_IID(i,s) EXTERN_C const IID IID_##i; DECLARE_INTERFACE(i)
++# define DECLARE_INTERFACE_IID_(i,b,s) EXTERN_C const IID IID_##i; DECLARE_INTERFACE_(i,b)
+ # define BEGIN_INTERFACE
+ # define END_INTERFACE
+
+--- include/objidl.h.orig 2008-12-06 11:32:04.000000000 +0900
++++ include/objidl.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#include <windows.h>
++#include <ole2.h>
++
+ #ifndef _OBJIDL_H
+ #define _OBJIDL_H
+ #if __GNUC__ >= 3
+@@ -880,8 +883,8 @@
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+- STDMETHOD(AddConnection)(THIS_ DWORD,DWORD) PURE;
+- STDMETHOD(ReleaseConnection)(THIS_ DWORD,DWORD,BOOL) PURE;
++ STDMETHOD_(DWORD,AddConnection)(THIS_ DWORD,DWORD) PURE;
++ STDMETHOD_(DWORD,ReleaseConnection)(THIS_ DWORD,DWORD,BOOL) PURE;
+ };
+ #undef INTERFACE
+
+--- include/specstrings.h.orig 2008-12-06 11:32:09.000000000 +0900
++++ include/specstrings.h 2009-08-21 09:21:56.000000000 +0900
+@@ -11,8 +11,31 @@
+ /* __in and __out currently conflict with libstdc++, use with caution */
+
+
++#define __RPC__deref_inout_opt
++#define __RPC__deref_opt_inout_ecount_full_opt(size)
++#define __RPC__deref_opt_inout_opt
++#define __RPC__deref_out
++#define __RPC__deref_out_ecount_full_opt(size)
++#define __RPC__deref_out_opt
++#define __RPC__deref_out_opt_string
++#define __RPC__in
++#define __RPC__in_ecount_full(size)
++#define __RPC__in_ecount_full_opt(size)
++#define __RPC__in_opt
++#define __RPC__inout
++#define __RPC__inout_ecount_full(size)
++#define __RPC__inout_ecount_full_opt(size)
++#define __RPC__inout_opt
++#define __RPC__out
++#define __RPC__out_ecount_full(size)
++#define __RPC__out_ecount_full_string(size)
++#define __RPC__out_ecount_part(size,init)
++#define __RPC_unique_pointer
+ #define __bcount(size)
+ #define __bcount_opt(size)
++#define __callback
++#define __checkReturn
++#define __deref
+ #define __deref_bcount(size)
+ #define __deref_bcount_opt(size)
+ #define __deref_ecount(size)
+@@ -36,6 +59,7 @@
+ #define __deref_inout_ecount_opt(size)
+ #define __deref_inout_ecount_part(size,length)
+ #define __deref_inout_ecount_part_opt(size,length)
++#define __deref_inout_ecount_z(size)
+ #define __deref_inout_opt
+ #define __deref_opt_bcount(size)
+ #define __deref_opt_bcount_opt(size)
+@@ -89,14 +113,23 @@
+ #define __deref_out_ecount_part(size,length)
+ #define __deref_out_ecount_part_opt(size,length)
+ #define __deref_out_opt
++#define __deref_out_z
++#define __deref_out_z_opt
+ #define __ecount(size)
+ #define __ecount_opt(size)
++#define __field_bcount(size)
++#define __field_ecount(size)
++#define __field_ecount_opt(size)
++#define __format_string
++#define __gdi_entry
+ #define __in
+ #define __in_bcount(size)
+ #define __in_bcount_opt(size)
+ #define __in_ecount(size)
+ #define __in_ecount_opt(size)
+ #define __in_opt
++#define __in_xcount(size)
++#define __in_z_opt
+ #define __inout
+ #define __inout_bcount(size)
+ #define __inout_bcount_full(size)
+@@ -111,7 +144,12 @@
+ #define __inout_ecount_part(size,length)
+ #define __inout_ecount_part_opt(size,length)
+ #define __inout_opt
++#define __inout_xcount(size)
++#define __notnull
++#define __nullnullterminated
++#define __nullterminated
+ #define __out
++#define __out_awcount(expr,size)
+ #define __out_bcount(size)
+ #define __out_bcount_full(size)
+ #define __out_bcount_full_opt(size)
+@@ -119,12 +157,20 @@
+ #define __out_bcount_part(size,length)
+ #define __out_bcount_part_opt(size,length)
+ #define __out_ecount(size)
++#define __out_ecount(size)
+ #define __out_ecount_full(size)
+ #define __out_ecount_full_opt(size)
+ #define __out_ecount_opt(size)
+ #define __out_ecount_part(size,length)
+ #define __out_ecount_part_opt(size,length)
+ #define __out_opt
++#define __out_xcount(size)
++#define __out_xcount_opt(size)
++#define __reserved
++#define __struct_bcount(size)
++#define __success(expr)
++#define __typefix(ctype)
++#define __unaligned
+
+
+ #endif /*_SPECSTRINGS_H */
+--- include/uxtheme.h.orig 2008-12-06 11:32:11.000000000 +0900
++++ include/uxtheme.h 2010-01-22 14:50:56.327000000 +0900
+@@ -10,7 +10,7 @@
+ extern "C" {
+ #endif
+
+-#if (_WIN32_WINNT >= 0x0501)
++#if (_WIN32_WINNT >= 0x0500)
+ #define DTBG_CLIPRECT 0x00000001
+ #define DTBG_DRAWSOLID 0x00000002
+ #define DTBG_OMITBORDER 0x00000004
+@@ -35,6 +35,7 @@
+ #define HTTB_RESIZINGBORDER (HTTB_RESIZINGBORDER_LEFT|HTTB_RESIZINGBORDER_TOP|HTTB_RESIZINGBORDER_RIGHT|HTTB_RESIZINGBORDER_BOTTOM)
+ #define HTTB_SIZINGTEMPLATE 0x0100
+ #define HTTB_SYSTEMSIZINGMARGINS 0x0200
++#if 0
+ #define TMT_DISPLAYNAME 0x0259
+ #define TMT_TOOLTIP 0x025A
+ #define TMT_COMPANY 0x025B
+@@ -186,6 +187,7 @@
+ #define BT_IMAGEFILE 0x0000
+ #define BT_BORDERFILL 0x0001
+ #define BT_NONE 0x0002
++#endif
+
+ typedef enum PROPERTYORIGIN {
+ PO_STATE = 0,
+--- include/winbase.h.orig 2008-12-06 11:32:11.000000000 +0900
++++ include/winbase.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1354,8 +1354,8 @@
+ WINBASEAPI HANDLE WINAPI FindFirstFileExW(LPCWSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD);
+ WINBASEAPI BOOL WINAPI FindFirstFreeAce(PACL,PVOID*);
+ #if (_WIN32_WINNT >= 0x0500)
+-WINBASEAPI HANDLE WINAPI FindFirstVolumeA(LPCSTR,DWORD);
+-WINBASEAPI HANDLE WINAPI FindFirstVolumeW(LPCWSTR,DWORD);
++WINBASEAPI HANDLE WINAPI FindFirstVolumeA(LPSTR,DWORD);
++WINBASEAPI HANDLE WINAPI FindFirstVolumeW(LPWSTR,DWORD);
+ WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointA(LPSTR,LPSTR,DWORD);
+ WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointW(LPWSTR,LPWSTR,DWORD);
+ #endif
+@@ -1363,7 +1363,7 @@
+ WINBASEAPI BOOL WINAPI FindNextFileA(HANDLE,LPWIN32_FIND_DATAA);
+ WINBASEAPI BOOL WINAPI FindNextFileW(HANDLE,LPWIN32_FIND_DATAW);
+ #if (_WIN32_WINNT >= 0x0500)
+-WINBASEAPI BOOL WINAPI FindNextVolumeA(HANDLE,LPCSTR,DWORD);
++WINBASEAPI BOOL WINAPI FindNextVolumeA(HANDLE,LPSTR,DWORD);
+ WINBASEAPI BOOL WINAPI FindNextVolumeW(HANDLE,LPWSTR,DWORD);
+ WINBASEAPI BOOL WINAPI FindNextVolumeMountPointA(HANDLE,LPSTR,DWORD);
+ WINBASEAPI BOOL WINAPI FindNextVolumeMountPointW(HANDLE,LPWSTR,DWORD);
+@@ -1475,10 +1475,10 @@
+ WINBASEAPI DWORD WINAPI GetLogicalDrives(void);
+ WINBASEAPI DWORD WINAPI GetLogicalDriveStringsA(DWORD,LPSTR);
+ WINBASEAPI DWORD WINAPI GetLogicalDriveStringsW(DWORD,LPWSTR);
+-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
++//#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
+ WINBASEAPI DWORD WINAPI GetLongPathNameA(LPCSTR,LPSTR,DWORD);
+ WINBASEAPI DWORD WINAPI GetLongPathNameW(LPCWSTR,LPWSTR,DWORD);
+-#endif
++//#endif
+ WINBASEAPI BOOL WINAPI GetMailslotInfo(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD);
+ WINBASEAPI DWORD WINAPI GetModuleFileNameA(HINSTANCE,LPSTR,DWORD);
+ WINBASEAPI DWORD WINAPI GetModuleFileNameW(HINSTANCE,LPWSTR,DWORD);
+@@ -1519,9 +1519,9 @@
+ #endif
+ WINBASEAPI HANDLE WINAPI GetProcessHeap(VOID);
+ WINBASEAPI DWORD WINAPI GetProcessHeaps(DWORD,PHANDLE);
+-#if (_WIN32_WINNT >= 0x0501)
++//#if (_WIN32_WINNT >= 0x0501)
+ WINBASEAPI DWORD WINAPI GetProcessId(HANDLE);
+-#endif
++//#endif
+ #if (_WIN32_WINNT >= 0x0500)
+ WINBASEAPI BOOL WINAPI GetProcessIoCounters(HANDLE,PIO_COUNTERS);
+ #endif
+@@ -1802,9 +1802,9 @@
+ WINBASEAPI BOOL WINAPI OpenProcessToken(HANDLE,DWORD,PHANDLE);
+ WINBASEAPI HANDLE WINAPI OpenSemaphoreA(DWORD,BOOL,LPCSTR);
+ WINBASEAPI HANDLE WINAPI OpenSemaphoreW(DWORD,BOOL,LPCWSTR);
+-#if (_WIN32_WINNT >= 0x0500) || (_WIN32_WINDOWS >= 0x0490)
++//#if (_WIN32_WINNT >= 0x0500) || (_WIN32_WINDOWS >= 0x0490)
+ WINBASEAPI HANDLE WINAPI OpenThread(DWORD,BOOL,DWORD);
+-#endif
++//#endif
+ WINBASEAPI BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
+ WINBASEAPI HANDLE WINAPI OpenWaitableTimerA(DWORD,BOOL,LPCSTR);
+ WINBASEAPI HANDLE WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR);
+@@ -2029,6 +2029,7 @@
+ WINBASEAPI DWORD WINAPI WaitForSingleObjectEx(HANDLE,DWORD,BOOL);
+ WINBASEAPI BOOL WINAPI WaitNamedPipeA(LPCSTR,DWORD);
+ WINBASEAPI BOOL WINAPI WaitNamedPipeW(LPCWSTR,DWORD);
++WINBASEAPI UINT WINAPI WinExec(LPCSTR,UINT);
+ WINBASEAPI BOOL WINAPI WinLoadTrustProvider(GUID*);
+ WINBASEAPI BOOL WINAPI WriteFile(HANDLE,PCVOID,DWORD,PDWORD,LPOVERLAPPED);
+ WINBASEAPI BOOL WINAPI WriteFileEx(HANDLE,PCVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
+@@ -2151,9 +2152,9 @@
+ #define GetFileAttributesEx GetFileAttributesExW
+ #define GetFullPathName GetFullPathNameW
+ #define GetLogicalDriveStrings GetLogicalDriveStringsW
+-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
++//#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
+ #define GetLongPathName GetLongPathNameW
+-#endif
++//#endif
+ #define GetModuleFileName GetModuleFileNameW
+ #define GetModuleHandle GetModuleHandleW
+ #if (_WIN32_WINNT >= 0x0500)
+@@ -2346,9 +2347,9 @@
+ #define GetFileAttributesEx GetFileAttributesExA
+ #define GetFullPathName GetFullPathNameA
+ #define GetLogicalDriveStrings GetLogicalDriveStringsA
+-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
++//#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
+ #define GetLongPathName GetLongPathNameA
+-#endif
++//#endif
+ #define GetNamedPipeHandleState GetNamedPipeHandleStateA
+ #define GetModuleHandle GetModuleHandleA
+ #if (_WIN32_WINNT >= 0x0500)
+--- include/windef.h.orig 2008-12-06 11:32:12.000000000 +0900
++++ include/windef.h 2009-08-21 09:21:56.000000000 +0900
+@@ -251,6 +251,7 @@
+ typedef unsigned int UINT,*PUINT,*LPUINT;
+
+ #include <winnt.h>
++#include <specstrings.h>
+
+ typedef UINT_PTR WPARAM;
+ typedef LONG_PTR LPARAM;
+--- include/wininet.h.orig 2008-12-06 11:32:13.000000000 +0900
++++ include/wininet.h 2009-08-21 09:21:56.000000000 +0900
+@@ -868,6 +868,7 @@
+ BOOL WINAPI InternetAutodial(DWORD,DWORD);
+ BOOL WINAPI InternetAutodialHangup(DWORD);
+ BOOL WINAPI InternetGetConnectedState(LPDWORD,DWORD);
++BOOL WINAPI InternetGetConnectedStateEx(LPDWORD,LPTSTR,DWORD,DWORD);
+ BOOL WINAPI InternetSetDialState(LPCTSTR,DWORD,DWORD);
+ BOOL WINAPI InternetReadFileExA(HINTERNET,LPINTERNET_BUFFERSA,DWORD,DWORD_PTR);
+ BOOL WINAPI InternetReadFileExW(HINTERNET,LPINTERNET_BUFFERSW,DWORD,DWORD_PTR);
+--- include/winver.h.orig 2008-12-06 11:32:14.000000000 +0900
++++ include/winver.h 2009-08-21 09:21:56.000000000 +0900
+@@ -101,10 +101,10 @@
+ DWORD WINAPI VerFindFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT,LPWSTR,PUINT);
+ DWORD WINAPI VerInstallFileA(DWORD,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,PUINT);
+ DWORD WINAPI VerInstallFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT);
+-DWORD WINAPI GetFileVersionInfoSizeA(LPCSTR,PDWORD);
+-DWORD WINAPI GetFileVersionInfoSizeW(LPCWSTR,PDWORD);
+-BOOL WINAPI GetFileVersionInfoA(LPCSTR,DWORD,DWORD,PVOID);
+-BOOL WINAPI GetFileVersionInfoW(LPCWSTR,DWORD,DWORD,PVOID);
++DWORD WINAPI GetFileVersionInfoSizeA(LPSTR,PDWORD);
++DWORD WINAPI GetFileVersionInfoSizeW(LPWSTR,PDWORD);
++BOOL WINAPI GetFileVersionInfoA(LPSTR,DWORD,DWORD,PVOID);
++BOOL WINAPI GetFileVersionInfoW(LPWSTR,DWORD,DWORD,PVOID);
+ DWORD WINAPI VerLanguageNameA(DWORD,LPSTR,DWORD);
+ DWORD WINAPI VerLanguageNameW(DWORD,LPWSTR,DWORD);
+ BOOL WINAPI VerQueryValueA(const LPVOID,LPSTR,LPVOID*,PUINT);
+--- include/wtypes.h.orig 2008-12-06 11:32:14.000000000 +0900
++++ include/wtypes.h 2009-08-21 09:21:56.000000000 +0900
+@@ -66,6 +66,19 @@
+ unsigned short asData[1];
+ }FLAGGED_WORD_BLOB;
+
++typedef struct _COAUTHIDENTITY
++ {
++ /* [size_is] */ USHORT *User;
++ /* [range] */ ULONG UserLength;
++ /* [size_is] */ USHORT *Domain;
++ /* [range] */ ULONG DomainLength;
++ /* [size_is] */ USHORT *Password;
++ /* [range] */ ULONG PasswordLength;
++ ULONG Flags;
++ } COAUTHIDENTITY;
++
++typedef WORD CLIPFORMAT,*LPCLIPFORMAT;
++
+ #ifndef OLE2ANSI
+ typedef WCHAR OLECHAR;
+ typedef LPWSTR LPOLESTR;
+@@ -94,6 +107,7 @@
+ }_STRUCT_NAME(s);
+ LONGLONG int64;
+ } CY;
++typedef union tagCY *LPCY;
+ typedef double DATE;
+ typedef struct tagBSTRBLOB {
+ ULONG cbSize;
+@@ -165,6 +179,52 @@
+ #define DECIMAL_SETZERO(d) {(d).Lo64=(d).Hi32=(d).signscale=0;}
+ #endif
+ typedef void *HMETAFILEPICT;
++
++typedef enum tagTYSPEC {
++ TYSPEC_CLSID,
++ TYSPEC_FILEEXT,
++ TYSPEC_MIMETYPE,
++ TYSPEC_FILENAME,
++ TYSPEC_PROGID,
++ TYSPEC_PACKAGENAME,
++ TYSPEC_OBJECTID
++} TYSPEC;
++
++typedef union {
++ CLSID clsid;
++ LPOLESTR pFileExt;
++ LPOLESTR pMimeType;
++ LPOLESTR pProgId;
++ LPOLESTR pFileName;
++ struct {
++ LPOLESTR pPackageName;
++ GUID PolicyId;
++ } ByName;
++ struct {
++ GUID ObjectId;
++ GUID PolicyId;
++ } ByObjectId;
++} uCLSSPEC;
++
++typedef struct tagCSPLATFORM {
++ DWORD dwContext;
++ DWORD dwVersionHi;
++ DWORD dwVersionLo;
++ DWORD dwProcessorArch;
++} CSPLATFORM;
++
++typedef struct tagQUERYCONTEXT {
++ DWORD dwContext;
++ CSPLATFORM Platform;
++ LCID Locale;
++ DWORD dwVersionHi;
++ DWORD dwVersionLo;
++} QUERYCONTEXT;
++typedef struct
++{
++ GUID fmtid;
++ DWORD pid;
++} PROPERTYKEY;
+ #ifdef __cplusplus
+ }
+ #endif
+--- include/adoctint.h.orig 2008-01-18 22:17:10.000000000 +0900
++++ include/adoctint.h 2009-08-21 09:21:56.000000000 +0900
+@@ -11,6 +11,9 @@
+ //--------------------------------------------------------------------
+ #ifndef _ADOCTINT_H_
+ #define _ADOCTINT_H_
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+ #ifndef _INC_TCHAR
+ #include <tchar.h>
+@@ -2489,11 +2492,11 @@
+ #endif /* __Procedure_INTERFACE_DEFINED__ */
+ EXTERN_C const CLSID CLSID_Catalog;
+ #ifdef __cplusplus
+-Catalog;
++//Catalog;
+ #endif
+ EXTERN_C const CLSID CLSID_Table;
+ #ifdef __cplusplus
+-Table;
++//Table;
+ #endif
+ #ifndef __Property_INTERFACE_DEFINED__
+ #define __Property_INTERFACE_DEFINED__
+@@ -2635,23 +2638,23 @@
+ #endif /* __Property_INTERFACE_DEFINED__ */
+ EXTERN_C const CLSID CLSID_Group;
+ #ifdef __cplusplus
+-Group;
++//Group;
+ #endif
+ EXTERN_C const CLSID CLSID_User;
+ #ifdef __cplusplus
+-User;
++//User;
+ #endif
+ EXTERN_C const CLSID CLSID_Column;
+ #ifdef __cplusplus
+-Column;
++//Column;
+ #endif
+ EXTERN_C const CLSID CLSID_Index;
+ #ifdef __cplusplus
+-Index;
++//Index;
+ #endif
+ EXTERN_C const CLSID CLSID_Key;
+ #ifdef __cplusplus
+-Key;
++//Key;
+ #endif
+ #ifndef __Tables_INTERFACE_DEFINED__
+ #define __Tables_INTERFACE_DEFINED__
+@@ -3332,8 +3335,8 @@
+ /* [in] */ VARIANT Item,
+ /* [defaultvalue][in] */ KeyTypeEnum Type,
+ /* [optional][in] */ VARIANT Column,
+- /* [defaultvalue][in] */ __RPC__in BSTR RelatedADOTable = L"",
+- /* [defaultvalue][in] */ __RPC__in BSTR RelatedADOColumn = L"") = 0;
++ /* [defaultvalue][in] */ __RPC__in BSTR RelatedADOTable = const_cast<BSTR>(L""),
++ /* [defaultvalue][in] */ __RPC__in BSTR RelatedADOColumn = const_cast<BSTR>(L"")) = 0;
+
+ virtual /* [helpcontext] */ HRESULT STDMETHODCALLTYPE Delete(
+ /* [in] */ VARIANT Item) = 0;
+--- include/adodef.h.orig 2008-01-18 22:17:10.000000000 +0900
++++ include/adodef.h 2009-08-21 09:21:56.000000000 +0900
+@@ -12,6 +12,9 @@
+
+ #ifndef _ADODEF_H_
+ #define _ADODEF_H_
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+ // TYPELIB MAJOR VERSIONS
+ #define ADO_MAJOR 6
+--- include/adoguids.h.orig 2008-01-18 22:17:10.000000000 +0900
++++ include/adoguids.h 2009-08-21 09:21:56.000000000 +0900
+@@ -11,6 +11,10 @@
+ //-----------------------------------------------------------------------------
+
+
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
++
+ #define STRING_GUID(l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) l##-##w1##-##w2##-##b1##b2##-##b3##b4##b5##b6##b7##b8
+
+ #if defined(__midl) || defined(GEN_MIDL)
+--- include/adoint.h.orig 2008-01-18 22:17:10.000000000 +0900
++++ include/adoint.h 2009-08-21 09:21:56.000000000 +0900
+@@ -11,6 +11,9 @@
+ //--------------------------------------------------------------------
+ #ifndef _ADOINT_H_
+ #define _ADOINT_H_
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+ #ifndef _INC_TCHAR
+ #include <tchar.h>
+@@ -3494,7 +3497,7 @@
+ #endif /* __ADOConnectionConstruction_INTERFACE_DEFINED__ */
+ EXTERN_C const CLSID CLSID_Connection;
+ #ifdef __cplusplus
+-Connection;
++//Connection;
+ #endif
+ #ifndef ___Record_INTERFACE_DEFINED__
+ #define ___Record_INTERFACE_DEFINED__
+@@ -3793,7 +3796,7 @@
+ #endif /* ___Record_INTERFACE_DEFINED__ */
+ EXTERN_C const CLSID CLSID_Record;
+ #ifdef __cplusplus
+-Record;
++//Record;
+ #endif
+ #ifndef ___Stream_INTERFACE_DEFINED__
+ #define ___Stream_INTERFACE_DEFINED__
+@@ -4123,7 +4126,7 @@
+ #endif /* ___Stream_INTERFACE_DEFINED__ */
+ EXTERN_C const CLSID CLSID_Stream;
+ #ifdef __cplusplus
+-Stream;
++//Stream;
+ #endif
+ #ifndef __ADORecordConstruction_INTERFACE_DEFINED__
+ #define __ADORecordConstruction_INTERFACE_DEFINED__
+@@ -4405,11 +4408,11 @@
+ #endif /* __ADOCommandConstruction_INTERFACE_DEFINED__ */
+ EXTERN_C const CLSID CLSID_Command;
+ #ifdef __cplusplus
+-Command;
++//Command;
+ #endif
+ EXTERN_C const CLSID CLSID_Recordset;
+ #ifdef __cplusplus
+-Recordset;
++//Recordset;
+ #endif
+ #ifndef __Recordset15_INTERFACE_DEFINED__
+ #define __Recordset15_INTERFACE_DEFINED__
+@@ -8305,7 +8308,7 @@
+ #endif /* ___Parameter_INTERFACE_DEFINED__ */
+ EXTERN_C const CLSID CLSID_Parameter;
+ #ifdef __cplusplus
+-Parameter;
++//Parameter;
+ #endif
+ #ifndef __Parameters_INTERFACE_DEFINED__
+ #define __Parameters_INTERFACE_DEFINED__
+--- include/bcrypt.h.orig 2008-01-18 22:17:12.000000000 +0900
++++ include/bcrypt.h 2008-04-10 22:57:54.410750000 +0900
+@@ -40,12 +40,6 @@
+ #define OPTIONAL
+ #endif
+
+-#if !defined(__midl)
+-#define BCRYPT_STRUCT_ALIGNMENT __declspec(align(BCRYPT_OBJECT_ALIGNMENT))
+-#else
+-#define BCRYPT_STRUCT_ALIGNMENT
+-#endif /*!defined(__midl)*/
+-
+ //
+ // Alignment macros
+ //
+@@ -57,11 +51,7 @@
+ #define BCRYPT_OBJECT_ALIGNMENT 4
+ #endif
+
+-#if !defined(__midl)
+-#define BCRYPT_STRUCT_ALIGNMENT __declspec(align(BCRYPT_OBJECT_ALIGNMENT))
+-#else
+ #define BCRYPT_STRUCT_ALIGNMENT
+-#endif /*!defined(__midl)*/
+
+ //
+ // DeriveKey KDF Types
+@@ -108,7 +98,11 @@
+
+ typedef BCRYPT_KEY_LENGTHS_STRUCT BCRYPT_AUTH_TAG_LENGTHS_STRUCT;
+
+-#pragma pack(push, BCRYPT_OBJECT_ALIGNMENT)
++#if defined(_IA64_) || defined(_AMD64_)
++#pragma pack(push, 8)
++#else
++#pragma pack(push, 4)
++#endif
+ typedef BCRYPT_STRUCT_ALIGNMENT struct _BCRYPT_OID
+ {
+ ULONG cbOID;
+--- include/commctrl.h.orig 2008-01-18 22:17:14.000000000 +0900
++++ include/commctrl.h 2009-08-21 09:21:56.000000000 +0900
+@@ -14,6 +14,14 @@
+ #ifndef _INC_COMMCTRL
+ #define _INC_COMMCTRL
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++
+ #if defined(_MSC_VER) && (_MSC_VER >= 1200)
+ #pragma warning(push)
+ #pragma warning(disable:4001) /* nonstandard extension : single line comment */
+@@ -369,8 +377,10 @@
+
+ // Shell reserved (0U-580U) - (0U-589U)
+
++#ifndef CDN_FIRST
+ #define CDN_FIRST (0U-601U) // common dialog (new)
+ #define CDN_LAST (0U-699U)
++#endif
+
+ #define TBN_FIRST (0U-700U) // toolbar
+ #define TBN_LAST (0U-720U)
+@@ -683,7 +693,7 @@
+ #define ILP_DOWNLEVEL 1 // Write or reads the stream using downlevel sematics.
+
+
+-WINCOMMCTRLAPI HRESULT WINAPI ImageList_ReadEx(DWORD dwFlags, LPSTREAM pstm, REFIID riid, PVOID* ppv);
++//WINCOMMCTRLAPI HRESULT WINAPI ImageList_ReadEx(DWORD dwFlags, LPSTREAM pstm, REFIID riid, PVOID* ppv);
+ WINCOMMCTRLAPI HRESULT WINAPI ImageList_WriteEx(HIMAGELIST himl, DWORD dwFlags, LPSTREAM pstm);
+ #endif
+
+@@ -713,7 +723,7 @@
+ #endif
+
+ #if (_WIN32_WINNT >= 0x0501)
+-WINCOMMCTRLAPI HRESULT WINAPI HIMAGELIST_QueryInterface(HIMAGELIST himl, REFIID riid, void** ppv);
++//WINCOMMCTRLAPI HRESULT WINAPI HIMAGELIST_QueryInterface(HIMAGELIST himl, REFIID riid, void** ppv);
+
+ #ifdef __cplusplus
+ FORCEINLINE HIMAGELIST IImageListToHIMAGELIST(struct IImageList *himl)
+@@ -8056,8 +8066,10 @@
+ #if (_WIN32_WINNT >= 0x0501)
+
+ // custom combobox control messages
++#ifndef CB_SETMINVISIBLE
+ #define CB_SETMINVISIBLE (CBM_FIRST + 1)
+ #define CB_GETMINVISIBLE (CBM_FIRST + 2)
++#endif
+ #define CB_SETCUEBANNER (CBM_FIRST + 3)
+ #define CB_GETCUEBANNER (CBM_FIRST + 4)
+
+@@ -8651,7 +8663,7 @@
+
+ #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */
+ #if defined(ISOLATION_AWARE_ENABLED) && (ISOLATION_AWARE_ENABLED != 0)
+-#include "commctrl.inl"
++//#include "commctrl.inl"
+ #endif /* ISOLATION_AWARE_ENABLED */
+ #endif /* RC */
+
+@@ -8666,6 +8678,10 @@
+ #pragma warning(pop)
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif /* _INC_COMMCTRL */
+
+
+--- include/control.h.orig 2008-01-18 22:17:14.000000000 +0900
++++ include/control.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+
+ /* this ALWAYS GENERATED file contains the definitions for the interfaces */
+--- include/dispex.h.orig 2008-01-18 22:17:16.000000000 +0900
++++ include/dispex.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+
+ /* this ALWAYS GENERATED file contains the definitions for the interfaces */
+--- include/filter.h.orig 2008-01-18 22:17:18.000000000 +0900
++++ include/filter.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+
+ /* this ALWAYS GENERATED file contains the definitions for the interfaces */
+--- include/gdiplusbitmap.h.orig 2008-01-18 22:17:46.000000000 +0900
++++ include/gdiplusbitmap.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+ /**************************************************************************\
+ *
+ * Copyright (c) 1998-2001, Microsoft Corp. All Rights Reserved.
+--- include/gdiplusbrush.h.orig 2008-01-18 22:17:46.000000000 +0900
++++ include/gdiplusbrush.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+ /**************************************************************************\
+ *
+ * Copyright (c) 1998-2001, Microsoft Corp. All Rights Reserved.
+--- include/gdiplusenums.h.orig 2008-01-18 22:17:46.000000000 +0900
++++ include/gdiplusenums.h 2009-08-21 09:21:56.000000000 +0900
+@@ -542,7 +542,7 @@
+
+ #define GDIP_EMFPLUS_RECORD_BASE 0x00004000
+ #define GDIP_WMF_RECORD_BASE 0x00010000
+-#define GDIP_WMF_RECORD_TO_EMFPLUS(n) ((EmfPlusRecordType)((n) | GDIP_WMF_RECORD_BASE))
++#define GDIP_WMF_RECORD_TO_EMFPLUS(n) ((n) | GDIP_WMF_RECORD_BASE)
+ #define GDIP_EMFPLUS_RECORD_TO_WMF(n) ((n) & (~GDIP_WMF_RECORD_BASE))
+ #define GDIP_IS_WMF_RECORDTYPE(n) (((n) & GDIP_WMF_RECORD_BASE) != 0)
+
+--- include/gdiplusfont.h.orig 2008-01-18 22:17:46.000000000 +0900
++++ include/gdiplusfont.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+ /**************************************************************************\
+ *
+ * Copyright (c) 1998-2001, Microsoft Corp. All Rights Reserved.
+--- include/gdiplusheaders.h.orig 2008-01-18 22:17:46.000000000 +0900
++++ include/gdiplusheaders.h 2008-03-28 21:44:34.907750000 +0900
+@@ -704,7 +704,7 @@
+
+ class CachedBitmap : public GdiplusBase
+ {
+- friend Graphics;
++ friend class Graphics;
+
+ public:
+ CachedBitmap(IN Bitmap *bitmap,
+@@ -888,7 +888,7 @@
+
+ UINT GetDownLevelRasterizationLimit() const;
+
+- static UINT Metafile::EmfToWmfBits(
++ static UINT EmfToWmfBits(
+ IN HENHMETAFILE hemf,
+ IN UINT cbData16,
+ OUT LPBYTE pData16,
+--- include/gdiplusimageattributes.h.orig 2008-01-18 22:17:46.000000000 +0900
++++ include/gdiplusimageattributes.h 2009-08-21 09:21:56.000000000 +0900
+@@ -32,6 +32,9 @@
+
+ #ifndef _GDIPLUSIMAGEATTRIBUTES_H
+ #define _GDIPLUSIMAGEATTRIBUTES_H
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+ class GpImageAttributes;
+
+--- include/gdiplusimaging.h.orig 2008-01-18 22:17:46.000000000 +0900
++++ include/gdiplusimaging.h 2009-08-21 09:21:56.000000000 +0900
+@@ -160,7 +160,7 @@
+ UINT Width;
+ UINT Height;
+ INT Stride;
+- PixelFormat PixelFormat;
++ ::Gdiplus::PixelFormat PixelFormat;
+ VOID* Scan0;
+ UINT_PTR Reserved;
+ };
+--- include/gdiplusmatrix.h.orig 2008-01-18 22:17:46.000000000 +0900
++++ include/gdiplusmatrix.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+ /**************************************************************************\
+ *
+ * Copyright (c) 1998-2001, Microsoft Corp. All Rights Reserved.
+--- include/gdipluspath.h.orig 2008-01-18 22:17:46.000000000 +0900
++++ include/gdipluspath.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+ /**************************************************************************\
+ *
+ * Copyright (c) 1998-2001, Microsoft Corp. All Rights Reserved.
+--- include/gdipluspen.h.orig 2008-01-18 22:17:46.000000000 +0900
++++ include/gdipluspen.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+ /**************************************************************************\
+ *
+ * Copyright (c) 1998-2001, Microsoft Corp. All Rights Reserved.
+--- include/gdiplusregion.h.orig 2008-01-18 22:17:46.000000000 +0900
++++ include/gdiplusregion.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+ /**************************************************************************\
+ *
+ * Copyright (c) 1998-2001, Microsoft Corp. All Rights Reserved.
+--- include/gdiplusstringformat.h.orig 2008-01-18 22:17:46.000000000 +0900
++++ include/gdiplusstringformat.h 2009-08-21 09:21:56.000000000 +0900
+@@ -217,7 +217,7 @@
+ ));
+ }
+
+- StringTrimming StringFormat::GetTrimming() const
++ StringTrimming GetTrimming() const
+ {
+ StringTrimming trimming;
+ SetStatus(DllExports::GdipGetStringFormatTrimming(
+--- include/imm.h.orig 2008-01-18 22:17:20.000000000 +0900
++++ include/imm.h 2009-08-21 09:21:56.000000000 +0900
+@@ -7,6 +7,13 @@
+ #ifndef _IMM_
+ #define _IMM_
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
+
+ #ifdef __cplusplus
+ extern "C" {
+@@ -715,5 +722,9 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif // _IMM_
+
+--- include/imagehlp.h.orig 2008-01-18 22:17:20.000000000 +0900
++++ include/imagehlp.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+ /*++ BUILD Version: 0000 Increment this if a change has global effects
+
+ Copyright (c) Microsoft Corporation. All rights reserved.
+@@ -59,6 +62,13 @@
+ #include <wintrust.h>
+ #endif
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
+
+ #ifdef __cplusplus
+ extern "C" {
+@@ -407,7 +417,7 @@
+ IMAGEAPI
+ TouchFileTimes (
+ __in HANDLE FileHandle,
+- __in_opt PSYSTEMTIME pSystemTime
++ __in_opt LPSYSTEMTIME pSystemTime
+ );
+
+ BOOL
+@@ -3950,7 +3960,7 @@
+ // ThreadId must be 4 bytes on all architectures.
+ //
+
+-C_ASSERT (sizeof ( ((PPROCESS_INFORMATION)0)->dwThreadId ) == 4);
++//C_ASSERT (sizeof ( ((PPROCESS_INFORMATION)0)->dwThreadId ) == 4);
+
+ typedef struct _MINIDUMP_THREAD {
+ ULONG32 ThreadId;
+@@ -4684,5 +4694,9 @@
+ #endif
+
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif // _IMAGEHLP_
+
+--- include/mapiwin.h.orig 2008-01-18 22:17:22.000000000 +0900
++++ include/mapiwin.h 2009-08-21 09:21:56.000000000 +0900
+@@ -428,5 +428,5 @@
+ #endif
+
+ #endif /* __MAPIWIN_H__ */
+-
++
+
+--- include/msdasc.h.orig 2008-01-18 22:17:26.000000000 +0900
++++ include/msdasc.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+
+ /* this ALWAYS GENERATED file contains the definitions for the interfaces */
+--- include/msi.h.orig 2008-01-18 22:17:28.000000000 +0900
++++ include/msi.h 2009-08-21 09:21:56.000000000 +0900
+@@ -59,6 +59,14 @@
+ #endif // _MSI_NO_CRYPTO
+ #endif //(_WIN32_MSI >= 150)
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++
+ // --------------------------------------------------------------------------
+ // Installer generic handle definitions
+ // --------------------------------------------------------------------------
+@@ -2248,5 +2256,9 @@
+ // LOCALIZE END
+
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif // _MSI_H_
+
+--- include/msiquery.h.orig 2008-01-18 22:17:28.000000000 +0900
++++ include/msiquery.h 2009-08-21 09:21:56.000000000 +0900
+@@ -21,6 +21,14 @@
+ #define _MSIQUERY_H_
+ #include "msi.h" // INSTALLSTATE
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++
+ #define MSI_NULL_INTEGER 0x80000000 // integer value reserved for null
+
+ // MsiOpenDatabase persist predefine values, otherwise output database path is used
+@@ -1026,5 +1034,9 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif // _MSIQUERY_H_
+
+--- include/multimon.h.orig 2008-01-18 22:17:30.000000000 +0900
++++ include/multimon.h 2009-08-21 09:21:56.000000000 +0900
+@@ -175,7 +175,7 @@
+
+ BOOL IsPlatformNT()
+ {
+- OSVERSIONINFOA osvi = {0};
++ OSVERSIONINFOA osvi;
+ osvi.dwOSVersionInfoSize = sizeof(osvi);
+ GetVersionExA((OSVERSIONINFOA*)&osvi);
+ return (VER_PLATFORM_WIN32_NT == osvi.dwPlatformId);
+--- include/ntquery.h.orig 2008-01-18 22:17:30.000000000 +0900
++++ include/ntquery.h 2009-02-16 21:34:39.065125000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+ //+---------------------------------------------------------------------------
+ //
+ // Microsoft Windows
+@@ -18,6 +21,14 @@
+
+ #include "stgprop.h"
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++
+ #if defined(__cplusplus)
+ extern "C"
+ {
+@@ -404,6 +415,10 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif // __NTQUERY_H__
+
+
+--- include/oaidl.h.orig 2008-12-06 11:32:03.000000000 +0900
++++ include/oaidl.h 2010-02-27 13:28:29.448250000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+
+ /* this ALWAYS GENERATED file contains the definitions for the interfaces */
+@@ -442,7 +445,7 @@
+ FLOAT fltVal;
+ DOUBLE dblVal;
+ VARIANT_BOOL boolVal;
+- _VARIANT_BOOL bool;
++// _VARIANT_BOOL bool;
+ SCODE scode;
+ CY cyVal;
+ DATE date;
+--- include/ocidl.h.orig 2008-01-18 22:17:32.000000000 +0900
++++ include/ocidl.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+
+ /* this ALWAYS GENERATED file contains the definitions for the interfaces */
+@@ -294,6 +297,14 @@
+ #include "servprov.h"
+ #include "urlmon.h"
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++
+ #ifdef __cplusplus
+ extern "C"{
+ #endif
+@@ -4595,11 +4606,13 @@
+ HITRESULT_HIT = 3
+ } HITRESULT;
+
++#if 0
+ typedef /* [v1_enum] */
+ enum tagDVASPECT2
+ { DVASPECT_OPAQUE = 16,
+ DVASPECT_TRANSPARENT = 32
+ } DVASPECT2;
++#endif
+
+ typedef struct tagExtentInfo
+ {
+@@ -6554,6 +6567,10 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif
+
+
+--- include/oleauto.h.orig 2008-01-18 22:17:32.000000000 +0900
++++ include/oleauto.h 2009-08-21 09:21:56.000000000 +0900
+@@ -56,6 +56,14 @@
+ /* pull in the MIDL generated header */
+ #include <oaidl.h>
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++
+
+ /*---------------------------------------------------------------------*/
+ /* BSTR API */
+@@ -1160,7 +1168,7 @@
+
+ // Declare variant access functions.
+
+-#if __STDC__ || defined(NONAMELESSUNION)
++#ifdef NONAMELESSUNION
+ #define V_UNION(X, Y) ((X)->n1.n2.n3.Y)
+ #define V_VT(X) ((X)->n1.n2.vt)
+ #define V_RECORDINFO(X) ((X)->n1.n2.n3.brecVal.pRecInfo)
+@@ -1242,5 +1250,9 @@
+ #include <poppack.h>
+ #endif // RC_INVOKED
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif // __OLEAUTO_H__
+
+--- include/olectl.h.orig 2008-01-18 22:17:32.000000000 +0900
++++ include/olectl.h 2009-08-21 09:21:56.000000000 +0900
+@@ -28,6 +28,14 @@
+ #include <ocidl.h>
+ #endif // _MAC
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++
+ #ifdef _OLEAUT32_
+ #define WINOLECTLAPI STDAPI
+ #define WINOLECTLAPI_(type) STDAPI_(type)
+@@ -616,5 +624,9 @@
+
+ #endif // defined(__MKTYPLIB__) || defined(__midl)
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif // _OLECTL_H_
+
+--- include/oledb.h.orig 2008-01-18 22:17:32.000000000 +0900
++++ include/oledb.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+
+ /* this ALWAYS GENERATED file contains the definitions for the interfaces */
+@@ -797,7 +800,7 @@
+
+ //@@@+ V2.0
+ #if( OLEDBVER >= 0x0200 )
+-#if !defined(_WINBASE_) && !defined(_FILETIME_)
++#if !defined(_WINBASE_H) && !defined(_FILETIME_)
+ #define _FILETIME_
+ typedef struct _FILETIME {
+ DWORD dwLowDateTime;
+--- include/oleidl.h.orig 2008-01-18 22:17:32.000000000 +0900
++++ include/oleidl.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+
+ /* this ALWAYS GENERATED file contains the definitions for the interfaces */
+@@ -189,6 +192,14 @@
+ /* header files for imported files */
+ #include "objidl.h"
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++
+ #ifdef __cplusplus
+ extern "C"{
+ #endif
+@@ -3868,6 +3879,10 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif
+
+
+--- include/propidl.h.orig 2008-01-18 22:17:32.000000000 +0900
++++ include/propidl.h 2010-02-27 14:11:52.213875000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+
+ /* this ALWAYS GENERATED file contains the definitions for the interfaces */
+@@ -76,6 +79,14 @@
+ #include "objidl.h"
+ #include "oaidl.h"
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++
+ #ifdef __cplusplus
+ extern "C"{
+ #endif
+@@ -143,6 +154,7 @@
+ CHAR *pElems;
+ } CAC;
+
++#if 0
+ typedef struct tagCAUB
+ {
+ ULONG cElems;
+@@ -268,7 +280,9 @@
+ ULONG cElems;
+ CLSID *pElems;
+ } CACLSID;
++#endif
+
++#if 0
+ #ifdef MIDL_PASS
+ // This is the PROPVARIANT padding layout for marshaling.
+ typedef BYTE PROPVAR_PAD1;
+@@ -385,6 +399,7 @@
+ #endif
+
+ #endif /* _MSC_EXTENSIONS */
++#endif
+
+ #ifdef MIDL_PASS
+ // This is the LPPROPVARIANT definition for marshaling.
+@@ -509,6 +524,7 @@
+
+ #define PRSPEC_PROPID ( 1 )
+
++#if 0
+ typedef struct tagPROPSPEC
+ {
+ ULONG ulKind;
+@@ -526,12 +542,14 @@
+ PROPID propid;
+ VARTYPE vt;
+ } STATPROPSTG;
++#endif
+
+ // Macros for parsing the OS Version of the Property Set Header
+ #define PROPSETHDR_OSVER_KIND(dwOSVer) HIWORD( (dwOSVer) )
+ #define PROPSETHDR_OSVER_MAJOR(dwOSVer) LOBYTE(LOWORD( (dwOSVer) ))
+ #define PROPSETHDR_OSVER_MINOR(dwOSVer) HIBYTE(LOWORD( (dwOSVer) ))
+ #define PROPSETHDR_OSVERSION_UNKNOWN 0xFFFFFFFF
++#if 0
+ typedef struct tagSTATPROPSETSTG
+ {
+ FMTID fmtid;
+@@ -542,12 +560,14 @@
+ FILETIME atime;
+ DWORD dwOSVersion;
+ } STATPROPSETSTG;
++#endif
+
+
+
+ extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_0000_v0_0_c_ifspec;
+ extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_0000_v0_0_s_ifspec;
+
++#if 0
+ #ifndef __IPropertyStorage_INTERFACE_DEFINED__
+ #define __IPropertyStorage_INTERFACE_DEFINED__
+
+@@ -1119,7 +1139,6 @@
+ #endif /* C style interface */
+
+
+-
+ /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSETSTG_RemoteNext_Proxy(
+ IEnumSTATPROPSETSTG * This,
+ /* [in] */ ULONG celt,
+@@ -1136,6 +1155,7 @@
+
+
+ #endif /* __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__ */
++#endif
+
+
+ /* interface __MIDL_itf_propidl_0000_0004 */
+@@ -1268,6 +1287,10 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif
+
+
+--- include/propkeydef.h.orig 2008-01-18 22:17:32.000000000 +0900
++++ include/propkeydef.h 2009-08-21 09:21:56.000000000 +0900
+@@ -2,6 +2,10 @@
+ #define PID_FIRST_USABLE 2
+ #endif
+
++#ifndef __MIDL_CONST
++#define __MIDL_CONST const
++#endif
++
+ #ifndef REFPROPERTYKEY
+ #ifdef __cplusplus
+ #define REFPROPERTYKEY const PROPERTYKEY &
+--- include/propsys.h.orig 2008-01-18 22:17:34.000000000 +0900
++++ include/propsys.h 2009-08-21 09:21:56.000000000 +0900
+@@ -228,6 +228,14 @@
+ #endif // 0
+ #include <propkeydef.h>
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++
+
+ extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0000_v0_0_c_ifspec;
+ extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0000_v0_0_s_ifspec;
+@@ -3600,6 +3608,10 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif
+
+
+--- include/propvarutil.h.orig 2008-01-18 22:17:34.000000000 +0900
++++ include/propvarutil.h 2010-02-26 19:34:40.863625000 +0900
+@@ -14,6 +14,14 @@
+ #include <shtypes.h>
+ #include <shlwapi.h>
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++
+ #ifndef PSSTDAPI
+ #if defined(_PROPSYS_)
+ #define PSSTDAPI STDAPI
+--- include/shlobj.h.orig 2008-01-18 22:17:36.000000000 +0900
++++ include/shlobj.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+ /*===========================================================================
+
+ Copyright (c) Microsoft Corporation. All rights reserved.
+@@ -103,6 +106,14 @@
+ #include <shtypes.h>
+ #include <shobjidl.h>
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++
+ #if defined(_MSC_VER) && (_MSC_VER >= 1200)
+ #pragma once
+ #endif
+@@ -3117,7 +3128,7 @@
+ SHSTDAPI_(BOOL) ILIsEqual(__in PCIDLIST_ABSOLUTE pidl1, __in PCIDLIST_ABSOLUTE pidl2);
+ SHSTDAPI_(BOOL) ILIsParent(__in PCIDLIST_ABSOLUTE pidl1, __in PCIDLIST_ABSOLUTE pidl2, BOOL fImmediate);
+ SHSTDAPI ILSaveToStream(__in IStream *pstm, __in PCUIDLIST_RELATIVE pidl);
+-DECLSPEC_DEPRECATED SHSTDAPI ILLoadFromStream(__in IStream *pstm, __inout PIDLIST_RELATIVE *pidl);
++SHSTDAPI ILLoadFromStream(__in IStream *pstm, __inout PIDLIST_RELATIVE *pidl);
+ SHSTDAPI ILLoadFromStreamEx(__in IStream *pstm, __deref_out PIDLIST_RELATIVE *pidl);
+
+ #if (_WIN32_IE >= 0x0400)
+@@ -4578,5 +4589,9 @@
+ #endif
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif /* _SHLOBJ_H_ */
+
+--- include/shobjidl.h.orig 2008-01-18 22:17:36.000000000 +0900
++++ include/shobjidl.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+
+ /* this ALWAYS GENERATED file contains the definitions for the interfaces */
+@@ -1667,6 +1670,14 @@
+ #include "prsht.h"
+ #include "propsys.h"
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++
+ #ifdef __cplusplus
+ extern "C"{
+ #endif
+@@ -6384,7 +6395,6 @@
+
+ typedef ICommDlgBrowser2 *LPCOMMDLGBROWSER2;
+
+-#endif // NTDDI_WIN2K
+ #if (_WIN32_IE >= _WIN32_IE_IE70)
+
+
+@@ -6727,6 +6737,7 @@
+ /* [local] */
+
+ #endif // (_WIN32_IE >= _WIN32_IE_IE70)
++#endif // NTDDI_WIN2K
+
+
+ extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0000_0026_v0_0_c_ifspec;
+@@ -7331,6 +7342,13 @@
+ typedef LPTBBUTTON LPTBBUTTONSB;
+ #endif //_NEVER_
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
+
+ extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0000_0032_v0_0_c_ifspec;
+ extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0000_0032_v0_0_s_ifspec;
+@@ -29000,6 +29018,10 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif
+
+
+--- include/shtypes.h.orig 2008-01-18 22:17:36.000000000 +0900
++++ include/shtypes.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+
+ /* this ALWAYS GENERATED file contains the definitions for the interfaces */
+@@ -137,7 +140,7 @@
+
+ #endif // defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)
+ #include <poppack.h>
+-typedef /* [unique] */ __RPC_unique_pointer BYTE_BLOB *wirePIDL;
++//typedef /* [unique] */ __RPC_unique_pointer BYTE_BLOB *wirePIDL;
+
+ typedef /* [wire_marshal] */ ITEMIDLIST __unaligned *LPITEMIDLIST;
+
+--- include/sspi.h.orig 2008-01-18 22:17:38.000000000 +0900
++++ include/sspi.h 2009-08-21 09:21:56.000000000 +0900
+@@ -20,6 +20,14 @@
+ #define __SSPI_H__
+ // end_ntifs
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++
+ #if _MSC_VER > 1000
+ #pragma once
+ #endif
+@@ -2154,8 +2162,7 @@
+
+ // begin_ntifs
+
+-#ifndef _AUTH_IDENTITY_DEFINED
+-#define _AUTH_IDENTITY_DEFINED
++#ifndef SEC_WINNT_AUTH_IDENTITY_ANSI
+
+ //
+ // This was not defined in NTIFS.h for windows 2000 however
+@@ -2326,6 +2333,10 @@
+ } // extern "C"
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ // begin_ntifs
+ #endif // __SSPI_H__
+ // end_ntifs
+--- include/strmif.h.orig 2008-01-18 22:17:38.000000000 +0900
++++ include/strmif.h 2009-02-16 21:34:39.065125000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+
+ /* this ALWAYS GENERATED file contains the definitions for the interfaces */
+@@ -888,6 +891,14 @@
+ #include "oaidl.h"
+ #include "ocidl.h"
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++
+ #ifdef __cplusplus
+ extern "C"{
+ #endif
+@@ -16250,7 +16261,7 @@
+ #define _IAMFilterGraphCallback_
+ // Note: Because this interface was not defined as a proper interface it is
+ // supported under C++ only. Methods aren't stdcall.
+-EXTERN_GUID(IID_IAMFilterGraphCallback,0x56a868fd,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70);
++DEFINE_GUID(IID_IAMFilterGraphCallback,0x56a868fd,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70);
+ interface IAMFilterGraphCallback : public IUnknown
+ {
+ // S_OK means rendering complete, S_FALSE means retry now.
+@@ -21934,7 +21945,7 @@
+ typedef struct tagVMRGUID
+ {
+ GUID *pGUID;
+- GUID GUID;
++ GUID aGUID;
+ } VMRGUID;
+
+ typedef struct tagVMRMONITORINFO
+@@ -23341,6 +23352,10 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif
+
+
+--- include/strsafe.h.orig 2008-01-18 22:17:38.000000000 +0900
++++ include/strsafe.h 2009-02-16 21:34:39.065125000 +0900
+@@ -13,12 +13,23 @@
+ #if (_MSC_VER > 1000)
+ #pragma once
+ #endif
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+ #include <stdio.h> // for _vsnprintf, _vsnwprintf, getc, getwc
+ #include <string.h> // for memset
+ #include <stdarg.h> // for va_start, etc.
+ #include <specstrings.h> // for __in, etc.
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++
+ #if !defined(_W64)
+ #if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && (_MSC_VER >= 1300)
+ #define _W64 __w64
+@@ -9254,7 +9265,7 @@
+ wchar_t ch = getwc(stdin);
+ // ASSERT(sizeof(wchar_t) == sizeof(wint_t));
+
+- if (ch == WEOF)
++ if (ch == 0xffff)
+ {
+ if (cchNewDestLength == 0)
+ {
+@@ -9763,5 +9774,9 @@
+
+ #pragma warning(pop)
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif // _STRSAFE_H_INCLUDED_
+
+--- include/structuredquery.h.orig 2008-01-18 22:17:38.000000000 +0900
++++ include/structuredquery.h 2009-08-21 09:21:56.000000000 +0900
+@@ -233,6 +233,14 @@
+ #include "ocidl.h"
+ #include "propidl.h"
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++
+ #ifdef __cplusplus
+ extern "C"{
+ #endif
+@@ -2472,6 +2480,10 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif
+
+
+--- include/urlmon.h.orig 2008-01-18 22:17:40.000000000 +0900
++++ include/urlmon.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+
+ /* this ALWAYS GENERATED file contains the definitions for the interfaces */
+@@ -330,6 +333,14 @@
+ #include "servprov.h"
+ #include "msxml.h"
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++
+ #ifdef __cplusplus
+ extern "C"{
+ #endif
+@@ -8880,6 +8891,10 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif
+
+
+--- include/wincrypt.h.orig 2008-01-18 22:17:42.000000000 +0900
++++ include/wincrypt.h 2009-02-16 21:34:39.065125000 +0900
+@@ -14,6 +14,14 @@
+
+ #include <specstrings.h> /* for SAL annotations */
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++
+ #if defined (_MSC_VER)
+
+ #if ( _MSC_VER >= 800 )
+@@ -1927,6 +1935,14 @@
+ #include <bcrypt.h>
+ #include <ncrypt.h>
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++
+ // This type is used when the API can take either the CAPI1 HCRYPTPROV or
+ // the CNG NCRYPT_KEY_HANDLE. Where appropriate, the HCRYPTPROV will be
+ // converted to a NCRYPT_KEY_HANDLE via the CNG NCryptTranslateHandle().
+@@ -17113,8 +17129,8 @@
+ __in DWORD dwFlags,
+ __in_opt PCRYPT_KEY_PROV_INFO pKeyProvInfo,
+ __in_opt PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm,
+- __in_opt PSYSTEMTIME pStartTime,
+- __in_opt PSYSTEMTIME pEndTime,
++ __in_opt LPSYSTEMTIME pStartTime,
++ __in_opt LPSYSTEMTIME pEndTime,
+ __in_opt PCERT_EXTENSIONS pExtensions
+ );
+
+@@ -19174,6 +19190,10 @@
+ #endif
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif // __WINCRYPT_H__
+
+
+--- include/winerror.h.orig 2008-01-18 22:17:42.000000000 +0900
++++ include/winerror.h 2009-08-21 09:21:56.000000000 +0900
+@@ -23,6 +23,11 @@
+
+ #include <specstrings.h>
+
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
+ //
+ // Values are 32 bit values laid out as follows:
+ //
+--- include/wingdi.h.orig 2008-01-18 22:17:42.000000000 +0900
++++ include/wingdi.h 2009-08-21 09:21:56.000000000 +0900
+@@ -9,6 +9,13 @@
+ #ifndef _WINGDI_
+ #define _WINGDI_
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
+
+ #pragma once
+
+@@ -1901,7 +1908,7 @@
+ /* size of a form name string */
+ #define CCHFORMNAME 32
+
+-#if (_WIN32_WINNT >= ((OSVER(NTDDI_WINXPSP2)) >> 16))
++#if (_WIN32_WINNT >= ((NTDDI_WINXPSP2 & 0xFFFF0000) >> 16))
+ typedef struct _devicemodeA {
+ BYTE dmDeviceName[CCHDEVICENAME];
+ WORD dmSpecVersion;
+@@ -5424,6 +5431,10 @@
+ }
+ #endif
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif /* _WINGDI_ */
+
+
+--- include/wintrust.h.orig 2008-01-18 22:17:42.000000000 +0900
++++ include/wintrust.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1252,6 +1252,7 @@
+ //
+ #ifdef WT_DEFINE_ALL_APIS
+
++#if 0
+ typedef struct _WIN_CERTIFICATE
+ {
+ DWORD dwLength;
+@@ -1260,6 +1261,7 @@
+ BYTE bCertificate[ANYSIZE_ARRAY];
+
+ } WIN_CERTIFICATE, *LPWIN_CERTIFICATE;
++#endif
+
+ #define WIN_CERT_REVISION_1_0 (0x0100)
+ #define WIN_CERT_REVISION_2_0 (0x0200)
+--- include/winuser.h.orig 2008-01-18 22:17:44.000000000 +0900
++++ include/winuser.h 2009-08-21 09:21:56.000000000 +0900
+@@ -11,6 +11,15 @@
+ #ifndef _WINUSER_
+ #define _WINUSER_
+
++#define __in
++#define __out
++#ifdef __cplusplus
++#define __inline inline
++#else
++#define __inline static __inline__
++#endif
++DECLARE_HANDLE(HHOOK);
++typedef CONST GUID *LPCGUID;
+
+
+ #pragma once
+@@ -39,7 +48,7 @@
+ #define WINVER 0x0500 /* version 5.0 */
+ #endif /* !WINVER */
+
+-#include <stdarg.h>
++#include <../include/stdarg.h>
+
+ #ifndef NOUSER
+
+@@ -10717,7 +10726,7 @@
+ #define CDS_RESET 0x40000000
+ #define CDS_NORESET 0x10000000
+
+-#include <tvout.h>
++//#include <tvout.h>
+
+ /* Return values for ChangeDisplaySettings */
+ #define DISP_CHANGE_SUCCESSFUL 0
+@@ -12571,16 +12580,20 @@
+
+
+
+-#if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */
+-#if defined(ISOLATION_AWARE_ENABLED) && (ISOLATION_AWARE_ENABLED != 0)
+-#include "winuser.inl"
+-#endif /* ISOLATION_AWARE_ENABLED */
+-#endif /* RC */
++//#if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */
++//#if defined(ISOLATION_AWARE_ENABLED) && (ISOLATION_AWARE_ENABLED != 0)
++//#include "winuser.inl"
++//#endif /* ISOLATION_AWARE_ENABLED */
++//#endif /* RC */
+
+ #ifdef __cplusplus
+ }
+ #endif /* __cplusplus */
+
++#undef __in
++#undef __out
++#undef __inline
++
+ #endif /* !_WINUSER_ */
+
+
+--- include/wspiapi.h.orig 2008-01-18 22:17:44.000000000 +0900
++++ include/wspiapi.h 2009-08-21 09:21:56.000000000 +0900
+@@ -15,6 +15,9 @@
+
+ #ifndef _WSPIAPI_H_
+ #define _WSPIAPI_H_
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+ #pragma once
+
+@@ -85,6 +88,11 @@
+
+ #ifdef __cplusplus
+ extern "C" {
++#define _inline inline
++#define __inline inline
++#else
++#define _inline static __inline__
++#define __inline static __inline__
+ #endif
+
+ ////////////////////////////////////////////////////////////
+@@ -1052,6 +1060,8 @@
+ (*pfFreeAddrInfo)(ai);
+ }
+
++#undef _inline
++#undef __inline
+ #ifdef __cplusplus
+ }
+ #endif
+--- include/d3dtypes.h.orig 2004-09-27 12:34:16.000000000 +0900
++++ include/d3dtypes.h 2007-11-30 21:42:09.558750000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+ /*==========================================================================;
+ *
+ * Copyright (C) Microsoft Corporation. All Rights Reserved.
+--- include/d3dx9core.h.orig 2006-03-31 12:16:02.000000000 +0900
++++ include/d3dx9core.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+ ///////////////////////////////////////////////////////////////////////////
+ //
+ // Copyright (C) Microsoft Corporation. All Rights Reserved.
+--- include/d3dx9math.h.orig 2005-07-22 17:00:18.000000000 +0900
++++ include/d3dx9math.h 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+ //////////////////////////////////////////////////////////////////////////////
+ //
+ // Copyright (C) Microsoft Corporation. All Rights Reserved.
+--- include/d3dx9math.inl.orig 2005-03-18 17:26:56.000000000 +0900
++++ include/d3dx9math.inl 2009-08-21 09:21:56.000000000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+ //////////////////////////////////////////////////////////////////////////////
+ //
+ // Copyright (C) Microsoft Corporation. All Rights Reserved.
+--- include/dxtrans.h.orig 2004-09-28 00:18:32.000000000 +0900
++++ include/dxtrans.h 2007-01-02 22:08:41.640625000 +0900
+@@ -1,3 +1,6 @@
++#if __GNUC__ >=3
++#pragma GCC system_header
++#endif
+
+ #pragma warning( disable: 4049 ) /* more than 64k source lines */
+