11 #include <oldheader.h>
15 RPMDB_NONE, RPMDB_GDBM_ERROR, RPMDB_NO_MEMORY
33 RPMDB_NOFREE, RPMDB_FREENAME, RPMDB_FREEALL
38 char *name, *version, *release;
39 enum oldrpmdbFreeType freeType;
40 struct oldrpmdbLabel *next;
41 int fileNumber; /* -1 means invalid */
44 struct oldrpmdbPackageInfo
46 char *name, *version, *release;
48 unsigned int installTime, buildTime;
56 unsigned int fileCount;
57 struct oldrpmFileInfo *files;
60 #define RPMDB_READER 1
66 int oldrpmdbOpen (struct oldrpmdb *oldrpmdb);
67 void oldrpmdbClose (struct oldrpmdb *oldrpmdb);
68 struct oldrpmdbLabel *oldrpmdbGetAllLabels (struct oldrpmdb *oldrpmdb);
69 struct oldrpmdbLabel *oldrpmdbFindPackagesByFile (struct oldrpmdb *oldrpmdb, char *path);
70 struct oldrpmdbLabel *oldrpmdbFindPackagesByLabel (struct oldrpmdb *oldrpmdb,
71 struct oldrpmdbLabel label);
73 char *oldrpmdbGetPackageGroup (struct oldrpmdb *oldrpmdb,
74 struct oldrpmdbLabel label);
75 char *oldrpmdbGetPackagePostun (struct oldrpmdb *oldrpmdb,
76 struct oldrpmdbLabel label);
77 char *oldrpmdbGetPackagePreun (struct oldrpmdb *oldrpmdb,
78 struct oldrpmdbLabel label);
79 char *oldrpmdbGetPackageGif (struct oldrpmdb *oldrpmdb, struct oldrpmdbLabel label,
81 int oldrpmdbGetPackageInfo (struct oldrpmdb *oldrpmdb, struct oldrpmdbLabel label,
82 struct oldrpmdbPackageInfo *pinfo);
83 void oldrpmdbFreePackageInfo (struct oldrpmdbPackageInfo package);
85 struct oldrpmdbLabel oldrpmdbMakeLabel (char *name, char *version, char *release,
86 int fileNumber, enum oldrpmdbFreeType freeType);
87 void oldrpmdbFreeLabelList (struct oldrpmdbLabel *list);
88 void oldrpmdbFreeLabel (struct oldrpmdbLabel label);
89 int oldrpmdbWasError (struct oldrpmdb *oldrpmdb);
91 int oldrpmdbLabelstrToLabel (char *str, int length, struct oldrpmdbLabel *label);
92 char *oldrpmdbLabelToLabelstr (struct oldrpmdbLabel label, int withFileNum);
93 int oldrpmdbLabelCmp (struct oldrpmdbLabel *one, struct oldrpmdbLabel *two);
95 void oldrpmdbSetPrefix (char *new);
101 #endif /* _H_OLDRPMDB */