rpm  4.13.0
Typedefs | Enumerations | Functions
rpmprob.h File Reference

Structures and prototypes used for an rpm problem item. More...

#include <stdio.h>
#include <rpm/rpmtypes.h>
Include dependency graph for rpmprob.h:

Go to the source code of this file.

Typedefs

typedef struct rpmProblem_s * rpmProblem
 
typedef rpmFlags rpmprobFilterFlags
 
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

Structures and prototypes used for an rpm problem item.

Definition in file rpmprob.h.

Typedef Documentation

§ rpmprobFilterFlags

Definition at line 34 of file rpmprob.h.

§ rpmProblem

typedef struct rpmProblem_s* rpmProblem

Definition at line 16 of file rpmprob.h.

§ rpmProblemType

Enumerate transaction set problem types.

Enumeration Type Documentation

§ 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.

§ 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

§ rpmProblemCompare()

int rpmProblemCompare ( rpmProblem  ap,
rpmProblem  bp 
)

Compare two problems for equality.

Parameters
ap1st problem
bp2nd problem
Returns
1 if the problems differ, 0 otherwise

§ rpmProblemCreate()

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

Create a problem item.

Parameters
typetype of problem
pkgNEVRpackage name
keyfilename or python object address
altNEVRrelated (e.g. through a dependency) package name
strgeneric string attribute
numbergeneric number attribute
Returns
rpmProblem

§ rpmProblemFree()

rpmProblem rpmProblemFree ( rpmProblem  prob)

Destroy a problem item.

Parameters
probrpm problem
Returns
rpm problem (NULL)

§ rpmProblemGetAltNEVR()

const char* rpmProblemGetAltNEVR ( rpmProblem  prob)

Return related (e.g.

through a dependency) package NEVR

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

§ rpmProblemGetDiskNeed()

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
probrpm problem
Returns
disk requirement

§ rpmProblemGetKey()

fnpyKey rpmProblemGetKey ( rpmProblem  prob)

Return filename or python object address of a problem.

Parameters
probrpm problem
Returns
filename or python object address

§ rpmProblemGetPkgNEVR()

const char* rpmProblemGetPkgNEVR ( rpmProblem  prob)

Return package NEVR.

Parameters
probrpm problem
Returns
package NEVR

§ rpmProblemGetStr()

const char* rpmProblemGetStr ( rpmProblem  prob)

Return a generic data string from a problem.

Parameters
probrpm problem
Returns
a generic data string
Todo:
needs a better name

§ rpmProblemGetType()

rpmProblemType rpmProblemGetType ( rpmProblem  prob)

Return type of problem (dependency, diskpace etc)

Parameters
probrpm problem
Returns
type of problem

§ rpmProblemLink()

rpmProblem rpmProblemLink ( rpmProblem  prob)

Reference an rpmProblem instance.

Parameters
probrpm problem
Returns
rpm problem

§ rpmProblemString()

char* rpmProblemString ( rpmProblem  prob)

Return formatted string representation of a problem.

Parameters
probrpm problem
Returns
formatted string (malloc'd)