3 * Copyright 2012, 2013 MinGW.org project
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
24 /* Include here to prevent circular dependencies if windows.h not already
25 * included. ** DO NOT MOVE TO GUARD ** */
26 #ifndef RPC_NO_WINDOWS_H
32 #pragma GCC system_header
42 # define __RPC_WIN64__
44 # define __RPC_WIN32__
47 #if defined(__RPC_WIN64__)
51 #ifndef __MIDL_USER_DEFINED
52 #define midl_user_allocate MIDL_user_allocate
53 #define midl_user_free MIDL_user_free
54 #define __MIDL_USER_DEFINED
57 typedef void *I_RPC_HANDLE;
58 typedef long RPC_STATUS;
60 #define RPC_UNICODE_SUPPORTED
63 #define __RPC_API __stdcall
64 #define __RPC_USER __stdcall
65 #define __RPC_STUB __stdcall
66 #define RPC_ENTRY __stdcall
68 #ifndef DECLSPEC_IMPORT
70 #define DECLSPEC_IMPORT __declspec(dllimport)
72 #define DECLSPEC_IMPORT
76 #ifndef DECLSPEC_EXPORT
78 #define DECLSPEC_EXPORT __declspec(dllexport)
80 #define DECLSPEC_EXPORT
87 #define RPCRTAPI DECLSPEC_IMPORT
96 /* FIXME: These should be defined regardless */
97 /* SEH is not supported */
100 #define RpcTryExcept __try {
101 #define RpcExcept(x) } __except (x) {
102 #define RpcEndExcept }
103 #define RpcTryFinally __try {
104 #define RpcFinally } __finally {
105 #define RpcEndFinally }
106 #define RpcExceptionCode() GetExceptionCode()
107 #define RpcAbnormalTermination() AbnormalTermination()
110 #if !defined(RPC_NO_WINDOWS_H) || defined(RPC_NEED_RPCASYNC_H)
111 #include <rpcasync.h>
114 #if defined(__RPC_WIN64__)