• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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   pipes_abi.cpp
9  * \author Andrey Semashev
10  * \date   10.03.2018
11  *
12  * \brief  This file contains ABI test for pipes.hpp
13  */
14 
15 #include <boost/winapi/pipes.hpp>
16 #include <windows.h>
17 #include <boost/predef/platform/windows_uwp.h>
18 #include "abi_test_tools.hpp"
19 
main()20 int main()
21 {
22 #if BOOST_WINAPI_PARTITION_DESKTOP_SYSTEM
23 
24     BOOST_WINAPI_TEST_CONSTANT(PIPE_ACCESS_DUPLEX);
25     BOOST_WINAPI_TEST_CONSTANT(PIPE_ACCESS_INBOUND);
26     BOOST_WINAPI_TEST_CONSTANT(PIPE_ACCESS_OUTBOUND);
27 
28     BOOST_WINAPI_TEST_CONSTANT(PIPE_TYPE_BYTE);
29     BOOST_WINAPI_TEST_CONSTANT(PIPE_TYPE_MESSAGE);
30 
31     BOOST_WINAPI_TEST_CONSTANT(PIPE_READMODE_BYTE);
32     BOOST_WINAPI_TEST_CONSTANT(PIPE_READMODE_MESSAGE);
33 
34     BOOST_WINAPI_TEST_CONSTANT(PIPE_WAIT);
35     BOOST_WINAPI_TEST_CONSTANT(PIPE_NOWAIT);
36 
37     BOOST_WINAPI_TEST_CONSTANT(PIPE_UNLIMITED_INSTANCES);
38 
39     BOOST_WINAPI_TEST_CONSTANT(NMPWAIT_USE_DEFAULT_WAIT);
40     BOOST_WINAPI_TEST_CONSTANT(NMPWAIT_NOWAIT);
41     BOOST_WINAPI_TEST_CONSTANT(NMPWAIT_WAIT_FOREVER);
42 
43 #if BOOST_PLAT_WINDOWS_SDK_VERSION >= BOOST_WINAPI_WINDOWS_SDK_7_0
44     // These constants are not defined in Windows SDK prior to 7.0A
45     BOOST_WINAPI_TEST_CONSTANT(PIPE_ACCEPT_REMOTE_CLIENTS);
46     BOOST_WINAPI_TEST_CONSTANT(PIPE_REJECT_REMOTE_CLIENTS);
47 #endif // BOOST_PLAT_WINDOWS_SDK_VERSION >= BOOST_WINAPI_WINDOWS_SDK_7_0
48 
49     BOOST_WINAPI_TEST_FUNCTION_SIGNATURE(ImpersonateNamedPipeClient);
50     BOOST_WINAPI_TEST_FUNCTION_SIGNATURE(DisconnectNamedPipe);
51     BOOST_WINAPI_TEST_FUNCTION_SIGNATURE(SetNamedPipeHandleState);
52     BOOST_WINAPI_TEST_FUNCTION_SIGNATURE(PeekNamedPipe);
53 
54 #if !defined( BOOST_NO_ANSI_APIS )
55     BOOST_WINAPI_TEST_FUNCTION_SIGNATURE(WaitNamedPipeA);
56 #endif
57     BOOST_WINAPI_TEST_FUNCTION_SIGNATURE(WaitNamedPipeW);
58 
59 #if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
60 #if !defined(BOOST_NO_ANSI_APIS)
61     BOOST_WINAPI_TEST_FUNCTION_SIGNATURE(GetNamedPipeClientComputerNameA);
62 #endif // !defined(BOOST_NO_ANSI_APIS)
63     BOOST_WINAPI_TEST_FUNCTION_SIGNATURE(GetNamedPipeClientComputerNameW);
64 #endif // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
65 
66 #endif // BOOST_WINAPI_PARTITION_DESKTOP_SYSTEM
67 
68     return boost::report_errors();
69 }
70