Imported Upstream version 0.6.35
[platform/upstream/libsolv.git] / src / pool.h
index f6a5493..e6d1700 100644 (file)
@@ -88,7 +88,7 @@ struct _Pool {
 
   Id *id2arch;                 /* map arch ids to scores */
   unsigned char *id2color;     /* map arch ids to colors */
-  Id lastarch;                 /* last valid entry in id2arch/id2color */
+  Id lastarch;                 /* size of the id2arch/id2color arrays */
 
   Queue vendormap;             /* map vendor to vendorclasses mask */
   const char **vendorclasses;  /* vendor equivalence classes */
@@ -282,6 +282,10 @@ static inline Solvable *pool_id2solvable(const Pool *pool, Id p)
 {
   return pool->solvables + p;
 }
+static inline Id pool_solvable2id(const Pool *pool, Solvable *s)
+{
+  return s - pool->solvables;
+}
 
 extern const char *pool_solvable2str(Pool *pool, Solvable *s);
 static inline const char *pool_solvid2str(Pool *pool, Id p)
@@ -344,6 +348,8 @@ static inline Id *pool_whatprovides_ptr(Pool *pool, Id d)
 
 void pool_whatmatchesdep(Pool *pool, Id keyname, Id dep, Queue *q, int marker);
 void pool_whatcontainsdep(Pool *pool, Id keyname, Id dep, Queue *q, int marker);
+void pool_set_whatprovides(Pool *pool, Id id, Id providers);
+
 
 /* search the pool. the following filters are available:
  *   p     - search just this solvable