rpmevr.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Macros

#define | RPMSENSE_SENSEMASK 0x0e /* Mask to get senses, ie serial, */
#define | RPMSENSE_NOTEQUAL (RPMSENSE_EQUAL ^ RPMSENSE_SENSEMASK)

## Typedefs

typedef struct EVR_s * | EVR_t
typedef enum evrFlags_e | evrFlags
| Dependency Attributes. More...
typedef enum evrFlags_e | rpmsenseFlags

## Enumerations

enum | evrFlags_e { RPMSENSE_LESS = (1 << 1), RPMSENSE_GREATER = (1 << 2), RPMSENSE_EQUAL = (1 << 3), RPMSENSE_PREREQ = (1 << 6) }
| Dependency Attributes. More...

## Functions

EVR_t | rpmEVRnew (rpmuint32_t Flags, int initialize)
| Create a new EVR container. More...
EVR_t | rpmEVRfree (EVR_t evr)
| Destroy an EVR container. More...
int | rpmEVRcmp (const char *a, const char *b)
| Segmented string compare. More...
int | rpmEVRparse (const char *evrstr, EVR_t evr)
| Split EVR string into epoch, version, and release components. More...
int | rpmEVRcompare (const EVR_t a, const EVR_t b)
| Compare EVR containers for equality. More...
int | rpmEVRoverlap (EVR_t a, EVR_t b)
| Compare EVR containers for overlap. More...
rpmsenseFlags | rpmEVRflags (const char *op, const char **end)
| Return comparison operator sense flags. More...
int | rpmVersionCompare (Header A, Header B)
| Compare headers to determine which header is "newer". More...

## Variables

int | _rpmevr_debug
int(* | rpmvercmp )(const char *a, const char *b)
| Segmented string compare vector. More...

## Macro Definition Documentation

#define RPMSENSE_NOTEQUAL (RPMSENSE_EQUAL ^ RPMSENSE_SENSEMASK)

Definition at line 76 of file rpmevr.h.

Referenced by init_rpm(), rpmdsCompare(), rpmdsNewDNEVR(), rpmEVRoverlap(), and unsatisfiedDepend().

#define RPMSENSE_SENSEMASK 0x0e /* Mask to get senses, ie serial, */

Definition at line 74 of file rpmevr.h.

Referenced by addReqProv(), depflagsFormat(), nwlookupTag(), parseRCPOT(), rpmdsAnyMatchesDep(), rpmdsCompare(), rpmdsNewDNEVR(), rpmdsNVRMatchesDep(), triggercondsTag(), unsatisfiedDepend(), and wnlookupTag().

## Typedef Documentation

typedef struct EVR_s* EVR_t

Definition at line 20 of file rpmevr.h.

typedef enum evrFlags_e evrFlags

Dependency Attributes.

typedef enum evrFlags_e rpmsenseFlags

Definition at line 72 of file rpmevr.h.

## Enumeration Type Documentation

enum evrFlags_e

Dependency Attributes.

Enumerator
RPMSENSE_LESS |
RPMSENSE_GREATER |
RPMSENSE_EQUAL |
RPMSENSE_PREREQ | (obsolete).

Definition at line 26 of file rpmevr.h.

## Function Documentation

rpmsenseFlags rpmEVRflags | ( | const char * | op,
|  | const char ** | end
| ) |  |

Return comparison operator sense flags.

Parameters

  op | operator string (NULL or "" uses RPMSENSE_EQUAL)
  *end | pointer to 1st character after operator (or NULL)

Returns
  sense flags

Definition at line 357 of file rpmevr.c.

References cops, EVRop_s::operator, RPMSENSE_EQUAL, and EVRop_s::sense.

Referenced by parseRCPOT(), rpmdsPipe(), and rpmdsSysinfoFile().

EVR_t rpmEVRfree | ( | EVR_t | evr | ) |

Destroy an EVR container.

Parameters

  EVR | container

Returns
  NULL always

Definition at line 39 of file rpmevr.c.

References _free().

Referenced by labelCompare(), nwlookupTag(), and wnlookupTag().

int rpmVersionCompare | ( | Header | A,
|  | Header | B
| ) |  |

Compare headers to determine which header is "newer".

Deprecated:
  Use rpmdsCompare instead.

Todo:
  Eliminate in rpm-5.1.

Parameters

  A | 1st header
  B | 2nd header

Returns
  result of comparison

Definition at line 376 of file rpmevr.c.

References _free(), alloca(), headerGet(), _HE_s::p, rpmDataType_u::ptr, rpmEVRorder(), RPMTAG_DISTEPOCH, RPMTAG_EPOCH, RPMTAG_RELEASE, RPMTAG_VERSION, rpmvercmp, rpmDataType_u::str, _HE_s::tag, and rpmDataType_u::ui32p.

Referenced by hdr_compare(), and rpmcliInstall().

## Variable Documentation

int _rpmevr_debug

Definition at line 18 of file rpmevr.c.