diff --git a/include/Makefile.in b/include/Makefile.in
index c20d6f761860fa3ad96fb65f95cd1dc7656d6f4a..44ed9a48002f6fa0cb8dd0c79b041276766962f8 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -8,6 +8,7 @@ INSTALLED_INCLUDES = \
 	basetsd.h \
 	cderr.h \
 	cguid.h \
+	comcat.h \
 	commctrl.h \
 	commdlg.h \
 	compobj.h \
@@ -60,6 +61,9 @@ INSTALLED_INCLUDES = \
 	regstr.h \
 	richedit.h \
 	rpc.h \
+	rpcdce.h \
+	rpcdcep.h \
+	rpcndr.h \
 	servprov.h \
 	setupapi.h \
 	shellapi.h \
diff --git a/include/comcat.h b/include/comcat.h
new file mode 100644
index 0000000000000000000000000000000000000000..05e1374114680006a98ea8695b5e97c74e4f4a3b
--- /dev/null
+++ b/include/comcat.h
@@ -0,0 +1,10 @@
+#ifndef __WINE_COMCAT_H
+#define __WINE_COMCAT_H
+
+#include "rpc.h"
+#include "rpcndr.h"
+
+typedef GUID CATID;
+typedef REFGUID REFCATID;
+
+#endif /*__WINE_COMCAT_H */
diff --git a/include/rpc.h b/include/rpc.h
index 67a3a33d38de0ae5af2a41de798582f228bfcbc0..feef48346f47f73b0d00eb477e20f3d8b7f44630 100644
--- a/include/rpc.h
+++ b/include/rpc.h
@@ -5,17 +5,14 @@
 #ifndef __WINE_RPC_H
 #define __WINE_RPC_H
 
-#include "windef.h"
-
-#define RPC_ENTRY WINAPI
+#define __RPC_FAR
+#define __RPC_API  WINAPI
+#define __RPC_USER WINAPI
+#define __RPC_STUB WINAPI
+#define RPC_ENTRY  WINAPI
 typedef long RPC_STATUS;
 
-/* FIXME: this line should be in rpcndr.h */
-typedef unsigned char byte;
-
-/* FIXME: and the following group should be in rpcdce.h */
-typedef void* RPC_AUTH_IDENTITY_HANDLE;
-typedef void* RPC_AUTHZ_HANDLE;
+typedef void* I_RPC_HANDLE;
 
 #ifndef GUID_DEFINED
 #define GUID_DEFINED
@@ -35,4 +32,6 @@ typedef GUID UUID;
 
 RPC_STATUS RPC_ENTRY UuidCreate(UUID *Uuid);
 
+#include "rpcdce.h"
+
 #endif /*__WINE_RPC_H */
diff --git a/include/rpcdce.h b/include/rpcdce.h
new file mode 100644
index 0000000000000000000000000000000000000000..5bda32c54ae317edf5a7fa2bc7b45fd394bb1165
--- /dev/null
+++ b/include/rpcdce.h
@@ -0,0 +1,16 @@
+#ifndef __WINE_RPCDCE_H
+#define __WINE_RPCDCE_H
+
+#include "windef.h"
+
+typedef void* RPC_AUTH_IDENTITY_HANDLE;
+typedef void* RPC_AUTHZ_HANDLE;
+typedef void* RPC_IF_HANDLE;
+typedef I_RPC_HANDLE RPC_BINDING_HANDLE;
+typedef RPC_BINDING_HANDLE handle_t;
+#define rpc_binding_handle_t RPC_BINDING_HANDLE
+#define RPC_MGR_EPV void
+
+#include "rpcdcep.h"
+
+#endif /*__WINE_RPCDCE_H */
diff --git a/include/rpcdcep.h b/include/rpcdcep.h
new file mode 100644
index 0000000000000000000000000000000000000000..ac005248196b75eb9aaaf92407f3270e9d8a87fe
--- /dev/null
+++ b/include/rpcdcep.h
@@ -0,0 +1,30 @@
+#ifndef __WINE_RPCDCEP_H
+#define __WINE_RPCDCEP_H
+
+
+typedef struct _RPC_VERSION {
+    unsigned short MajorVersion;
+    unsigned short MinorVersion;
+} RPC_VERSION;
+
+typedef struct _RPC_SYNTAX_IDENTIFIER {
+    GUID SyntaxGUID;
+    RPC_VERSION SyntaxVersion;
+} RPC_SYNTAX_IDENTIFIER, *PRPC_SYNTAX_IDENTIFIER;
+
+typedef struct _RPC_MESSAGE
+{
+    RPC_BINDING_HANDLE Handle;
+    unsigned long DataRepresentation;
+    void* Buffer;
+    unsigned int BufferLength;
+    unsigned int ProcNum;
+    PRPC_SYNTAX_IDENTIFIER TransferSyntax;
+    void* RpcInterfaceInformation;
+    void* ReservedForRuntime;
+    RPC_MGR_EPV* ManagerEpv;
+    void* ImportContext;
+    unsigned long RpcFlags;
+} RPC_MESSAGE, *PRPC_MESSAGE;
+
+#endif /*__WINE_RPCDCE_H */
diff --git a/include/rpcndr.h b/include/rpcndr.h
new file mode 100644
index 0000000000000000000000000000000000000000..a33de668746cea839af8f9c3eb8119f767b9ee1c
--- /dev/null
+++ b/include/rpcndr.h
@@ -0,0 +1,14 @@
+#ifndef __WINE_RPCNDR_H
+#define __WINE_RPCNDR_H
+
+#ifndef __RPCNDR_H_VERSION__
+/* FIXME: I'm not sure what version though */
+#define __RPCNDR_H_VERSION__
+#endif // __RPCNDR_H_VERSION__
+
+typedef unsigned char byte;
+
+#define DECLSPEC_UUID(x)
+#define MIDL_INTERFACE(x)   struct
+
+#endif /*__WINE_RPCNDR_H */
diff --git a/include/wtypes.h b/include/wtypes.h
index 457a8ba1cd924c5940bfe97a8f5a1e5535ee9707..b8f792345a022f84587a9c25381e4eb9d55ae17d 100644
--- a/include/wtypes.h
+++ b/include/wtypes.h
@@ -8,6 +8,7 @@
 #include "basetsd.h"
 #include "guiddef.h"
 #include "rpc.h"
+#include "rpcndr.h"
 
 typedef WORD CLIPFORMAT, *LPCLIPFORMAT;