rpm 5.3.12
lib/rpmal.h
Go to the documentation of this file.
00001 #ifndef H_RPMAL
00002 #define H_RPMAL
00003 
00009 #include <rpmds.h>
00010 #include <rpmfi.h>
00011 
00012 /*@-exportlocal@*/
00013 /*@unchecked@*/
00014 extern int _rpmal_debug;
00015 /*@=exportlocal@*/
00016 
00017 #define RPMAL_NOMATCH   ((alKey)-1L)
00018 
00022 /*@-mutrep@*/
00023 typedef /*@abstract@*/ int alNum;
00024 /*@=mutrep@*/
00025 
00028 typedef /*@abstract@*/ struct rpmal_s *         rpmal;
00029 
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033 
00039 /*@-exportlocal@*/
00040 /*@only@*/
00041 rpmal rpmalCreate(int delta)
00042         /*@*/;
00043 /*@=exportlocal@*/
00044 
00050 /*@null@*/
00051 rpmal rpmalFree(/*@only@*/ /*@null@*/ rpmal al)
00052         /*@globals fileSystem @*/
00053         /*@modifies al, fileSystem @*/;
00054 
00060 /*@-exportlocal@*/
00061 void rpmalDel(/*@null@*/ rpmal al, /*@null@*/ alKey pkgKey)
00062         /*@globals fileSystem @*/
00063         /*@modifies al, fileSystem @*/;
00064 /*@=exportlocal@*/
00065 
00076 alKey rpmalAdd(rpmal * alistp,
00077                 /*@dependent@*/ /*@null@*/ alKey pkgKey,
00078                 /*@dependent@*/ /*@null@*/ fnpyKey key,
00079                 /*@null@*/ rpmds provides, /*@null@*/ rpmfi fi,
00080                 rpmuint32_t tscolor)
00081         /*@globals fileSystem @*/
00082         /*@modifies *alistp, provides, fi, fileSystem @*/;
00083 
00091 /*@-exportlocal@*/
00092 void rpmalAddProvides(rpmal al,
00093                 /*@dependent@*/ /*@null@*/ alKey pkgKey,
00094                 /*@null@*/ rpmds provides, rpmuint32_t tscolor)
00095         /*@modifies al, provides @*/;
00096 /*@=exportlocal@*/
00097 
00102 void rpmalMakeIndex(/*@null@*/ rpmal al)
00103         /*@modifies al @*/;
00104 
00112 /*@-exportlocal@*/
00113 /*@only@*/ /*@null@*/
00114 fnpyKey * rpmalAllFileSatisfiesDepend(/*@null@*/ const rpmal al,
00115                 /*@null@*/ const rpmds ds, /*@null@*/ alKey * keyp)
00116         /*@globals fileSystem, internalState @*/
00117         /*@modifies al, *keyp, fileSystem, internalState @*/;
00118 /*@=exportlocal@*/
00119 
00127 /*@only@*/ /*@null@*/
00128 fnpyKey * rpmalAllSatisfiesDepend(const rpmal al, const rpmds ds,
00129                 /*@null@*/ alKey * keyp)
00130         /*@globals fileSystem, internalState @*/
00131         /*@modifies al, *keyp, fileSystem, internalState @*/;
00132 
00141 /*@null@*/
00142 fnpyKey rpmalSatisfiesDepend(const rpmal al, const rpmds ds,
00143                 /*@null@*/ alKey * keyp)
00144         /*@globals fileSystem, internalState @*/
00145         /*@modifies al, *keyp, fileSystem, internalState @*/;
00146 
00147 #ifdef __cplusplus
00148 }
00149 #endif
00150 
00151 #endif  /* H_RPMAL */