Problem Element API.

## Files

file | rpmprob.h
| Structures and prototypes used for an rpm problem item.

## Typedefs

typedef enum rpmProblemType_e | rpmProblemType
| Enumerate transaction set problem types. More...

## Enumerations

enum

rpmprobFilterFlags_e {
RPMPROB_FILTER_NONE = 0, RPMPROB_FILTER_IGNOREOS = (1 << 0), RPMPROB_FILTER_IGNOREARCH = (1 << 1), RPMPROB_FILTER_REPLACEPKG = (1 << 2),
RPMPROB_FILTER_FORCERELOCATE = (1 << 3), RPMPROB_FILTER_REPLACENEWFILES = (1 << 4), RPMPROB_FILTER_REPLACEOLDFILES = (1 << 5), RPMPROB_FILTER_OLDPACKAGE = (1 << 6),
RPMPROB_FILTER_DISKSPACE = (1 << 7), RPMPROB_FILTER_DISKNODES = (1 << 8)
}

enum | rpmProblemType_e { RPMPROB_BADARCH, RPMPROB_BADOS, RPMPROB_PKG_INSTALLED, RPMPROB_BADRELOCATE, RPMPROB_REQUIRES, RPMPROB_CONFLICT, RPMPROB_NEW_FILE_CONFLICT, RPMPROB_FILE_CONFLICT, RPMPROB_OLDPACKAGE, RPMPROB_DISKSPACE, RPMPROB_DISKNODES, RPMPROB_OBSOLETES }
| Enumerate transaction set problem types. More...

## Functions

rpmProblem | rpmProblemCreate (rpmProblemType type, const char *pkgNEVR, fnpyKey key, const char *altNEVR, const char *str, uint64_t number)
| Create a problem item. More...
rpmProblem | rpmProblemFree (rpmProblem prob)
| Destroy a problem item. More...
rpmProblem | rpmProblemLink (rpmProblem prob)
| Reference an rpmProblem instance. More...
int | rpmProblemCompare (rpmProblem ap, rpmProblem bp)
| Compare two problems for equality. More...
const char * | rpmProblemGetPkgNEVR (rpmProblem prob)
| Return package NEVR. More...
const char * | rpmProblemGetAltNEVR (rpmProblem prob)
| Return related (e.g. More...
rpmProblemType | rpmProblemGetType (rpmProblem prob)
| Return type of problem (dependency, diskpace etc) More...
fnpyKey | rpmProblemGetKey (rpmProblem prob)
| Return filename or python object address of a problem. More...
const char * | rpmProblemGetStr (rpmProblem prob)
| Return a generic data string from a problem. More...
rpm_loff_t | rpmProblemGetDiskNeed (rpmProblem prob)
| Return disk requirement (needed disk space / number of inodes) depending on problem type. More...
char * | rpmProblemString (rpmProblem prob)
| Return formatted string representation of a problem. More...

## Detailed Description

## Typedef Documentation

typedef enum rpmProblemType_e rpmProblemType

Enumerate transaction set problem types.

## Enumeration Type Documentation

enum rpmprobFilterFlags_e

Todo:
  Generalize filter mechanism.

Enumerator
RPMPROB_FILTER_NONE |
RPMPROB_FILTER_IGNOREOS | from –ignoreos
RPMPROB_FILTER_IGNOREARCH | from –ignorearch
RPMPROB_FILTER_REPLACEPKG | from –replacepkgs
RPMPROB_FILTER_FORCERELOCATE | from –badreloc
RPMPROB_FILTER_REPLACENEWFILES | from –replacefiles
RPMPROB_FILTER_REPLACEOLDFILES | from –replacefiles
RPMPROB_FILTER_OLDPACKAGE | from –oldpackage
RPMPROB_FILTER_DISKSPACE | from –ignoresize
RPMPROB_FILTER_DISKNODES | from –ignoresize

Definition at line 21 of file rpmprob.h.

enum rpmProblemType_e

Enumerate transaction set problem types.

Enumerator
RPMPROB_BADARCH | package ... is for a different architecture
RPMPROB_BADOS | package ... is for a different operating system
RPMPROB_PKG_INSTALLED | package ... is already installed
RPMPROB_BADRELOCATE | path ... is not relocatable for package ...
RPMPROB_REQUIRES | package ... has unsatisfied Requires: ...
RPMPROB_CONFLICT | package ... has unsatisfied Conflicts: ...
RPMPROB_NEW_FILE_CONFLICT | file ... conflicts between attempted installs of ...
RPMPROB_FILE_CONFLICT | file ... from install of ... conflicts with file from package ...
RPMPROB_OLDPACKAGE | package ... (which is newer than ...) is already installed
RPMPROB_DISKSPACE | installing package ... needs ... on the ... filesystem
RPMPROB_DISKNODES | installing package ... needs ... on the ... filesystem
RPMPROB_OBSOLETES | package ... is obsoleted by ...

Definition at line 39 of file rpmprob.h.

## Function Documentation

int rpmProblemCompare | ( | rpmProblem | ap,
|  | rpmProblem | bp
| ) |  |

Compare two problems for equality.

Parameters

  ap | 1st problem
  bp | 2nd problem

Returns
  1 if the problems differ, 0 otherwise

rpmProblem rpmProblemCreate | ( | rpmProblemType | type,
|  | const char * | pkgNEVR,
|  | fnpyKey | key,
|  | const char * | altNEVR,
|  | const char * | str,
|  | uint64_t | number
| ) |  |

Create a problem item.

Parameters

  type | type of problem
  pkgNEVR | package name
  key | filename or python object address
  altNEVR | related (e.g. through a dependency) package name
  str | generic string attribute
  number | generic number attribute

Returns
  rpmProblem

rpmProblem rpmProblemFree | ( | rpmProblem | prob | ) |

Destroy a problem item.

Parameters

  prob | rpm problem

Returns
  rpm problem (NULL)

const char* rpmProblemGetAltNEVR | ( | rpmProblem | prob | ) |

Return related (e.g.

through a dependency) package NEVR

Parameters

  prob | rpm problem

Returns
  related (e.g. through a dependency) package NEVR

rpm_loff_t rpmProblemGetDiskNeed | ( | rpmProblem | prob | ) |

Return disk requirement (needed disk space / number of inodes) depending on problem type.

On problem types other than RPMPROB_DISKSPACE and RPMPROB_DISKNODES return value is undefined.

Parameters

  prob | rpm problem

Returns
  disk requirement

fnpyKey rpmProblemGetKey | ( | rpmProblem | prob | ) |

Return filename or python object address of a problem.

Parameters

  prob | rpm problem

Returns
  filename or python object address

const char* rpmProblemGetPkgNEVR | ( | rpmProblem | prob | ) |

Return package NEVR.

Parameters

  prob | rpm problem

Returns
  package NEVR

const char* rpmProblemGetStr | ( | rpmProblem | prob | ) |

Return a generic data string from a problem.

Parameters

  prob | rpm problem

Returns
  a generic data string

Todo:
  needs a better name

rpmProblemType rpmProblemGetType | ( | rpmProblem | prob | ) |

Return type of problem (dependency, diskpace etc)

Parameters

  prob | rpm problem

Returns
  type of problem

rpmProblem rpmProblemLink | ( | rpmProblem | prob | ) |

Reference an rpmProblem instance.

Parameters

  prob | rpm problem

Returns
  rpm problem

char* rpmProblemString | ( | rpmProblem | prob | ) |

Return formatted string representation of a problem.

Parameters

  prob | rpm problem

Returns
  formatted string (malloc'd)