// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: mmap.h,v 1.1 1998/07/02 02:58:13 jgg Exp $
+// $Id: mmap.h,v 1.8 1999/01/18 06:20:08 jgg Exp $
/* ######################################################################
MMap Class - Provides 'real' mmap or a faked mmap using read().
##################################################################### */
/*}}}*/
-// Header section: pkglib
#ifndef PKGLIB_MMAP_H
#define PKGLIB_MMAP_H
+#ifdef __GNUG__
+#pragma interface "apt-pkg/mmap.h"
+#endif
+
#include <string>
-#include <pkglib/fileutl.h>
+#include <apt-pkg/fileutl.h>
class MMap
{
protected:
- File &Fd;
+ FileFd &Fd;
unsigned long Flags;
unsigned long iSize;
void *Base;
bool Map();
- bool Close(bool DoClose = true);
+ bool Close(bool DoClose = true,bool DoSync = true);
public:
bool Sync();
bool Sync(unsigned long Start,unsigned long Stop);
- MMap(File &F,unsigned long Flags);
+ MMap(FileFd &F,unsigned long Flags);
virtual ~MMap();
};
public:
// Allocation
- unsigned long RawAllocate(unsigned long Size);
+ unsigned long RawAllocate(unsigned long Size,unsigned long Aln = 0);
unsigned long Allocate(unsigned long ItemSize);
unsigned long WriteString(const char *String,unsigned long Len = 0);
inline unsigned long WriteString(string S) {return WriteString(S.begin(),S.size());};
void UsePools(Pool &P,unsigned int Count) {Pools = &P; PoolCount = Count;};
- DynamicMMap(File &F,unsigned long Flags,unsigned long WorkSpace = 1024*1024);
+ DynamicMMap(FileFd &F,unsigned long Flags,unsigned long WorkSpace = 2*1024*1024);
virtual ~DynamicMMap();
};