6 struct availablePackage {
8 /*@owned@*/ const char ** provides;
9 /*@owned@*/ const char ** providesEVR;
10 /*@dependent@*/ int * provideFlags;
11 /*@owned@*/ const char ** baseNames;
12 /*@dependent@*/ const char * name;
13 /*@dependent@*/ const char * version;
14 /*@dependent@*/ const char * release;
15 /*@dependent@*/ int_32 * epoch;
18 uint_32 multiLib; /* MULTILIB */
19 /*@dependent@*/ const void * key;
20 rpmRelocation * relocs;
24 enum indexEntryType { IET_NAME, IET_PROVIDES };
26 struct availableIndexEntry {
27 /*@dependent@*/ struct availablePackage * package;
28 /*@dependent@*/ const char * entry;
30 enum indexEntryType type;
33 struct fileIndexEntry {
35 int fileFlags; /* MULTILIB */
36 /*@dependent@*/ const char * baseName;
40 /*@owned@*/ char * dirName; /* xstrdup'd */
42 /*@owned@*/ struct fileIndexEntry * files; /* xmalloc'd */
46 struct availableIndex {
47 /*@null@*/ struct availableIndexEntry * index ;
51 struct availableList {
52 /*@owned@*/ /*@null@*/ struct availablePackage * list;
53 struct availableIndex index;
57 /*@owned@*/ struct dirInfo * dirs; /* xmalloc'd */
60 struct transactionElement {
61 enum rpmTransactionType { TR_ADDED, TR_REMOVED } type;
71 struct rpmTransactionSet_s {
72 /*@owned@*/ /*@null@*/ rpmdb rpmdb; /* may be NULL */
73 /*@only@*/ int * removedPackages;
74 int numRemovedPackages;
75 int allocedRemovedPackages;
76 struct availableList addedPackages;
77 struct availableList availablePackages;
78 /*@only@*/ struct transactionElement * order;
81 /*@only@*/ const char * rootDir;
82 /*@only@*/ const char * currDir;
83 /*@null@*/ FD_t scriptFd;
87 struct rpmDependencyConflict * problems;
96 /* XXX lib/uninstall.c */
97 int headerMatchesDepFlags(Header h, const char *reqName, const char * reqInfo, int reqFlags);
103 #endif /* H_DEPENDS */