2 * Copyright (c) 2007, Novell Inc.
4 * This program is licensed under the BSD license, read LICENSE.BSD
5 * for further information
9 * Generic policy interface for SAT solver
10 * The policy* function can be "overloaded" by defining a callback in the solver struct.
15 #define POLICY_MODE_CHOOSE 0
16 #define POLICY_MODE_RECOMMEND 1
17 #define POLICY_MODE_SUGGEST 2
20 #define POLICY_ILLEGAL_DOWNGRADE 1
21 #define POLICY_ILLEGAL_ARCHCHANGE 2
22 #define POLICY_ILLEGAL_VENDORCHANGE 4
24 extern void policy_filter_unwanted(Solver *solv, Queue *plist, int mode);
25 extern int policy_illegal_archchange(Solver *solv, Solvable *s1, Solvable *s2);
26 extern int policy_illegal_vendorchange(Solver *solv, Solvable *s1, Solvable *s2);
27 extern int policy_is_illegal(Solver *solv, Solvable *s1, Solvable *s2, int ignore);
28 extern void policy_findupdatepackages(Solver *solv, Solvable *s, Queue *qs, int allowall);
30 extern void policy_create_obsolete_index(Solver *solv);