- __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 stores the MultiArch capabilities of this version
+
+ None is the default and doesn't trigger special behaviour,
+ Foreign means that this version can fulfill dependencies even
+ if it is built for another architecture as the requester.
+ Same indicates that builds for different architectures can
+ be co-installed on the system and All is the marker for a
+ version with the Architecture: all. */
+ enum {None, All, Foreign, Same, Allowed} 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 */