Doxygen annotations for config files.
[tools/librpm-tizen.git] / lib / oldrpmdb.h
1 #ifndef _H_OLDRPMDB
2 #define _H_OLDRPMDB
3
4 /**
5  * \file lib/oldrpmdb.h
6  *
7  */
8
9 #include <gdbm.h>
10
11 #include <oldheader.h>
12
13 typedef enum
14   {
15     RPMDB_NONE, RPMDB_GDBM_ERROR, RPMDB_NO_MEMORY
16   }
17 rpm_error;
18
19 struct oldrpmdb
20   {
21     GDBM_FILE packages;
22     GDBM_FILE nameIndex;
23     GDBM_FILE pathIndex;
24     GDBM_FILE groupIndex;
25     GDBM_FILE iconIndex;
26     GDBM_FILE postIndex;
27     rpm_error rpmdbError;
28     gdbm_error gdbmError;
29   };
30
31 enum oldrpmdbFreeType
32   {
33     RPMDB_NOFREE, RPMDB_FREENAME, RPMDB_FREEALL
34   };
35
36 struct oldrpmdbLabel
37   {
38     char *name, *version, *release;
39     enum oldrpmdbFreeType freeType;
40     struct oldrpmdbLabel *next;
41     int fileNumber;             /* -1 means invalid */
42   };
43
44 struct oldrpmdbPackageInfo
45   {
46     char *name, *version, *release;
47     char *labelstr;
48     unsigned int installTime, buildTime;
49     unsigned int size;
50     char *description;
51     char *distribution;
52     char *vendor;
53     char *buildHost;
54     char *preamble;
55     char *copyright;
56     unsigned int fileCount;
57     struct oldrpmFileInfo *files;
58   };
59
60 #define RPMDB_READER 1
61
62 #ifdef __cplusplus
63 extern "C" {
64 #endif
65
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);
72
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,
80                              int *size);
81 int oldrpmdbGetPackageInfo (struct oldrpmdb *oldrpmdb, struct oldrpmdbLabel label,
82                             struct oldrpmdbPackageInfo *pinfo);
83 void oldrpmdbFreePackageInfo (struct oldrpmdbPackageInfo package);
84
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);
90
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);
94
95 void oldrpmdbSetPrefix (char *new);
96
97 #ifdef __cplusplus
98 }
99 #endif
100
101 #endif  /* _H_OLDRPMDB */