rpm  4.12.0.1
Macros | Typedefs | Enumerations | Functions | Variables
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.

Macros

#define RPMSENSE_SENSEMASK   15 /* Mask to get senses, ie serial, */
 
#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|RPMSENSE_PRETRANS|RPMSENSE_POSTTRANS)
 
#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 rpmFlags rpmsenseFlags
 

Enumerations

enum  rpmsenseFlags_e {
  RPMSENSE_ANY = 0, RPMSENSE_LESS = (1 << 1), RPMSENSE_GREATER = (1 << 2), RPMSENSE_EQUAL = (1 << 3),
  RPMSENSE_POSTTRANS = (1 << 5), RPMSENSE_PREREQ = (1 << 6), RPMSENSE_PRETRANS = (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_RPMLIB = (1 << 24),
  RPMSENSE_TRIGGERPREIN = (1 << 25), RPMSENSE_KEYRING = (1 << 26), RPMSENSE_CONFIG = (1 << 28)
}
 Dependency Attributes. More...
 

Functions

rpmFlags rpmSanitizeDSFlags (rpmTagVal tagN, rpmFlags Flags)
 Return only those flags allowed for given type of dependencies. More...
 
rpmds rpmdsLink (rpmds ds)
 Reference a dependency set instance. More...
 
rpmds rpmdsFree (rpmds ds)
 Destroy a dependency set. More...
 
rpmds rpmdsNew (Header h, rpmTagVal tagN, int flags)
 Create and load a dependency set. More...
 
char * rpmdsNewDNEVR (const char *dspfx, const rpmds ds)
 Return new formatted dependency string. More...
 
rpmds rpmdsThis (Header h, rpmTagVal tagN, rpmsenseFlags Flags)
 Create, load and initialize a dependency for this header. More...
 
rpmds rpmdsSingle (rpmTagVal tagN, const char *N, const char *EVR, rpmsenseFlags Flags)
 Create, load and initialize a dependency set of size 1. More...
 
rpmds rpmdsCurrent (rpmds ds)
 Return a new dependency set of size 1 from the current iteration index. More...
 
int rpmdsPutToHeader (rpmds ds, Header h)
 Write content of the dependency set to the header. More...
 
int rpmdsCount (const rpmds ds)
 Return dependency set count. More...
 
int rpmdsIx (const rpmds ds)
 Return dependency set index. More...
 
int rpmdsSetIx (rpmds ds, int ix)
 Set dependency set index. More...
 
const char * rpmdsDNEVR (const rpmds ds)
 Return current formatted dependency string. More...
 
char rpmdsD (const rpmds ds)
 Return one char indicating the type of the dependency. More...
 
rpmTagVal rpmdsDToTagN (char deptype)
 Return matching tagN for one char dependency type description. More...
 
const char * rpmdsN (const rpmds ds)
 Return current dependency name. More...
 
const char * rpmdsEVR (const rpmds ds)
 Return current dependency epoch-version-release. More...
 
int rpmdsTi (const rpmds ds)
 Return current dependency triggerindex. More...
 
rpmsenseFlags rpmdsFlags (const rpmds ds)
 Return current dependency flags. More...
 
rpmTagVal rpmdsTagN (const rpmds ds)
 Return current dependency type. More...
 
rpmTagVal rpmdsTagEVR (const rpmds ds)
 Return current dependency type. More...
 
rpmTagVal rpmdsTagF (const rpmds ds)
 Return current dependency type. More...
 
rpmTagVal rpmdsTagTi (const rpmds ds)
 Return current dependency type. More...
 
unsigned int rpmdsInstance (rpmds ds)
 Return dependency header instance, ie whether the dependency comes from an installed header or not. More...
 
int rpmdsNoPromote (const rpmds ds)
 Return current "Don't promote Epoch:" flag. More...
 
int rpmdsSetNoPromote (rpmds ds, int nopromote)
 Set "Don't promote Epoch:" flag. More...
 
rpm_color_t rpmdsColor (const rpmds ds)
 Return current dependency color. More...
 
rpm_color_t rpmdsSetColor (const rpmds ds, rpm_color_t color)
 Return current dependency color. More...
 
void rpmdsNotify (rpmds ds, const char *where, int rc)
 Notify of results of dependency match. More...
 
int rpmdsNext (rpmds ds)
 Return next dependency set iterator index. More...
 
rpmds rpmdsInit (rpmds ds)
 Initialize dependency set iterator. More...
 
int rpmdsFind (rpmds ds, const rpmds ods)
 Find a dependency set element using binary search. More...
 
int rpmdsMerge (rpmds *dsp, rpmds ods)
 Merge a dependency set maintaining (N,EVR,Flags) sorted order. More...
 
int rpmdsSearch (rpmds ds, rpmds ods)
 Search a sorted dependency set for an element that overlaps. More...
 
int rpmdsCompare (const rpmds A, const rpmds B)
 Compare two versioned dependency ranges, looking for overlap. More...
 
int rpmdsAnyMatchesDep (const Header h, const rpmds req, int nopromote)
 Compare package provides dependencies from header with a single dependency. More...
 
int rpmdsMatchesDep (const Header h, int ix, const rpmds req, int nopromote)
 Compare package provides dependencies from header with a single dependency. More...
 
int rpmdsNVRMatchesDep (const Header h, const rpmds req, int nopromote)
 Compare package name-version-release from header with a single dependency. More...
 
int rpmdsRpmlib (rpmds *dsp, const void *tblp)
 Load rpmlib provides into a dependency set. More...
 
rpmds rpmdsNewPool (rpmstrPool pool, Header h, rpmTagVal tagN, int flags)
 Create and load a dependency set. More...
 
rpmds rpmdsThisPool (rpmstrPool pool, Header h, rpmTagVal tagN, rpmsenseFlags Flags)
 Create, load and initialize a dependency for this header. More...
 
rpmds rpmdsSinglePool (rpmstrPool pool, rpmTagVal tagN, const char *N, const char *EVR, rpmsenseFlags Flags)
 Create, load and initialize a dependency set of size 1. More...
 
rpmds rpmdsSinglePoolTix (rpmstrPool pool, rpmTagVal tagN, const char *N, const char *EVR, rpmsenseFlags Flags, int triggerIndex)
 Create, load and initialize a trigger dependency set of size 1. More...
 
int rpmdsRpmlibPool (rpmstrPool pool, rpmds *dsp, const void *tblp)
 Load rpmlib provides into a dependency set. More...
 

Variables

int _rpmds_nopromote
 

Detailed Description

Structure(s) used for dependency tag sets.

Definition in file rpmds.h.

Macro Definition Documentation

#define _ALL_REQUIRES_MASK
#define _ERASE_ONLY_MASK   _notpre(RPMSENSE_SCRIPT_PREUN|RPMSENSE_SCRIPT_POSTUN)

Definition at line 81 of file rpmds.h.

Definition at line 79 of file rpmds.h.

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

Definition at line 78 of file rpmds.h.

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

Definition at line 86 of file rpmds.h.

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

Definition at line 85 of file rpmds.h.

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

Definition at line 84 of file rpmds.h.

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

Definition at line 57 of file rpmds.h.

Definition at line 60 of file rpmds.h.

Typedef Documentation

Definition at line 55 of file rpmds.h.

Function Documentation

int rpmdsRpmlib ( rpmds dsp,
const void *  tblp 
)

Load rpmlib provides into a dependency set.

Return values
*dsp(loaded) depedency set
Parameters
tblprpmlib provides table (NULL uses internal table)
Returns
0 on success
int rpmdsRpmlibPool ( rpmstrPool  pool,
rpmds dsp,
const void *  tblp 
)

Load rpmlib provides into a dependency set.

Parameters
poolshared string pool (or NULL for private pool)
Return values
*dsp(loaded) depedency set
Parameters
tblprpmlib provides table (NULL uses internal table)
Returns
0 on success

Variable Documentation

int _rpmds_nopromote