1.1 --- a/pager.h Sat Jan 23 00:01:22 2021 +0100
1.2 +++ b/pager.h Sat Jan 23 23:45:31 2021 +0100
1.3 @@ -1,15 +1,13 @@
1.4 #pragma once
1.5
1.6 -#include "dataspace_interface.h"
1.7 #include "page_mapper.h"
1.8 -#include "pager_state.h"
1.9 #include "resource.h"
1.10
1.11
1.12
1.13 /* A pager exposing a dataspace. */
1.14
1.15 -class Pager : public Dataspace, public Resource
1.16 +class Pager : public Resource
1.17 {
1.18 protected:
1.19 offset_t _start, _size;
1.20 @@ -22,13 +20,15 @@
1.21
1.22 /* Paging methods. */
1.23
1.24 - long map(unsigned long offset, l4_addr_t hot_spot, unsigned long flags, l4_snd_fpage_t *region);
1.25 + virtual long map(unsigned long offset, l4_addr_t hot_spot, unsigned long flags, l4_snd_fpage_t *region);
1.26
1.27 /* Limit methods. */
1.28
1.29 offset_t get_data_size();
1.30
1.31 - PagerState mmap(offset_t start, offset_t size);
1.32 + /* Mapped file methods. */
1.33 +
1.34 + virtual long mmap(size_t position, size_t length, size_t *start_pos, size_t *end_pos, size_t *data_end);
1.35 };
1.36
1.37 // vim: tabstop=4 expandtab shiftwidth=4