31 #ifndef APT_8_CLEANER_HEADERS
32 #include <apt-pkg/fileutl.h>
41 typedef unsigned int map_ptrloc;
48 unsigned long long iSize;
57 bool Close(
bool DoSync =
true);
61 enum OpenFlags {NoImmMap = (1<<0),Public = (1<<1),ReadOnly = (1<<2),
62 UnMapped = (1<<3), Moveable = (1<<4), Fallback = (1 << 5)};
65 inline operator void *() {
return Base;};
66 inline void *Data() {
return Base;};
67 inline unsigned long long Size() {
return iSize;};
68 inline void AddSize(
unsigned long long const size) {iSize += size;};
69 inline bool validData()
const {
return Base != (
void *)-1 && Base != 0; };
73 bool Sync(
unsigned long Start,
unsigned long Stop);
76 MMap(
unsigned long Flags);
87 unsigned long ItemSize;
95 unsigned long WorkSpace;
96 unsigned long const GrowFactor;
97 unsigned long const Limit;
99 unsigned int PoolCount;
106 unsigned long RawAllocate(
unsigned long long Size,
unsigned long Aln = 0);
107 unsigned long Allocate(
unsigned long ItemSize);
108 unsigned long WriteString(
const char *String,
unsigned long Len = (
unsigned long)-1);
109 inline unsigned long WriteString(
const std::string &S) {
return WriteString(S.c_str(),S.length());};
110 void UsePools(Pool &P,
unsigned int Count) {Pools = &P; PoolCount = Count;};
112 DynamicMMap(
FileFd &F,
unsigned long Flags,
unsigned long const &WorkSpace = 2*1024*1024,
113 unsigned long const &Grow = 1024*1024,
unsigned long const &Limit = 0);
114 DynamicMMap(
unsigned long Flags,
unsigned long const &WorkSpace = 2*1024*1024,
115 unsigned long const &Grow = 1024*1024,
unsigned long const &Limit = 0);