1 | 1 |
new file mode 100755 |
... | ... |
@@ -0,0 +1,274 @@ |
1 |
+/* |
|
2 |
+ * Copyright 2010 Vicente J. Botet Escriba |
|
3 |
+ * Copyright 2015-2018 Andrey Semashev |
|
4 |
+ * |
|
5 |
+ * Distributed under the Boost Software License, Version 1.0. |
|
6 |
+ * See http://www.boost.org/LICENSE_1_0.txt |
|
7 |
+ */ |
|
8 |
+ |
|
9 |
+#ifndef BOOST_WINAPI_BASIC_TYPES_HPP_INCLUDED_ |
|
10 |
+#define BOOST_WINAPI_BASIC_TYPES_HPP_INCLUDED_ |
|
11 |
+ |
|
12 |
+#include <boost/winapi/config.hpp> |
|
13 |
+ |
|
14 |
+#ifdef BOOST_HAS_PRAGMA_ONCE |
|
15 |
+#pragma once |
|
16 |
+#endif |
|
17 |
+ |
|
18 |
+#if defined(BOOST_USE_WINDOWS_H) |
|
19 |
+# include <windows.h> |
|
20 |
+#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) |
|
21 |
+# ifdef UNDER_CE |
|
22 |
+# ifndef WINAPI |
|
23 |
+# ifndef _WIN32_WCE_EMULATION |
|
24 |
+# define WINAPI __cdecl // Note this doesn't match the desktop definition |
|
25 |
+# else |
|
26 |
+# define WINAPI __stdcall |
|
27 |
+# endif |
|
28 |
+# endif |
|
29 |
+// Windows CE defines a few functions as inline functions in kfuncs.h |
|
30 |
+typedef int BOOL; |
|
31 |
+typedef unsigned long DWORD; |
|
32 |
+typedef void* HANDLE; |
|
33 |
+typedef HANDLE HGLOBAL; |
|
34 |
+typedef void* LPVOID; |
|
35 |
+# include <kfuncs.h> |
|
36 |
+# endif // UNDER_CE |
|
37 |
+#else |
|
38 |
+# error "Win32 functions not available" |
|
39 |
+#endif |
|
40 |
+ |
|
41 |
+#include <boost/winapi/detail/header.hpp> |
|
42 |
+ |
|
43 |
+#if defined(_M_IX86) || defined(__i386__) |
|
44 |
+#define BOOST_WINAPI_DETAIL_STDCALL __stdcall |
|
45 |
+#else |
|
46 |
+// On architectures other than 32-bit x86 __stdcall is ignored. Clang also issues a warning. |
|
47 |
+#define BOOST_WINAPI_DETAIL_STDCALL |
|
48 |
+#endif |
|
49 |
+ |
|
50 |
+#if defined(WINAPI) |
|
51 |
+#define BOOST_WINAPI_WINAPI_CC WINAPI |
|
52 |
+#else |
|
53 |
+#define BOOST_WINAPI_WINAPI_CC BOOST_WINAPI_DETAIL_STDCALL |
|
54 |
+#endif |
|
55 |
+ |
|
56 |
+#if defined(CALLBACK) |
|
57 |
+#define BOOST_WINAPI_CALLBACK_CC CALLBACK |
|
58 |
+#else |
|
59 |
+#define BOOST_WINAPI_CALLBACK_CC BOOST_WINAPI_DETAIL_STDCALL |
|
60 |
+#endif |
|
61 |
+ |
|
62 |
+#if defined(NTAPI) |
|
63 |
+#define BOOST_WINAPI_NTAPI_CC NTAPI |
|
64 |
+#else |
|
65 |
+#define BOOST_WINAPI_NTAPI_CC BOOST_WINAPI_DETAIL_STDCALL |
|
66 |
+#endif |
|
67 |
+ |
|
68 |
+#ifndef NO_STRICT |
|
69 |
+#ifndef STRICT |
|
70 |
+#define STRICT 1 |
|
71 |
+#endif |
|
72 |
+#endif |
|
73 |
+ |
|
74 |
+#if defined(STRICT) |
|
75 |
+#define BOOST_WINAPI_DETAIL_DECLARE_HANDLE(x) struct x##__; typedef struct x##__ *x |
|
76 |
+#else |
|
77 |
+#define BOOST_WINAPI_DETAIL_DECLARE_HANDLE(x) typedef void* x |
|
78 |
+#endif |
|
79 |
+ |
|
80 |
+#if !defined(BOOST_USE_WINDOWS_H) |
|
81 |
+extern "C" { |
|
82 |
+union _LARGE_INTEGER; |
|
83 |
+struct _SECURITY_ATTRIBUTES; |
|
84 |
+BOOST_WINAPI_DETAIL_DECLARE_HANDLE(HINSTANCE); |
|
85 |
+typedef HINSTANCE HMODULE; |
|
86 |
+} |
|
87 |
+#endif |
|
88 |
+ |
|
89 |
+#if defined(__GNUC__) |
|
90 |
+#define BOOST_WINAPI_DETAIL_EXTENSION __extension__ |
|
91 |
+#else |
|
92 |
+#define BOOST_WINAPI_DETAIL_EXTENSION |
|
93 |
+#endif |
|
94 |
+ |
|
95 |
+// MinGW64 gcc 4.8.2 fails to compile function declarations with boost::winapi::VOID_ arguments even though |
|
96 |
+// the typedef expands to void. In Windows SDK, VOID is a macro which unfolds to void. We use our own macro in such cases. |
|
97 |
+#define BOOST_WINAPI_DETAIL_VOID void |
|
98 |
+ |
|
99 |
+namespace boost { |
|
100 |
+namespace winapi { |
|
101 |
+#if defined(BOOST_USE_WINDOWS_H) |
|
102 |
+ |
|
103 |
+typedef ::BOOL BOOL_; |
|
104 |
+typedef ::PBOOL PBOOL_; |
|
105 |
+typedef ::LPBOOL LPBOOL_; |
|
106 |
+typedef ::BOOLEAN BOOLEAN_; |
|
107 |
+typedef ::PBOOLEAN PBOOLEAN_; |
|
108 |
+typedef ::BYTE BYTE_; |
|
109 |
+typedef ::PBYTE PBYTE_; |
|
110 |
+typedef ::LPBYTE LPBYTE_; |
|
111 |
+typedef ::UCHAR UCHAR_; |
|
112 |
+typedef ::PUCHAR PUCHAR_; |
|
113 |
+typedef ::WORD WORD_; |
|
114 |
+typedef ::PWORD PWORD_; |
|
115 |
+typedef ::LPWORD LPWORD_; |
|
116 |
+typedef ::DWORD DWORD_; |
|
117 |
+typedef ::PDWORD PDWORD_; |
|
118 |
+typedef ::LPDWORD LPDWORD_; |
|
119 |
+typedef ::HANDLE HANDLE_; |
|
120 |
+typedef ::PHANDLE PHANDLE_; |
|
121 |
+typedef ::SHORT SHORT_; |
|
122 |
+typedef ::PSHORT PSHORT_; |
|
123 |
+typedef ::USHORT USHORT_; |
|
124 |
+typedef ::PUSHORT PUSHORT_; |
|
125 |
+typedef ::INT INT_; |
|
126 |
+typedef ::PINT PINT_; |
|
127 |
+typedef ::LPINT LPINT_; |
|
128 |
+typedef ::UINT UINT_; |
|
129 |
+typedef ::PUINT PUINT_; |
|
130 |
+typedef ::LONG LONG_; |
|
131 |
+typedef ::PLONG PLONG_; |
|
132 |
+typedef ::LPLONG LPLONG_; |
|
133 |
+typedef ::ULONG ULONG_; |
|
134 |
+typedef ::PULONG PULONG_; |
|
135 |
+typedef ::LONGLONG ULONG64_; |
|
136 |
+typedef ::ULONGLONG PULONG64_; |
|
137 |
+typedef ::LONGLONG LONGLONG_; |
|
138 |
+typedef ::ULONGLONG ULONGLONG_; |
|
139 |
+typedef ::INT_PTR INT_PTR_; |
|
140 |
+typedef ::UINT_PTR UINT_PTR_; |
|
141 |
+typedef ::LONG_PTR LONG_PTR_; |
|
142 |
+typedef ::ULONG_PTR ULONG_PTR_; |
|
143 |
+typedef ::DWORD_PTR DWORD_PTR_; |
|
144 |
+typedef ::PDWORD_PTR PDWORD_PTR_; |
|
145 |
+typedef ::SIZE_T SIZE_T_; |
|
146 |
+typedef ::PSIZE_T PSIZE_T_; |
|
147 |
+typedef ::SSIZE_T SSIZE_T_; |
|
148 |
+typedef ::PSSIZE_T PSSIZE_T_; |
|
149 |
+typedef VOID VOID_; // VOID is a macro |
|
150 |
+typedef ::PVOID PVOID_; |
|
151 |
+typedef ::LPVOID LPVOID_; |
|
152 |
+typedef ::LPCVOID LPCVOID_; |
|
153 |
+typedef ::CHAR CHAR_; |
|
154 |
+typedef ::LPSTR LPSTR_; |
|
155 |
+typedef ::LPCSTR LPCSTR_; |
|
156 |
+typedef ::WCHAR WCHAR_; |
|
157 |
+typedef ::LPWSTR LPWSTR_; |
|
158 |
+typedef ::LPCWSTR LPCWSTR_; |
|
159 |
+ |
|
160 |
+#else // defined( BOOST_USE_WINDOWS_H ) |
|
161 |
+ |
|
162 |
+typedef int BOOL_; |
|
163 |
+typedef BOOL_* PBOOL_; |
|
164 |
+typedef BOOL_* LPBOOL_; |
|
165 |
+typedef unsigned char BYTE_; |
|
166 |
+typedef BYTE_* PBYTE_; |
|
167 |
+typedef BYTE_* LPBYTE_; |
|
168 |
+typedef unsigned char UCHAR_; |
|
169 |
+typedef UCHAR_* PUCHAR_; |
|
170 |
+typedef BYTE_ BOOLEAN_; |
|
171 |
+typedef BOOLEAN_* PBOOLEAN_; |
|
172 |
+typedef unsigned short WORD_; |
|
173 |
+typedef WORD_* PWORD_; |
|
174 |
+typedef WORD_* LPWORD_; |
|
175 |
+#if !defined(__LP64__) |
|
176 |
+typedef unsigned long DWORD_; |
|
177 |
+#else |
|
178 |
+typedef unsigned int DWORD_; |
|
179 |
+#endif |
|
180 |
+typedef DWORD_* PDWORD_; |
|
181 |
+typedef DWORD_* LPDWORD_; |
|
182 |
+typedef void* HANDLE_; |
|
183 |
+typedef void** PHANDLE_; |
|
184 |
+ |
|
185 |
+typedef short SHORT_; |
|
186 |
+typedef SHORT_* PSHORT_; |
|
187 |
+typedef unsigned short USHORT_; |
|
188 |
+typedef USHORT_* PUSHORT_; |
|
189 |
+typedef int INT_; |
|
190 |
+typedef INT_* PINT_; |
|
191 |
+typedef INT_* LPINT_; |
|
192 |
+typedef unsigned int UINT_; |
|
193 |
+typedef UINT_* PUINT_; |
|
194 |
+#if !defined(__LP64__) |
|
195 |
+typedef long LONG_; |
|
196 |
+typedef unsigned long ULONG_; |
|
197 |
+#else |
|
198 |
+typedef int LONG_; |
|
199 |
+typedef unsigned int ULONG_; |
|
200 |
+#endif |
|
201 |
+typedef LONG_* PLONG_; |
|
202 |
+typedef LONG_* LPLONG_; |
|
203 |
+typedef ULONG_* PULONG_; |
|
204 |
+#if defined(BOOST_HAS_MS_INT64) |
|
205 |
+BOOST_WINAPI_DETAIL_EXTENSION typedef __int64 LONGLONG_; |
|
206 |
+BOOST_WINAPI_DETAIL_EXTENSION typedef unsigned __int64 ULONGLONG_; |
|
207 |
+#else |
|
208 |
+BOOST_WINAPI_DETAIL_EXTENSION typedef long long LONGLONG_; |
|
209 |
+BOOST_WINAPI_DETAIL_EXTENSION typedef unsigned long long ULONGLONG_; |
|
210 |
+#endif |
|
211 |
+typedef LONGLONG_ LONG64_, *PLONG64_; |
|
212 |
+typedef ULONGLONG_ ULONG64_, *PULONG64_; |
|
213 |
+ |
|
214 |
+#if defined(_WIN64) |
|
215 |
+typedef LONGLONG_ INT_PTR_; |
|
216 |
+typedef ULONGLONG_ UINT_PTR_; |
|
217 |
+typedef LONGLONG_ LONG_PTR_; |
|
218 |
+typedef ULONGLONG_ ULONG_PTR_; |
|
219 |
+#else |
|
220 |
+typedef int INT_PTR_; |
|
221 |
+typedef unsigned int UINT_PTR_; |
|
222 |
+typedef long LONG_PTR_; |
|
223 |
+typedef unsigned long ULONG_PTR_; |
|
224 |
+#endif |
|
225 |
+ |
|
226 |
+typedef ULONG_PTR_ DWORD_PTR_, *PDWORD_PTR_; |
|
227 |
+typedef ULONG_PTR_ SIZE_T_, *PSIZE_T_; |
|
228 |
+typedef LONG_PTR_ SSIZE_T_, *PSSIZE_T_; |
|
229 |
+ |
|
230 |
+typedef void VOID_; |
|
231 |
+typedef void *PVOID_; |
|
232 |
+typedef void *LPVOID_; |
|
233 |
+typedef const void *LPCVOID_; |
|
234 |
+ |
|
235 |
+typedef char CHAR_; |
|
236 |
+typedef CHAR_ *LPSTR_; |
|
237 |
+typedef const CHAR_ *LPCSTR_; |
|
238 |
+ |
|
239 |
+typedef wchar_t WCHAR_; |
|
240 |
+typedef WCHAR_ *LPWSTR_; |
|
241 |
+typedef const WCHAR_ *LPCWSTR_; |
|
242 |
+ |
|
243 |
+#endif // defined( BOOST_USE_WINDOWS_H ) |
|
244 |
+ |
|
245 |
+// ::NTSTATUS is defined in ntdef.h, which is not included by windows.h by default, so alwaus use LONG_ |
|
246 |
+typedef LONG_ NTSTATUS_; |
|
247 |
+typedef NTSTATUS_ *PNTSTATUS_; |
|
248 |
+ |
|
249 |
+typedef ::HMODULE HMODULE_; |
|
250 |
+ |
|
251 |
+typedef union BOOST_MAY_ALIAS _LARGE_INTEGER { |
|
252 |
+ BOOST_WINAPI_DETAIL_EXTENSION struct { |
|
253 |
+ DWORD_ LowPart; |
|
254 |
+ LONG_ HighPart; |
|
255 |
+ }; |
|
256 |
+ struct { |
|
257 |
+ DWORD_ LowPart; |
|
258 |
+ LONG_ HighPart; |
|
259 |
+ } u; |
|
260 |
+ LONGLONG_ QuadPart; |
|
261 |
+} LARGE_INTEGER_, *PLARGE_INTEGER_; |
|
262 |
+ |
|
263 |
+typedef struct BOOST_MAY_ALIAS _SECURITY_ATTRIBUTES { |
|
264 |
+ DWORD_ nLength; |
|
265 |
+ LPVOID_ lpSecurityDescriptor; |
|
266 |
+ BOOL_ bInheritHandle; |
|
267 |
+} SECURITY_ATTRIBUTES_, *PSECURITY_ATTRIBUTES_, *LPSECURITY_ATTRIBUTES_; |
|
268 |
+ |
|
269 |
+} |
|
270 |
+} |
|
271 |
+ |
|
272 |
+#include <boost/winapi/detail/footer.hpp> |
|
273 |
+ |
|
274 |
+#endif // BOOST_WINAPI_BASIC_TYPES_HPP_INCLUDED_ |
1 | 1 |
deleted file mode 100755 |
... | ... |
@@ -1,274 +0,0 @@ |
1 |
-/* |
|
2 |
- * Copyright 2010 Vicente J. Botet Escriba |
|
3 |
- * Copyright 2015-2018 Andrey Semashev |
|
4 |
- * |
|
5 |
- * Distributed under the Boost Software License, Version 1.0. |
|
6 |
- * See http://www.boost.org/LICENSE_1_0.txt |
|
7 |
- */ |
|
8 |
- |
|
9 |
-#ifndef BOOST_WINAPI_BASIC_TYPES_HPP_INCLUDED_ |
|
10 |
-#define BOOST_WINAPI_BASIC_TYPES_HPP_INCLUDED_ |
|
11 |
- |
|
12 |
-#include <boost/winapi/config.hpp> |
|
13 |
- |
|
14 |
-#ifdef BOOST_HAS_PRAGMA_ONCE |
|
15 |
-#pragma once |
|
16 |
-#endif |
|
17 |
- |
|
18 |
-#if defined(BOOST_USE_WINDOWS_H) |
|
19 |
-# include <windows.h> |
|
20 |
-#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) |
|
21 |
-# ifdef UNDER_CE |
|
22 |
-# ifndef WINAPI |
|
23 |
-# ifndef _WIN32_WCE_EMULATION |
|
24 |
-# define WINAPI __cdecl // Note this doesn't match the desktop definition |
|
25 |
-# else |
|
26 |
-# define WINAPI __stdcall |
|
27 |
-# endif |
|
28 |
-# endif |
|
29 |
-// Windows CE defines a few functions as inline functions in kfuncs.h |
|
30 |
-typedef int BOOL; |
|
31 |
-typedef unsigned long DWORD; |
|
32 |
-typedef void* HANDLE; |
|
33 |
-typedef HANDLE HGLOBAL; |
|
34 |
-typedef void* LPVOID; |
|
35 |
-# include <kfuncs.h> |
|
36 |
-# endif // UNDER_CE |
|
37 |
-#else |
|
38 |
-# error "Win32 functions not available" |
|
39 |
-#endif |
|
40 |
- |
|
41 |
-#include <boost/winapi/detail/header.hpp> |
|
42 |
- |
|
43 |
-#if defined(_M_IX86) || defined(__i386__) |
|
44 |
-#define BOOST_WINAPI_DETAIL_STDCALL __stdcall |
|
45 |
-#else |
|
46 |
-// On architectures other than 32-bit x86 __stdcall is ignored. Clang also issues a warning. |
|
47 |
-#define BOOST_WINAPI_DETAIL_STDCALL |
|
48 |
-#endif |
|
49 |
- |
|
50 |
-#if defined(WINAPI) |
|
51 |
-#define BOOST_WINAPI_WINAPI_CC WINAPI |
|
52 |
-#else |
|
53 |
-#define BOOST_WINAPI_WINAPI_CC BOOST_WINAPI_DETAIL_STDCALL |
|
54 |
-#endif |
|
55 |
- |
|
56 |
-#if defined(CALLBACK) |
|
57 |
-#define BOOST_WINAPI_CALLBACK_CC CALLBACK |
|
58 |
-#else |
|
59 |
-#define BOOST_WINAPI_CALLBACK_CC BOOST_WINAPI_DETAIL_STDCALL |
|
60 |
-#endif |
|
61 |
- |
|
62 |
-#if defined(NTAPI) |
|
63 |
-#define BOOST_WINAPI_NTAPI_CC NTAPI |
|
64 |
-#else |
|
65 |
-#define BOOST_WINAPI_NTAPI_CC BOOST_WINAPI_DETAIL_STDCALL |
|
66 |
-#endif |
|
67 |
- |
|
68 |
-#ifndef NO_STRICT |
|
69 |
-#ifndef STRICT |
|
70 |
-#define STRICT 1 |
|
71 |
-#endif |
|
72 |
-#endif |
|
73 |
- |
|
74 |
-#if defined(STRICT) |
|
75 |
-#define BOOST_WINAPI_DETAIL_DECLARE_HANDLE(x) struct x##__; typedef struct x##__ *x |
|
76 |
-#else |
|
77 |
-#define BOOST_WINAPI_DETAIL_DECLARE_HANDLE(x) typedef void* x |
|
78 |
-#endif |
|
79 |
- |
|
80 |
-#if !defined(BOOST_USE_WINDOWS_H) |
|
81 |
-extern "C" { |
|
82 |
-union _LARGE_INTEGER; |
|
83 |
-struct _SECURITY_ATTRIBUTES; |
|
84 |
-BOOST_WINAPI_DETAIL_DECLARE_HANDLE(HINSTANCE); |
|
85 |
-typedef HINSTANCE HMODULE; |
|
86 |
-} |
|
87 |
-#endif |
|
88 |
- |
|
89 |
-#if defined(__GNUC__) |
|
90 |
-#define BOOST_WINAPI_DETAIL_EXTENSION __extension__ |
|
91 |
-#else |
|
92 |
-#define BOOST_WINAPI_DETAIL_EXTENSION |
|
93 |
-#endif |
|
94 |
- |
|
95 |
-// MinGW64 gcc 4.8.2 fails to compile function declarations with boost::winapi::VOID_ arguments even though |
|
96 |
-// the typedef expands to void. In Windows SDK, VOID is a macro which unfolds to void. We use our own macro in such cases. |
|
97 |
-#define BOOST_WINAPI_DETAIL_VOID void |
|
98 |
- |
|
99 |
-namespace boost { |
|
100 |
-namespace winapi { |
|
101 |
-#if defined(BOOST_USE_WINDOWS_H) |
|
102 |
- |
|
103 |
-typedef ::BOOL BOOL_; |
|
104 |
-typedef ::PBOOL PBOOL_; |
|
105 |
-typedef ::LPBOOL LPBOOL_; |
|
106 |
-typedef ::BOOLEAN BOOLEAN_; |
|
107 |
-typedef ::PBOOLEAN PBOOLEAN_; |
|
108 |
-typedef ::BYTE BYTE_; |
|
109 |
-typedef ::PBYTE PBYTE_; |
|
110 |
-typedef ::LPBYTE LPBYTE_; |
|
111 |
-typedef ::UCHAR UCHAR_; |
|
112 |
-typedef ::PUCHAR PUCHAR_; |
|
113 |
-typedef ::WORD WORD_; |
|
114 |
-typedef ::PWORD PWORD_; |
|
115 |
-typedef ::LPWORD LPWORD_; |
|
116 |
-typedef ::DWORD DWORD_; |
|
117 |
-typedef ::PDWORD PDWORD_; |
|
118 |
-typedef ::LPDWORD LPDWORD_; |
|
119 |
-typedef ::HANDLE HANDLE_; |
|
120 |
-typedef ::PHANDLE PHANDLE_; |
|
121 |
-typedef ::SHORT SHORT_; |
|
122 |
-typedef ::PSHORT PSHORT_; |
|
123 |
-typedef ::USHORT USHORT_; |
|
124 |
-typedef ::PUSHORT PUSHORT_; |
|
125 |
-typedef ::INT INT_; |
|
126 |
-typedef ::PINT PINT_; |
|
127 |
-typedef ::LPINT LPINT_; |
|
128 |
-typedef ::UINT UINT_; |
|
129 |
-typedef ::PUINT PUINT_; |
|
130 |
-typedef ::LONG LONG_; |
|
131 |
-typedef ::PLONG PLONG_; |
|
132 |
-typedef ::LPLONG LPLONG_; |
|
133 |
-typedef ::ULONG ULONG_; |
|
134 |
-typedef ::PULONG PULONG_; |
|
135 |
-typedef ::LONGLONG ULONG64_; |
|
136 |
-typedef ::ULONGLONG PULONG64_; |
|
137 |
-typedef ::LONGLONG LONGLONG_; |
|
138 |
-typedef ::ULONGLONG ULONGLONG_; |
|
139 |
-typedef ::INT_PTR INT_PTR_; |
|
140 |
-typedef ::UINT_PTR UINT_PTR_; |
|
141 |
-typedef ::LONG_PTR LONG_PTR_; |
|
142 |
-typedef ::ULONG_PTR ULONG_PTR_; |
|
143 |
-typedef ::DWORD_PTR DWORD_PTR_; |
|
144 |
-typedef ::PDWORD_PTR PDWORD_PTR_; |
|
145 |
-typedef ::SIZE_T SIZE_T_; |
|
146 |
-typedef ::PSIZE_T PSIZE_T_; |
|
147 |
-typedef ::SSIZE_T SSIZE_T_; |
|
148 |
-typedef ::PSSIZE_T PSSIZE_T_; |
|
149 |
-typedef VOID VOID_; // VOID is a macro |
|
150 |
-typedef ::PVOID PVOID_; |
|
151 |
-typedef ::LPVOID LPVOID_; |
|
152 |
-typedef ::LPCVOID LPCVOID_; |
|
153 |
-typedef ::CHAR CHAR_; |
|
154 |
-typedef ::LPSTR LPSTR_; |
|
155 |
-typedef ::LPCSTR LPCSTR_; |
|
156 |
-typedef ::WCHAR WCHAR_; |
|
157 |
-typedef ::LPWSTR LPWSTR_; |
|
158 |
-typedef ::LPCWSTR LPCWSTR_; |
|
159 |
- |
|
160 |
-#else // defined( BOOST_USE_WINDOWS_H ) |
|
161 |
- |
|
162 |
-typedef int BOOL_; |
|
163 |
-typedef BOOL_* PBOOL_; |
|
164 |
-typedef BOOL_* LPBOOL_; |
|
165 |
-typedef unsigned char BYTE_; |
|
166 |
-typedef BYTE_* PBYTE_; |
|
167 |
-typedef BYTE_* LPBYTE_; |
|
168 |
-typedef unsigned char UCHAR_; |
|
169 |
-typedef UCHAR_* PUCHAR_; |
|
170 |
-typedef BYTE_ BOOLEAN_; |
|
171 |
-typedef BOOLEAN_* PBOOLEAN_; |
|
172 |
-typedef unsigned short WORD_; |
|
173 |
-typedef WORD_* PWORD_; |
|
174 |
-typedef WORD_* LPWORD_; |
|
175 |
-#if !defined(__LP64__) |
|
176 |
-typedef unsigned long DWORD_; |
|
177 |
-#else |
|
178 |
-typedef unsigned int DWORD_; |
|
179 |
-#endif |
|
180 |
-typedef DWORD_* PDWORD_; |
|
181 |
-typedef DWORD_* LPDWORD_; |
|
182 |
-typedef void* HANDLE_; |
|
183 |
-typedef void** PHANDLE_; |
|
184 |
- |
|
185 |
-typedef short SHORT_; |
|
186 |
-typedef SHORT_* PSHORT_; |
|
187 |
-typedef unsigned short USHORT_; |
|
188 |
-typedef USHORT_* PUSHORT_; |
|
189 |
-typedef int INT_; |
|
190 |
-typedef INT_* PINT_; |
|
191 |
-typedef INT_* LPINT_; |
|
192 |
-typedef unsigned int UINT_; |
|
193 |
-typedef UINT_* PUINT_; |
|
194 |
-#if !defined(__LP64__) |
|
195 |
-typedef long LONG_; |
|
196 |
-typedef unsigned long ULONG_; |
|
197 |
-#else |
|
198 |
-typedef int LONG_; |
|
199 |
-typedef unsigned int ULONG_; |
|
200 |
-#endif |
|
201 |
-typedef LONG_* PLONG_; |
|
202 |
-typedef LONG_* LPLONG_; |
|
203 |
-typedef ULONG_* PULONG_; |
|
204 |
-#if defined(BOOST_HAS_MS_INT64) |
|
205 |
-BOOST_WINAPI_DETAIL_EXTENSION typedef __int64 LONGLONG_; |
|
206 |
-BOOST_WINAPI_DETAIL_EXTENSION typedef unsigned __int64 ULONGLONG_; |
|
207 |
-#else |
|
208 |
-BOOST_WINAPI_DETAIL_EXTENSION typedef long long LONGLONG_; |
|
209 |
-BOOST_WINAPI_DETAIL_EXTENSION typedef unsigned long long ULONGLONG_; |
|
210 |
-#endif |
|
211 |
-typedef LONGLONG_ LONG64_, *PLONG64_; |
|
212 |
-typedef ULONGLONG_ ULONG64_, *PULONG64_; |
|
213 |
- |
|
214 |
-#if defined(_WIN64) |
|
215 |
-typedef LONGLONG_ INT_PTR_; |
|
216 |
-typedef ULONGLONG_ UINT_PTR_; |
|
217 |
-typedef LONGLONG_ LONG_PTR_; |
|
218 |
-typedef ULONGLONG_ ULONG_PTR_; |
|
219 |
-#else |
|
220 |
-typedef int INT_PTR_; |
|
221 |
-typedef unsigned int UINT_PTR_; |
|
222 |
-typedef long LONG_PTR_; |
|
223 |
-typedef unsigned long ULONG_PTR_; |
|
224 |
-#endif |
|
225 |
- |
|
226 |
-typedef ULONG_PTR_ DWORD_PTR_, *PDWORD_PTR_; |
|
227 |
-typedef ULONG_PTR_ SIZE_T_, *PSIZE_T_; |
|
228 |
-typedef LONG_PTR_ SSIZE_T_, *PSSIZE_T_; |
|
229 |
- |
|
230 |
-typedef void VOID_; |
|
231 |
-typedef void *PVOID_; |
|
232 |
-typedef void *LPVOID_; |
|
233 |
-typedef const void *LPCVOID_; |
|
234 |
- |
|
235 |
-typedef char CHAR_; |
|
236 |
-typedef CHAR_ *LPSTR_; |
|
237 |
-typedef const CHAR_ *LPCSTR_; |
|
238 |
- |
|
239 |
-typedef wchar_t WCHAR_; |
|
240 |
-typedef WCHAR_ *LPWSTR_; |
|
241 |
-typedef const WCHAR_ *LPCWSTR_; |
|
242 |
- |
|
243 |
-#endif // defined( BOOST_USE_WINDOWS_H ) |
|
244 |
- |
|
245 |
-// ::NTSTATUS is defined in ntdef.h, which is not included by windows.h by default, so alwaus use LONG_ |
|
246 |
-typedef LONG_ NTSTATUS_; |
|
247 |
-typedef NTSTATUS_ *PNTSTATUS_; |
|
248 |
- |
|
249 |
-typedef ::HMODULE HMODULE_; |
|
250 |
- |
|
251 |
-typedef union BOOST_MAY_ALIAS _LARGE_INTEGER { |
|
252 |
- BOOST_WINAPI_DETAIL_EXTENSION struct { |
|
253 |
- DWORD_ LowPart; |
|
254 |
- LONG_ HighPart; |
|
255 |
- }; |
|
256 |
- struct { |
|
257 |
- DWORD_ LowPart; |
|
258 |
- LONG_ HighPart; |
|
259 |
- } u; |
|
260 |
- LONGLONG_ QuadPart; |
|
261 |
-} LARGE_INTEGER_, *PLARGE_INTEGER_; |
|
262 |
- |
|
263 |
-typedef struct BOOST_MAY_ALIAS _SECURITY_ATTRIBUTES { |
|
264 |
- DWORD_ nLength; |
|
265 |
- LPVOID_ lpSecurityDescriptor; |
|
266 |
- BOOL_ bInheritHandle; |
|
267 |
-} SECURITY_ATTRIBUTES_, *PSECURITY_ATTRIBUTES_, *LPSECURITY_ATTRIBUTES_; |
|
268 |
- |
|
269 |
-} |
|
270 |
-} |
|
271 |
- |
|
272 |
-#include <boost/winapi/detail/footer.hpp> |
|
273 |
- |
|
274 |
-#endif // BOOST_WINAPI_BASIC_TYPES_HPP_INCLUDED_ |
1 | 1 |
new file mode 100755 |
... | ... |
@@ -0,0 +1,274 @@ |
1 |
+/* |
|
2 |
+ * Copyright 2010 Vicente J. Botet Escriba |
|
3 |
+ * Copyright 2015-2018 Andrey Semashev |
|
4 |
+ * |
|
5 |
+ * Distributed under the Boost Software License, Version 1.0. |
|
6 |
+ * See http://www.boost.org/LICENSE_1_0.txt |
|
7 |
+ */ |
|
8 |
+ |
|
9 |
+#ifndef BOOST_WINAPI_BASIC_TYPES_HPP_INCLUDED_ |
|
10 |
+#define BOOST_WINAPI_BASIC_TYPES_HPP_INCLUDED_ |
|
11 |
+ |
|
12 |
+#include <boost/winapi/config.hpp> |
|
13 |
+ |
|
14 |
+#ifdef BOOST_HAS_PRAGMA_ONCE |
|
15 |
+#pragma once |
|
16 |
+#endif |
|
17 |
+ |
|
18 |
+#if defined(BOOST_USE_WINDOWS_H) |
|
19 |
+# include <windows.h> |
|
20 |
+#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) |
|
21 |
+# ifdef UNDER_CE |
|
22 |
+# ifndef WINAPI |
|
23 |
+# ifndef _WIN32_WCE_EMULATION |
|
24 |
+# define WINAPI __cdecl // Note this doesn't match the desktop definition |
|
25 |
+# else |
|
26 |
+# define WINAPI __stdcall |
|
27 |
+# endif |
|
28 |
+# endif |
|
29 |
+// Windows CE defines a few functions as inline functions in kfuncs.h |
|
30 |
+typedef int BOOL; |
|
31 |
+typedef unsigned long DWORD; |
|
32 |
+typedef void* HANDLE; |
|
33 |
+typedef HANDLE HGLOBAL; |
|
34 |
+typedef void* LPVOID; |
|
35 |
+# include <kfuncs.h> |
|
36 |
+# endif // UNDER_CE |
|
37 |
+#else |
|
38 |
+# error "Win32 functions not available" |
|
39 |
+#endif |
|
40 |
+ |
|
41 |
+#include <boost/winapi/detail/header.hpp> |
|
42 |
+ |
|
43 |
+#if defined(_M_IX86) || defined(__i386__) |
|
44 |
+#define BOOST_WINAPI_DETAIL_STDCALL __stdcall |
|
45 |
+#else |
|
46 |
+// On architectures other than 32-bit x86 __stdcall is ignored. Clang also issues a warning. |
|
47 |
+#define BOOST_WINAPI_DETAIL_STDCALL |
|
48 |
+#endif |
|
49 |
+ |
|
50 |
+#if defined(WINAPI) |
|
51 |
+#define BOOST_WINAPI_WINAPI_CC WINAPI |
|
52 |
+#else |
|
53 |
+#define BOOST_WINAPI_WINAPI_CC BOOST_WINAPI_DETAIL_STDCALL |
|
54 |
+#endif |
|
55 |
+ |
|
56 |
+#if defined(CALLBACK) |
|
57 |
+#define BOOST_WINAPI_CALLBACK_CC CALLBACK |
|
58 |
+#else |
|
59 |
+#define BOOST_WINAPI_CALLBACK_CC BOOST_WINAPI_DETAIL_STDCALL |
|
60 |
+#endif |
|
61 |
+ |
|
62 |
+#if defined(NTAPI) |
|
63 |
+#define BOOST_WINAPI_NTAPI_CC NTAPI |
|
64 |
+#else |
|
65 |
+#define BOOST_WINAPI_NTAPI_CC BOOST_WINAPI_DETAIL_STDCALL |
|
66 |
+#endif |
|
67 |
+ |
|
68 |
+#ifndef NO_STRICT |
|
69 |
+#ifndef STRICT |
|
70 |
+#define STRICT 1 |
|
71 |
+#endif |
|
72 |
+#endif |
|
73 |
+ |
|
74 |
+#if defined(STRICT) |
|
75 |
+#define BOOST_WINAPI_DETAIL_DECLARE_HANDLE(x) struct x##__; typedef struct x##__ *x |
|
76 |
+#else |
|
77 |
+#define BOOST_WINAPI_DETAIL_DECLARE_HANDLE(x) typedef void* x |
|
78 |
+#endif |
|
79 |
+ |
|
80 |
+#if !defined(BOOST_USE_WINDOWS_H) |
|
81 |
+extern "C" { |
|
82 |
+union _LARGE_INTEGER; |
|
83 |
+struct _SECURITY_ATTRIBUTES; |
|
84 |
+BOOST_WINAPI_DETAIL_DECLARE_HANDLE(HINSTANCE); |
|
85 |
+typedef HINSTANCE HMODULE; |
|
86 |
+} |
|
87 |
+#endif |
|
88 |
+ |
|
89 |
+#if defined(__GNUC__) |
|
90 |
+#define BOOST_WINAPI_DETAIL_EXTENSION __extension__ |
|
91 |
+#else |
|
92 |
+#define BOOST_WINAPI_DETAIL_EXTENSION |
|
93 |
+#endif |
|
94 |
+ |
|
95 |
+// MinGW64 gcc 4.8.2 fails to compile function declarations with boost::winapi::VOID_ arguments even though |
|
96 |
+// the typedef expands to void. In Windows SDK, VOID is a macro which unfolds to void. We use our own macro in such cases. |
|
97 |
+#define BOOST_WINAPI_DETAIL_VOID void |
|
98 |
+ |
|
99 |
+namespace boost { |
|
100 |
+namespace winapi { |
|
101 |
+#if defined(BOOST_USE_WINDOWS_H) |
|
102 |
+ |
|
103 |
+typedef ::BOOL BOOL_; |
|
104 |
+typedef ::PBOOL PBOOL_; |
|
105 |
+typedef ::LPBOOL LPBOOL_; |
|
106 |
+typedef ::BOOLEAN BOOLEAN_; |
|
107 |
+typedef ::PBOOLEAN PBOOLEAN_; |
|
108 |
+typedef ::BYTE BYTE_; |
|
109 |
+typedef ::PBYTE PBYTE_; |
|
110 |
+typedef ::LPBYTE LPBYTE_; |
|
111 |
+typedef ::UCHAR UCHAR_; |
|
112 |
+typedef ::PUCHAR PUCHAR_; |
|
113 |
+typedef ::WORD WORD_; |
|
114 |
+typedef ::PWORD PWORD_; |
|
115 |
+typedef ::LPWORD LPWORD_; |
|
116 |
+typedef ::DWORD DWORD_; |
|
117 |
+typedef ::PDWORD PDWORD_; |
|
118 |
+typedef ::LPDWORD LPDWORD_; |
|
119 |
+typedef ::HANDLE HANDLE_; |
|
120 |
+typedef ::PHANDLE PHANDLE_; |
|
121 |
+typedef ::SHORT SHORT_; |
|
122 |
+typedef ::PSHORT PSHORT_; |
|
123 |
+typedef ::USHORT USHORT_; |
|
124 |
+typedef ::PUSHORT PUSHORT_; |
|
125 |
+typedef ::INT INT_; |
|
126 |
+typedef ::PINT PINT_; |
|
127 |
+typedef ::LPINT LPINT_; |
|
128 |
+typedef ::UINT UINT_; |
|
129 |
+typedef ::PUINT PUINT_; |
|
130 |
+typedef ::LONG LONG_; |
|
131 |
+typedef ::PLONG PLONG_; |
|
132 |
+typedef ::LPLONG LPLONG_; |
|
133 |
+typedef ::ULONG ULONG_; |
|
134 |
+typedef ::PULONG PULONG_; |
|
135 |
+typedef ::LONGLONG ULONG64_; |
|
136 |
+typedef ::ULONGLONG PULONG64_; |
|
137 |
+typedef ::LONGLONG LONGLONG_; |
|
138 |
+typedef ::ULONGLONG ULONGLONG_; |
|
139 |
+typedef ::INT_PTR INT_PTR_; |
|
140 |
+typedef ::UINT_PTR UINT_PTR_; |
|
141 |
+typedef ::LONG_PTR LONG_PTR_; |
|
142 |
+typedef ::ULONG_PTR ULONG_PTR_; |
|
143 |
+typedef ::DWORD_PTR DWORD_PTR_; |
|
144 |
+typedef ::PDWORD_PTR PDWORD_PTR_; |
|
145 |
+typedef ::SIZE_T SIZE_T_; |
|
146 |
+typedef ::PSIZE_T PSIZE_T_; |
|
147 |
+typedef ::SSIZE_T SSIZE_T_; |
|
148 |
+typedef ::PSSIZE_T PSSIZE_T_; |
|
149 |
+typedef VOID VOID_; // VOID is a macro |
|
150 |
+typedef ::PVOID PVOID_; |
|
151 |
+typedef ::LPVOID LPVOID_; |
|
152 |
+typedef ::LPCVOID LPCVOID_; |
|
153 |
+typedef ::CHAR CHAR_; |
|
154 |
+typedef ::LPSTR LPSTR_; |
|
155 |
+typedef ::LPCSTR LPCSTR_; |
|
156 |
+typedef ::WCHAR WCHAR_; |
|
157 |
+typedef ::LPWSTR LPWSTR_; |
|
158 |
+typedef ::LPCWSTR LPCWSTR_; |
|
159 |
+ |
|
160 |
+#else // defined( BOOST_USE_WINDOWS_H ) |
|
161 |
+ |
|
162 |
+typedef int BOOL_; |
|
163 |
+typedef BOOL_* PBOOL_; |
|
164 |
+typedef BOOL_* LPBOOL_; |
|
165 |
+typedef unsigned char BYTE_; |
|
166 |
+typedef BYTE_* PBYTE_; |
|
167 |
+typedef BYTE_* LPBYTE_; |
|
168 |
+typedef unsigned char UCHAR_; |
|
169 |
+typedef UCHAR_* PUCHAR_; |
|
170 |
+typedef BYTE_ BOOLEAN_; |
|
171 |
+typedef BOOLEAN_* PBOOLEAN_; |
|
172 |
+typedef unsigned short WORD_; |
|
173 |
+typedef WORD_* PWORD_; |
|
174 |
+typedef WORD_* LPWORD_; |
|
175 |
+#if !defined(__LP64__) |
|
176 |
+typedef unsigned long DWORD_; |
|
177 |
+#else |
|
178 |
+typedef unsigned int DWORD_; |
|
179 |
+#endif |
|
180 |
+typedef DWORD_* PDWORD_; |
|
181 |
+typedef DWORD_* LPDWORD_; |
|
182 |
+typedef void* HANDLE_; |
|
183 |
+typedef void** PHANDLE_; |
|
184 |
+ |
|
185 |
+typedef short SHORT_; |
|
186 |
+typedef SHORT_* PSHORT_; |
|
187 |
+typedef unsigned short USHORT_; |
|
188 |
+typedef USHORT_* PUSHORT_; |
|
189 |
+typedef int INT_; |
|
190 |
+typedef INT_* PINT_; |
|
191 |
+typedef INT_* LPINT_; |
|
192 |
+typedef unsigned int UINT_; |
|
193 |
+typedef UINT_* PUINT_; |
|
194 |
+#if !defined(__LP64__) |
|
195 |
+typedef long LONG_; |
|
196 |
+typedef unsigned long ULONG_; |
|
197 |
+#else |
|
198 |
+typedef int LONG_; |
|
199 |
+typedef unsigned int ULONG_; |
|
200 |
+#endif |
|
201 |
+typedef LONG_* PLONG_; |
|
202 |
+typedef LONG_* LPLONG_; |
|
203 |
+typedef ULONG_* PULONG_; |
|
204 |
+#if defined(BOOST_HAS_MS_INT64) |
|
205 |
+BOOST_WINAPI_DETAIL_EXTENSION typedef __int64 LONGLONG_; |
|
206 |
+BOOST_WINAPI_DETAIL_EXTENSION typedef unsigned __int64 ULONGLONG_; |
|
207 |
+#else |
|
208 |
+BOOST_WINAPI_DETAIL_EXTENSION typedef long long LONGLONG_; |
|
209 |
+BOOST_WINAPI_DETAIL_EXTENSION typedef unsigned long long ULONGLONG_; |
|
210 |
+#endif |
|
211 |
+typedef LONGLONG_ LONG64_, *PLONG64_; |
|
212 |
+typedef ULONGLONG_ ULONG64_, *PULONG64_; |
|
213 |
+ |
|
214 |
+#if defined(_WIN64) |
|
215 |
+typedef LONGLONG_ INT_PTR_; |
|
216 |
+typedef ULONGLONG_ UINT_PTR_; |
|
217 |
+typedef LONGLONG_ LONG_PTR_; |
|
218 |
+typedef ULONGLONG_ ULONG_PTR_; |
|
219 |
+#else |
|
220 |
+typedef int INT_PTR_; |
|
221 |
+typedef unsigned int UINT_PTR_; |
|
222 |
+typedef long LONG_PTR_; |
|
223 |
+typedef unsigned long ULONG_PTR_; |
|
224 |
+#endif |
|
225 |
+ |
|
226 |
+typedef ULONG_PTR_ DWORD_PTR_, *PDWORD_PTR_; |
|
227 |
+typedef ULONG_PTR_ SIZE_T_, *PSIZE_T_; |
|
228 |
+typedef LONG_PTR_ SSIZE_T_, *PSSIZE_T_; |
|
229 |
+ |
|
230 |
+typedef void VOID_; |
|
231 |
+typedef void *PVOID_; |
|
232 |
+typedef void *LPVOID_; |
|
233 |
+typedef const void *LPCVOID_; |
|
234 |
+ |
|
235 |
+typedef char CHAR_; |
|
236 |
+typedef CHAR_ *LPSTR_; |
|
237 |
+typedef const CHAR_ *LPCSTR_; |
|
238 |
+ |
|
239 |
+typedef wchar_t WCHAR_; |
|
240 |
+typedef WCHAR_ *LPWSTR_; |
|
241 |
+typedef const WCHAR_ *LPCWSTR_; |
|
242 |
+ |
|
243 |
+#endif // defined( BOOST_USE_WINDOWS_H ) |
|
244 |
+ |
|
245 |
+// ::NTSTATUS is defined in ntdef.h, which is not included by windows.h by default, so alwaus use LONG_ |
|
246 |
+typedef LONG_ NTSTATUS_; |
|
247 |
+typedef NTSTATUS_ *PNTSTATUS_; |
|
248 |
+ |
|
249 |
+typedef ::HMODULE HMODULE_; |
|
250 |
+ |
|
251 |
+typedef union BOOST_MAY_ALIAS _LARGE_INTEGER { |
|
252 |
+ BOOST_WINAPI_DETAIL_EXTENSION struct { |
|
253 |
+ DWORD_ LowPart; |
|
254 |
+ LONG_ HighPart; |
|
255 |
+ }; |
|
256 |
+ struct { |
|
257 |
+ DWORD_ LowPart; |
|
258 |
+ LONG_ HighPart; |
|
259 |
+ } u; |
|
260 |
+ LONGLONG_ QuadPart; |
|
261 |
+} LARGE_INTEGER_, *PLARGE_INTEGER_; |
|
262 |
+ |
|
263 |
+typedef struct BOOST_MAY_ALIAS _SECURITY_ATTRIBUTES { |
|
264 |
+ DWORD_ nLength; |
|
265 |
+ LPVOID_ lpSecurityDescriptor; |
|
266 |
+ BOOL_ bInheritHandle; |
|
267 |
+} SECURITY_ATTRIBUTES_, *PSECURITY_ATTRIBUTES_, *LPSECURITY_ATTRIBUTES_; |
|
268 |
+ |
|
269 |
+} |
|
270 |
+} |
|
271 |
+ |
|
272 |
+#include <boost/winapi/detail/footer.hpp> |
|
273 |
+ |
|
274 |
+#endif // BOOST_WINAPI_BASIC_TYPES_HPP_INCLUDED_ |