pool_trivial_installable_noobsoletesmap(pool, installedmap, pkgs, res, 0);
}
+const char *
+pool_lookup_str(Pool *pool, Id entry, Id keyname)
+{
+ if (entry == SOLVID_POS && pool->pos.repo)
+ return repodata_lookup_str(pool->pos.repo->repodata + pool->pos.repodataid, SOLVID_POS, keyname);
+ if (entry <= 0)
+ return 0;
+ return solvable_lookup_str(pool->solvables + entry, keyname);
+}
+
+Id
+pool_lookup_id(Pool *pool, Id entry, Id keyname)
+{
+ if (entry == SOLVID_POS && pool->pos.repo)
+ return repodata_lookup_id(pool->pos.repo->repodata + pool->pos.repodataid, SOLVID_POS, keyname);
+ if (entry <= 0)
+ return 0;
+ return solvable_lookup_id(pool->solvables + entry, keyname);
+}
+
+unsigned int
+pool_lookup_num(Pool *pool, Id entry, Id keyname, unsigned int notfound)
+{
+ if (entry == SOLVID_POS && pool->pos.repo)
+ {
+ unsigned int value;
+ if (repodata_lookup_num(pool->pos.repo->repodata + pool->pos.repodataid, SOLVID_POS, keyname, &value))
+ return value;
+ return notfound;
+ }
+ if (entry <= 0)
+ return notfound;
+ return solvable_lookup_num(pool->solvables + entry, keyname, notfound);
+}
+
+int
+pool_lookup_void(Pool *pool, Id entry, Id keyname)
+{
+ if (entry == SOLVID_POS && pool->pos.repo)
+ return repodata_lookup_void(pool->pos.repo->repodata + pool->pos.repodataid, SOLVID_POS, keyname);
+ if (entry <= 0)
+ return 0;
+ return solvable_lookup_void(pool->solvables + entry, keyname);
+}
+
+const unsigned char *
+pool_lookup_bin_checksum(Pool *pool, Id entry, Id keyname, Id *typep)
+{
+ if (entry == SOLVID_POS && pool->pos.repo)
+ return repodata_lookup_bin_checksum(pool->pos.repo->repodata + pool->pos.repodataid, SOLVID_POS, keyname, typep);
+ if (entry <= 0)
+ return 0;
+ return solvable_lookup_bin_checksum(pool->solvables + entry, keyname, typep);
+}
+
+const char *
+pool_lookup_checksum(Pool *pool, Id entry, Id keyname, Id *typep)
+{
+ if (entry == SOLVID_POS && pool->pos.repo)
+ {
+ const unsigned char *chk = repodata_lookup_bin_checksum(pool->pos.repo->repodata + pool->pos.repodataid, SOLVID_POS, keyname, typep);
+ return chk ? repodata_chk2str(pool->pos.repo->repodata + pool->pos.repodataid, *typep, chk) : 0;
+ }
+ if (entry <= 0)
+ return 0;
+ return solvable_lookup_checksum(pool->solvables + entry, keyname, typep);
+}
+
// EOF
void pool_trivial_installable(Pool *pool, Map *installedmap, Queue *pkgs, Queue *res);
void pool_trivial_installable_noobsoletesmap(Pool *pool, Map *installedmap, Queue *pkgs, Queue *res, Map *noobsoletesmap);
+const char *pool_lookup_str(Pool *pool, Id entry, Id keyname);
+Id pool_lookup_id(Pool *pool, Id entry, Id keyname);
+unsigned int pool_lookup_num(Pool *pool, Id entry, Id keyname, unsigned int notfound);
+int pool_lookup_void(Pool *pool, Id entry, Id keyname);
+const unsigned char *pool_lookup_bin_checksum(Pool *pool, Id entry, Id keyname, Id *typep);
+const char *pool_lookup_checksum(Pool *pool, Id entry, Id keyname, Id *typep);
+
/* loop over all providers of d */
#define FOR_PROVIDES(v, vp, d) \