NAME

ACE_Mem_Map - C++ interface OS memory mapping system call.

SYNOPSIS

#include <ace/Mem_Map.h>

class ACE_Mem_Map { public: ACE_Mem_Map (void); 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 ); ACE_Mem_Map ( LPCTSTR 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 ); 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 ); 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 ); int map ( LPCTSTR 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 ); ~ACE_Mem_Map (void); int open ( LPCTSTR filename, int flags = O_RDWR | O_CREAT, int mode = ACE_DEFAULT_FILE_PERMS, LPSECURITY_ATTRIBUTES sa = 0 ); int close (void); int close_handle (void); int close_filemapping_handle (void); int operator () (void *&addr); void *addr (void) const; size_t size (void) const; int unmap (int len = -1); int unmap (void *addr, int len); int sync (ssize_t len = -1, int flags = MS_SYNC); int sync (void *addr, size_t len, int flags = MS_SYNC); int protect (ssize_t len = -1, int prot = PROT_RDWR); int protect (void *addr, size_t len, int prot = PROT_RDWR); int remove (void); int advise (int behavior, int len = -1); ACE_HANDLE handle (void) const; const TCHAR *filename (void) const; void dump (void) const; ACE_ALLOC_HOOK_DECLARE; private: void *base_addr_; TCHAR filename_[MAXPATHLEN + 1]; size_t length_; ACE_HANDLE handle_; ACE_HANDLE file_mapping_; int write_enabled_; int close_handle_; 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 ); inline ACE_UNIMPLEMENTED_FUNC (ACE_Mem_Map (const ACE_Mem_Map &)); };

DESCRIPTION

This class works with both the mmap(2) UNIX system and the Win32 family of memory mapping system calls.

Initialization and termination methods.

ACE_Mem_Map (void);

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
    );

ACE_Mem_Map (
    LPCTSTR 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
    );

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
    );

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
    );

int map (
    LPCTSTR 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
    );

~ACE_Mem_Map (void);

int open (
    LPCTSTR filename,
    int flags = O_RDWR | O_CREAT,
    int mode = ACE_DEFAULT_FILE_PERMS,
    LPSECURITY_ATTRIBUTES sa = 0
    );

int close (void);

int close_handle (void);

int close_filemapping_handle (void);

int operator () (void *&addr);

void *addr (void) const;

size_t size (void) const;

int unmap (int len = -1);

int unmap (void *addr, int len);

int sync (ssize_t len = -1, int flags = MS_SYNC);

int sync (void *addr, size_t len, int flags = MS_SYNC);

int protect (ssize_t len = -1, int prot = PROT_RDWR);

int protect (void *addr, size_t len, int prot = PROT_RDWR);

int remove (void);

int advise (int behavior, int len = -1);

ACE_HANDLE handle (void) const;

const TCHAR *filename (void) const;

void dump (void) const;

ACE_ALLOC_HOOK_DECLARE;

Disallow copying and assignment.

inline ACE_UNIMPLEMENTED_FUNC (ACE_Mem_Map (const ACE_Mem_Map &));

AUTHOR

Doug Schmidt

LIBRARY

ace