-const char * repo_lookup_str(Solvable *s, Id key);
-/* returns the integer value of the attribute, or 0 if not found */
-unsigned int repo_lookup_num(Solvable *s, Id key);
-/* generic attribute lookup */
-int repo_lookup(Solvable *s, Id key, int (*callback)(void *cbdata, Solvable *s, Repodata *data, Repokey *key, KeyValue *kv), void *cbdata);
-
-typedef struct _Dataiterator
-{
- Repodata *data;
- Id *keyp;
- unsigned char *nextkeydp;
- unsigned char *dp;
- Repokey *key;
- Repo *repo;
- Id *idp;
- const char *match;
- Id solvid;
- Id keyname;
- unsigned flags;
- unsigned state;
- KeyValue kv;
-} Dataiterator;
-
-/* Use these like:
- Dataiterator di;
- dataiterator_init(&di, repo, 0, 0, "bla", SEARCH_SUBSTRING);
- while (dataiterator_step(&di))
- dosomething(di.solvid, di.key, di.kv); */
-void dataiterator_init(Dataiterator *di, Repo *repo, Id p, Id keyname,
- const char *match, int flags);
-int dataiterator_step(Dataiterator *di);
-void dataiterator_skip_attribute(Dataiterator *di);
-void dataiterator_skip_solvable(Dataiterator *di);
-void dataiterator_skip_repo(Dataiterator *di);
-void dataiterator_jump_to_solvable(Dataiterator *di, Solvable *s);
-void dataiterator_jump_to_repo(Dataiterator *di, Repo *repo);
+Id repo_lookup_type(Repo *repo, Id entry, Id keyname);
+const char *repo_lookup_str(Repo *repo, Id entry, Id keyname);
+/* returns the integer value of the attribute, or notfound if not found */
+unsigned long long repo_lookup_num(Repo *repo, Id entry, Id keyname, unsigned long long notfound);
+Id repo_lookup_id(Repo *repo, Id entry, Id keyname);
+int repo_lookup_idarray(Repo *repo, Id entry, Id keyname, Queue *q);
+int repo_lookup_deparray(Repo *repo, Id entry, Id keyname, Queue *q, Id marker);
+int repo_lookup_void(Repo *repo, Id entry, Id keyname);
+const char *repo_lookup_checksum(Repo *repo, Id entry, Id keyname, Id *typep);
+const unsigned char *repo_lookup_bin_checksum(Repo *repo, Id entry, Id keyname, Id *typep);
+const void *repo_lookup_binary(Repo *repo, Id entry, Id keyname, int *lenp);
+Id solv_depmarker(Id keyname, Id marker);