From 552fddc1cb79ea9f9c9373c9a4635213a5be96ad Mon Sep 17 00:00:00 2001
From: Francois Gouget <fgouget@codeweavers.com>
Date: Wed, 8 Nov 2000 05:06:10 +0000
Subject: [PATCH] Moved things to the proper rpcxxx.h header. Added some type
 definitions used by the MFC.

---
 include/Makefile.in |  4 ++++
 include/comcat.h    | 10 ++++++++++
 include/rpc.h       | 17 ++++++++---------
 include/rpcdce.h    | 16 ++++++++++++++++
 include/rpcdcep.h   | 30 ++++++++++++++++++++++++++++++
 include/rpcndr.h    | 14 ++++++++++++++
 include/wtypes.h    |  1 +
 7 files changed, 83 insertions(+), 9 deletions(-)
 create mode 100644 include/comcat.h
 create mode 100644 include/rpcdce.h
 create mode 100644 include/rpcdcep.h
 create mode 100644 include/rpcndr.h

diff --git a/include/Makefile.in b/include/Makefile.in
index c20d6f76186..44ed9a48002 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 00000000000..05e13741146
--- /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 67a3a33d38d..feef48346f4 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 00000000000..5bda32c54ae
--- /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 00000000000..ac005248196
--- /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 00000000000..a33de668746
--- /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 457a8ba1cd9..b8f792345a0 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;
 
-- 
GitLab