+#ifdef LIBSOLV_INTERNAL
+ /* flags to tell the library how the installed package manager works */
+ int promoteepoch; /* true: missing epoch is replaced by epoch of dependency */
+ int havedistepoch; /* true: thr release part in the evr may contain a distepoch suffix */
+ int obsoleteusesprovides; /* true: obsoletes are matched against provides, not names */
+ int implicitobsoleteusesprovides; /* true: implicit obsoletes due to same name are matched against provides, not names */
+ int obsoleteusescolors; /* true: obsoletes check arch color */
+ int implicitobsoleteusescolors; /* true: implicit obsoletes check arch color */
+ int noinstalledobsoletes; /* true: ignore obsoletes of installed packages */
+ int forbidselfconflicts; /* true: packages which conflict with itself are not installable */
+ int noobsoletesmultiversion; /* true: obsoletes are ignored for multiversion installs */
+
+ Id noarchid; /* ARCH_NOARCH, ARCH_ALL, ARCH_ANY, ... */
+
+ /* hash for rel unification */
+ Hashtable relhashtbl; /* hashtable: (name,evr,op)Hash -> Id */
+ Hashval relhashmask;
+
+ Id *languagecache;
+ int languagecacheother;
+
+ /* our tmp space string space */
+ struct _Pool_tmpspace tmpspace;
+
+ char *errstr; /* last error string */
+ int errstra; /* allocated space for errstr */
+
+ char *rootdir;
+
+ int (*custom_vendorcheck)(struct _Pool *, Solvable *, Solvable *);
+
+ int addfileprovidesfiltered; /* 1: only use filtered file list for addfileprovides */
+ int addedfileprovides; /* true: application called addfileprovides */
+ Queue lazywhatprovidesq; /* queue to store old whatprovides offsets */
+#endif
+};
+
+#define DISTTYPE_RPM 0
+#define DISTTYPE_DEB 1
+#define DISTTYPE_ARCH 2
+#define DISTTYPE_HAIKU 3
+
+#define SOLV_FATAL (1<<0)
+#define SOLV_ERROR (1<<1)
+#define SOLV_WARN (1<<2)
+#define SOLV_DEBUG_STATS (1<<3)
+#define SOLV_DEBUG_RULE_CREATION (1<<4)
+#define SOLV_DEBUG_PROPAGATE (1<<5)
+#define SOLV_DEBUG_ANALYZE (1<<6)
+#define SOLV_DEBUG_UNSOLVABLE (1<<7)
+#define SOLV_DEBUG_SOLUTIONS (1<<8)
+#define SOLV_DEBUG_POLICY (1<<9)
+#define SOLV_DEBUG_RESULT (1<<10)
+#define SOLV_DEBUG_JOB (1<<11)
+#define SOLV_DEBUG_SOLVER (1<<12)
+#define SOLV_DEBUG_TRANSACTION (1<<13)
+
+#define SOLV_DEBUG_TO_STDERR (1<<30)
+
+#define POOL_FLAG_PROMOTEEPOCH 1
+#define POOL_FLAG_FORBIDSELFCONFLICTS 2
+#define POOL_FLAG_OBSOLETEUSESPROVIDES 3
+#define POOL_FLAG_IMPLICITOBSOLETEUSESPROVIDES 4
+#define POOL_FLAG_OBSOLETEUSESCOLORS 5
+#define POOL_FLAG_NOINSTALLEDOBSOLETES 6
+#define POOL_FLAG_HAVEDISTEPOCH 7
+#define POOL_FLAG_NOOBSOLETESMULTIVERSION 8
+#define POOL_FLAG_ADDFILEPROVIDESFILTERED 9
+#define POOL_FLAG_IMPLICITOBSOLETEUSESCOLORS 10
+
+/* ----------------------------------------------- */