00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef _MMAPFILE_H_
00018 #define _MMAPFILE_H_
00019
00020 #include <sys/types.h>
00021 #include <sys/mman.h>
00022 #include "../debug/Log.h"
00023
00024 namespace oasys {
00025
00030 class MmapFile : public Logger {
00031 public:
00035 MmapFile(const char* logpath);
00036
00040 virtual ~MmapFile();
00041
00047 void* map(const char* filename, int prot, int flags,
00048 size_t len = 0, off_t offset = 0);
00049
00055 bool unmap();
00056
00058 void* ptr() { return ptr_; }
00059 size_t len() { return len_; }
00061
00062 private:
00064 void* ptr_;
00065
00067 size_t len_;
00068 };
00069
00070 }
00071
00072
00073 #endif