OSDN Git Service

Timeval struct bitness issue [#2059]
[mingw/mingw-org-wsl.git] / include / rpc.h
1 /**
2  * @file rpc.h
3  * Copyright 2012, 2013 MinGW.org project
4  *
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:
11  *
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
14  * Software.
15  *
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.
23  */
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
27 #include <windows.h>
28 #endif
29
30 #ifndef _RPC_H
31 #define _RPC_H
32 #pragma GCC system_header
33 #include <_mingw.h>
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38
39 #include <basetsd.h>
40
41 #if defined(_WIN64)
42 # define __RPC_WIN64__
43 #else
44 # define __RPC_WIN32__
45 #endif
46
47 #if defined(__RPC_WIN64__)
48 __PSHPACK8
49 #endif
50
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
55 #endif
56
57 typedef void *I_RPC_HANDLE;
58 typedef long RPC_STATUS;
59
60 #define RPC_UNICODE_SUPPORTED
61
62 #define __RPC_FAR
63 #define __RPC_API  __stdcall
64 #define __RPC_USER __stdcall
65 #define __RPC_STUB __stdcall
66 #define RPC_ENTRY  __stdcall
67
68 #ifndef DECLSPEC_IMPORT
69 #ifndef MIDL_PASS
70 #define DECLSPEC_IMPORT __declspec(dllimport)
71 #else
72 #define DECLSPEC_IMPORT
73 #endif
74 #endif
75
76 #ifndef DECLSPEC_EXPORT
77 #ifndef MIDL_PASS
78 #define DECLSPEC_EXPORT __declspec(dllexport)
79 #else
80 #define DECLSPEC_EXPORT
81 #endif
82 #endif
83
84 #ifdef _RPCRT4_
85 #define RPCRTAPI
86 #else
87 #define RPCRTAPI DECLSPEC_IMPORT
88 #endif
89
90 #include <rpcdce.h>
91 #include <rpcnsi.h>
92 #include <rpcnterr.h>
93 #include <excpt.h>
94 #include <winerror.h>
95
96 /* FIXME: These should be defined regardless */
97 /* SEH is not supported */
98 #if 0
99 #include <excpt.h>
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()
108 #endif /* 0 */
109
110 #if !defined(RPC_NO_WINDOWS_H) || defined(RPC_NEED_RPCASYNC_H)
111 #include <rpcasync.h>
112 #endif
113
114 #if defined(__RPC_WIN64__)
115 __POPPACK8
116 #endif
117
118 #ifdef __cplusplus
119 }
120 #endif
121
122 #endif