- stireg.h, wsipv6ok.h: Add missing newline
- hlguids.h, shlguid.h: add missing guids for MSVC
- winbase.h: add some missing WINBASEAPI modifiers
- winnt.h: create more portable definitions of GetCurrentFiber, move BitScanForward and BitScanReverse defintions out of __GNUC__ block

svn path=/trunk/; revision=51727
This commit is contained in:
Timo Kreuzer 2011-05-14 11:44:45 +00:00
parent a4a5b0c6d3
commit eafcfd1c7e
6 changed files with 44 additions and 71 deletions

View file

@ -27,5 +27,9 @@ DEFINE_GUID(CLSID_StdHlinkBrowseContext,
0x79eac9d1, 0xbaf9, 0x11ce, 0x8c, 0x82, 0x00, 0xaa,0x00,0x4b,0xa9,0x0b); 0x79eac9d1, 0xbaf9, 0x11ce, 0x8c, 0x82, 0x00, 0xaa,0x00,0x4b,0xa9,0x0b);
DEFINE_GUID(CLSID_IID_IExtensionServices, DEFINE_GUID(CLSID_IID_IExtensionServices,
0x79eac9cb, 0xbaf9, 0x11ce, 0x8c, 0x82, 0x00, 0xaa,0x00,0x4b,0xa9,0x0b); 0x79eac9cb, 0xbaf9, 0x11ce, 0x8c, 0x82, 0x00, 0xaa,0x00,0x4b,0xa9,0x0b);
#ifndef __GNUC__
DEFINE_GUID(IID_IBindStatusCallback,
0x79eac9c1, 0xbaf9, 0x11ce, 0x8c, 0x82, 0x00, 0xaa,0x00,0x4b,0xa9,0x0b);
#endif
#endif #endif

View file

@ -57,26 +57,27 @@ DEFINE_GUID(IID_IObjMgr, 0x00BB2761L,0x6A77,0x11D0,0xA5,0x35,0x00,0xC0,0x4F,0x
DEFINE_GUID(IID_IProgressDialog, 0xEBBC7C04,0x315E,0x11D2,0xB6,0x2F,0x00,0x60,0x97,0xDF,0x5B,0xD4); DEFINE_GUID(IID_IProgressDialog, 0xEBBC7C04,0x315E,0x11D2,0xB6,0x2F,0x00,0x60,0x97,0xDF,0x5B,0xD4);
/* avoid duplicate definitions with shobjidl.h (FIXME) */ #ifndef __GNUC__ /* avoid duplicate definitions with shobjidl.h (FIXME) */
/* DEFINE_GUID(IID_IDockingWindow, 0x012dd920L, 0x7B26, 0x11D0, 0x8C, 0xA9, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8); */ DEFINE_GUID(IID_IDockingWindow, 0x012dd920L, 0x7B26, 0x11D0, 0x8C, 0xA9, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8);
/* DEFINE_OLEGUID(IID_IShellPropSheetExt, 0x000214E9L, 0, 0); */ DEFINE_OLEGUID(IID_IShellPropSheetExt, 0x000214E9L, 0, 0);
/* DEFINE_OLEGUID(IID_IExtractIconA, 0x000214EBL, 0, 0); */ DEFINE_OLEGUID(IID_IExtractIconA, 0x000214EBL, 0, 0);
/* DEFINE_OLEGUID(IID_IExtractIconW, 0x000214FAL, 0, 0); */ DEFINE_OLEGUID(IID_IExtractIconW, 0x000214FAL, 0, 0);
/* DEFINE_OLEGUID(IID_IContextMenu, 0x000214E4L, 0, 0); */ DEFINE_OLEGUID(IID_IContextMenu, 0x000214E4L, 0, 0);
/* DEFINE_OLEGUID(IID_IContextMenu2, 0x000214F4L, 0, 0); */ DEFINE_OLEGUID(IID_IContextMenu2, 0x000214F4L, 0, 0);
/* DEFINE_OLEGUID(IID_ICommDlgBrowser, 0x000214F1L, 0, 0); */ DEFINE_OLEGUID(IID_ICommDlgBrowser, 0x000214F1L, 0, 0);
/* DEFINE_OLEGUID(IID_IShellBrowser, 0x000214E2L, 0, 0); */ DEFINE_OLEGUID(IID_IShellBrowser, 0x000214E2L, 0, 0);
/* DEFINE_OLEGUID(IID_IShellView, 0x000214E3L, 0, 0); */ DEFINE_OLEGUID(IID_IShellView, 0x000214E3L, 0, 0);
/* DEFINE_OLEGUID(IID_IShellFolder, 0x000214E6L, 0, 0); */ DEFINE_OLEGUID(IID_IShellFolder, 0x000214E6L, 0, 0);
/* DEFINE_OLEGUID(IID_IShellExtInit, 0x000214E8L, 0, 0); */ DEFINE_OLEGUID(IID_IShellExtInit, 0x000214E8L, 0, 0);
/* DEFINE_OLEGUID(IID_IPersistFolder, 0x000214EAL, 0, 0); */ DEFINE_OLEGUID(IID_IPersistFolder, 0x000214EAL, 0, 0);
/* DEFINE_OLEGUID(IID_IShellLinkA, 0x000214EEL, 0, 0); */ DEFINE_OLEGUID(IID_IShellLinkA, 0x000214EEL, 0, 0);
/* DEFINE_OLEGUID(IID_IEnumIDList, 0x000214F2L, 0, 0); */ DEFINE_OLEGUID(IID_IEnumIDList, 0x000214F2L, 0, 0);
/* DEFINE_OLEGUID(IID_IShellLinkW, 0x000214F9L, 0, 0); */ DEFINE_OLEGUID(IID_IShellLinkW, 0x000214F9L, 0, 0);
/* DEFINE_OLEGUID(IID_IShellExecuteHookA, 0x000214F5L, 0, 0); */ DEFINE_OLEGUID(IID_IShellExecuteHookA, 0x000214F5L, 0, 0);
/* DEFINE_OLEGUID(IID_IShellExecuteHookW, 0x000214FBL, 0, 0); */ DEFINE_OLEGUID(IID_IShellExecuteHookW, 0x000214FBL, 0, 0);
/* DEFINE_OLEGUID(IID_INewShortcutHookA, 0x000214E1L, 0, 0); */ DEFINE_OLEGUID(IID_INewShortcutHookA, 0x000214E1L, 0, 0);
/* DEFINE_OLEGUID(IID_INewShortcutHookW, 0x000214F7L, 0, 0); */ DEFINE_OLEGUID(IID_INewShortcutHookW, 0x000214F7L, 0, 0);
#endif
DEFINE_GUID(CLSID_CUrlHistory, 0x3c374a40, 0xbae4, 0x11cf, 0xbf, 0x7d, 0x00, 0xaa, 0x00, 0x69, 0x46, 0xee); DEFINE_GUID(CLSID_CUrlHistory, 0x3c374a40, 0xbae4, 0x11cf, 0xbf, 0x7d, 0x00, 0xaa, 0x00, 0x69, 0x46, 0xee);
#define SID_SUrlHistory CLSID_CUrlHistory #define SID_SUrlHistory CLSID_CUrlHistory

View file

@ -1852,8 +1852,8 @@ VOID WINAPI InitializeSRWLock(PSRWLOCK);
LONG WINAPI InterlockedOr(IN OUT LONG volatile *,LONG); LONG WINAPI InterlockedOr(IN OUT LONG volatile *,LONG);
LONG WINAPI InterlockedAnd(IN OUT LONG volatile *,LONG); LONG WINAPI InterlockedAnd(IN OUT LONG volatile *,LONG);
LONG WINAPI InterlockedCompareExchange(IN OUT LONG volatile *,LONG,LONG); LONG WINAPI InterlockedCompareExchange(IN OUT LONG volatile *,LONG,LONG);
LONG WINAPI InterlockedDecrement(IN OUT LONG volatile *); WINBASEAPI LONG WINAPI InterlockedDecrement(IN OUT LONG volatile *);
LONG WINAPI InterlockedExchange(IN OUT LONG volatile *,LONG); WINBASEAPI LONG WINAPI InterlockedExchange(IN OUT LONG volatile *,LONG);
#if defined(_WIN64) #if defined(_WIN64)
/* PVOID WINAPI InterlockedExchangePointer(PVOID*,PVOID); */ /* PVOID WINAPI InterlockedExchangePointer(PVOID*,PVOID); */
#define InterlockedExchangePointer(t,v) \ #define InterlockedExchangePointer(t,v) \
@ -1873,7 +1873,7 @@ LONG WINAPI InterlockedExchangeAdd(IN OUT LONG volatile *,LONG);
#if (_WIN32_WINNT >= 0x0501) #if (_WIN32_WINNT >= 0x0501)
PSLIST_ENTRY WINAPI InterlockedFlushSList(PSLIST_HEADER); PSLIST_ENTRY WINAPI InterlockedFlushSList(PSLIST_HEADER);
#endif #endif
LONG WINAPI InterlockedIncrement(IN OUT LONG volatile *); WINBASEAPI LONG WINAPI InterlockedIncrement(IN OUT LONG volatile *);
#if (_WIN32_WINNT >= 0x0501) #if (_WIN32_WINNT >= 0x0501)
PSLIST_ENTRY WINAPI InterlockedPopEntrySList(PSLIST_HEADER); PSLIST_ENTRY WINAPI InterlockedPopEntrySList(PSLIST_HEADER);
PSLIST_ENTRY WINAPI InterlockedPushEntrySList(PSLIST_HEADER,PSLIST_ENTRY); PSLIST_ENTRY WINAPI InterlockedPushEntrySList(PSLIST_HEADER,PSLIST_ENTRY);
@ -2065,8 +2065,8 @@ HANDLE WINAPI OpenThread(DWORD,BOOL,DWORD);
BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE); BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
HANDLE WINAPI OpenWaitableTimerA(DWORD,BOOL,LPCSTR); HANDLE WINAPI OpenWaitableTimerA(DWORD,BOOL,LPCSTR);
HANDLE WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR); HANDLE WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR);
void WINAPI OutputDebugStringA(LPCSTR); WINBASEAPI void WINAPI OutputDebugStringA(LPCSTR);
void WINAPI OutputDebugStringW(LPCWSTR); WINBASEAPI void WINAPI OutputDebugStringW(LPCWSTR);
BOOL WINAPI PeekNamedPipe(HANDLE,PVOID,DWORD,PDWORD,PDWORD,PDWORD); BOOL WINAPI PeekNamedPipe(HANDLE,PVOID,DWORD,PDWORD,PDWORD,PDWORD);
BOOL WINAPI PostQueuedCompletionStatus(HANDLE,DWORD,ULONG_PTR,LPOVERLAPPED); BOOL WINAPI PostQueuedCompletionStatus(HANDLE,DWORD,ULONG_PTR,LPOVERLAPPED);
DWORD WINAPI PrepareTape(HANDLE,DWORD,BOOL); DWORD WINAPI PrepareTape(HANDLE,DWORD,BOOL);
@ -2245,7 +2245,7 @@ BOOL WINAPI SetVolumeMountPointW(LPCWSTR,LPCWSTR);
BOOL WINAPI SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,PVOID,BOOL); BOOL WINAPI SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,PVOID,BOOL);
DWORD WINAPI SignalObjectAndWait(HANDLE,HANDLE,DWORD,BOOL); DWORD WINAPI SignalObjectAndWait(HANDLE,HANDLE,DWORD,BOOL);
DWORD WINAPI SizeofResource(HINSTANCE,HRSRC); DWORD WINAPI SizeofResource(HINSTANCE,HRSRC);
void WINAPI Sleep(DWORD); WINBASEAPI void WINAPI Sleep(DWORD);
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
BOOL WINAPI SleepConditionVariableCS(PCONDITION_VARIABLE,PCRITICAL_SECTION,DWORD); BOOL WINAPI SleepConditionVariableCS(PCONDITION_VARIABLE,PCRITICAL_SECTION,DWORD);
BOOL WINAPI SleepConditionVariableSRW(PCONDITION_VARIABLE,PSRWLOCK,DWORD,ULONG); BOOL WINAPI SleepConditionVariableSRW(PCONDITION_VARIABLE,PSRWLOCK,DWORD,ULONG);

View file

@ -5097,18 +5097,12 @@ typedef struct _OBJECT_TYPE_LIST {
GUID *ObjectType; GUID *ObjectType;
} OBJECT_TYPE_LIST, *POBJECT_TYPE_LIST; } OBJECT_TYPE_LIST, *POBJECT_TYPE_LIST;
#if defined(__GNUC__)
#if defined(_M_IX86) #if defined(_M_IX86)
static __inline__ PVOID GetCurrentFiber(void) FORCEINLINE PVOID GetCurrentFiber(VOID)
{ {
void* ret; return (PVOID)(ULONG_PTR)__readfsdword(0x10);
__asm__ __volatile__ (
"movl %%fs:0x10,%0"
: "=r" (ret) /* allow use of reg eax,ebx,ecx,edx,esi,edi */
);
return ret;
} }
#elif defined (_M_AMD64) #elif defined (_M_AMD64)
FORCEINLINE PVOID GetCurrentFiber(VOID) FORCEINLINE PVOID GetCurrentFiber(VOID)
{ {
@ -5118,10 +5112,11 @@ FORCEINLINE PVOID GetCurrentFiber(VOID)
return (PVOID)__readgsqword(FIELD_OFFSET(NT_TIB, FiberData)); return (PVOID)__readgsqword(FIELD_OFFSET(NT_TIB, FiberData));
#endif #endif
} }
#elif defined (_M_ARM) #elif defined (_M_ARM)
PVOID WINAPI GetCurrentFiber(VOID); PVOID WINAPI GetCurrentFiber(VOID);
#else
#if defined(_M_PPC) #elif defined(_M_PPC)
static __inline__ __attribute__((always_inline)) unsigned long __readfsdword_winnt(const unsigned long Offset) static __inline__ __attribute__((always_inline)) unsigned long __readfsdword_winnt(const unsigned long Offset)
{ {
unsigned long result; unsigned long result;
@ -5133,42 +5128,15 @@ static __inline__ __attribute__((always_inline)) unsigned long __readfsdword_win
return result; return result;
} }
#else
#error Unknown architecture
#endif
static __inline__ PVOID GetCurrentFiber(void) static __inline__ PVOID GetCurrentFiber(void)
{ {
return __readfsdword_winnt(0x10); return __readfsdword_winnt(0x10);
} }
#else
#error Unknown architecture
#endif #endif
#elif defined(__WATCOMC__)
extern PVOID GetCurrentFiber(void);
#pragma aux GetCurrentFiber = \
"mov eax, dword ptr fs:0x10" \
value [eax] \
modify [eax];
#elif defined(_MSC_VER)
#if (_MSC_FULL_VER >= 13012035)
__inline PVOID GetCurrentFiber(void) { return (PVOID)(ULONG_PTR)__readfsdword(0x10); }
#else
static __inline PVOID GetCurrentFiber(void)
{
PVOID p;
__asm mov eax, fs:[10h]
__asm mov [p], eax
return p;
}
#endif /* _MSC_FULL_VER */
#endif /* __GNUC__/__WATCOMC__/_MSC_VER */
#include "inline_ntcurrentteb.h" #include "inline_ntcurrentteb.h"
@ -5215,11 +5183,11 @@ InterlockedBitTestAndReset(IN LONG volatile *Base,
#endif #endif
} }
#endif
#define BitScanForward _BitScanForward #define BitScanForward _BitScanForward
#define BitScanReverse _BitScanReverse #define BitScanReverse _BitScanReverse
#endif
/* TODO: Other architectures than X86 */ /* TODO: Other architectures than X86 */
#if defined(_M_IX86) #if defined(_M_IX86)
#define PF_TEMPORAL_LEVEL_1 #define PF_TEMPORAL_LEVEL_1