Added a lot of new OLE interfaces.
diff --git a/include/objbase.h b/include/objbase.h
index b41f35c..f927b9e 100644
--- a/include/objbase.h
+++ b/include/objbase.h
@@ -18,5 +18,115 @@
/* the following depend on obj_moniker.h */
#include "wine/obj_dataobject.h"
+#include "wine/obj_dragdrop.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+ #define EXTERN_C extern "C"
+#else
+ #define EXTERN_C extern
+#endif
+
+#define STDMETHODCALLTYPE __stdcall
+#define STDMETHODVCALLTYPE __cdecl
+#define STDAPICALLTYPE __stdcall
+#define STDAPIVCALLTYPE __cdecl
+
+#define STDAPI EXTERN_C HRESULT STDAPICALLTYPE
+#define STDAPI_(type) EXTERN_C type STDAPICALLTYPE
+
+#define STDMETHODIMP HRESULT STDMETHODCALLTYPE
+#define STDMETHODIMP_(type) type STDMETHODCALLTYPE
+
+
+#define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE
+#define STDAPIV_(type) EXTERN_C type STDAPIVCALLTYPE
+
+#define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE
+#define STDMETHODIMPV_(type) type STDMETHODVCALLTYPE
+
+#define WINOLEAPI STDAPI
+#define WINOLEAPI_(type) STDAPI_(type)
+
+#define BEGIN_INTERFACE
+#define END_INTERFACE
+
+#ifdef __LIBMFC__
+/* All of these will eventually need to go once headers in win_include are wynified. */
+/* These macros are msdev's way of defining COM objects. */
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+#define interface struct
+#define STDMETHOD(method) virtual HRESULT STDMETHODCALLTYPE method
+#define STDMETHOD_(type,method) virtual type STDMETHODCALLTYPE method
+#define PURE = 0
+#define THIS_
+#define THIS void
+#define DECLARE_INTERFACE(iface) interface iface
+#define DECLARE_INTERFACE_(iface, baseiface) interface iface : public baseiface
+
+
+#if !defined(BEGIN_INTERFACE)
+#if defined(_MPPC_) && \
+ ( (defined(_MSC_VER) || defined(__SC__) || defined(__MWERKS__)) && \
+ !defined(NO_NULL_VTABLE_ENTRY) )
+ #define BEGIN_INTERFACE virtual void a() {}
+ #define END_INTERFACE
+#else
+ #define BEGIN_INTERFACE
+ #define END_INTERFACE
+#endif
+#endif
+
+#else
+
+#define interface struct
+
+#define STDMETHOD(method) HRESULT (STDMETHODCALLTYPE * method)
+#define STDMETHOD_(type,method) type (STDMETHODCALLTYPE * method)
+
+#if !defined(BEGIN_INTERFACE)
+#if defined(_MPPC_)
+ #define BEGIN_INTERFACE void *b;
+ #define END_INTERFACE
+#else
+ #define BEGIN_INTERFACE
+ #define END_INTERFACE
+#endif
+#endif
+
+#define PURE
+#define THIS_ INTERFACE FAR* This,
+#define THIS INTERFACE FAR* This
+#ifdef CONST_VTABLE
+#undef CONST_VTBL
+#define CONST_VTBL const
+#define DECLARE_INTERFACE(iface) typedef interface iface { \
+ const struct iface##Vtbl FAR* lpVtbl; \
+ } iface; \
+ typedef const struct iface##Vtbl iface##Vtbl; \
+ const struct iface##Vtbl
+#else
+#undef CONST_VTBL
+#define CONST_VTBL
+#define DECLARE_INTERFACE(iface) typedef interface iface { \
+ struct iface##Vtbl FAR* lpVtbl; \
+ } iface; \
+ typedef struct iface##Vtbl iface##Vtbl; \
+ struct iface##Vtbl
+#endif
+#define DECLARE_INTERFACE_(iface, baseiface) DECLARE_INTERFACE(iface)
+
+#endif
+/* end MsDev's style, all of that must eventually go! */
+#endif /* __LIBMFC__ */
+
+
+#ifdef __cplusplus
+}; /* extern "C" { */
+#endif
#endif /* __WINE_OBJBASE_H */