overlapped.hpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. // overlapped.hpp --------------------------------------------------------------//
  2. // Copyright 2016 Klemens D. Morgenstern
  3. // Distributed under the Boost Software License, Version 1.0.
  4. // See http://www.boost.org/LICENSE_1_0.txt
  5. #ifndef BOOST_DETAIL_WINAPI_OVERLAPPED_HPP_
  6. #define BOOST_DETAIL_WINAPI_OVERLAPPED_HPP_
  7. #include <boost/detail/winapi/basic_types.hpp>
  8. #ifdef BOOST_HAS_PRAGMA_ONCE
  9. #pragma once
  10. #endif
  11. #if !defined( BOOST_USE_WINDOWS_H )
  12. extern "C" {
  13. struct _OVERLAPPED;
  14. }
  15. #endif
  16. namespace boost {
  17. namespace detail {
  18. namespace winapi {
  19. #ifdef BOOST_MSVC
  20. #pragma warning(push)
  21. #pragma warning(disable:4201) // nonstandard extension used : nameless struct/union
  22. #endif
  23. typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _OVERLAPPED {
  24. ULONG_PTR_ Internal;
  25. ULONG_PTR_ InternalHigh;
  26. union {
  27. struct {
  28. DWORD_ Offset;
  29. DWORD_ OffsetHigh;
  30. };
  31. PVOID_ Pointer;
  32. };
  33. HANDLE_ hEvent;
  34. } OVERLAPPED_, *LPOVERLAPPED_;
  35. #ifdef BOOST_MSVC
  36. #pragma warning(pop)
  37. #endif
  38. }}}
  39. #endif // BOOST_DETAIL_WINAPI_OVERLAPPED_HPP_