]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/winapi/test/run/basic_types_abi.cpp
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / libs / winapi / test / run / basic_types_abi.cpp
1 /*
2 * Copyright Andrey Semashev 2018.
3 * Distributed under the Boost Software License, Version 1.0.
4 * (See accompanying file LICENSE_1_0.txt or copy at
5 * http://www.boost.org/LICENSE_1_0.txt)
6 */
7 /*!
8 * \file basic_types_abi.cpp
9 * \author Andrey Semashev
10 * \date 09.03.2018
11 *
12 * \brief This file contains ABI test for basic WinAPI types
13 */
14
15 #include <boost/winapi/basic_types.hpp>
16 #include <windows.h>
17 #include <boost/predef/platform/windows_uwp.h>
18 #include "abi_test_tools.hpp"
19
20 int main()
21 {
22 BOOST_WINAPI_TEST_TYPE_SAME(BOOL);
23 BOOST_WINAPI_TEST_TYPE_SAME(PBOOL);
24 BOOST_WINAPI_TEST_TYPE_SAME(LPBOOL);
25 BOOST_WINAPI_TEST_TYPE_SAME(BOOLEAN);
26 BOOST_WINAPI_TEST_TYPE_SAME(PBOOLEAN);
27 BOOST_WINAPI_TEST_TYPE_SAME(BYTE);
28 BOOST_WINAPI_TEST_TYPE_SAME(PBYTE);
29 BOOST_WINAPI_TEST_TYPE_SAME(LPBYTE);
30 BOOST_WINAPI_TEST_TYPE_SAME(UCHAR);
31 BOOST_WINAPI_TEST_TYPE_SAME(PUCHAR);
32 BOOST_WINAPI_TEST_TYPE_SAME(WORD);
33 BOOST_WINAPI_TEST_TYPE_SAME(PWORD);
34 BOOST_WINAPI_TEST_TYPE_SAME(LPWORD);
35 BOOST_WINAPI_TEST_TYPE_SAME(DWORD);
36 BOOST_WINAPI_TEST_TYPE_SAME(PDWORD);
37 BOOST_WINAPI_TEST_TYPE_SAME(LPDWORD);
38 BOOST_WINAPI_TEST_TYPE_SAME(HANDLE);
39 BOOST_WINAPI_TEST_TYPE_SAME(PHANDLE);
40 BOOST_WINAPI_TEST_TYPE_SAME(SHORT);
41 BOOST_WINAPI_TEST_TYPE_SAME(PSHORT);
42 BOOST_WINAPI_TEST_TYPE_SAME(USHORT);
43 BOOST_WINAPI_TEST_TYPE_SAME(PUSHORT);
44 BOOST_WINAPI_TEST_TYPE_SAME(INT);
45 BOOST_WINAPI_TEST_TYPE_SAME(PINT);
46 BOOST_WINAPI_TEST_TYPE_SAME(LPINT);
47 BOOST_WINAPI_TEST_TYPE_SAME(UINT);
48 BOOST_WINAPI_TEST_TYPE_SAME(PUINT);
49 BOOST_WINAPI_TEST_TYPE_SAME(LONG);
50 BOOST_WINAPI_TEST_TYPE_SAME(PLONG);
51 BOOST_WINAPI_TEST_TYPE_SAME(LPLONG);
52 BOOST_WINAPI_TEST_TYPE_SAME(ULONG);
53 BOOST_WINAPI_TEST_TYPE_SAME(PULONG);
54 BOOST_WINAPI_TEST_TYPE_SAME(LONGLONG);
55 BOOST_WINAPI_TEST_TYPE_SAME(ULONGLONG);
56 BOOST_WINAPI_TEST_TYPE_SAME(LONGLONG);
57 BOOST_WINAPI_TEST_TYPE_SAME(ULONGLONG);
58 BOOST_WINAPI_TEST_TYPE_SAME(INT_PTR);
59 BOOST_WINAPI_TEST_TYPE_SAME(UINT_PTR);
60 BOOST_WINAPI_TEST_TYPE_SAME(LONG_PTR);
61 BOOST_WINAPI_TEST_TYPE_SAME(ULONG_PTR);
62 BOOST_WINAPI_TEST_TYPE_SAME(DWORD_PTR);
63 BOOST_WINAPI_TEST_TYPE_SAME(PDWORD_PTR);
64 BOOST_WINAPI_TEST_TYPE_SAME(SIZE_T);
65 BOOST_WINAPI_TEST_TYPE_SAME(PSIZE_T);
66 BOOST_WINAPI_TEST_TYPE_SAME(SSIZE_T);
67 BOOST_WINAPI_TEST_TYPE_SAME(PSSIZE_T);
68 BOOST_WINAPI_TEST_TYPE_SAME(PVOID);
69 BOOST_WINAPI_TEST_TYPE_SAME(LPVOID);
70 BOOST_WINAPI_TEST_TYPE_SAME(LPCVOID);
71 BOOST_WINAPI_TEST_TYPE_SAME(CHAR);
72 BOOST_WINAPI_TEST_TYPE_SAME(LPSTR);
73 BOOST_WINAPI_TEST_TYPE_SAME(LPCSTR);
74 BOOST_WINAPI_TEST_TYPE_SAME(WCHAR);
75 BOOST_WINAPI_TEST_TYPE_SAME(LPWSTR);
76 BOOST_WINAPI_TEST_TYPE_SAME(LPCWSTR);
77
78 BOOST_WINAPI_TEST_TYPE_SAME(VOID);
79
80 #if BOOST_PLAT_WINDOWS_SDK_VERSION >= BOOST_WINAPI_WINDOWS_SDK_6_0 && BOOST_WINAPI_PARTITION_APP_SYSTEM
81 // Windows SDK that comes with MSVC-7.1 and 8 does not define NTSTATUS. Up until Windows SDK 10 NTSTATUS is only defined in Desktop API partition.
82 BOOST_WINAPI_TEST_TYPE_SAME(NTSTATUS);
83 BOOST_WINAPI_TEST_TYPE_SAME(PNTSTATUS);
84 #endif
85
86 BOOST_WINAPI_TEST_TYPE_SAME(HMODULE);
87
88 BOOST_WINAPI_TEST_STRUCT(LARGE_INTEGER, (LowPart)(HighPart)(u.LowPart)(u.HighPart)(QuadPart));
89 BOOST_WINAPI_TEST_STRUCT(SECURITY_ATTRIBUTES, (nLength)(lpSecurityDescriptor)(bInheritHandle));
90
91 return boost::report_errors();
92 }