NAME

ACE_Mem_Map - C++ interface to the mmap(2) UNIX 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 = MAP_PRIVATE,
        void *addr = 0,
        off_t pos = 0
        );
    ACE_Mem_Map (
        LPCTSTR filename,
        int len = -1,
        int flags = O_RDWR | O_CREAT,
        int mode = ACE_DEFAULT_PERMS,
        int prot = PROT_RDWR,
        int share = MAP_PRIVATE,
        void *addr = 0,
        off_t pos = 0
        );
    int map (
        ACE_HANDLE handle,
        int length = -1,
        int prot = PROT_RDWR,
        int share = MAP_PRIVATE,
        void *addr = 0,
        off_t pos = 0
        );
    int map (
        int length = -1,
        int prot = PROT_RDWR,
        int share = MAP_PRIVATE,
        void *addr = 0,
        off_t pos = 0
        );
    int map (
        LPCTSTR filename,
        int len = -1,
        int flags = O_RDWR | O_CREAT,
        int mode = ACE_DEFAULT_PERMS,
        int prot = PROT_RDWR,
        int share = MAP_PRIVATE,
        void *addr = 0,
        off_t pos = 0
        );
    ~ACE_Mem_Map (void);
    int open (
        LPCTSTR filename,
        int flags = O_RDWR | O_CREAT,
        int mode = ACE_DEFAULT_PERMS
        );
    int close (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 close_handle_;
    int map_it (
        ACE_HANDLE handle,
        int len = -1,
        int prot = PROT_RDWR,
        int share = MAP_SHARED,
        void *addr = 0,
        off_t pos = 0
        );
    inline ACE_Mem_Map (const ACE_Mem_Map &);
    inline void operator = (const ACE_Mem_Map &);
};

Initialization and termination methods.

ACE_Mem_Map (void);
ACE_Mem_Map (
    ACE_HANDLE handle,
    int length = -1,
    int prot = PROT_RDWR,
    int share = MAP_PRIVATE,
    void *addr = 0,
    off_t pos = 0
    );
ACE_Mem_Map (
    LPCTSTR filename,
    int len = -1,
    int flags = O_RDWR | O_CREAT,
    int mode = ACE_DEFAULT_PERMS,
    int prot = PROT_RDWR,
    int share = MAP_PRIVATE,
    void *addr = 0,
    off_t pos = 0
    );
int map (
    ACE_HANDLE handle,
    int length = -1,
    int prot = PROT_RDWR,
    int share = MAP_PRIVATE,
    void *addr = 0,
    off_t pos = 0
    );
int map (
    int length = -1,
    int prot = PROT_RDWR,
    int share = MAP_PRIVATE,
    void *addr = 0,
    off_t pos = 0
    );
int map (
    LPCTSTR filename,
    int len = -1,
    int flags = O_RDWR | O_CREAT,
    int mode = ACE_DEFAULT_PERMS,
    int prot = PROT_RDWR,
    int share = MAP_PRIVATE,
    void *addr = 0,
    off_t pos = 0
    );
~ACE_Mem_Map (void);
int open (
    LPCTSTR filename,
    int flags = O_RDWR | O_CREAT,
    int mode = ACE_DEFAULT_PERMS
    );
int close (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;

AUTHOR

Doug Schmidt

LIBRARY

ace