summaryrefslogtreecommitdiff
path: root/boost/detail/winapi/heap_memory.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/detail/winapi/heap_memory.hpp')
-rw-r--r--boost/detail/winapi/heap_memory.hpp72
1 files changed, 72 insertions, 0 deletions
diff --git a/boost/detail/winapi/heap_memory.hpp b/boost/detail/winapi/heap_memory.hpp
new file mode 100644
index 0000000000..ae863523e4
--- /dev/null
+++ b/boost/detail/winapi/heap_memory.hpp
@@ -0,0 +1,72 @@
+// heap_memory.hpp --------------------------------------------------------------//
+
+// Copyright 2010 Vicente J. Botet Escriba
+// Copyright 2015 Andrey Semashev
+
+// Distributed under the Boost Software License, Version 1.0.
+// See http://www.boost.org/LICENSE_1_0.txt
+
+
+#ifndef BOOST_DETAIL_WINAPI_HEAP_MEMORY_HPP
+#define BOOST_DETAIL_WINAPI_HEAP_MEMORY_HPP
+
+#include <boost/detail/winapi/basic_types.hpp>
+
+#ifdef BOOST_HAS_PRAGMA_ONCE
+#pragma once
+#endif
+
+#if !defined( BOOST_USE_WINDOWS_H )
+#undef HeapAlloc
+extern "C" {
+BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
+GetProcessHeap(BOOST_DETAIL_WINAPI_VOID);
+
+BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
+GetProcessHeaps(boost::detail::winapi::DWORD_ NumberOfHeaps, boost::detail::winapi::PHANDLE_ ProcessHeaps);
+
+BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
+HeapCreate(
+ boost::detail::winapi::DWORD_ flOptions,
+ boost::detail::winapi::SIZE_T_ dwInitialSize,
+ boost::detail::winapi::SIZE_T_ dwMaximumSize);
+
+BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
+HeapDestroy(boost::detail::winapi::HANDLE_ hHeap);
+
+BOOST_SYMBOL_IMPORT boost::detail::winapi::LPVOID_ WINAPI
+HeapAlloc(
+ boost::detail::winapi::HANDLE_ hHeap,
+ boost::detail::winapi::DWORD_ dwFlags,
+ boost::detail::winapi::SIZE_T_ dwBytes);
+
+BOOST_SYMBOL_IMPORT boost::detail::winapi::LPVOID_ WINAPI
+HeapReAlloc(
+ boost::detail::winapi::HANDLE_ hHeap,
+ boost::detail::winapi::DWORD_ dwFlags,
+ boost::detail::winapi::LPVOID_ lpMem,
+ boost::detail::winapi::SIZE_T_ dwBytes);
+
+BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
+HeapFree(
+ boost::detail::winapi::HANDLE_ hHeap,
+ boost::detail::winapi::DWORD_ dwFlags,
+ boost::detail::winapi::LPVOID_ lpMem);
+}
+#endif
+
+namespace boost {
+namespace detail {
+namespace winapi {
+using ::GetProcessHeap;
+using ::GetProcessHeaps;
+using ::HeapCreate;
+using ::HeapDestroy;
+using ::HeapAlloc;
+using ::HeapReAlloc;
+using ::HeapFree;
+}
+}
+}
+
+#endif // BOOST_DETAIL_WINAPI_HEAP_MEMORY_HPP