struct Package;
struct PackageFile;
struct Version;
- struct Description;
struct Provides;
struct Dependency;
struct StringItem;
struct VerFile;
- struct DescFile;
// Iterators
class PkgIterator;
class VerIterator;
- class DescIterator;
class DepIterator;
class PrvIterator;
class PkgFileIterator;
class VerFileIterator;
- class DescFileIterator;
friend class PkgIterator;
friend class VerIterator;
- friend class DescInterator;
friend class DepIterator;
friend class PrvIterator;
friend class PkgFileIterator;
friend class VerFileIterator;
- friend class DescFileIterator;
class Namespace;
string CacheFile;
MMap ⤅
- unsigned long sHash(string S) const;
+ unsigned long sHash(const string &S) const;
unsigned long sHash(const char *S) const;
public:
Header *HeaderP;
Package *PkgP;
VerFile *VerFileP;
- DescFile *DescFileP;
PackageFile *PkgFileP;
Version *VerP;
- Description *DescP;
Provides *ProvideP;
Dependency *DepP;
StringItem *StringItemP;
inline void *DataEnd() {return ((unsigned char *)Map.Data()) + Map.Size();};
// String hashing function (512 range)
- inline unsigned long Hash(string S) const {return sHash(S);};
+ inline unsigned long Hash(const string &S) const {return sHash(S);};
inline unsigned long Hash(const char *S) const {return sHash(S);};
// Usefull transformation things
const char *Priority(unsigned char Priority);
// Accessors
- PkgIterator FindPkg(string Name);
+ PkgIterator FindPkg(const string &Name);
Header &Head() {return *HeaderP;};
inline PkgIterator PkgBegin();
inline PkgIterator PkgEnd();
unsigned short PackageSz;
unsigned short PackageFileSz;
unsigned short VersionSz;
- unsigned short DescriptionSz;
unsigned short DependencySz;
unsigned short ProvidesSz;
unsigned short VerFileSz;
- unsigned short DescFileSz;
// Structure counts
unsigned long PackageCount;
unsigned long VersionCount;
- unsigned long DescriptionCount;
unsigned long DependsCount;
unsigned long PackageFileCount;
unsigned long VerFileCount;
- unsigned long DescFileCount;
unsigned long ProvidesCount;
// Offsets
map_ptrloc VerSysName; // StringTable
map_ptrloc Architecture; // StringTable
unsigned long MaxVerFileSize;
- unsigned long MaxDescFileSize;
/* Allocation pools, there should be one of these for each structure
excluding the header */
- DynamicMMap::Pool Pools[8];
+ DynamicMMap::Pool Pools[7];
// Rapid package name lookup
map_ptrloc HashTable[2*1048];
map_ptrloc NextPackage; // Package
map_ptrloc RevDepends; // Dependency
map_ptrloc ProvidesList; // Provides
-
+
// Install/Remove/Purge etc
unsigned char SelectedState; // What
unsigned char InstState; // Flags
unsigned short Size;
};
-struct pkgCache::DescFile
-{
- map_ptrloc File; // PackageFile
- map_ptrloc NextFile; // PkgVerFile
- map_ptrloc Offset; // File offset
- unsigned short Size;
-};
-
struct pkgCache::Version
{
map_ptrloc VerStr; // Stringtable
// Lists
map_ptrloc FileList; // VerFile
map_ptrloc NextVer; // Version
- map_ptrloc DescriptionList; // Description
map_ptrloc DependsList; // Dependency
map_ptrloc ParentPkg; // Package
map_ptrloc ProvidesList; // Provides
unsigned char Priority;
};
-struct pkgCache::Description
-{
- // Language Code store the description translation language code. If
- // the value has a 0 lenght then this is readed using the Package
- // file else the Translation-CODE are used.
- map_ptrloc language_code; // StringTable
- map_ptrloc md5sum; // StringTable
-
- // Linked list
- map_ptrloc FileList; // DescFile
- map_ptrloc NextDesc; // Description
- map_ptrloc ParentPkg; // Package
-
- unsigned short ID;
-};
-
struct pkgCache::Dependency
{
map_ptrloc Version; // Stringtable
typedef pkgCache::PkgIterator PkgIterator;
typedef pkgCache::VerIterator VerIterator;
- typedef pkgCache::DescIterator DescIterator;
typedef pkgCache::DepIterator DepIterator;
typedef pkgCache::PrvIterator PrvIterator;
typedef pkgCache::PkgFileIterator PkgFileIterator;
typedef pkgCache::VerFileIterator VerFileIterator;
typedef pkgCache::Version Version;
- typedef pkgCache::Description Description;
typedef pkgCache::Package Package;
typedef pkgCache::Header Header;
typedef pkgCache::Dep Dep;