Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 10:02:27

0001 /*
0002  * Copyright 2010 Vicente J. Botet Escriba
0003  * Copyright 2015, 2017 Andrey Semashev
0004  *
0005  * Distributed under the Boost Software License, Version 1.0.
0006  * See http://www.boost.org/LICENSE_1_0.txt
0007  */
0008 
0009 #ifndef BOOST_WINAPI_HEAP_MEMORY_HPP_INCLUDED_
0010 #define BOOST_WINAPI_HEAP_MEMORY_HPP_INCLUDED_
0011 
0012 #include <boost/winapi/basic_types.hpp>
0013 #include <boost/winapi/detail/header.hpp>
0014 
0015 #ifdef BOOST_HAS_PRAGMA_ONCE
0016 #pragma once
0017 #endif
0018 
0019 #if !defined( BOOST_USE_WINDOWS_H )
0020 #undef HeapAlloc
0021 extern "C" {
0022 
0023 #if BOOST_WINAPI_PARTITION_DESKTOP_SYSTEM
0024 BOOST_WINAPI_IMPORT boost::winapi::DWORD_ BOOST_WINAPI_WINAPI_CC
0025 GetProcessHeaps(boost::winapi::DWORD_ NumberOfHeaps, boost::winapi::PHANDLE_ ProcessHeaps);
0026 #endif // BOOST_WINAPI_PARTITION_DESKTOP_SYSTEM
0027 
0028 BOOST_WINAPI_IMPORT_EXCEPT_WM boost::winapi::HANDLE_ BOOST_WINAPI_WINAPI_CC
0029 GetProcessHeap(BOOST_WINAPI_DETAIL_VOID);
0030 
0031 BOOST_WINAPI_IMPORT_EXCEPT_WM boost::winapi::LPVOID_ BOOST_WINAPI_WINAPI_CC
0032 HeapAlloc(
0033     boost::winapi::HANDLE_ hHeap,
0034     boost::winapi::DWORD_ dwFlags,
0035     boost::winapi::SIZE_T_ dwBytes);
0036 
0037 BOOST_WINAPI_IMPORT_EXCEPT_WM boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CC
0038 HeapFree(
0039     boost::winapi::HANDLE_ hHeap,
0040     boost::winapi::DWORD_ dwFlags,
0041     boost::winapi::LPVOID_ lpMem);
0042 
0043 BOOST_WINAPI_IMPORT_EXCEPT_WM boost::winapi::LPVOID_ BOOST_WINAPI_WINAPI_CC
0044 HeapReAlloc(
0045     boost::winapi::HANDLE_ hHeap,
0046     boost::winapi::DWORD_ dwFlags,
0047     boost::winapi::LPVOID_ lpMem,
0048     boost::winapi::SIZE_T_ dwBytes);
0049 
0050 #if BOOST_WINAPI_PARTITION_APP_SYSTEM
0051 BOOST_WINAPI_IMPORT_EXCEPT_WM boost::winapi::HANDLE_ BOOST_WINAPI_WINAPI_CC
0052 HeapCreate(
0053     boost::winapi::DWORD_ flOptions,
0054     boost::winapi::SIZE_T_ dwInitialSize,
0055     boost::winapi::SIZE_T_ dwMaximumSize);
0056 
0057 BOOST_WINAPI_IMPORT_EXCEPT_WM boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CC
0058 HeapDestroy(boost::winapi::HANDLE_ hHeap);
0059 #endif // BOOST_WINAPI_PARTITION_APP_SYSTEM
0060 
0061 } // extern "C"
0062 #endif // !defined( BOOST_USE_WINDOWS_H )
0063 
0064 namespace boost {
0065 namespace winapi {
0066 
0067 #if BOOST_WINAPI_PARTITION_DESKTOP_SYSTEM
0068 using ::GetProcessHeaps;
0069 #endif
0070 
0071 using ::GetProcessHeap;
0072 using ::HeapAlloc;
0073 using ::HeapFree;
0074 using ::HeapReAlloc;
0075 
0076 #if BOOST_WINAPI_PARTITION_APP_SYSTEM
0077 using ::HeapCreate;
0078 using ::HeapDestroy;
0079 #endif
0080 
0081 }
0082 }
0083 
0084 #include <boost/winapi/detail/footer.hpp>
0085 
0086 #endif // BOOST_WINAPI_HEAP_MEMORY_HPP_INCLUDED_