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_PREREQ   RPMSENSE_ANY
#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_OBSOLETES = (1 << 7), RPMSENSE_INTERP = (1 << 8),
  RPMSENSE_SCRIPT_PRE = ((1 << 9)| RPMSENSE_ANY ), RPMSENSE_SCRIPT_POST = ((1 << 10)| RPMSENSE_ANY ), RPMSENSE_SCRIPT_PREUN = ((1 << 11)| RPMSENSE_ANY ), RPMSENSE_SCRIPT_POSTUN = ((1 << 12)| RPMSENSE_ANY ),
  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_ANY ),
  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

#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_PREREQ   RPMSENSE_ANY

#define RPMSENSE_SENSEMASK   15

Definition at line 63 of file rpmds.h.

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

Definition at line 66 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


Generated on Wed Dec 17 15:19:08 2008 for rpm by  doxygen 1.5.7.1