summaryrefslogtreecommitdiff
path: root/lib/rpmal.h
diff options
context:
space:
mode:
authorJinkun Jang <jinkun.jang@samsung.com>2013-03-12 15:17:20 +0900
committerJinkun Jang <jinkun.jang@samsung.com>2013-03-12 15:17:20 +0900
commit7df2385c2f6c93f96e00bc87f2086066cae89ecc (patch)
tree79d5c20a494622eb084de831a2a51530cd421e33 /lib/rpmal.h
parentb7a3bffb8e0341b7e4ef69def268bca3a7f279ff (diff)
downloadrpm-tizen_2.2.tar.gz
rpm-tizen_2.2.tar.bz2
rpm-tizen_2.2.zip
Diffstat (limited to 'lib/rpmal.h')
-rw-r--r--lib/rpmal.h75
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 */