diff --git a/reactos/include/psdk/hlguids.h b/reactos/include/psdk/hlguids.h index 7a45e668d86..9083a76a951 100644 --- a/reactos/include/psdk/hlguids.h +++ b/reactos/include/psdk/hlguids.h @@ -27,5 +27,9 @@ DEFINE_GUID(CLSID_StdHlinkBrowseContext, 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 diff --git a/reactos/include/psdk/shlguid.h b/reactos/include/psdk/shlguid.h index 152da1952a4..a2f0a91022f 100644 --- a/reactos/include/psdk/shlguid.h +++ b/reactos/include/psdk/shlguid.h @@ -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); -/* 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 diff --git a/reactos/include/psdk/stireg.h b/reactos/include/psdk/stireg.h index 2208a02aff9..c75079d30ab 100644 --- a/reactos/include/psdk/stireg.h +++ b/reactos/include/psdk/stireg.h @@ -36,4 +36,4 @@ #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 diff --git a/reactos/include/psdk/winbase.h b/reactos/include/psdk/winbase.h index 6cdb089423c..9049f50d2a2 100644 --- a/reactos/include/psdk/winbase.h +++ b/reactos/include/psdk/winbase.h @@ -1852,8 +1852,8 @@ VOID WINAPI InitializeSRWLock(PSRWLOCK); 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) \ @@ -1873,7 +1873,7 @@ LONG WINAPI InterlockedExchangeAdd(IN OUT LONG volatile *,LONG); #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); @@ -2065,8 +2065,8 @@ HANDLE WINAPI OpenThread(DWORD,BOOL,DWORD); 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); @@ -2245,7 +2245,7 @@ BOOL WINAPI SetVolumeMountPointW(LPCWSTR,LPCWSTR); 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); diff --git a/reactos/include/psdk/winnt.h b/reactos/include/psdk/winnt.h index 07b0f570d91..8dfdfbfabb4 100644 --- a/reactos/include/psdk/winnt.h +++ b/reactos/include/psdk/winnt.h @@ -1361,7 +1361,7 @@ typedef enum { #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 @@ -5097,18 +5097,12 @@ typedef struct _OBJECT_TYPE_LIST { 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) { @@ -5118,10 +5112,11 @@ 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; @@ -5133,42 +5128,15 @@ static __inline__ __attribute__((always_inline)) unsigned long __readfsdword_win return result; } -#else -#error Unknown architecture -#endif static __inline__ PVOID GetCurrentFiber(void) { return __readfsdword_winnt(0x10); } +#else +#error Unknown architecture #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" @@ -5215,11 +5183,11 @@ InterlockedBitTestAndReset(IN LONG volatile *Base, #endif } +#endif + #define BitScanForward _BitScanForward #define BitScanReverse _BitScanReverse -#endif - /* TODO: Other architectures than X86 */ #if defined(_M_IX86) #define PF_TEMPORAL_LEVEL_1 diff --git a/reactos/include/psdk/wsipv6ok.h b/reactos/include/psdk/wsipv6ok.h index b9950254e66..96f40395236 100644 --- a/reactos/include/psdk/wsipv6ok.h +++ b/reactos/include/psdk/wsipv6ok.h @@ -80,4 +80,4 @@ #undef WSAAsyncGetHostByName #define WSAAsyncGetHostByName(a,b,c,d,e) WSAAsyncGetHostByName_IPV6INCOMPATIBLE -#endif \ No newline at end of file +#endif