ACE_Mem_Map Class ReferenceC++ interface OS memory mapping system call.
More...
#include <Mem_Map.h>
List of all members.
|
Public Member Functions |
| ACE_Mem_Map (void) |
| Default constructor.
|
| ACE_Mem_Map (ACE_HANDLE handle, size_t length=static_cast< size_t >(-1), int prot=PROT_RDWR, int share=ACE_MAP_PRIVATE, void *addr=0, ACE_OFF_T offset=0, LPSECURITY_ATTRIBUTES sa=0) |
| ACE_Mem_Map (const ACE_TCHAR *filename, size_t length=static_cast< size_t >(-1), int flags=O_RDWR|O_CREAT, mode_t mode=ACE_DEFAULT_FILE_PERMS, int prot=PROT_RDWR, int share=ACE_MAP_PRIVATE, void *addr=0, ACE_OFF_T offset=0, LPSECURITY_ATTRIBUTES sa=0) |
| Map a file specified by file_name.
|
int | map (ACE_HANDLE handle, size_t length=static_cast< size_t >(-1), int prot=PROT_RDWR, int share=ACE_MAP_PRIVATE, void *addr=0, ACE_OFF_T offset=0, LPSECURITY_ATTRIBUTES sa=0) |
int | map (size_t length=static_cast< size_t >(-1), int prot=PROT_RDWR, int share=ACE_MAP_PRIVATE, void *addr=0, ACE_OFF_T offset=0, LPSECURITY_ATTRIBUTES sa=0) |
| Remap the file associated with <handle_>.
|
int | map (const ACE_TCHAR *filename, size_t length=static_cast< size_t >(-1), int flags=O_RDWR|O_CREAT, mode_t mode=ACE_DEFAULT_FILE_PERMS, int prot=PROT_RDWR, int share=ACE_MAP_PRIVATE, void *addr=0, ACE_OFF_T offset=0, LPSECURITY_ATTRIBUTES sa=0) |
| Map a file specified by filename.
|
| ~ACE_Mem_Map (void) |
| Destructor.
|
int | open (const ACE_TCHAR *filename, int flags=O_RDWR|O_CREAT, mode_t perms=ACE_DEFAULT_FILE_PERMS, LPSECURITY_ATTRIBUTES sa=0) |
| Open the file without mapping it.
|
int | close (void) |
| Close down the <handle_> if necessary and unmap the mapping.
|
int | close_handle (void) |
| Close down the <handle_> if necessary.
|
int | close_filemapping_handle (void) |
int | operator() (void *&addr) |
void * | addr (void) const |
| Return the base address.
|
size_t | size (void) const |
int | unmap (ssize_t len=-1) |
| Unmap the region starting at <base_addr_>.
|
int | unmap (void *addr, ssize_t len) |
| Unmap the region starting at <addr_>.
|
int | sync (size_t len, int flags=MS_SYNC) |
int | sync (int flags=MS_SYNC) |
int | sync (void *addr, size_t len, int flags=MS_SYNC) |
int | protect (size_t len, int prot=PROT_RDWR) |
int | protect (int prot=PROT_RDWR) |
int | protect (void *addr, size_t len, int prot=PROT_RDWR) |
int | remove (void) |
| Close and remove the file from the file system.
|
int | advise (int behavior, int len=-1) |
| Hook into the underlying VM system.
|
ACE_HANDLE | handle (void) const |
| Return the underlying <handle_>.
|
const ACE_TCHAR * | filename (void) const |
| Return the name of file that is mapped (if any).
|
void | dump (void) const |
| Dump the state of an object.
|
Public Attributes |
| ACE_ALLOC_HOOK_DECLARE |
| Declare the dynamic allocation hooks.
|
Private Member Functions |
int | map_it (ACE_HANDLE handle, size_t len=static_cast< size_t >(-1), int prot=PROT_RDWR, int share=MAP_SHARED, void *addr=0, ACE_OFF_T offset=0, LPSECURITY_ATTRIBUTES sa=0) |
| ACE_Mem_Map (const ACE_Mem_Map &) |
void | operator= (const ACE_Mem_Map &) |
Private Attributes |
void * | base_addr_ |
| Base address of the memory-mapped file.
|
ACE_TCHAR | filename_ [MAXPATHLEN+1] |
| Name of the file that is mapped.
|
size_t | length_ |
| Length of the mapping.
|
ACE_HANDLE | handle_ |
| HANDLE for the open file.
|
ACE_HANDLE | file_mapping_ |
| HANDLE for the open mapping.
|
bool | close_handle_ |
Detailed Description
C++ interface OS memory mapping system call.
This class works with both the mmap(2) UNIX system and the Win32 family of memory mapping system calls.
Constructor & Destructor Documentation
ACE_Mem_Map::ACE_Mem_Map |
( |
void |
|
) |
|
ACE_Mem_Map::ACE_Mem_Map |
( |
ACE_HANDLE |
handle, |
|
|
size_t |
length = static_cast<size_t> (-1) , |
|
|
int |
prot = PROT_RDWR , |
|
|
int |
share = ACE_MAP_PRIVATE , |
|
|
void * |
addr = 0 , |
|
|
ACE_OFF_T |
offset = 0 , |
|
|
LPSECURITY_ATTRIBUTES |
sa = 0 | |
|
) |
| | |
Map a file from an open file descriptor handle. This function will lookup the length of the file if it is not given.
ACE_Mem_Map::ACE_Mem_Map |
( |
const ACE_TCHAR * |
filename, |
|
|
size_t |
length = static_cast<size_t> (-1) , |
|
|
int |
flags = O_RDWR | O_CREAT , |
|
|
mode_t |
mode = ACE_DEFAULT_FILE_PERMS , |
|
|
int |
prot = PROT_RDWR , |
|
|
int |
share = ACE_MAP_PRIVATE , |
|
|
void * |
addr = 0 , |
|
|
ACE_OFF_T |
offset = 0 , |
|
|
LPSECURITY_ATTRIBUTES |
sa = 0 | |
|
) |
| | |
Map a file specified by file_name.
ACE_Mem_Map::~ACE_Mem_Map |
( |
void |
|
) |
|
ACE_Mem_Map::ACE_Mem_Map |
( |
const ACE_Mem_Map & |
|
) |
[private] |
Member Function Documentation
ACE_INLINE int ACE_Mem_Map::map |
( |
ACE_HANDLE |
handle, |
|
|
size_t |
length = static_cast<size_t> (-1) , |
|
|
int |
prot = PROT_RDWR , |
|
|
int |
share = ACE_MAP_PRIVATE , |
|
|
void * |
addr = 0 , |
|
|
ACE_OFF_T |
offset = 0 , |
|
|
LPSECURITY_ATTRIBUTES |
sa = 0 | |
|
) |
| | |
Map a file from an open file descriptor handle. This function will lookup the length of the file if it is not given.
ACE_INLINE int ACE_Mem_Map::map |
( |
size_t |
length = static_cast<size_t> (-1) , |
|
|
int |
prot = PROT_RDWR , |
|
|
int |
share = ACE_MAP_PRIVATE , |
|
|
void * |
addr = 0 , |
|
|
ACE_OFF_T |
offset = 0 , |
|
|
LPSECURITY_ATTRIBUTES |
sa = 0 | |
|
) |
| | |
Remap the file associated with <handle_>.
int ACE_Mem_Map::map |
( |
const ACE_TCHAR * |
filename, |
|
|
size_t |
length = static_cast<size_t> (-1) , |
|
|
int |
flags = O_RDWR | O_CREAT , |
|
|
mode_t |
mode = ACE_DEFAULT_FILE_PERMS , |
|
|
int |
prot = PROT_RDWR , |
|
|
int |
share = ACE_MAP_PRIVATE , |
|
|
void * |
addr = 0 , |
|
|
ACE_OFF_T |
offset = 0 , |
|
|
LPSECURITY_ATTRIBUTES |
sa = 0 | |
|
) |
| | |
Map a file specified by filename.
int ACE_Mem_Map::open |
( |
const ACE_TCHAR * |
filename, |
|
|
int |
flags = O_RDWR | O_CREAT , |
|
|
mode_t |
perms = ACE_DEFAULT_FILE_PERMS , |
|
|
LPSECURITY_ATTRIBUTES |
sa = 0 | |
|
) |
| | |
Open the file without mapping it.
int ACE_Mem_Map::close |
( |
void |
|
) |
|
Close down the <handle_> if necessary and unmap the mapping.
ACE_INLINE int ACE_Mem_Map::close_handle |
( |
void |
|
) |
|
Close down the <handle_> if necessary.
ACE_INLINE int ACE_Mem_Map::close_filemapping_handle |
( |
void |
|
) |
|
Close down the internal <file_mapping_> if necessary. This is mostly necessary on Win32, which has a different handle for file-mapping kernel object.
ACE_INLINE int ACE_Mem_Map::operator() |
( |
void *& |
addr |
) |
|
This operator passes back the starting address of the mapped file.
ACE_INLINE void * ACE_Mem_Map::addr |
( |
void |
|
) |
const |
ACE_INLINE size_t ACE_Mem_Map::size |
( |
void |
|
) |
const |
This function returns the number of bytes currently mapped in the file.
ACE_INLINE int ACE_Mem_Map::unmap |
( |
ssize_t |
len = -1 |
) |
|
Unmap the region starting at <base_addr_>.
ACE_INLINE int ACE_Mem_Map::unmap |
( |
void * |
addr, |
|
|
ssize_t |
len | |
|
) |
| | |
Unmap the region starting at <addr_>.
ACE_INLINE int ACE_Mem_Map::sync |
( |
size_t |
len, |
|
|
int |
flags = MS_SYNC | |
|
) |
| | |
Sync len bytes of the memory region to the backing store starting at <base_addr_>. If len == -1 then sync the whole region.
ACE_INLINE int ACE_Mem_Map::sync |
( |
int |
flags = MS_SYNC |
) |
|
Sync the whole memory region to the backing store starting at <base_addr_>.
ACE_INLINE int ACE_Mem_Map::sync |
( |
void * |
addr, |
|
|
size_t |
len, |
|
|
int |
flags = MS_SYNC | |
|
) |
| | |
Sync len bytes of the memory region to the backing store starting at <addr_>.
ACE_INLINE int ACE_Mem_Map::protect |
( |
size_t |
len, |
|
|
int |
prot = PROT_RDWR | |
|
) |
| | |
Change the protection of the pages of the mapped region to prot starting at <base_addr_> up to len bytes.
ACE_INLINE int ACE_Mem_Map::protect |
( |
int |
prot = PROT_RDWR |
) |
|
Change the protection of all the pages of the mapped region to prot starting at <base_addr_>.
ACE_INLINE int ACE_Mem_Map::protect |
( |
void * |
addr, |
|
|
size_t |
len, |
|
|
int |
prot = PROT_RDWR | |
|
) |
| | |
Change the protection of the pages of the mapped region to prot starting at addr up to len bytes.
int ACE_Mem_Map::remove |
( |
void |
|
) |
|
Close and remove the file from the file system.
ACE_INLINE int ACE_Mem_Map::advise |
( |
int |
behavior, |
|
|
int |
len = -1 | |
|
) |
| | |
Hook into the underlying VM system.
ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE ACE_HANDLE ACE_Mem_Map::handle |
( |
void |
|
) |
const |
Return the underlying <handle_>.
ACE_INLINE const ACE_TCHAR * ACE_Mem_Map::filename |
( |
void |
|
) |
const |
Return the name of file that is mapped (if any).
ACE_BEGIN_VERSIONED_NAMESPACE_DECL void ACE_Mem_Map::dump |
( |
void |
|
) |
const |
Dump the state of an object.
int ACE_Mem_Map::map_it |
( |
ACE_HANDLE |
handle, |
|
|
size_t |
len = static_cast<size_t> (-1) , |
|
|
int |
prot = PROT_RDWR , |
|
|
int |
share = MAP_SHARED , |
|
|
void * |
addr = 0 , |
|
|
ACE_OFF_T |
offset = 0 , |
|
|
LPSECURITY_ATTRIBUTES |
sa = 0 | |
|
) |
| | [private] |
This method does the dirty work of actually calling mmap to map the file into memory.
void ACE_Mem_Map::operator= |
( |
const ACE_Mem_Map & |
|
) |
[private] |
Member Data Documentation
Declare the dynamic allocation hooks.
Base address of the memory-mapped file.
Name of the file that is mapped.
HANDLE for the open file.
HANDLE for the open mapping.
Keeps track of whether we need to close the handle. This is set if we opened the file.
The documentation for this class was generated from the following files:
Generated on Mon Sep 15 07:15:42 2008 for ACE by
1.5.5
|