0x79eac9d1, 0xbaf9, 0x11ce, 0x8c, 0x82, 0x00, 0xaa,0x00,0x4b,0xa9,0x0b);
DEFINE_GUID(CLSID_IID_IExtensionServices,
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
DEFINE_GUID(IID_IProgressDialog, 0xEBBC7C04,0x315E,0x11D2,0xB6,0x2F,0x00,0x60,0x97,0xDF,0x5B,0xD4);
-/* avoid duplicate definitions with shobjidl.h (FIXME) */
-/* 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_IExtractIconA, 0x000214EBL, 0, 0); */
-/* DEFINE_OLEGUID(IID_IExtractIconW, 0x000214FAL, 0, 0); */
-/* DEFINE_OLEGUID(IID_IContextMenu, 0x000214E4L, 0, 0); */
-/* DEFINE_OLEGUID(IID_IContextMenu2, 0x000214F4L, 0, 0); */
-/* DEFINE_OLEGUID(IID_ICommDlgBrowser, 0x000214F1L, 0, 0); */
-/* DEFINE_OLEGUID(IID_IShellBrowser, 0x000214E2L, 0, 0); */
-/* DEFINE_OLEGUID(IID_IShellView, 0x000214E3L, 0, 0); */
-/* DEFINE_OLEGUID(IID_IShellFolder, 0x000214E6L, 0, 0); */
-/* DEFINE_OLEGUID(IID_IShellExtInit, 0x000214E8L, 0, 0); */
-/* DEFINE_OLEGUID(IID_IPersistFolder, 0x000214EAL, 0, 0); */
-/* DEFINE_OLEGUID(IID_IShellLinkA, 0x000214EEL, 0, 0); */
-/* DEFINE_OLEGUID(IID_IEnumIDList, 0x000214F2L, 0, 0); */
-/* DEFINE_OLEGUID(IID_IShellLinkW, 0x000214F9L, 0, 0); */
-/* DEFINE_OLEGUID(IID_IShellExecuteHookA, 0x000214F5L, 0, 0); */
-/* DEFINE_OLEGUID(IID_IShellExecuteHookW, 0x000214FBL, 0, 0); */
-/* DEFINE_OLEGUID(IID_INewShortcutHookA, 0x000214E1L, 0, 0); */
-/* DEFINE_OLEGUID(IID_INewShortcutHookW, 0x000214F7L, 0, 0); */
+#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_OLEGUID(IID_IShellPropSheetExt, 0x000214E9L, 0, 0);
+DEFINE_OLEGUID(IID_IExtractIconA, 0x000214EBL, 0, 0);
+DEFINE_OLEGUID(IID_IExtractIconW, 0x000214FAL, 0, 0);
+DEFINE_OLEGUID(IID_IContextMenu, 0x000214E4L, 0, 0);
+DEFINE_OLEGUID(IID_IContextMenu2, 0x000214F4L, 0, 0);
+DEFINE_OLEGUID(IID_ICommDlgBrowser, 0x000214F1L, 0, 0);
+DEFINE_OLEGUID(IID_IShellBrowser, 0x000214E2L, 0, 0);
+DEFINE_OLEGUID(IID_IShellView, 0x000214E3L, 0, 0);
+DEFINE_OLEGUID(IID_IShellFolder, 0x000214E6L, 0, 0);
+DEFINE_OLEGUID(IID_IShellExtInit, 0x000214E8L, 0, 0);
+DEFINE_OLEGUID(IID_IPersistFolder, 0x000214EAL, 0, 0);
+DEFINE_OLEGUID(IID_IShellLinkA, 0x000214EEL, 0, 0);
+DEFINE_OLEGUID(IID_IEnumIDList, 0x000214F2L, 0, 0);
+DEFINE_OLEGUID(IID_IShellLinkW, 0x000214F9L, 0, 0);
+DEFINE_OLEGUID(IID_IShellExecuteHookA, 0x000214F5L, 0, 0);
+DEFINE_OLEGUID(IID_IShellExecuteHookW, 0x000214FBL, 0, 0);
+DEFINE_OLEGUID(IID_INewShortcutHookA, 0x000214E1L, 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 SID_SUrlHistory CLSID_CUrlHistory
#define STI_DEVICE_VALUE_TIMEOUT_A "PollTimeout"
#define STI_DEVICE_VALUE_DISABLE_NOTIFICATIONS_A "DisableNotifications"
#define REGSTR_VAL_BAUDRATE_A "BaudRate"
-#endif
\ No newline at end of file
+#endif
LONG WINAPI InterlockedOr(IN OUT LONG volatile *,LONG);
LONG WINAPI InterlockedAnd(IN OUT LONG volatile *,LONG);
LONG WINAPI InterlockedCompareExchange(IN OUT LONG volatile *,LONG,LONG);
-LONG WINAPI InterlockedDecrement(IN OUT LONG volatile *);
-LONG WINAPI InterlockedExchange(IN OUT LONG volatile *,LONG);
+WINBASEAPI LONG WINAPI InterlockedDecrement(IN OUT LONG volatile *);
+WINBASEAPI LONG WINAPI InterlockedExchange(IN OUT LONG volatile *,LONG);
#if defined(_WIN64)
/* PVOID WINAPI InterlockedExchangePointer(PVOID*,PVOID); */
#define InterlockedExchangePointer(t,v) \
#if (_WIN32_WINNT >= 0x0501)
PSLIST_ENTRY WINAPI InterlockedFlushSList(PSLIST_HEADER);
#endif
-LONG WINAPI InterlockedIncrement(IN OUT LONG volatile *);
+WINBASEAPI LONG WINAPI InterlockedIncrement(IN OUT LONG volatile *);
#if (_WIN32_WINNT >= 0x0501)
PSLIST_ENTRY WINAPI InterlockedPopEntrySList(PSLIST_HEADER);
PSLIST_ENTRY WINAPI InterlockedPushEntrySList(PSLIST_HEADER,PSLIST_ENTRY);
BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
HANDLE WINAPI OpenWaitableTimerA(DWORD,BOOL,LPCSTR);
HANDLE WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR);
-void WINAPI OutputDebugStringA(LPCSTR);
-void WINAPI OutputDebugStringW(LPCWSTR);
+WINBASEAPI void WINAPI OutputDebugStringA(LPCSTR);
+WINBASEAPI void WINAPI OutputDebugStringW(LPCWSTR);
BOOL WINAPI PeekNamedPipe(HANDLE,PVOID,DWORD,PDWORD,PDWORD,PDWORD);
BOOL WINAPI PostQueuedCompletionStatus(HANDLE,DWORD,ULONG_PTR,LPOVERLAPPED);
DWORD WINAPI PrepareTape(HANDLE,DWORD,BOOL);
BOOL WINAPI SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,PVOID,BOOL);
DWORD WINAPI SignalObjectAndWait(HANDLE,HANDLE,DWORD,BOOL);
DWORD WINAPI SizeofResource(HINSTANCE,HRSRC);
-void WINAPI Sleep(DWORD);
+WINBASEAPI void WINAPI Sleep(DWORD);
#if (_WIN32_WINNT >= 0x0600)
BOOL WINAPI SleepConditionVariableCS(PCONDITION_VARIABLE,PCRITICAL_SECTION,DWORD);
BOOL WINAPI SleepConditionVariableSRW(PCONDITION_VARIABLE,PSRWLOCK,DWORD,ULONG);
#define SEC_RESERVE 0x04000000
#define SEC_COMMIT 0x08000000
#define SEC_NOCACHE 0x10000000
-#define SEC_WRITECOMBINE 0x40000000
+#define SEC_WRITECOMBINE 0x40000000
#define SEC_LARGE_PAGES 0x80000000
#define SECTION_EXTEND_SIZE 16
#define SECTION_MAP_READ 4
GUID *ObjectType;
} OBJECT_TYPE_LIST, *POBJECT_TYPE_LIST;
-#if defined(__GNUC__)
-
#if defined(_M_IX86)
-static __inline__ PVOID GetCurrentFiber(void)
+FORCEINLINE PVOID GetCurrentFiber(VOID)
{
- void* ret;
- __asm__ __volatile__ (
- "movl %%fs:0x10,%0"
- : "=r" (ret) /* allow use of reg eax,ebx,ecx,edx,esi,edi */
- );
- return ret;
+ return (PVOID)(ULONG_PTR)__readfsdword(0x10);
}
+
#elif defined (_M_AMD64)
FORCEINLINE PVOID GetCurrentFiber(VOID)
{
return (PVOID)__readgsqword(FIELD_OFFSET(NT_TIB, FiberData));
#endif
}
+
#elif defined (_M_ARM)
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)
{
unsigned long result;
return result;
}
-#else
-#error Unknown architecture
-#endif
static __inline__ PVOID GetCurrentFiber(void)
{
return __readfsdword_winnt(0x10);
}
-#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
+#error Unknown architecture
+#endif
-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"
#endif
}
+#endif
+
#define BitScanForward _BitScanForward
#define BitScanReverse _BitScanReverse
-#endif
-
/* TODO: Other architectures than X86 */
#if defined(_M_IX86)
#define PF_TEMPORAL_LEVEL_1
#undef WSAAsyncGetHostByName
#define WSAAsyncGetHostByName(a,b,c,d,e) WSAAsyncGetHostByName_IPV6INCOMPATIBLE
-#endif
\ No newline at end of file
+#endif