X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/c1a2237722820dcd5e387dda5a88085cf62e68b9..bebdca4bf63ae661c60bc1e0f4e03e6bbb7a7cc5:/apt-pkg/pkgcache.h diff --git a/apt-pkg/pkgcache.h b/apt-pkg/pkgcache.h index a7d1e9424..10e68f20d 100644 --- a/apt-pkg/pkgcache.h +++ b/apt-pkg/pkgcache.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: pkgcache.h,v 1.11 1998/12/07 07:26:20 jgg Exp $ +// $Id: pkgcache.h,v 1.19 1999/04/12 04:21:20 jgg Exp $ /* ###################################################################### Cache - Structure definitions for the cache file @@ -80,9 +80,8 @@ class pkgCache struct Flag { - enum PkgFlags {Auto=(1<<0),New=(1<<1),Obsolete=(1<<2),Essential=(1<<3), - ImmediateConf=(1<<4)}; - enum PkgFFlags {NotSource=(1<<0)}; + enum PkgFlags {Auto=(1<<0),Essential=(1<<3),Important=(1<<4)}; + enum PkgFFlags {NotSource=(1<<0),NotAutomatic=(1<<1)}; }; protected: @@ -91,8 +90,8 @@ class pkgCache string CacheFile; MMap ⤅ - static unsigned long sHash(string S); - static unsigned long sHash(const char *S); + unsigned long sHash(string S) const; + unsigned long sHash(const char *S) const; public: @@ -109,6 +108,7 @@ class pkgCache virtual bool ReMap(); inline bool Sync() {return Map.Sync();}; + inline MMap &GetMap() {return Map;}; // String hashing function (512 range) inline unsigned long Hash(string S) const {return sHash(S);}; @@ -124,6 +124,7 @@ class pkgCache inline PkgIterator PkgEnd(); inline PkgFileIterator FileBegin(); inline PkgFileIterator FileEnd(); + VerIterator GetCandidateVer(PkgIterator Pkg,bool AllowCurrent = true); pkgCache(MMap &Map); virtual ~pkgCache() {}; @@ -152,6 +153,8 @@ struct pkgCache::Header unsigned long VersionCount; unsigned long DependsCount; unsigned long PackageFileCount; + unsigned long VerFileCount; + unsigned long ProvidesCount; // Offsets __apt_ptrloc FileList; // struct PackageFile @@ -163,7 +166,7 @@ struct pkgCache::Header DynamicMMap::Pool Pools[7]; // Rapid package name lookup - __apt_ptrloc HashTable[2048]; + __apt_ptrloc HashTable[2*1048]; bool CheckSizes(Header &Against) const; Header(); @@ -197,14 +200,18 @@ struct pkgCache::PackageFile { // Names __apt_ptrloc FileName; // Stringtable + __apt_ptrloc Archive; // Stringtable + __apt_ptrloc Component; // Stringtable __apt_ptrloc Version; // Stringtable - __apt_ptrloc Distribution; // Stringtable - __apt_ptrloc Size; + __apt_ptrloc Origin; // Stringtable + __apt_ptrloc Label; // Stringtable + __apt_ptrloc Architecture; // Stringtable + unsigned long Size; + unsigned long Flags; // Linked list __apt_ptrloc NextFile; // PackageFile unsigned short ID; - unsigned long Flags; time_t mtime; // Modification time for the file }; @@ -220,7 +227,8 @@ struct pkgCache::Version { __apt_ptrloc VerStr; // Stringtable __apt_ptrloc Section; // StringTable (StringItem) - + __apt_ptrloc Arch; // StringTable + // Lists __apt_ptrloc FileList; // VerFile __apt_ptrloc NextVer; // Version