rpm  5.2.1
rpmal.h
Go to the documentation of this file.
1 #ifndef H_RPMAL
2 #define H_RPMAL
3 
9 #include <rpmfi.h>
10 
11 /*@-exportlocal@*/
12 /*@unchecked@*/
13 extern int _rpmal_debug;
14 /*@=exportlocal@*/
15 
19 typedef /*@abstract@*/ void * alKey;
20 #define RPMAL_NOMATCH ((alKey)-1L)
21 
25 /*@-mutrep@*/
26 typedef /*@abstract@*/ int alNum;
27 /*@=mutrep@*/
28 
31 typedef /*@abstract@*/ struct rpmal_s * rpmal;
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
42 /*@-exportlocal@*/
43 /*@only@*/
44 rpmal rpmalCreate(int delta)
45  /*@*/;
46 /*@=exportlocal@*/
47 
53 /*@null@*/
54 rpmal rpmalFree(/*@only@*/ /*@null@*/ rpmal al)
55  /*@globals fileSystem @*/
56  /*@modifies al, fileSystem @*/;
57 
63 /*@-exportlocal@*/
64 void rpmalDel(/*@null@*/ rpmal al, /*@null@*/ alKey pkgKey)
65  /*@globals fileSystem @*/
66  /*@modifies al, fileSystem @*/;
67 /*@=exportlocal@*/
68 
79 alKey rpmalAdd(rpmal * alistp,
80  /*@dependent@*/ /*@null@*/ alKey pkgKey,
81  /*@dependent@*/ /*@null@*/ fnpyKey key,
82  /*@null@*/ rpmds provides, /*@null@*/ rpmfi fi,
84  /*@globals fileSystem @*/
85  /*@modifies *alistp, provides, fi, fileSystem @*/;
86 
94 /*@-exportlocal@*/
95 void rpmalAddProvides(rpmal al,
96  /*@dependent@*/ /*@null@*/ alKey pkgKey,
97  /*@null@*/ rpmds provides, rpmuint32_t tscolor)
98  /*@modifies al, provides @*/;
99 /*@=exportlocal@*/
100 
105 void rpmalMakeIndex(/*@null@*/ rpmal al)
106  /*@modifies al @*/;
107 
115 /*@-exportlocal@*/
116 /*@only@*/ /*@null@*/
117 fnpyKey * rpmalAllFileSatisfiesDepend(/*@null@*/ const rpmal al,
118  /*@null@*/ const rpmds ds, /*@null@*/ alKey * keyp)
119  /*@globals fileSystem, internalState @*/
120  /*@modifies al, *keyp, fileSystem, internalState @*/;
121 /*@=exportlocal@*/
122 
130 /*@only@*/ /*@null@*/
131 fnpyKey * rpmalAllSatisfiesDepend(const rpmal al, const rpmds ds,
132  /*@null@*/ alKey * keyp)
133  /*@globals fileSystem, internalState @*/
134  /*@modifies al, *keyp, fileSystem, internalState @*/;
135 
144 /*@null@*/
145 fnpyKey rpmalSatisfiesDepend(const rpmal al, const rpmds ds,
146  /*@null@*/ alKey * keyp)
147  /*@globals fileSystem, internalState @*/
148  /*@modifies al, *keyp, fileSystem, internalState @*/;
149 
150 #ifdef __cplusplus
151 }
152 #endif
153 
154 #endif /* H_RPMAL */