rules.h File Reference

Go to the source code of this file.

Classes

struct  _Rule

Defines

#define SOLVER_RULE_TYPEMASK   0xff00

Typedefs

typedef struct _Rule Rule

Enumerations

enum  SolverRuleinfo {
  SOLVER_RULE_UNKNOWN = 0, SOLVER_RULE_RPM = 0x100, SOLVER_RULE_RPM_NOT_INSTALLABLE, SOLVER_RULE_RPM_NOTHING_PROVIDES_DEP,
  SOLVER_RULE_RPM_PACKAGE_REQUIRES, SOLVER_RULE_RPM_SELF_CONFLICT, SOLVER_RULE_RPM_PACKAGE_CONFLICT, SOLVER_RULE_RPM_SAME_NAME,
  SOLVER_RULE_RPM_PACKAGE_OBSOLETES, SOLVER_RULE_RPM_IMPLICIT_OBSOLETES, SOLVER_RULE_UPDATE = 0x200, SOLVER_RULE_FEATURE = 0x300,
  SOLVER_RULE_JOB = 0x400, SOLVER_RULE_JOB_NOTHING_PROVIDES_DEP, SOLVER_RULE_DISTUPGRADE = 0x500, SOLVER_RULE_INFARCH = 0x600,
  SOLVER_RULE_CHOICE = 0x700, SOLVER_RULE_LEARNT = 0x800
}

Functions

static void solver_disablerule (struct _Solver *solv, Rule *r)
static void solver_enablerule (struct _Solver *solv, Rule *r)
Rulesolver_addrule (struct _Solver *solv, Id p, Id d)
void solver_unifyrules (struct _Solver *solv)
int solver_samerule (struct _Solver *solv, Rule *r1, Rule *r2)
void solver_addrpmrulesforsolvable (struct _Solver *solv, Solvable *s, Map *m)
void solver_addrpmrulesforweak (struct _Solver *solv, Map *m)
void solver_addrpmrulesforupdaters (struct _Solver *solv, Solvable *s, Map *m, int allow_all)
void solver_addupdaterule (struct _Solver *solv, Solvable *s, int allow_all)
void solver_addinfarchrules (struct _Solver *solv, Map *addedmap)
void solver_createdupmaps (struct _Solver *solv)
void solver_freedupmaps (struct _Solver *solv)
void solver_addduprules (struct _Solver *solv, Map *addedmap)
void solver_disablepolicyrules (struct _Solver *solv)
void solver_reenablepolicyrules (struct _Solver *solv, int jobidx)
int solver_allruleinfos (struct _Solver *solv, Id rid, Queue *rq)
SolverRuleinfo solver_ruleinfo (struct _Solver *solv, Id rid, Id *fromp, Id *top, Id *depp)


Define Documentation

#define SOLVER_RULE_TYPEMASK   0xff00

Definition at line 70 of file rules.h.


Typedef Documentation

typedef struct _Rule Rule


Enumeration Type Documentation

Enumerator:
SOLVER_RULE_UNKNOWN 
SOLVER_RULE_RPM 
SOLVER_RULE_RPM_NOT_INSTALLABLE 
SOLVER_RULE_RPM_NOTHING_PROVIDES_DEP 
SOLVER_RULE_RPM_PACKAGE_REQUIRES 
SOLVER_RULE_RPM_SELF_CONFLICT 
SOLVER_RULE_RPM_PACKAGE_CONFLICT 
SOLVER_RULE_RPM_SAME_NAME 
SOLVER_RULE_RPM_PACKAGE_OBSOLETES 
SOLVER_RULE_RPM_IMPLICIT_OBSOLETES 
SOLVER_RULE_UPDATE 
SOLVER_RULE_FEATURE 
SOLVER_RULE_JOB 
SOLVER_RULE_JOB_NOTHING_PROVIDES_DEP 
SOLVER_RULE_DISTUPGRADE 
SOLVER_RULE_INFARCH 
SOLVER_RULE_CHOICE 
SOLVER_RULE_LEARNT 

Definition at line 49 of file rules.h.


Function Documentation

static void solver_disablerule ( struct _Solver solv,
Rule r 
) [inline, static]

static void solver_enablerule ( struct _Solver solv,
Rule r 
) [inline, static]

Rule* solver_addrule ( struct _Solver solv,
Id  p,
Id  d 
)

void solver_unifyrules ( struct _Solver solv  ) 

int solver_samerule ( struct _Solver solv,
Rule r1,
Rule r2 
)

Definition at line 118 of file rules.c.

References _Solver::pool, and unifyrules_sortcmp().

Referenced by solver_solve().

void solver_addrpmrulesforsolvable ( struct _Solver solv,
Solvable s,
Map m 
)

void solver_addrpmrulesforweak ( struct _Solver solv,
Map m 
)

void solver_addrpmrulesforupdaters ( struct _Solver solv,
Solvable s,
Map m,
int  allow_all 
)

void solver_addupdaterule ( struct _Solver solv,
Solvable s,
int  allow_all 
)

void solver_addinfarchrules ( struct _Solver solv,
Map addedmap 
)

void solver_createdupmaps ( struct _Solver solv  ) 

void solver_freedupmaps ( struct _Solver solv  ) 

Definition at line 1205 of file rules.c.

References _Solver::dupinvolvedmap, _Solver::dupmap, and map_free().

Referenced by solver_solve().

void solver_addduprules ( struct _Solver solv,
Map addedmap 
)

void solver_disablepolicyrules ( struct _Solver solv  ) 

void solver_reenablepolicyrules ( struct _Solver solv,
int  jobidx 
)

int solver_allruleinfos ( struct _Solver solv,
Id  rid,
Queue rq 
)

SolverRuleinfo solver_ruleinfo ( struct _Solver solv,
Id  rid,
Id fromp,
Id top,
Id depp 
)


doxygen