1 /*
2  * Copyright 2010 Vicente J. Botet Escriba
3  * Copyright 2015 Andrey Semashev
4  *
5  * Distributed under the Boost Software License, Version 1.0.
6  * See http://www.boost.org/LICENSE_1_0.txt
7  */
8 
9 #ifndef BOOST_WINAPI_LOCAL_MEMORY_HPP_INCLUDED_
10 #define BOOST_WINAPI_LOCAL_MEMORY_HPP_INCLUDED_
11 
12 #include <boost/winapi/basic_types.hpp>
13 
14 #ifdef BOOST_HAS_PRAGMA_ONCE
15 #pragma once
16 #endif
17 
18 #if BOOST_WINAPI_PARTITION_APP_SYSTEM
19 
20 #if !defined( BOOST_USE_WINDOWS_H )
21 namespace boost { namespace winapi {
22 typedef HANDLE_ HLOCAL_;
23 }}
24 
25 extern "C" {
26 BOOST_SYMBOL_IMPORT boost::winapi::HLOCAL_ BOOST_WINAPI_WINAPI_CC
27 LocalAlloc(
28     boost::winapi::UINT_ uFlags,
29     boost::winapi::SIZE_T_ uBytes);
30 
31 BOOST_SYMBOL_IMPORT boost::winapi::HLOCAL_ BOOST_WINAPI_WINAPI_CC
32 LocalReAlloc(
33     boost::winapi::HLOCAL_ hMem,
34     boost::winapi::SIZE_T_ uBytes,
35     boost::winapi::UINT_ uFlags);
36 
37 BOOST_SYMBOL_IMPORT boost::winapi::HLOCAL_ BOOST_WINAPI_WINAPI_CC LocalFree(boost::winapi::HLOCAL_ hMem);
38 } // extern "C"
39 #endif
40 
41 namespace boost {
42 namespace winapi {
43 #if defined( BOOST_USE_WINDOWS_H )
44 typedef ::HLOCAL HLOCAL_;
45 #endif
46 using ::LocalAlloc;
47 using ::LocalReAlloc;
48 using ::LocalFree;
49 }
50 }
51 
52 #endif // BOOST_WINAPI_PARTITION_APP_SYSTEM
53 #endif // BOOST_WINAPI_LOCAL_MEMORY_HPP_INCLUDED_
54