#include <Mem_Map.h>
Public Methods | |
| ACE_Mem_Map (void) | |
| Default constructor. More... | |
| ACE_Mem_Map (ACE_HANDLE handle, int length=-1, int prot=PROT_RDWR, int share=ACE_MAP_PRIVATE, void *addr=0, 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. More... | |
| ACE_Mem_Map (const ACE_TCHAR *filename, int len=-1, int flags=O_RDWR|O_CREAT, int mode=ACE_DEFAULT_FILE_PERMS, int prot=PROT_RDWR, int share=ACE_MAP_PRIVATE, void *addr=0, off_t offset=0, LPSECURITY_ATTRIBUTES sa=0) | |
| Map a file specified by <file_name>. More... | |
| int | map (ACE_HANDLE handle, int length=-1, int prot=PROT_RDWR, int share=ACE_MAP_PRIVATE, void *addr=0, 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. More... | |
| int | map (int length=-1, int prot=PROT_RDWR, int share=ACE_MAP_PRIVATE, void *addr=0, off_t offset=0, LPSECURITY_ATTRIBUTES sa=0) |
| Remap the file associated with <handle_>. More... | |
| int | map (const ACE_TCHAR *filename, int len=-1, int flags=O_RDWR|O_CREAT, int mode=ACE_DEFAULT_FILE_PERMS, int prot=PROT_RDWR, int share=ACE_MAP_PRIVATE, void *addr=0, off_t offset=0, LPSECURITY_ATTRIBUTES sa=0) |
| Map a file specified by <filename>. More... | |
| ~ACE_Mem_Map (void) | |
| Destructor. More... | |
| int | open (const ACE_TCHAR *filename, int flags=O_RDWR|O_CREAT, int mode=ACE_DEFAULT_FILE_PERMS, LPSECURITY_ATTRIBUTES sa=0) |
| Open the file without mapping it. More... | |
| int | close (void) |
| Close down the <handle_> if necessary and unmap the mapping. More... | |
| int | close_handle (void) |
| Close down the <handle_> if necessary. More... | |
| int | close_filemapping_handle (void) |
| Close down the internal <file_mapping_> if necessary. More... | |
| int | operator() (void *&addr) |
| This operator passes back the starting address of the mapped file. More... | |
| void * | addr (void) const |
| Return the base address. More... | |
| size_t | size (void) const |
| This function returns the number of bytes currently mapped in the file. More... | |
| int | unmap (int len=-1) |
| Unmap the region starting at <base_addr_>. More... | |
| int | unmap (void *addr, int len) |
| Unmap the region starting at <addr_>. More... | |
| int | sync (ssize_t len=-1, int flags=MS_SYNC) |
| Sync <len> bytes of the memory region to the backing store starting at <base_addr_>. More... | |
| int | sync (void *addr, size_t len, int flags=MS_SYNC) |
| Sync <len> bytes of the memory region to the backing store starting at <addr_>. More... | |
| int | protect (ssize_t len=-1, int prot=PROT_RDWR) |
| Change the protection of the pages of the mapped region to <prot> starting at <base_addr_> up to <len> bytes. More... | |
| int | 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. More... | |
| int | remove (void) |
| Close and remove the file from the file system. More... | |
| int | advise (int behavior, int len=-1) |
| Hook into the underlying VM system. More... | |
| ACE_HANDLE | handle (void) const |
| Return the underlying <handle_>. More... | |
| const ACE_TCHAR * | filename (void) const |
| Return the name of file that is mapped (if any). More... | |
| void | dump (void) const |
| Dump the state of an object. More... | |
Public Attributes | |
| ACE_ALLOC_HOOK_DECLARE | |
| Declare the dynamic allocation hooks. More... | |
Private Methods | |
| int | map_it (ACE_HANDLE handle, int len=-1, int prot=PROT_RDWR, int share=MAP_SHARED, void *addr=0, off_t offset=0, LPSECURITY_ATTRIBUTES sa=0) |
| This method does the dirty work of actually calling mmap to map the file into memory. More... | |
| 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. More... | |
| ACE_TCHAR | filename_ [MAXPATHLEN+1] |
| Name of the file that is mapped. More... | |
| size_t | length_ |
| Length of the mapping. More... | |
| ACE_HANDLE | handle_ |
| HANDLE for the open file. More... | |
| ACE_HANDLE | file_mapping_ |
| HANDLE for the open mapping. More... | |
| int | close_handle_ |
| Keeps track of whether we need to close the handle. This is set if we opened the file. More... | |
This class works with both the mmap(2) UNIX system and the Win32 family of memory mapping system calls.
|
|
Default constructor.
|
|
||||||||||||||||||||||||||||||||
|
Map a file from an open file descriptor <handle>. This function will lookup the length of the file if it is not given.
|
|
||||||||||||||||||||||||||||||||||||||||
|
Map a file specified by <file_name>.
|
|
|
Destructor.
|
|
|
|
|
|
Return the base address.
|
|
||||||||||||
|
Hook into the underlying VM system.
|
|
|
Close down the <handle_> if necessary and unmap the mapping.
|
|
|
Close down the internal <file_mapping_> if necessary. This is mostly necessary on Win32, which has a different handle for file-mapping kernel object. |
|
|
Close down the <handle_> if necessary.
|
|
|
Dump the state of an object.
|
|
|
Return the name of file that is mapped (if any).
|
|
|
Return the underlying <handle_>.
|
|
||||||||||||||||||||||||||||||||||||||||
|
Map a file specified by <filename>.
|
|
||||||||||||||||||||||||||||
|
Remap the file associated with <handle_>.
|
|
||||||||||||||||||||||||||||||||
|
Map a file from an open file descriptor <handle>. This function will lookup the length of the file if it is not given.
|
|
||||||||||||||||||||||||||||||||
|
This method does the dirty work of actually calling mmap to map the file into memory.
|
|
||||||||||||||||||||
|
Open the file without mapping it.
|
|
|
This operator passes back the starting address of the mapped file.
|
|
|
|
|
||||||||||||||||
|
Change the protection of the pages of the mapped region to <prot> starting at <addr> up to <len> bytes.
|
|
||||||||||||
|
Change the protection of the pages of the mapped region to <prot> starting at <base_addr_> up to <len> bytes. If <len> == -1 then change protection of all pages in the mapped region. |
|
|
Close and remove the file from the file system.
|
|
|
This function returns the number of bytes currently mapped in the file.
|
|
||||||||||||||||
|
Sync <len> bytes of the memory region to the backing store starting at <addr_>.
|
|
||||||||||||
|
Sync <len> bytes of the memory region to the backing store starting at <base_addr_>. If <len> == -1 then sync the whole region. |
|
||||||||||||
|
Unmap the region starting at <addr_>.
|
|
|
Unmap the region starting at <base_addr_>.
|
|
|
Declare the dynamic allocation hooks.
|
|
|
Base address of the memory-mapped file.
|
|
|
Keeps track of whether we need to close the handle. This is set if we opened the file.
|
|
|
HANDLE for the open mapping.
|
|
|
Name of the file that is mapped.
|
|
|
HANDLE for the open file.
|
|
|
Length of the mapping.
|
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001