00001 #ifndef H_RPMAL
00002 #define H_RPMAL
00003 
00009 #include <rpm/rpmtypes.h>
00010 
00011 #ifdef __cplusplus
00012 extern "C" {
00013 #endif
00014 
00015 extern int _rpmal_debug;
00016 
00017 #define RPMAL_NOMATCH   ((rpmalKey)-1L)
00018 
00022 typedef intptr_t rpmalNum;
00023 
00029 rpmal rpmalCreate(int delta);
00030 
00036 rpmal rpmalFree(rpmal al);
00037 
00043 void rpmalDel(rpmal al, rpmalKey pkgKey);
00044 
00055 rpmalKey rpmalAdd(rpmal * alistp,
00056                 rpmalKey pkgKey,
00057                 fnpyKey key,
00058                 rpmds provides, rpmfi fi,
00059                 rpm_color_t tscolor);
00060 
00068 void rpmalAddProvides(rpmal al,
00069                 rpmalKey pkgKey,
00070                 rpmds provides, rpm_color_t tscolor);
00071 
00076 void rpmalMakeIndex(rpmal al);
00077 
00085 fnpyKey * rpmalAllFileSatisfiesDepend(const rpmal al,
00086                 const rpmds ds, rpmalKey * keyp);
00087 
00095 fnpyKey * rpmalAllSatisfiesDepend(const rpmal al, const rpmds ds,
00096                 rpmalKey * keyp);
00097 
00106 fnpyKey rpmalSatisfiesDepend(const rpmal al, const rpmds ds,
00107                 rpmalKey * keyp);
00108 
00109 #ifdef __cplusplus
00110 }
00111 #endif
00112 
00113 #endif