# rpmds.h File Reference

Structure(s) used for dependency tag sets. More...

`#include <time.h>`
`#include <rpm/rpmtypes.h>`
`#include <rpm/rpmps.h>`
Include dependency graph for rpmds.h:

Go to the source code of this file.

## Defines
#define | RPMSENSE_SENSEMASK 15
#define | RPMSENSE_TRIGGER (RPMSENSE_TRIGGERPREIN | RPMSENSE_TRIGGERIN | RPMSENSE_TRIGGERUN | RPMSENSE_TRIGGERPOSTUN)
#define | _ALL_REQUIRES_MASK
#define | _notpre(_x) ((_x) & ~RPMSENSE_PREREQ)
#define | _INSTALL_ONLY_MASK _notpre(RPMSENSE_SCRIPT_PRE|RPMSENSE_SCRIPT_POST|RPMSENSE_RPMLIB|RPMSENSE_KEYRING)
#define | _ERASE_ONLY_MASK _notpre(RPMSENSE_SCRIPT_PREUN|RPMSENSE_SCRIPT_POSTUN)
#define | isLegacyPreReq(_x) (((_x) & _ALL_REQUIRES_MASK) == RPMSENSE_PREREQ)
#define | isInstallPreReq(_x) ((_x) & _INSTALL_ONLY_MASK)
#define | isErasePreReq(_x) ((_x) & _ERASE_ONLY_MASK)
## Typedefs
typedef enum rpmsenseFlags_e | rpmsenseFlags
| Dependency Attributes.
## Enumerations
enum | rpmsenseFlags_e { RPMSENSE_ANY = 0, RPMSENSE_LESS = (1 << 1), RPMSENSE_GREATER = (1 << 2), RPMSENSE_EQUAL = (1 << 3), RPMSENSE_PROVIDES = (1 << 4), RPMSENSE_CONFLICTS = (1 << 5), RPMSENSE_PREREQ = (1 << 6), RPMSENSE_OBSOLETES = (1 << 7), RPMSENSE_INTERP = (1 << 8), RPMSENSE_SCRIPT_PRE = (1 << 9), RPMSENSE_SCRIPT_POST = (1 << 10), RPMSENSE_SCRIPT_PREUN = (1 << 11), RPMSENSE_SCRIPT_POSTUN = (1 << 12), RPMSENSE_SCRIPT_VERIFY = (1 << 13), RPMSENSE_FIND_REQUIRES = (1 << 14), RPMSENSE_FIND_PROVIDES = (1 << 15), RPMSENSE_TRIGGERIN = (1 << 16), RPMSENSE_TRIGGERUN = (1 << 17), RPMSENSE_TRIGGERPOSTUN = (1 << 18), RPMSENSE_MISSINGOK = (1 << 19), RPMSENSE_SCRIPT_PREP = (1 << 20), RPMSENSE_SCRIPT_BUILD = (1 << 21), RPMSENSE_SCRIPT_INSTALL = (1 << 22), RPMSENSE_SCRIPT_CLEAN = (1 << 23), RPMSENSE_RPMLIB = (1 << 24), RPMSENSE_TRIGGERPREIN = (1 << 25), RPMSENSE_KEYRING = (1 << 26), RPMSENSE_PATCHES = (1 << 27), RPMSENSE_CONFIG = (1 << 28) }
| Dependency Attributes. More...
## Functions
rpmds | rpmdsUnlink (rpmds ds, const char *msg)
| Unreference a dependency set instance.
rpmds | rpmdsLink (rpmds ds, const char *msg)
| Reference a dependency set instance.
rpmds | rpmdsFree (rpmds ds)
| Destroy a dependency set.
rpmds | rpmdsNew (Header h, rpmTag tagN, int flags)
| Create and load a dependency set.
char * | rpmdsNewDNEVR (const char *dspfx, const rpmds ds)
| Return new formatted dependency string.
rpmds | rpmdsThis (Header h, rpmTag tagN, rpmsenseFlags Flags)
| Create, load and initialize a dependency for this header.
rpmds | rpmdsSingle (rpmTag tagN, const char *N, const char *EVR, rpmsenseFlags Flags)
| Create, load and initialize a dependency set of size 1.
int | rpmdsCount (const rpmds ds)
| Return dependency set count.
int | rpmdsIx (const rpmds ds)
| Return dependency set index.
int | rpmdsSetIx (rpmds ds, int ix)
| Set dependency set index.
const char * | rpmdsDNEVR (const rpmds ds)
| Return current formatted dependency string.
const char * | rpmdsN (const rpmds ds)
| Return current dependency name.
const char * | rpmdsEVR (const rpmds ds)
| Return current dependency epoch-version-release.
rpmsenseFlags | rpmdsFlags (const rpmds ds)
| Return current dependency flags.
rpmTag | rpmdsTagN (const rpmds ds)
| Return current dependency type.
time_t | rpmdsBT (const rpmds ds)
| Return dependency build time.
time_t | rpmdsSetBT (const rpmds ds, time_t BT)
| Set dependency build time.
int | rpmdsNoPromote (const rpmds ds)
| Return current "Don't promote Epoch:" flag.
int | rpmdsSetNoPromote (rpmds ds, int nopromote)
| Set "Don't promote Epoch:" flag.
rpm_color_t | rpmdsColor (const rpmds ds)
| Return current dependency color.
rpm_color_t | rpmdsSetColor (const rpmds ds, rpm_color_t color)
| Return current dependency color.
int32_t | rpmdsRefs (const rpmds ds)
| Return current dependency file refs.
int32_t | rpmdsSetRefs (const rpmds ds, int32_t refs)
| Return current dependency color.
void | rpmdsNotify (rpmds ds, const char *where, int rc)
| Notify of results of dependency match.
int | rpmdsNext (rpmds ds)
| Return next dependency set iterator index.
rpmds | rpmdsInit (rpmds ds)
| Initialize dependency set iterator.
int | rpmdsFind (rpmds ds, const rpmds ods)
| Find a dependency set element using binary search.
int | rpmdsMerge (rpmds *dsp, rpmds ods)
| Merge a dependency set maintaining (N,EVR,Flags) sorted order.
int | rpmdsSearch (rpmds ds, rpmds ods)
| Search a sorted dependency set for an element that overlaps.
int | rpmdsCompare (const rpmds A, const rpmds B)
| Compare two versioned dependency ranges, looking for overlap.
void | rpmdsProblem (rpmps ps, const char *pkgNEVR, const rpmds ds, const fnpyKey *suggestedKeys, int adding)
| Report a Requires: or Conflicts: dependency problem.
int | rpmdsAnyMatchesDep (const Header h, const rpmds req, int nopromote)
| Compare package provides dependencies from header with a single dependency.
int | rpmdsNVRMatchesDep (const Header h, const rpmds req, int nopromote)
| Compare package name-version-release from header with a single dependency.
int | rpmdsRpmlib (rpmds *dsp, void *tblp)
| Load rpmlib provides into a dependency set.
## Variables
int | _rpmds_debug
int | _rpmds_nopromote

## Detailed Description

Structure(s) used for dependency tag sets.

Definition in file rpmds.h.

## Define Documentation

#define _ALL_REQUIRES_MASK

Value:

    (\
        RPMSENSE_INTERP | \
        RPMSENSE_SCRIPT_PRE | \
        RPMSENSE_SCRIPT_POST | \
        RPMSENSE_SCRIPT_PREUN | \
        RPMSENSE_SCRIPT_POSTUN | \
        RPMSENSE_SCRIPT_VERIFY | \
        RPMSENSE_FIND_REQUIRES | \
        RPMSENSE_SCRIPT_PREP | \
        RPMSENSE_SCRIPT_BUILD | \
        RPMSENSE_SCRIPT_INSTALL | \
        RPMSENSE_SCRIPT_CLEAN | \
        RPMSENSE_RPMLIB | \
        RPMSENSE_KEYRING | \
        RPMSENSE_PREREQ)

Definition at line 68 of file rpmds.h.

#define _ERASE_ONLY_MASK _notpre(RPMSENSE_SCRIPT_PREUN|RPMSENSE_SCRIPT_POSTUN)

Definition at line 87 of file rpmds.h.

#define _INSTALL_ONLY_MASK _notpre(RPMSENSE_SCRIPT_PRE|RPMSENSE_SCRIPT_POST|RPMSENSE_RPMLIB|RPMSENSE_KEYRING)

Definition at line 85 of file rpmds.h.

#define _notpre | ( | _x |  | ) | ((_x) & ~RPMSENSE_PREREQ)

Definition at line 84 of file rpmds.h.

#define isErasePreReq | ( | _x |  | ) | ((_x) & _ERASE_ONLY_MASK)

Definition at line 92 of file rpmds.h.

#define isInstallPreReq | ( | _x |  | ) | ((_x) & _INSTALL_ONLY_MASK)

Definition at line 91 of file rpmds.h.

#define isLegacyPreReq | ( | _x |  | ) | (((_x) & _ALL_REQUIRES_MASK) == RPMSENSE_PREREQ)

Definition at line 90 of file rpmds.h.

#define RPMSENSE_SENSEMASK 15

Definition at line 62 of file rpmds.h.

#define RPMSENSE_TRIGGER (RPMSENSE_TRIGGERPREIN | RPMSENSE_TRIGGERIN | RPMSENSE_TRIGGERUN | RPMSENSE_TRIGGERPOSTUN)

Definition at line 65 of file rpmds.h.

## Function Documentation

int rpmdsRpmlib | ( | rpmds * | dsp,
|  | void * | tblp |
| ) |  |  |

Load rpmlib provides into a dependency set.

Return values:

  | *dsp | (loaded) depedency set

Parameters:

  | tblp | rpmlib provides table (NULL uses internal table)

Returns:
  0 on success

## Variable Documentation

int _rpmds_debug

int _rpmds_nopromote