/*
* pool.h
- *
+ *
*/
#ifndef LIBSOLV_POOL_H
Id solvid;
Id repodataid;
Id schema;
- Id dp;
+ Id dp;
} Datapos;
struct _Pool_tmpspace {
#define REL_FILECONFLICT 21
#define REL_COND 22
#define REL_COMPAT 23
+#define REL_KIND 24 /* for filters only */
+#define REL_MULTIARCH 25 /* debian multiarch annotation */
#if !defined(__GNUC__) && !defined(__attribute__)
# define __attribute__(x)
#endif
extern int pool_set_flag(Pool *pool, int flag, int value);
extern int pool_get_flag(Pool *pool, int flag);
-extern void pool_setvendorclasses(Pool *pool, const char **vendorclasses);
extern void pool_debug(Pool *pool, int type, const char *format, ...) __attribute__((format(printf, 3, 4)));
extern void pool_setdebugcallback(Pool *pool, void (*debugcallback)(struct _Pool *, void *data, int type, const char *str), void *debugcallbackdata);
void pool_create_state_maps(Pool *pool, Queue *installed, Map *installedmap, Map *conflictsmap);
-int pool_match_nevr_rel(Pool *pool, Solvable *s, Id d);
+int pool_intersect_evrs(Pool *pool, int pflags, Id pevr, int flags, int evr);
int pool_match_dep(Pool *pool, Id d1, Id d2);
+/* semi private, used in pool_match_nevr */
+int pool_match_nevr_rel(Pool *pool, Solvable *s, Id d);
+
static inline int pool_match_nevr(Pool *pool, Solvable *s, Id d)
{
if (!ISRELDEP(d))
return pool->whatprovidesdata + off;
}
+void pool_whatmatchesdep(Pool *pool, Id keyname, Id dep, Queue *q, int marker);
+
/* search the pool. the following filters are available:
* p - search just this solvable
* key - search only this key