// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: tagfile.h,v 1.16 2001/03/11 07:22:19 jgg Exp $
+// $Id: tagfile.h,v 1.20 2003/05/19 17:13:57 doogie Exp $
/* ######################################################################
Fast scanner for RFC-822 type header information
#endif
#include <apt-pkg/fileutl.h>
+#include <apt-pkg/mmap.h>
#include <stdio.h>
class pkgTagSection
// We have a limit of 256 tags per section.
unsigned short Indexes[256];
- unsigned short AlphaIndexes[0xff];
+ unsigned short AlphaIndexes[0x100];
unsigned int TagCount;
class pkgTagFile
{
FileFd &Fd;
+ MMap *Map;
char *Buffer;
char *Start;
char *End;
- unsigned long Left;
+ bool Done;
unsigned long iOffset;
unsigned long Size;
- unsigned long TotalSize;
bool Fill();
inline unsigned long Offset() {return iOffset;};
bool Jump(pkgTagSection &Tag,unsigned long Offset);
- pkgTagFile(FileFd *F,unsigned long Size = 32*1024);
+ pkgTagFile(FileFd *F,unsigned long Size = 64*1024);
~pkgTagFile();
};