60 lines
1.7 KiB
C++
60 lines
1.7 KiB
C++
|
// memory.hpp --------------------------------------------------------------//
|
||
|
|
||
|
// Copyright 2010 Vicente J. Botet Escriba
|
||
|
|
||
|
// Distributed under the Boost Software License, Version 1.0.
|
||
|
// See http://www.boost.org/LICENSE_1_0.txt
|
||
|
|
||
|
|
||
|
#ifndef BOOST_DETAIL_WIN_MEMORY_HPP
|
||
|
#define BOOST_DETAIL_WIN_MEMORY_HPP
|
||
|
|
||
|
#include <boost/detail/win/basic_types.hpp>
|
||
|
#include <boost/detail/win/security.hpp>
|
||
|
#include <boost/detail/win/LocalFree.hpp>
|
||
|
|
||
|
|
||
|
namespace boost
|
||
|
{
|
||
|
namespace detail
|
||
|
{
|
||
|
namespace win32
|
||
|
{
|
||
|
#if defined( BOOST_USE_WINDOWS_H )
|
||
|
using ::CreateFileMappingA;
|
||
|
using ::FlushViewOfFile;
|
||
|
using ::GetProcessHeap;
|
||
|
using ::HeapAlloc;
|
||
|
using ::HeapFree;
|
||
|
using ::MapViewOfFileEx;
|
||
|
using ::OpenFileMappingA;
|
||
|
using ::UnmapViewOfFile;
|
||
|
#else
|
||
|
# ifdef HeapAlloc
|
||
|
# undef HeapAlloc
|
||
|
# endif
|
||
|
extern "C" {
|
||
|
__declspec(dllimport) void * __stdcall
|
||
|
CreateFileMappingA (void *, SECURITY_ATTRIBUTES_*, unsigned long, unsigned long, unsigned long, const char *);
|
||
|
__declspec(dllimport) int __stdcall
|
||
|
FlushViewOfFile (void *, std::size_t);
|
||
|
__declspec(dllimport) HANDLE_ __stdcall
|
||
|
GetProcessHeap();
|
||
|
__declspec(dllimport) void* __stdcall
|
||
|
HeapAlloc(HANDLE_,DWORD_,SIZE_T_);
|
||
|
__declspec(dllimport) BOOL_ __stdcall
|
||
|
HeapFree(HANDLE_,DWORD_,LPVOID_);
|
||
|
__declspec(dllimport) void * __stdcall
|
||
|
MapViewOfFileEx (void *, unsigned long, unsigned long, unsigned long, std::size_t, void*);
|
||
|
__declspec(dllimport) void * __stdcall
|
||
|
OpenFileMappingA (unsigned long, int, const char *);
|
||
|
__declspec(dllimport) int __stdcall
|
||
|
UnmapViewOfFile(void *);
|
||
|
}
|
||
|
#endif
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#endif // BOOST_DETAIL_WIN_SYNCHRONIZATION_HPP
|