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
|
#ifndef _RPMDS_INTERNAL_H
#define _RPMDS_INTERNAL_H
#include <rpm/rpmds.h>
#ifdef __cplusplus
extern "C" {
#endif
/** \ingroup rpmds
* Create and load a dependency set.
* @param pool shared string pool (or NULL for private pool)
* @param h header
* @param tagN type of dependency
* @param flags unused
* @return new dependency set
*/
RPM_GNUC_INTERNAL
rpmds rpmdsNewPool(rpmstrPool pool, Header h, rpmTagVal tagN, int flags);
/** \ingroup rpmds
* Create, load and initialize a dependency for this header.
* @param pool string pool (or NULL for private pool)
* @param h header
* @param tagN type of dependency
* @param Flags comparison flags
* @return new dependency set
*/
RPM_GNUC_INTERNAL
rpmds rpmdsThisPool(rpmstrPool pool,
Header h, rpmTagVal tagN, rpmsenseFlags Flags);
/** \ingroup rpmds
* Create, load and initialize a dependency set of size 1.
* @param pool string pool (or NULL for private pool)
* @param tagN type of dependency
* @param N name
* @param EVR epoch:version-release
* @param Flags comparison flags
* @return new dependency set
*/
RPM_GNUC_INTERNAL
rpmds rpmdsSinglePool(rpmstrPool pool, rpmTagVal tagN,
const char * N, const char * EVR, rpmsenseFlags Flags);
/**
* Load rpmlib provides into a dependency set.
* @param pool shared string pool (or NULL for private pool)
* @retval *dsp (loaded) depedency set
* @param tblp rpmlib provides table (NULL uses internal table)
* @return 0 on success
*/
RPM_GNUC_INTERNAL
int rpmdsRpmlibPool(rpmstrPool pool, rpmds * dsp, const void * tblp);
/** \ingroup rpmds
* Swiss army knife dependency matching function.
* @param pool string pool (or NULL for private pool)
* @param h header
* @param prix index to provides (or -1 or any)
* @param req dependency set
* @param selfevr only look at package EVR?
* @param nopromote dont promote epoch in comparison?
* @return 1 if dependency overlaps, 0 otherwise
*/
RPM_GNUC_INTERNAL
int rpmdsMatches(rpmstrPool pool, Header h, int prix,
rpmds req, int selfevr, int nopromote);
/** \ingroup rpmds
* Return current dependency name pool id.
* @param ds dependency set
* @return current dependency name id, 0 on invalid
*/
RPM_GNUC_INTERNAL
rpmsid rpmdsNId(rpmds ds);
/** \ingroup rpmds
* Return current dependency epoch-version-release pool id.
* @param ds dependency set
* @return current dependency EVR id, 0 on invalid
*/
RPM_GNUC_INTERNAL
rpmsid rpmdsEVRId(rpmds ds);
/** \ingroup rpmds
* Return dependency set string pool handle
* @param ds dependency set
* @return string pool handle (weak reference)
*/
RPM_GNUC_INTERNAL
rpmstrPool rpmdsPool(rpmds ds);
RPM_GNUC_INTERNAL
rpmsid rpmdsNIdIndex(rpmds ds, int i);
RPM_GNUC_INTERNAL
rpmsid rpmdsEVRIdIndex(rpmds ds, int i);
RPM_GNUC_INTERNAL
const char * rpmdsNIndex(rpmds ds, int i);
RPM_GNUC_INTERNAL
const char * rpmdsEVRIndex(rpmds ds, int i);
RPM_GNUC_INTERNAL
rpmsenseFlags rpmdsFlagsIndex(rpmds ds, int i);
RPM_GNUC_INTERNAL
rpm_color_t rpmdsColorIndex(rpmds ds, int i);
RPM_GNUC_INTERNAL
int rpmdsCompareIndex(rpmds A, int aix, rpmds B, int bix);
#ifdef __cplusplus
}
#endif
#endif /* _RPMDS_INTERNAL_H */
|