rpm 5.2.1

lib/rpmal.h

Go to the documentation of this file.
00001 #ifndef H_RPMAL
00002 #define H_RPMAL
00003 
00009 #include <rpmfi.h>
00010 
00011 /*@-exportlocal@*/
00012 /*@unchecked@*/
00013 extern int _rpmal_debug;
00014 /*@=exportlocal@*/
00015 
00019 typedef /*@abstract@*/ void * alKey;
00020 #define RPMAL_NOMATCH   ((alKey)-1L)
00021 
00025 /*@-mutrep@*/
00026 typedef /*@abstract@*/ int alNum;
00027 /*@=mutrep@*/
00028 
00031 typedef /*@abstract@*/ struct rpmal_s *         rpmal;
00032 
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036 
00042 /*@-exportlocal@*/
00043 /*@only@*/
00044 rpmal rpmalCreate(int delta)
00045         /*@*/;
00046 /*@=exportlocal@*/
00047 
00053 /*@null@*/
00054 rpmal rpmalFree(/*@only@*/ /*@null@*/ rpmal al)
00055         /*@globals fileSystem @*/
00056         /*@modifies al, fileSystem @*/;
00057 
00063 /*@-exportlocal@*/
00064 void rpmalDel(/*@null@*/ rpmal al, /*@null@*/ alKey pkgKey)
00065         /*@globals fileSystem @*/
00066         /*@modifies al, fileSystem @*/;
00067 /*@=exportlocal@*/
00068 
00079 alKey rpmalAdd(rpmal * alistp,
00080                 /*@dependent@*/ /*@null@*/ alKey pkgKey,
00081                 /*@dependent@*/ /*@null@*/ fnpyKey key,
00082                 /*@null@*/ rpmds provides, /*@null@*/ rpmfi fi,
00083                 rpmuint32_t tscolor)
00084         /*@globals fileSystem @*/
00085         /*@modifies *alistp, provides, fi, fileSystem @*/;
00086 
00094 /*@-exportlocal@*/
00095 void rpmalAddProvides(rpmal al,
00096                 /*@dependent@*/ /*@null@*/ alKey pkgKey,
00097                 /*@null@*/ rpmds provides, rpmuint32_t tscolor)
00098         /*@modifies al, provides @*/;
00099 /*@=exportlocal@*/
00100 
00105 void rpmalMakeIndex(/*@null@*/ rpmal al)
00106         /*@modifies al @*/;
00107 
00115 /*@-exportlocal@*/
00116 /*@only@*/ /*@null@*/
00117 fnpyKey * rpmalAllFileSatisfiesDepend(/*@null@*/ const rpmal al,
00118                 /*@null@*/ const rpmds ds, /*@null@*/ alKey * keyp)
00119         /*@globals fileSystem, internalState @*/
00120         /*@modifies al, *keyp, fileSystem, internalState @*/;
00121 /*@=exportlocal@*/
00122 
00130 /*@only@*/ /*@null@*/
00131 fnpyKey * rpmalAllSatisfiesDepend(const rpmal al, const rpmds ds,
00132                 /*@null@*/ alKey * keyp)
00133         /*@globals fileSystem, internalState @*/
00134         /*@modifies al, *keyp, fileSystem, internalState @*/;
00135 
00144 /*@null@*/
00145 fnpyKey rpmalSatisfiesDepend(const rpmal al, const rpmds ds,
00146                 /*@null@*/ alKey * keyp)
00147         /*@globals fileSystem, internalState @*/
00148         /*@modifies al, *keyp, fileSystem, internalState @*/;
00149 
00150 #ifdef __cplusplus
00151 }
00152 #endif
00153 
00154 #endif  /* H_RPMAL */