X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fjournal%2Fmmap-cache.h;h=76e5316248d71baa9c8496cbecd14e5370be6e69;hp=aae4544357281c52c504475d03440baed777729f;hb=06cc69d44c8ff2b652527357f28acd4cbe77c814;hpb=84168d8068bb67dcd5468ab3b376535d81643aef diff --git a/src/journal/mmap-cache.h b/src/journal/mmap-cache.h index aae454435..76e531624 100644 --- a/src/journal/mmap-cache.h +++ b/src/journal/mmap-cache.h @@ -22,6 +22,8 @@ ***/ #include +#include +#include typedef struct MMapCache MMapCache; @@ -29,7 +31,23 @@ MMapCache* mmap_cache_new(void); MMapCache* mmap_cache_ref(MMapCache *m); MMapCache* mmap_cache_unref(MMapCache *m); -int mmap_cache_get(MMapCache *m, int fd, int prot, unsigned context, uint64_t offset, uint64_t size, void **ret); +int mmap_cache_get( + MMapCache *m, + int fd, + int prot, + unsigned context, + bool keep_always, + uint64_t offset, + size_t size, + struct stat *st, + void **ret, + void **release_cookie); +int mmap_cache_release( + MMapCache *m, + int fd, + void *release_cookie); void mmap_cache_close_fd(MMapCache *m, int fd); -void mmap_cache_close_fd_range(MMapCache *m, int fd, uint64_t range); void mmap_cache_close_context(MMapCache *m, unsigned context); + +unsigned mmap_cache_get_hit(MMapCache *m); +unsigned mmap_cache_get_missed(MMapCache *m);