X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/79f24b42cfa60fa79a427c5e37a01de303543a4b..5c0d3668dd2b6852812502f33d64b1644c2b137a:/apt-pkg/contrib/mmap.h

diff --git a/apt-pkg/contrib/mmap.h b/apt-pkg/contrib/mmap.h
index e329b167a..cd2b15ba2 100644
--- a/apt-pkg/contrib/mmap.h
+++ b/apt-pkg/contrib/mmap.h
@@ -25,9 +25,6 @@
 #ifndef PKGLIB_MMAP_H
 #define PKGLIB_MMAP_H
 
-#ifdef __GNUG__
-#pragma interface "apt-pkg/mmap.h"
-#endif
 
 #include <string>
 #include <apt-pkg/fileutl.h>
@@ -53,7 +50,7 @@ class MMap
    public:
 
    enum OpenFlags {NoImmMap = (1<<0),Public = (1<<1),ReadOnly = (1<<2),
-                   UnMapped = (1<<3)};
+                   UnMapped = (1<<3), Moveable = (1<<4), Fallback = (1 << 5)};
       
    // Simple accessors
    inline operator void *() {return Base;};
@@ -85,8 +82,12 @@ class DynamicMMap : public MMap
    
    FileFd *Fd;
    unsigned long WorkSpace;
+   unsigned long const GrowFactor;
+   unsigned long const Limit;
    Pool *Pools;
    unsigned int PoolCount;
+
+   bool Grow();
    
    public:
 
@@ -97,8 +98,10 @@ class DynamicMMap : public MMap
    inline unsigned long WriteString(const string &S) {return WriteString(S.c_str(),S.length());};
    void UsePools(Pool &P,unsigned int Count) {Pools = &P; PoolCount = Count;};
    
-   DynamicMMap(FileFd &F,unsigned long Flags,unsigned long WorkSpace = 2*1024*1024);
-   DynamicMMap(unsigned long Flags,unsigned long WorkSpace = 2*1024*1024);
+   DynamicMMap(FileFd &F,unsigned long Flags,unsigned long const &WorkSpace = 2*1024*1024,
+	       unsigned long const &Grow = 1024*1024, unsigned long const &Limit = 0);
+   DynamicMMap(unsigned long Flags,unsigned long const &WorkSpace = 2*1024*1024,
+	       unsigned long const &Grow = 1024*1024, unsigned long const &Limit = 0);
    virtual ~DynamicMMap();
 };