-/*
- * RPC interface
- *
- * Copyright (C) the Wine project
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef RPC_NO_WINDOWS_H
-# ifdef __WINESRC__
-# include <windef.h>
-# else
-# include <windows.h>
-# endif
+
+#if !defined( RPC_NO_WINDOWS_H ) && !defined( MAC ) && !defined( _MAC )
+#include <windows.h>
#endif
-#ifndef __WINE_RPC_H
-#define __WINE_RPC_H
+#ifdef __GNUC__
+ #ifndef _SEH_NO_NATIVE_NLG
+ /* FIXME ReactOS SEH support, we need remove this when gcc support native seh */
+ #include <libs/pseh/pseh.h>
+ #endif
+#endif
-#if defined(__powerpc__) || defined(_MAC) /* ? */
-# define __RPC_MAC__
- /* Also define __RPC_WIN32__ to ensure compatibility */
-# define __RPC_WIN32__
-#elif defined(_WIN64)
-# define __RPC_WIN64__
-#else
-# define __RPC_WIN32__
+#ifndef __RPC_H__
+#define __RPC_H__
+
+#if _MSC_VER > 1000
+#pragma once
+#endif
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if defined( MAC ) || defined( _MAC ) || defined(__powerpc__)
+ #define __RPC_MAC__
+ #define __RPC_WIN32__
+ #include <pshpack2.h>
+
+#else
+ #if defined(_M_IA64) || defined(_M_AMD64) || defined(_WIN64)
+ #define __RPC_WIN64__
+ #else
+ #define __RPC_WIN32__
+ #endif
#endif
#include <basetsd.h>
-#define __RPC_FAR
-#define __RPC_API __stdcall
-#define __RPC_USER __stdcall
-#define __RPC_STUB __stdcall
-#define RPC_ENTRY __stdcall
-#define RPCRTAPI
+#if defined(__RPC_WIN64__)
+ #include <pshpack8.h>
+#endif
+
+#ifndef __MIDL_USER_DEFINED
+ #define midl_user_allocate MIDL_user_allocate
+ #define midl_user_free MIDL_user_free
+ #define __MIDL_USER_DEFINED
+#endif
+
+
+typedef void * I_RPC_HANDLE;
typedef long RPC_STATUS;
+#define __RPC_FAR
+
+#if defined(__RPC_WIN32__) || defined(__RPC_WIN64__)
+ #define RPC_UNICODE_SUPPORTED
+#endif
+
+
+#if !defined(__RPC_MAC__)
+ #define __RPC_API __stdcall
+ #define __RPC_USER __stdcall
+ #define __RPC_STUB __stdcall
+ #define RPC_ENTRY __stdcall
+#else
+ #define __RPC_API
+ #define __RPC_USER
+ #define __RPC_STUB
+ #define RPC_ENTRY
+#endif
+
+
+#ifndef __GNUC__
+ #if !defined(DECLSPEC_IMPORT)
+ #define DECLSPEC_IMPORT
+ #endif
+
+ #if !defined(_RPCRT4_)
+ #define RPCRTAPI DECLSPEC_IMPORT
+ #else
+ #define RPCRTAPI
+ #endif
+
+ #if !defined(_RPCNS4_)
+ #define RPCNSAPI DECLSPEC_IMPORT
+ #else
+ #define RPCNSAPI
+ #endif
+#else
+ #define RPCRTAPI
+ #define RPCNSAPI
+#endif
+
+
+#ifdef __RPC_MAC__
+ #include <setjmp.h>
+ #define RPCXCWORD (sizeof(jmp_buf)/sizeof(int))
+
+ #pragma warning(push)
+ #pragma warning( disable: 4005 )
+ #include <rpcdce.h>
+ #include <rpcnsi.h>
+ #include <rpcerr.h>
+ #include <rpcmac.h>
+ #pragma warning(pop)
+
+ typedef void (RPC_ENTRY *MACYIELDCALLBACK)(short *) ;
+ RPC_STATUS RPC_ENTRY
+ RpcMacSetYieldInfo(MACYIELDCALLBACK pfnCallback) ;
+
+ #if !defined(UNALIGNED)
+ #define UNALIGNED
+ #endif
+
+ #include <poppack.h>
+#else
+ #include <rpcdce.h>
+ /* #include <rpcnsi.h> */
+ #include <rpcnterr.h>
+ #include <excpt.h>
+ #include <winerror.h>
+
+ #ifndef __GNUC__
+ #define RpcTryExcept __try {
+ #define RpcExcept(expr) } __except (expr) {
+ #define RpcEndExcept }
+ #define RpcTryFinally __try {
+ #define RpcFinally } __finally {
+ #define RpcEndFinally }
+ #define RpcExceptionCode() GetExceptionCode()
+ #define RpcAbnormalTermination() AbnormalTermination()
+ #else
+ /* FIXME ReactOS SEH support, we need remove this when gcc support native seh */
+
+ #ifdef _SEH_NO_NATIVE_NLG
+ /* hack for _SEH_NO_NATIVE_NLG */
+ #define RpcTryExcept if (1) {
+ #define RpcExcept(expr) } else {
+ #define RpcEndExcept }
+ #define RpcTryFinally
+ #define RpcFinally
+ #define RpcEndFinally
+ #define RpcExceptionCode() 0
+ #else
+ #define RpcTryExcept _SEH_TRY {
+ #define RpcExcept(expr) } _SEH_HANDLE { \
+ if (expr) \
+ {
+ #define RpcEndExcept } \
+ } \
+ _SEH_END;
+
+ #define RpcTryFinally _SEH_TRY {
+ #define RpcFinally } _SEH_HANDLE {
+ #define RpcEndFinally } _SEH_END;
+ #define RpcExceptionCode() _SEH_GetExceptionCode()
+
+ /* #define RpcAbnormalTermination() abort() */
+ #endif
+ #endif
+#endif
+
+#if defined(__RPC_WIN64__)
+ #include <poppack.h>
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
-typedef void* I_RPC_HANDLE;
-
-#include <rpcdce.h>
-/* #include <rpcnsi.h> */
-#include <rpcnterr.h>
-#include <excpt.h>
-#include <winerror.h>
-
-/* ignore exception handling for now */
-#define RpcTryExcept if (1) {
-#define RpcExcept(expr) } else {
-#define RpcEndExcept }
-#define RpcTryFinally
-#define RpcFinally
-#define RpcEndFinally
-#define RpcExceptionCode() 0
-/* #define RpcAbnormalTermination() abort() */
-
-RPC_STATUS RPC_ENTRY RpcImpersonateClient(RPC_BINDING_HANDLE);
-RPC_STATUS RPC_ENTRY RpcRevertToSelf(void);
-DWORD WINAPI I_RpcMapWin32Status(RPC_STATUS status);
-
-#endif /*__WINE_RPC_H */
<group>
-<module name="pnp_server" type="rpcserver">
+<module name="pnp_server" type="rpcserver" allowwarnings ="true">
<include base="ReactOS">.</include>
<include base="ReactOS">w32api/include</include>
<define name="_X86_" />
<file>pnp.idl</file>
</module>
-<module name="pnp_client" type="rpcclient">
+<module name="pnp_client" type="rpcclient" allowwarnings ="true">
<include base="ReactOS">.</include>
<include base="ReactOS">w32api/include</include>
<define name="_X86_" />
<file>pnp.idl</file>
</module>
-<module name="scm_server" type="rpcserver">
+<module name="scm_server" type="rpcserver" allowwarnings ="true">
<include base="ReactOS">.</include>
<include base="ReactOS">w32api/include</include>
<define name="_X86_" />
<file switches="--oldnames">svcctl.idl</file>
</module>
-<module name="scm_client" type="rpcclient">
+<module name="scm_client" type="rpcclient" allowwarnings ="true">
<include base="ReactOS">.</include>
<include base="ReactOS">w32api/include</include>
<define name="_X86_" />
<define name="_X86_" />
<file switches="--oldnames">eventlogrpc.idl</file>
</module>
-<module name="eventlog_client" type="rpcclient">
+<module name="eventlog_client" type="rpcclient" >
<include base="ReactOS">.</include>
<include base="ReactOS">w32api/include</include>
<define name="_X86_" />
<file switches="--oldnames">eventlogrpc.idl</file>
</module>
-<module name="lsa_server" type="rpcserver">
+<module name="lsa_server" type="rpcserver" allowwarnings ="true">
<include base="ReactOS">.</include>
<include base="ReactOS">w32api/include</include>
<define name="_X86_" />
<file switches="--oldnames">lsa.idl</file>
</module>
-<module name="lsa_client" type="rpcclient">
+<module name="lsa_client" type="rpcclient" allowwarnings ="true">
<include base="ReactOS">.</include>
<include base="ReactOS">w32api/include</include>
<define name="_X86_" />