1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>LCOV - lcov.info - /usr/include/apt-pkg/pkgcache.h</title>
<link rel="stylesheet" type="text/css" href="../../../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
<tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td class="headerItem" width="20%">Current view:</td>
<td class="headerValue" width="80%" colspan=4><a href="../../../index.html">directory</a> - <a href="index.html">usr/include/apt-pkg</a> - pkgcache.h</td>
</tr>
<tr>
<td class="headerItem" width="20%">Test:</td>
<td class="headerValue" width="80%" colspan=4>lcov.info</td>
</tr>
<tr>
<td class="headerItem" width="20%">Date:</td>
<td class="headerValue" width="20%">2008-08-14</td>
<td width="20%"></td>
<td class="headerItem" width="20%">Instrumented lines:</td>
<td class="headerValue" width="20%">2</td>
</tr>
<tr>
<td class="headerItem" width="20%">Code covered:</td>
<td class="headerValue" width="20%">100.0 %</td>
<td width="20%"></td>
<td class="headerItem" width="20%">Executed lines:</td>
<td class="headerValue" width="20%">2</td>
</tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td><pre class="source">
<span class="lineNum"> 1 </span> : // -*- mode: cpp; mode: fold -*-
<span class="lineNum"> 2 </span> : // Description /*{{{*/
<span class="lineNum"> 3 </span> : // $Id: pkgcache.h,v 1.25 2001/07/01 22:28:24 jgg Exp $
<span class="lineNum"> 4 </span> : /* ######################################################################
<span class="lineNum"> 5 </span> :
<span class="lineNum"> 6 </span> : Cache - Structure definitions for the cache file
<span class="lineNum"> 7 </span> :
<span class="lineNum"> 8 </span> : Please see doc/apt-pkg/cache.sgml for a more detailed description of
<span class="lineNum"> 9 </span> : this format. Also be sure to keep that file up-to-date!!
<span class="lineNum"> 10 </span> :
<span class="lineNum"> 11 </span> : Clients should always use the CacheIterators classes for access to the
<span class="lineNum"> 12 </span> : cache. They provide a simple STL-like method for traversing the links
<span class="lineNum"> 13 </span> : of the datastructure.
<span class="lineNum"> 14 </span> :
<span class="lineNum"> 15 </span> : See pkgcachegen.h for information about generating cache structures.
<span class="lineNum"> 16 </span> :
<span class="lineNum"> 17 </span> : ##################################################################### */
<span class="lineNum"> 18 </span> : /*}}}*/
<span class="lineNum"> 19 </span> : #ifndef PKGLIB_PKGCACHE_H
<span class="lineNum"> 20 </span> : #define PKGLIB_PKGCACHE_H
<span class="lineNum"> 21 </span> :
<span class="lineNum"> 22 </span> :
<span class="lineNum"> 23 </span> : #include <string>
<span class="lineNum"> 24 </span> : #include <time.h>
<span class="lineNum"> 25 </span> : #include <apt-pkg/mmap.h>
<span class="lineNum"> 26 </span> :
<span class="lineNum"> 27 </span> : using std::string;
<span class="lineNum"> 28 </span> :
<span class="lineNum"> 29 </span> : class pkgVersioningSystem;
<span class="lineNum"> 30 </span> : class pkgCache
<span class="lineNum"> 31 </span> : {
<span class="lineNum"> 32 </span> : public:
<span class="lineNum"> 33 </span> : // Cache element predeclarations
<span class="lineNum"> 34 </span> : struct Header;
<span class="lineNum"> 35 </span> : struct Package;
<span class="lineNum"> 36 </span> : struct PackageFile;
<span class="lineNum"> 37 </span> : struct Version;
<span class="lineNum"> 38 </span> : struct Description;
<span class="lineNum"> 39 </span> : struct Provides;
<span class="lineNum"> 40 </span> : struct Dependency;
<span class="lineNum"> 41 </span> : struct StringItem;
<span class="lineNum"> 42 </span> : struct VerFile;
<span class="lineNum"> 43 </span> : struct DescFile;
<span class="lineNum"> 44 </span> :
<span class="lineNum"> 45 </span> : // Iterators
<span class="lineNum"> 46 </span> : class PkgIterator;
<span class="lineNum"> 47 </span> : class VerIterator;
<span class="lineNum"> 48 </span> : class DescIterator;
<span class="lineNum"> 49 </span> : class DepIterator;
<span class="lineNum"> 50 </span> : class PrvIterator;
<span class="lineNum"> 51 </span> : class PkgFileIterator;
<span class="lineNum"> 52 </span> : class VerFileIterator;
<span class="lineNum"> 53 </span> : class DescFileIterator;
<span class="lineNum"> 54 </span> : friend class PkgIterator;
<span class="lineNum"> 55 </span> : friend class VerIterator;
<span class="lineNum"> 56 </span> : friend class DescInterator;
<span class="lineNum"> 57 </span> : friend class DepIterator;
<span class="lineNum"> 58 </span> : friend class PrvIterator;
<span class="lineNum"> 59 </span> : friend class PkgFileIterator;
<span class="lineNum"> 60 </span> : friend class VerFileIterator;
<span class="lineNum"> 61 </span> : friend class DescFileIterator;
<span class="lineNum"> 62 </span> :
<span class="lineNum"> 63 </span> : class Namespace;
<span class="lineNum"> 64 </span> :
<span class="lineNum"> 65 </span> : // These are all the constants used in the cache structures
<span class="lineNum"> 66 </span> :
<span class="lineNum"> 67 </span> : // WARNING - if you change these lists you must also edit
<span class="lineNum"> 68 </span> : // the stringification in pkgcache.cc and also consider whether
<span class="lineNum"> 69 </span> : // the cache file will become incompatible.
<span class="lineNum"> 70 </span> : struct Dep
<span class="lineNum"> 71 </span> : {
<span class="lineNum"> 72 </span> : enum DepType {Depends=1,PreDepends=2,Suggests=3,Recommends=4,
<span class="lineNum"> 73 </span> : Conflicts=5,Replaces=6,Obsoletes=7,DpkgBreaks=8};
<span class="lineNum"> 74 </span> : enum DepCompareOp {Or=0x10,NoOp=0,LessEq=0x1,GreaterEq=0x2,Less=0x3,
<span class="lineNum"> 75 </span> : Greater=0x4,Equals=0x5,NotEquals=0x6};
<span class="lineNum"> 76 </span> : };
<span class="lineNum"> 77 </span> :
<span class="lineNum"> 78 </span> : struct State
<span class="lineNum"> 79 </span> : {
<span class="lineNum"> 80 </span> : enum VerPriority {Important=1,Required=2,Standard=3,Optional=4,Extra=5};
<span class="lineNum"> 81 </span> : enum PkgSelectedState {Unknown=0,Install=1,Hold=2,DeInstall=3,Purge=4};
<span class="lineNum"> 82 </span> : enum PkgInstState {Ok=0,ReInstReq=1,HoldInst=2,HoldReInstReq=3};
<span class="lineNum"> 83 </span> : enum PkgCurrentState {NotInstalled=0,UnPacked=1,HalfConfigured=2,
<span class="lineNum"> 84 </span> : HalfInstalled=4,ConfigFiles=5,Installed=6,
<span class="lineNum"> 85 </span> : TriggersAwaited=7,TriggersPending=8};
<span class="lineNum"> 86 </span> : };
<span class="lineNum"> 87 </span> :
<span class="lineNum"> 88 </span> : struct Flag
<span class="lineNum"> 89 </span> : {
<span class="lineNum"> 90 </span> : enum PkgFlags {Auto=(1<<0),Essential=(1<<3),Important=(1<<4)};
<span class="lineNum"> 91 </span> : enum PkgFFlags {NotSource=(1<<0),NotAutomatic=(1<<1)};
<span class="lineNum"> 92 </span> : };
<span class="lineNum"> 93 </span> :
<span class="lineNum"> 94 </span> : protected:
<span class="lineNum"> 95 </span> :
<span class="lineNum"> 96 </span> : // Memory mapped cache file
<span class="lineNum"> 97 </span> : string CacheFile;
<span class="lineNum"> 98 </span> : MMap &Map;
<span class="lineNum"> 99 </span> :
<span class="lineNum"> 100 </span> : unsigned long sHash(const string &S) const;
<span class="lineNum"> 101 </span> : unsigned long sHash(const char *S) const;
<span class="lineNum"> 102 </span> :
<span class="lineNum"> 103 </span> : public:
<span class="lineNum"> 104 </span> :
<span class="lineNum"> 105 </span> : // Pointers to the arrays of items
<span class="lineNum"> 106 </span> : Header *HeaderP;
<span class="lineNum"> 107 </span> : Package *PkgP;
<span class="lineNum"> 108 </span> : VerFile *VerFileP;
<span class="lineNum"> 109 </span> : DescFile *DescFileP;
<span class="lineNum"> 110 </span> : PackageFile *PkgFileP;
<span class="lineNum"> 111 </span> : Version *VerP;
<span class="lineNum"> 112 </span> : Description *DescP;
<span class="lineNum"> 113 </span> : Provides *ProvideP;
<span class="lineNum"> 114 </span> : Dependency *DepP;
<span class="lineNum"> 115 </span> : StringItem *StringItemP;
<span class="lineNum"> 116 </span> : char *StrP;
<span class="lineNum"> 117 </span> :
<span class="lineNum"> 118 </span> : virtual bool ReMap();
<span class="lineNum"> 119 </span> : inline bool Sync() {return Map.Sync();};
<span class="lineNum"> 120 </span> : inline MMap &GetMap() {return Map;};
<span class="lineNum"> 121 </span> : inline void *DataEnd() {return ((unsigned char *)Map.Data()) + Map.Size();};
<span class="lineNum"> 122 </span> :
<span class="lineNum"> 123 </span> : // String hashing function (512 range)
<span class="lineNum"> 124 </span> : inline unsigned long Hash(const string &S) const {return sHash(S);};
<span class="lineNum"> 125 </span> : inline unsigned long Hash(const char *S) const {return sHash(S);};
<span class="lineNum"> 126 </span> :
<span class="lineNum"> 127 </span> : // Usefull transformation things
<span class="lineNum"> 128 </span> : const char *Priority(unsigned char Priority);
<span class="lineNum"> 129 </span> :
<span class="lineNum"> 130 </span> : // Accessors
<span class="lineNum"> 131 </span> : PkgIterator FindPkg(const string &Name);
<span class="lineNum"> 132 </span> : Header &Head() {return *HeaderP;};
<span class="lineNum"> 133 </span> : inline PkgIterator PkgBegin();
<span class="lineNum"> 134 </span> : inline PkgIterator PkgEnd();
<span class="lineNum"> 135 </span> : inline PkgFileIterator FileBegin();
<span class="lineNum"> 136 </span> : inline PkgFileIterator FileEnd();
<span class="lineNum"> 137 </span> :
<span class="lineNum"> 138 </span> : // Make me a function
<span class="lineNum"> 139 </span> : pkgVersioningSystem *VS;
<span class="lineNum"> 140 </span> :
<span class="lineNum"> 141 </span> : // Converters
<span class="lineNum"> 142 </span> : static const char *CompTypeDeb(unsigned char Comp);
<span class="lineNum"> 143 </span> : static const char *CompType(unsigned char Comp);
<span class="lineNum"> 144 </span> : static const char *DepType(unsigned char Dep);
<span class="lineNum"> 145 </span> :
<span class="lineNum"> 146 </span> : pkgCache(MMap *Map,bool DoMap = true);
<span class="lineNum"> 147 </span> : virtual ~pkgCache() {};
<span class="lineNum"> 148 </span> : };
<span class="lineNum"> 149 </span> :
<span class="lineNum"> 150 </span> : // Header structure
<span class="lineNum"> 151 </span> : struct pkgCache::Header
<span class="lineNum"> 152 </span> : {
<span class="lineNum"> 153 </span> : // Signature information
<span class="lineNum"> 154 </span> : unsigned long Signature;
<span class="lineNum"> 155 </span> : short MajorVersion;
<span class="lineNum"> 156 </span> : short MinorVersion;
<span class="lineNum"> 157 </span> : bool Dirty;
<span class="lineNum"> 158 </span> :
<span class="lineNum"> 159 </span> : // Size of structure values
<span class="lineNum"> 160 </span> : unsigned short HeaderSz;
<span class="lineNum"> 161 </span> : unsigned short PackageSz;
<span class="lineNum"> 162 </span> : unsigned short PackageFileSz;
<span class="lineNum"> 163 </span> : unsigned short VersionSz;
<span class="lineNum"> 164 </span> : unsigned short DescriptionSz;
<span class="lineNum"> 165 </span> : unsigned short DependencySz;
<span class="lineNum"> 166 </span> : unsigned short ProvidesSz;
<span class="lineNum"> 167 </span> : unsigned short VerFileSz;
<span class="lineNum"> 168 </span> : unsigned short DescFileSz;
<span class="lineNum"> 169 </span> :
<span class="lineNum"> 170 </span> : // Structure counts
<span class="lineNum"> 171 </span> : unsigned long PackageCount;
<span class="lineNum"> 172 </span> : unsigned long VersionCount;
<span class="lineNum"> 173 </span> : unsigned long DescriptionCount;
<span class="lineNum"> 174 </span> : unsigned long DependsCount;
<span class="lineNum"> 175 </span> : unsigned long PackageFileCount;
<span class="lineNum"> 176 </span> : unsigned long VerFileCount;
<span class="lineNum"> 177 </span> : unsigned long DescFileCount;
<span class="lineNum"> 178 </span> : unsigned long ProvidesCount;
<span class="lineNum"> 179 </span> :
<span class="lineNum"> 180 </span> : // Offsets
<span class="lineNum"> 181 </span> : map_ptrloc FileList; // struct PackageFile
<span class="lineNum"> 182 </span> : map_ptrloc StringList; // struct StringItem
<span class="lineNum"> 183 </span> : map_ptrloc VerSysName; // StringTable
<span class="lineNum"> 184 </span> : map_ptrloc Architecture; // StringTable
<span class="lineNum"> 185 </span> : unsigned long MaxVerFileSize;
<span class="lineNum"> 186 </span> : unsigned long MaxDescFileSize;
<span class="lineNum"> 187 </span> :
<span class="lineNum"> 188 </span> : /* Allocation pools, there should be one of these for each structure
<span class="lineNum"> 189 </span> : excluding the header */
<span class="lineNum"> 190 </span> : DynamicMMap::Pool Pools[8];
<span class="lineNum"> 191 </span> :
<span class="lineNum"> 192 </span> : // Rapid package name lookup
<span class="lineNum"> 193 </span> : map_ptrloc HashTable[2*1048];
<span class="lineNum"> 194 </span> :
<span class="lineNum"> 195 </span> : bool CheckSizes(Header &Against) const;
<span class="lineNum"> 196 </span> : Header();
<span class="lineNum"> 197 </span> : };
<span class="lineNum"> 198 </span> :
<span class="lineNum"> 199 </span> : struct pkgCache::Package
<span class="lineNum"> 200 </span> : {
<span class="lineNum"> 201 </span> : // Pointers
<span class="lineNum"> 202 </span> : map_ptrloc Name; // Stringtable
<span class="lineNum"> 203 </span> : map_ptrloc VersionList; // Version
<span class="lineNum"> 204 </span> : map_ptrloc CurrentVer; // Version
<span class="lineNum"> 205 </span> : map_ptrloc Section; // StringTable (StringItem)
<span class="lineNum"> 206 </span> :
<span class="lineNum"> 207 </span> : // Linked list
<span class="lineNum"> 208 </span> : map_ptrloc NextPackage; // Package
<span class="lineNum"> 209 </span> : map_ptrloc RevDepends; // Dependency
<span class="lineNum"> 210 </span> : map_ptrloc ProvidesList; // Provides
<span class="lineNum"> 211 </span> :
<span class="lineNum"> 212 </span> : // Install/Remove/Purge etc
<span class="lineNum"> 213 </span> : unsigned char SelectedState; // What
<span class="lineNum"> 214 </span> : unsigned char InstState; // Flags
<span class="lineNum"> 215 </span> : unsigned char CurrentState; // State
<span class="lineNum"> 216 </span> :
<span class="lineNum"> 217 </span> : unsigned short ID;
<span class="lineNum"> 218 </span> : unsigned long Flags;
<span class="lineNum"> 219 </span> : };
<span class="lineNum"> 220 </span> :
<span class="lineNum"> 221 </span> : struct pkgCache::PackageFile
<span class="lineNum"> 222 </span> : {
<span class="lineNum"> 223 </span> : // Names
<span class="lineNum"> 224 </span> : map_ptrloc FileName; // Stringtable
<span class="lineNum"> 225 </span> : map_ptrloc Archive; // Stringtable
<span class="lineNum"> 226 </span> : map_ptrloc Component; // Stringtable
<span class="lineNum"> 227 </span> : map_ptrloc Version; // Stringtable
<span class="lineNum"> 228 </span> : map_ptrloc Origin; // Stringtable
<span class="lineNum"> 229 </span> : map_ptrloc Label; // Stringtable
<span class="lineNum"> 230 </span> : map_ptrloc Architecture; // Stringtable
<span class="lineNum"> 231 </span> : map_ptrloc Site; // Stringtable
<span class="lineNum"> 232 </span> : map_ptrloc IndexType; // Stringtable
<span class="lineNum"> 233 </span> : unsigned long Size;
<span class="lineNum"> 234 </span> : unsigned long Flags;
<span class="lineNum"> 235 </span> :
<span class="lineNum"> 236 </span> : // Linked list
<span class="lineNum"> 237 </span> : map_ptrloc NextFile; // PackageFile
<span class="lineNum"> 238 </span> : unsigned short ID;
<span class="lineNum"> 239 </span> : time_t mtime; // Modification time for the file
<span class="lineNum"> 240 </span> : };
<span class="lineNum"> 241 </span> :
<span class="lineNum"> 242 </span> : struct pkgCache::VerFile
<span class="lineNum"> 243 </span> : {
<span class="lineNum"> 244 </span> : map_ptrloc File; // PackageFile
<span class="lineNum"> 245 </span> : map_ptrloc NextFile; // PkgVerFile
<span class="lineNum"> 246 </span> : map_ptrloc Offset; // File offset
<span class="lineNum"> 247 </span> : unsigned short Size;
<span class="lineNum"> 248 </span> : };
<span class="lineNum"> 249 </span> :
<span class="lineNum"> 250 </span> : struct pkgCache::DescFile
<span class="lineNum"> 251 </span> : {
<span class="lineNum"> 252 </span> : map_ptrloc File; // PackageFile
<span class="lineNum"> 253 </span> : map_ptrloc NextFile; // PkgVerFile
<span class="lineNum"> 254 </span> : map_ptrloc Offset; // File offset
<span class="lineNum"> 255 </span> : unsigned short Size;
<span class="lineNum"> 256 </span> : };
<span class="lineNum"> 257 </span> :
<span class="lineNum"> 258 </span> : struct pkgCache::Version
<span class="lineNum"> 259 </span> : {
<span class="lineNum"> 260 </span> : map_ptrloc VerStr; // Stringtable
<span class="lineNum"> 261 </span> : map_ptrloc Section; // StringTable (StringItem)
<span class="lineNum"> 262 </span> : map_ptrloc Arch; // StringTable
<span class="lineNum"> 263 </span> :
<span class="lineNum"> 264 </span> : // Lists
<span class="lineNum"> 265 </span> : map_ptrloc FileList; // VerFile
<span class="lineNum"> 266 </span> : map_ptrloc NextVer; // Version
<span class="lineNum"> 267 </span> : map_ptrloc DescriptionList; // Description
<span class="lineNum"> 268 </span> : map_ptrloc DependsList; // Dependency
<span class="lineNum"> 269 </span> : map_ptrloc ParentPkg; // Package
<span class="lineNum"> 270 </span> : map_ptrloc ProvidesList; // Provides
<span class="lineNum"> 271 </span> :
<span class="lineNum"> 272 </span> : map_ptrloc Size; // These are the .deb size
<span class="lineNum"> 273 </span> : map_ptrloc InstalledSize;
<span class="lineNum"> 274 </span> : unsigned short Hash;
<span class="lineNum"> 275 </span> : unsigned short ID;
<span class="lineNum"> 276 </span> : unsigned char Priority;
<span class="lineNum"> 277 </span> : };
<span class="lineNum"> 278 </span> :
<span class="lineNum"> 279 </span> : struct pkgCache::Description
<span class="lineNum"> 280 </span> : {
<span class="lineNum"> 281 </span> : // Language Code store the description translation language code. If
<span class="lineNum"> 282 </span> : // the value has a 0 lenght then this is readed using the Package
<span class="lineNum"> 283 </span> : // file else the Translation-CODE are used.
<span class="lineNum"> 284 </span> : map_ptrloc language_code; // StringTable
<span class="lineNum"> 285 </span> : map_ptrloc md5sum; // StringTable
<span class="lineNum"> 286 </span> :
<span class="lineNum"> 287 </span> : // Linked list
<span class="lineNum"> 288 </span> : map_ptrloc FileList; // DescFile
<span class="lineNum"> 289 </span> : map_ptrloc NextDesc; // Description
<span class="lineNum"> 290 </span> : map_ptrloc ParentPkg; // Package
<span class="lineNum"> 291 </span> :
<span class="lineNum"> 292 </span> : unsigned short ID;
<span class="lineNum"> 293 </span> : };
<span class="lineNum"> 294 </span> :
<span class="lineNum"> 295 </span> : struct pkgCache::Dependency
<span class="lineNum"> 296 </span> : {
<span class="lineNum"> 297 </span> : map_ptrloc Version; // Stringtable
<span class="lineNum"> 298 </span> : map_ptrloc Package; // Package
<span class="lineNum"> 299 </span> : map_ptrloc NextDepends; // Dependency
<span class="lineNum"> 300 </span> : map_ptrloc NextRevDepends; // Dependency
<span class="lineNum"> 301 </span> : map_ptrloc ParentVer; // Version
<span class="lineNum"> 302 </span> :
<span class="lineNum"> 303 </span> : // Specific types of depends
<span class="lineNum"> 304 </span> : map_ptrloc ID;
<span class="lineNum"> 305 </span> : unsigned char Type;
<span class="lineNum"> 306 </span> : unsigned char CompareOp;
<span class="lineNum"> 307 </span> : };
<span class="lineNum"> 308 </span> :
<span class="lineNum"> 309 </span> : struct pkgCache::Provides
<span class="lineNum"> 310 </span> : {
<span class="lineNum"> 311 </span> : map_ptrloc ParentPkg; // Pacakge
<span class="lineNum"> 312 </span> : map_ptrloc Version; // Version
<span class="lineNum"> 313 </span> : map_ptrloc ProvideVersion; // Stringtable
<span class="lineNum"> 314 </span> : map_ptrloc NextProvides; // Provides
<span class="lineNum"> 315 </span> : map_ptrloc NextPkgProv; // Provides
<span class="lineNum"> 316 </span> : };
<span class="lineNum"> 317 </span> :
<span class="lineNum"> 318 </span> : struct pkgCache::StringItem
<span class="lineNum"> 319 </span> : {
<span class="lineNum"> 320 </span> : map_ptrloc String; // Stringtable
<span class="lineNum"> 321 </span> : map_ptrloc NextItem; // StringItem
<span class="lineNum"> 322 </span> : };
<span class="lineNum"> 323 </span> :
<span class="lineNum"> 324 </span> : #include <apt-pkg/cacheiterators.h>
<span class="lineNum"> 325 </span> :
<span class="lineNum"> 326 </span><span class="lineCov"> 19 : inline pkgCache::PkgIterator pkgCache::PkgBegin() </span>
<span class="lineNum"> 327 </span><span class="lineCov"> 19 : {return PkgIterator(*this);};</span>
<span class="lineNum"> 328 </span> : inline pkgCache::PkgIterator pkgCache::PkgEnd()
<span class="lineNum"> 329 </span> : {return PkgIterator(*this,PkgP);};
<span class="lineNum"> 330 </span> : inline pkgCache::PkgFileIterator pkgCache::FileBegin()
<span class="lineNum"> 331 </span> : {return PkgFileIterator(*this,PkgFileP + HeaderP->FileList);};
<span class="lineNum"> 332 </span> : inline pkgCache::PkgFileIterator pkgCache::FileEnd()
<span class="lineNum"> 333 </span> : {return PkgFileIterator(*this,PkgFileP);};
<span class="lineNum"> 334 </span> :
<span class="lineNum"> 335 </span> : // Oh I wish for Real Name Space Support
<span class="lineNum"> 336 </span> : class pkgCache::Namespace
<span class="lineNum"> 337 </span> : {
<span class="lineNum"> 338 </span> : public:
<span class="lineNum"> 339 </span> :
<span class="lineNum"> 340 </span> : typedef pkgCache::PkgIterator PkgIterator;
<span class="lineNum"> 341 </span> : typedef pkgCache::VerIterator VerIterator;
<span class="lineNum"> 342 </span> : typedef pkgCache::DescIterator DescIterator;
<span class="lineNum"> 343 </span> : typedef pkgCache::DepIterator DepIterator;
<span class="lineNum"> 344 </span> : typedef pkgCache::PrvIterator PrvIterator;
<span class="lineNum"> 345 </span> : typedef pkgCache::PkgFileIterator PkgFileIterator;
<span class="lineNum"> 346 </span> : typedef pkgCache::VerFileIterator VerFileIterator;
<span class="lineNum"> 347 </span> : typedef pkgCache::Version Version;
<span class="lineNum"> 348 </span> : typedef pkgCache::Description Description;
<span class="lineNum"> 349 </span> : typedef pkgCache::Package Package;
<span class="lineNum"> 350 </span> : typedef pkgCache::Header Header;
<span class="lineNum"> 351 </span> : typedef pkgCache::Dep Dep;
<span class="lineNum"> 352 </span> : typedef pkgCache::Flag Flag;
<span class="lineNum"> 353 </span> : };
<span class="lineNum"> 354 </span> :
<span class="lineNum"> 355 </span> : #endif
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
</table>
<br>
</body>
</html>
|