[PSDK] Update unknwn.idl. CORE-13762
[reactos.git] / sdk / include / psdk / rpc.h
1
2 #if !defined( RPC_NO_WINDOWS_H ) && !defined( MAC ) && !defined( _MAC )
3 #ifndef _INC_WINDOWS
4 #include <windows.h>
5 #endif /* _INC_WINDOWS */
6 #endif
7
8 #ifndef RC_INVOKED
9 #include <pseh/pseh2.h>
10 #endif
11
12 #ifndef __RPC_H__
13 #define __RPC_H__
14
15 #if _MSC_VER > 1000
16 #pragma once
17 #endif
18
19
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23
24 #if defined( MAC ) || defined( _MAC ) || defined(__powerpc__) && !defined(__REACTOS__)
25 #define __RPC_MAC__
26 #define __RPC_WIN32__
27 #include <pshpack2.h>
28
29 #else
30 #if defined(_M_IA64) || defined(_M_AMD64) || defined(_WIN64)
31 #define __RPC_WIN64__
32 #else
33 #define __RPC_WIN32__
34 #endif
35 #endif
36
37 #include <basetsd.h>
38
39 #if defined(__RPC_WIN64__)
40 #include <pshpack8.h>
41 #endif
42
43 #ifndef __MIDL_USER_DEFINED
44 #define midl_user_allocate MIDL_user_allocate
45 #define midl_user_free MIDL_user_free
46 #define __MIDL_USER_DEFINED
47 #endif
48
49
50 typedef void * I_RPC_HANDLE;
51 #ifndef __ROS_LONG64__
52 typedef long RPC_STATUS;
53 #else
54 typedef int RPC_STATUS;
55 #endif
56 #define __RPC_FAR
57
58 #if defined(__RPC_WIN32__) || defined(__RPC_WIN64__)
59 #define RPC_UNICODE_SUPPORTED
60 #endif
61
62
63 #if !defined(__RPC_MAC__)
64 #define __RPC_API __stdcall
65 #define __RPC_USER __stdcall
66 #define __RPC_STUB __stdcall
67 #define RPC_ENTRY __stdcall
68 #else
69 #define __RPC_API
70 #define __RPC_USER
71 #define __RPC_STUB
72 #define RPC_ENTRY
73 #endif
74
75
76 #ifndef __GNUC__
77 #if !defined(DECLSPEC_IMPORT)
78 #define DECLSPEC_IMPORT
79 #endif
80
81 #if !defined(_RPCRT4_)
82 #define RPCRTAPI DECLSPEC_IMPORT
83 #else
84 #define RPCRTAPI
85 #endif
86
87 #if !defined(_RPCNS4_)
88 #define RPCNSAPI DECLSPEC_IMPORT
89 #else
90 #define RPCNSAPI
91 #endif
92 #else
93 #define RPCRTAPI
94 #define RPCNSAPI
95 #endif
96
97 #ifdef __RPC_MAC__
98 #include <setjmp.h>
99 #define RPCXCWORD (sizeof(jmp_buf)/sizeof(int))
100
101 #pragma warning(push)
102 #pragma warning( disable: 4005 )
103 #include <rpcdce.h>
104 #include <rpcnsi.h>
105 #include <rpcerr.h>
106 #include <rpcmac.h>
107 #pragma warning(pop)
108
109 typedef void (RPC_ENTRY *MACYIELDCALLBACK)(short *) ;
110 RPC_STATUS RPC_ENTRY
111 RpcMacSetYieldInfo(MACYIELDCALLBACK pfnCallback) ;
112
113 #if !defined(UNALIGNED)
114 #define UNALIGNED
115 #endif
116
117 #include <poppack.h>
118 #else
119 #include <rpcdce.h>
120 /* #include <rpcnsi.h> */
121 #include <rpcnterr.h>
122 #include <excpt.h>
123 #include <winerror.h>
124
125 #ifndef __GNUC__
126 #define RpcTryExcept __try {
127 #define RpcExcept(expr) } __except (expr) {
128 #define RpcEndExcept }
129 #define RpcTryFinally __try {
130 #define RpcFinally } __finally {
131 #define RpcEndFinally }
132 #define RpcExceptionCode() GetExceptionCode()
133 #define RpcAbnormalTermination() AbnormalTermination()
134 #else
135 #define RpcTryExcept _SEH2_TRY
136 #define RpcExcept(expr) _SEH2_EXCEPT((expr))
137 #define RpcEndExcept _SEH2_END;
138 #define RpcTryFinally _SEH2_TRY
139 #define RpcFinally _SEH2_FINALLY
140 #define RpcEndFinally _SEH2_END;
141 #define RpcExceptionCode() _SEH2_GetExceptionCode()
142 #define RpcAbnormalTermination() (_SEH2_GetExceptionCode() != 0)
143 #endif
144 #endif
145
146 #if defined(__RPC_WIN64__)
147 #include <poppack.h>
148 #endif
149
150 #ifndef RPC_NO_WINDOWS_H
151 #include <rpcasync.h>
152 #endif
153
154 #ifdef __cplusplus
155 }
156 #endif
157
158 #endif
159
160