1 #pragma once 2 3 #include "mapped_file_object_interface.h" 4 #include "pager.h" 5 6 /* A pager abstraction for a file. */ 7 8 class FilePager : public Pager, public MappedFileObject 9 { 10 public: 11 fileid_t fileid; 12 13 explicit FilePager(fileid_t fileid, PageMapper *mapper); 14 15 virtual long map(unsigned long offset, l4_addr_t hot_spot, unsigned long flags, l4_snd_fpage_t *region) 16 { return Pager::map(offset, hot_spot, flags, region); } 17 18 virtual long mmap(size_t position, size_t length, size_t *start_pos, size_t *end_pos, size_t *data_end); 19 }; 20 21 // vim: tabstop=4 expandtab shiftwidth=4