Added some declarations.
diff --git a/include/rpcndr.h b/include/rpcndr.h
index 351c9ef..ed6cf29 100644
--- a/include/rpcndr.h
+++ b/include/rpcndr.h
@@ -88,6 +88,7 @@
#define TARGET_IS_NT40_OR_LATER 1
#define TARGET_IS_NT351_OR_WIN95_OR_LATER 1
+#define small char
typedef unsigned char byte;
#define hyper __int64
#define MIDL_uhyper unsigned __int64
@@ -97,10 +98,13 @@
#define __RPC_CALLEE WINAPI
#define RPC_VAR_ENTRY WINAPIV
+#define NDR_SHAREABLE static
#define MIDL_ascii_strlen(s) strlen(s)
#define MIDL_ascii_strcpy(d,s) strcpy(d,s)
#define MIDL_memset(d,v,n) memset(d,v,n)
+#define midl_user_free MIDL_user_free
+#define midl_user_allocate MIDL_user_allocate
#define NdrFcShort(s) (unsigned char)(s & 0xff), (unsigned char)(s >> 8)
#define NdrFcLong(s) (unsigned char)(s & 0xff), (unsigned char)((s & 0x0000ff00) >> 8), \
@@ -207,7 +211,15 @@
typedef struct __GENERIC_BINDING_INFO GENERIC_BINDING_INFO, *PGENERIC_BINDING_INFO;
-typedef struct _XMIT_ROUTINE_QUINTUPLE XMIT_ROUTINE_QUINTUPLE, *PXMIT_ROUTINE_QUINTUPLE;
+typedef void (__RPC_USER *XMIT_HELPER_ROUTINE)(PMIDL_STUB_MESSAGE);
+
+typedef struct _XMIT_ROUTINE_QUINTUPLE
+{
+ XMIT_HELPER_ROUTINE pfnTranslateToXmit;
+ XMIT_HELPER_ROUTINE pfnTranslateFromXmit;
+ XMIT_HELPER_ROUTINE pfnFreeXmit;
+ XMIT_HELPER_ROUTINE pfnFreeInst;
+} XMIT_ROUTINE_QUINTUPLE, *PXMIT_ROUTINE_QUINTUPLE;
typedef unsigned long (__RPC_USER *USER_MARSHAL_SIZING_ROUTINE)(unsigned long *, unsigned long, void *);
typedef unsigned char * (__RPC_USER *USER_MARSHAL_MARSHALLING_ROUTINE)(unsigned long *, unsigned char *, void *);
@@ -222,9 +234,17 @@
USER_MARSHAL_FREEING_ROUTINE pfnFree;
} USER_MARSHAL_ROUTINE_QUADRUPLE;
-typedef struct _MALLOC_FREE_STRUCT MALLOC_FREE_STRUCT;
+typedef struct _MALLOC_FREE_STRUCT
+{
+ void * (__RPC_USER *pfnAllocate)(size_t);
+ void (__RPC_USER *pfnFree)(void *);
+} MALLOC_FREE_STRUCT;
-typedef struct _COMM_FAULT_OFFSETS COMM_FAULT_OFFSETS;
+typedef struct _COMM_FAULT_OFFSETS
+{
+ short CommOffset;
+ short FaultOffset;
+} COMM_FAULT_OFFSETS;
typedef struct _MIDL_STUB_DESC
{
@@ -438,6 +458,8 @@
RPCRTAPI void RPC_ENTRY
NdrConvert( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat );
+/* Note: this should return a CLIENT_CALL_RETURN, but calling convention for
+ * returning structures/unions is different between Windows and gcc on i386. */
LONG_PTR RPC_VAR_ENTRY
NdrClientCall2( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ... );
LONG_PTR RPC_VAR_ENTRY