overlapped.hpp 1.0 KB

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