diff options
Diffstat (limited to 'lib/rpmal.h')
-rw-r--r-- | lib/rpmal.h | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/lib/rpmal.h b/lib/rpmal.h new file mode 100644 index 0000000..9a0e640 --- /dev/null +++ b/lib/rpmal.h @@ -0,0 +1,75 @@ +#ifndef H_RPMAL +#define H_RPMAL + +/** \ingroup rpmdep rpmtrans + * \file lib/rpmal.h + * Structures used for managing added/available package lists. + */ + +#include <rpm/rpmtypes.h> + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct rpmal_s * rpmal; + +/** + * Initialize available packckages, items, and directory list. + * @param delta no. of entries to add on each realloc + * @param tscolor transaction color bits + * @param prefcolor preferred color + * @return al new available list + */ +RPM_GNUC_INTERNAL +rpmal rpmalCreate(int delta, rpm_color_t tscolor, rpm_color_t prefcolor); + +/** + * Free available packages, items, and directory members. + * @param al available list + * @return NULL always + */ +RPM_GNUC_INTERNAL +rpmal rpmalFree(rpmal al); + +/** + * Delete package from available list. + * @param al available list + * @param p package + */ +RPM_GNUC_INTERNAL +void rpmalDel(rpmal al, rpmte p); + +/** + * Add package to available list. + * @param al available list + * @param p package + */ +RPM_GNUC_INTERNAL +void rpmalAdd(rpmal al, rpmte p); + +/** + * Lookup best provider for a dependency in the available list + * @param al available list + * @param ds dependency set + * @return best provider for the dependency, NULL if none + */ +RPM_GNUC_INTERNAL +rpmte rpmalSatisfiesDepend(const rpmal al, const rpmds ds); + +/** + * Get a list of transaction elements that are memebers of a collection in the + * available list + * @param al available list + * @param collname collection name to search for + * @return NULL-terminated list of transaction elements that are + * members of the specified collection + */ +RPM_GNUC_INTERNAL +rpmte * rpmalAllInCollection(const rpmal al, const char * collname); + +#ifdef __cplusplus +} +#endif + +#endif /* H_RPMAL */ |