- __apt_ptrloc VerStr; // Stringtable
- __apt_ptrloc Section; // StringTable (StringItem)
- __apt_ptrloc Arch; // StringTable
-
- // Lists
- __apt_ptrloc FileList; // VerFile
- __apt_ptrloc NextVer; // Version
- __apt_ptrloc DependsList; // Dependency
- __apt_ptrloc ParentPkg; // Package
- __apt_ptrloc ProvidesList; // Provides
-
- __apt_ptrloc Size; // These are the .deb size
- __apt_ptrloc InstalledSize;
- unsigned short ID;
+ /** \brief complete version string */
+ map_ptrloc VerStr; // StringItem
+ /** \brief section this version is filled in */
+ map_ptrloc Section; // StringItem
+
+ /** \brief Multi-Arch capabilities of a package version */
+ enum VerMultiArch { None = 0, /*!< is the default and doesn't trigger special behaviour */
+ All = (1<<0), /*!< will cause that Ver.Arch() will report "all" */
+ Foreign = (1<<1), /*!< can satisfy dependencies in another architecture */
+ Same = (1<<2), /*!< can be co-installed with itself from other architectures */
+ Allowed = (1<<3), /*!< other packages are allowed to depend on thispkg:any */
+ AllForeign = All | Foreign,
+ AllAllowed = All | Allowed };
+ /** \brief stores the MultiArch capabilities of this version
+
+ Flags used are defined in pkgCache::Version::VerMultiArch
+ */
+ unsigned char MultiArch;
+
+ /** \brief references all the PackageFile's that this version came from
+
+ FileList can be used to determine what distribution(s) the Version
+ applies to. If FileList is 0 then this is a blank version.
+ The structure should also have a 0 in all other fields excluding
+ pkgCache::Version::VerStr and Possibly pkgCache::Version::NextVer. */
+ map_ptrloc FileList; // VerFile
+ /** \brief next (lower or equal) version in the linked list */
+ map_ptrloc NextVer; // Version
+ /** \brief next description in the linked list */
+ map_ptrloc DescriptionList; // Description
+ /** \brief base of the dependency list */
+ map_ptrloc DependsList; // Dependency
+ /** \brief links to the owning package
+
+ This allows reverse dependencies to determine the package */
+ map_ptrloc ParentPkg; // Package
+ /** \brief list of pkgCache::Provides */
+ map_ptrloc ProvidesList; // Provides
+
+ /** \brief archive size for this version
+
+ For Debian this is the size of the .deb file. */
+ unsigned long long Size; // These are the .deb size
+ /** \brief uncompressed size for this version */
+ unsigned long long InstalledSize;
+ /** \brief characteristic value representing this version
+
+ No two packages in existence should have the same VerStr
+ and Hash with different contents. */
+ unsigned short Hash;
+ /** \brief unique sequel ID */
+ unsigned int ID;
+ /** \brief parsed priority value */