Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

lib/rpmte.h File Reference

Structures used for an "rpmte" transaction element. More...

Go to the source code of this file.

Defines

#define rpmtsiFree(_tsi)   XrpmtsiFree(_tsi, __FILE__, __LINE__)
#define rpmtsiInit(_ts)   XrpmtsiInit(_ts, __FILE__, __LINE__)

Typedefs

typedef tsortInfo_s * tsortInfo
 Transaction element ordering chain linkage.

typedef rpmtsi_s * rpmtsi
 Transaction element iterator.

typedef enum rpmElementType_e rpmElementType

Enumerations

enum  rpmElementType_e { TR_ADDED = (1 << 0), TR_REMOVED = (1 << 1) }

Functions

rpmte rpmteFree (rpmte te)
 Destroy a transaction element.

rpmte rpmteNew (const rpmts ts, Header h, rpmElementType type, fnpyKey key, rpmRelocation *relocs, int dboffset, alKey pkgKey)
 Create a transaction element.

rpmElementType rpmteType (rpmte te)
 Retrieve type of transaction element.

const char * rpmteN (rpmte te)
 Retrieve name string of transaction element.

const char * rpmteE (rpmte te)
 Retrieve epoch string of transaction element.

const char * rpmteV (rpmte te)
 Retrieve version string of transaction element.

const char * rpmteR (rpmte te)
 Retrieve release string of transaction element.

const char * rpmteA (rpmte te)
 Retrieve arch string of transaction element.

const char * rpmteO (rpmte te)
 Retrieve os string of transaction element.

uint_32 rpmteColor (rpmte te)
 Retrieve color bits of transaction element.

uint_32 rpmteSetColor (rpmte te, uint_32 color)
 Set color bits of transaction element.

uint_32 rpmtePkgFileSize (rpmte te)
 Retrieve size in bytes of package file.

int rpmteDepth (rpmte te)
 Retrieve tsort tree depth of transaction element.

int rpmteSetDepth (rpmte te, int ndepth)
 Set tsort tree depth of transaction element.

int rpmteNpreds (rpmte te)
 Retrieve tsort no.

int rpmteSetNpreds (rpmte te, int npreds)
 Set tsort no.

int rpmteTree (rpmte te)
 Retrieve tree index of transaction element.

int rpmteSetTree (rpmte te, int ntree)
 Set tree index of transaction element.

rpmte rpmteParent (rpmte te)
 Retrieve parent transaction element.

rpmte rpmteSetParent (rpmte te, rpmte pte)
 Set parent transaction element.

int rpmteDegree (rpmte te)
 Retrieve number of children of transaction element.

int rpmteSetDegree (rpmte te, int ndegree)
 Set number of children of transaction element.

tsortInfo rpmteTSI (rpmte te)
 Retrieve tsort info for transaction element.

void rpmteFreeTSI (rpmte te)
 Destroy tsort info of transaction element.

void rpmteNewTSI (rpmte te)
 Initialize tsort info of transaction element.

void rpmteCleanDS (rpmte te)
 Destroy dependency set info of transaction element.

alKey rpmteAddedKey (rpmte te)
 Retrieve pkgKey of TR_ADDED transaction element.

alKey rpmteSetAddedKey (rpmte te, alKey npkgKey)
 Set pkgKey of TR_ADDED transaction element.

alKey rpmteDependsOnKey (rpmte te)
 Retrieve dependent pkgKey of TR_REMOVED transaction element.

int rpmteDBOffset (rpmte te)
 Retrieve rpmdb instance of TR_REMOVED transaction element.

const char * rpmteNEVR (rpmte te)
 Retrieve name-version-release string from transaction element.

const char * rpmteNEVRA (rpmte te)
 Retrieve name-version-release.arch string from transaction element.

FD_t rpmteFd (rpmte te)
 Retrieve file handle from transaction element.

fnpyKey rpmteKey (rpmte te)
 Retrieve key from transaction element.

rpmds rpmteDS (rpmte te, rpmTag tag)
 Retrieve dependency tag set from transaction element.

rpmfi rpmteFI (rpmte te, rpmTag tag)
 Retrieve file info tag set from transaction element.

void rpmteColorDS (rpmte te, rpmTag tag)
 Calculate transaction element dependency colors/refs from file info.

int rpmtsiOc (rpmtsi tsi)
 Return transaction element index.

rpmtsi rpmtsiFree (rpmtsi tsi)
 Destroy transaction element iterator.

rpmtsi XrpmtsiFree (rpmtsi tsi, const char *fn, unsigned int ln)
 Destroy transaction element iterator.

rpmtsi rpmtsiInit (rpmts ts)
 Create transaction element iterator.

rpmtsi XrpmtsiInit (rpmts ts, const char *fn, unsigned int ln)
 Create transaction element iterator.

rpmte rpmtsiNext (rpmtsi tsi, rpmElementType type)
 Return next transaction element of type.


Variables

int _rpmte_debug


Detailed Description

Structures used for an "rpmte" transaction element.

Definition in file rpmte.h.


Define Documentation

#define rpmtsiFree _tsi       XrpmtsiFree(_tsi, __FILE__, __LINE__)
 

Definition at line 514 of file rpmte.h.

Referenced by addRelation(), rpmGraph(), rpmts_iternext(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsClean(), rpmtsEmpty(), rpmtsGetKeys(), rpmtsOrder(), and rpmtsRun().

#define rpmtsiInit _ts       XrpmtsiInit(_ts, __FILE__, __LINE__)
 

Definition at line 536 of file rpmte.h.

Referenced by addRelation(), rpmGraph(), rpmts_iternext(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsClean(), rpmtsEmpty(), rpmtsGetKeys(), rpmtsOrder(), and rpmtsRun().


Typedef Documentation

typedef struct rpmtsi_s* rpmtsi
 

Transaction element iterator.

Definition at line 24 of file rpmte.h.

Referenced by addRelation(), rpmGraph(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsClean(), rpmtsEmpty(), rpmtsGetKeys(), rpmtsiFi(), rpmtsiNext(), rpmtsiNextElement(), rpmtsiOc(), rpmtsOrder(), rpmtsRun(), XrpmtsiFree(), and XrpmtsiInit().

typedef struct tsortInfo_s* tsortInfo
 

Transaction element ordering chain linkage.

Definition at line 19 of file rpmte.h.

Referenced by addRelation(), markLoop(), rpmteFreeTSI(), rpmteTSI(), rpmtsOrder(), and zapRelation().


Function Documentation

const char* rpmteA rpmte    te
 

Retrieve arch string of transaction element.

Parameters:
te  transaction element
Returns:
arch string

Definition at line 253 of file rpmte.c.

References rpmte.

Referenced by rpmte_A(), rpmtsAddInstallElement(), rpmtsCheck(), and rpmtsRun().

alKey rpmteAddedKey rpmte    te
 

Retrieve pkgKey of TR_ADDED transaction element.

Parameters:
te  transaction element
Returns:
pkgKey

Definition at line 395 of file rpmte.c.

References alKey, RPMAL_NOMATCH, and rpmte.

Referenced by addRelation(), rpmte_AddedKey(), rpmtsAddInstallElement(), rpmtsOrder(), and rpmtsRun().

void rpmteCleanDS rpmte    te
 

Destroy dependency set info of transaction element.

Parameters:
te  transaction element

Definition at line 25 of file rpmte.c.

References rpmdsFree(), and rpmte.

Referenced by delTE(), and rpmtsClean().

uint_32 rpmteColor rpmte    te
 

Retrieve color bits of transaction element.

Parameters:
te  transaction element
Returns:
color bits

Definition at line 263 of file rpmte.c.

References rpmte, and uint_32.

Referenced by handleInstInstalledFiles(), rpmte_Color(), rpmtsCheck(), and rpmtsRun().

void rpmteColorDS rpmte    te,
rpmTag    tag
 

Calculate transaction element dependency colors/refs from file info.

Parameters:
te  transaction element
tag  dependency tag (RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME)

Definition at line 481 of file rpmte.c.

References alloca(), int_32, rpmds, rpmdsCount(), rpmdsInit(), rpmdsNext(), rpmdsSetColor(), rpmdsSetRefs(), rpmfi, rpmfiFC(), rpmfiFColor(), rpmfiFDepends(), rpmfiInit(), rpmfiNext(), rpmTag, RPMTAG_BASENAMES, RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME, rpmte, rpmteDS(), and rpmteFI().

Referenced by addTE().

int rpmteDBOffset rpmte    te
 

Retrieve rpmdb instance of TR_REMOVED transaction element.

Parameters:
te  transaction element
Returns:
rpmdb instance

Definition at line 416 of file rpmte.c.

References rpmte.

Referenced by rpmte_DBOffset(), and rpmtsRun().

int rpmteDegree rpmte    te
 

Retrieve number of children of transaction element.

Parameters:
te  transaction element
Returns:
tree index

Definition at line 347 of file rpmte.c.

References rpmte.

Referenced by rpmte_Degree(), and rpmtsOrder().

alKey rpmteDependsOnKey rpmte    te
 

Retrieve dependent pkgKey of TR_REMOVED transaction element.

Parameters:
te  transaction element
Returns:
dependent pkgKey

Definition at line 411 of file rpmte.c.

References alKey, RPMAL_NOMATCH, and rpmte.

Referenced by rpmte_DependsOnKey(), rpmtsOrder(), and rpmtsRun().

int rpmteDepth rpmte    te
 

Retrieve tsort tree depth of transaction element.

Parameters:
te  transaction element
Returns:
depth

Definition at line 283 of file rpmte.c.

References rpmte.

Referenced by addRelation(), rpmGraph(), rpmte_Depth(), and rpmtsOrder().

rpmds rpmteDS rpmte    te,
rpmTag    tag
 

Retrieve dependency tag set from transaction element.

Parameters:
te  transaction element
tag  dependency tag
Returns:
dependency tag set

Definition at line 443 of file rpmte.c.

References rpmds, rpmTag, RPMTAG_CONFLICTNAME, RPMTAG_NAME, RPMTAG_OBSOLETENAME, RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME, and rpmte.

Referenced by rpmte_DS(), rpmteColorDS(), rpmtsAddInstallElement(), rpmtsCheck(), and rpmtsOrder().

const char* rpmteE rpmte    te
 

Retrieve epoch string of transaction element.

Parameters:
te  transaction element
Returns:
epoch string

Definition at line 238 of file rpmte.c.

References rpmte.

Referenced by ensureOlder(), rpmte_E(), and rpmtsRun().

FD_t rpmteFd rpmte    te
 

Retrieve file handle from transaction element.

Parameters:
te  transaction element
Returns:
file handle

Definition at line 431 of file rpmte.c.

References rpmte.

Referenced by rpmpsmStage(), and rpmtsRun().

rpmfi rpmteFI rpmte    te,
rpmTag    tag
 

Retrieve file info tag set from transaction element.

Parameters:
te  transaction element
tag  file info tag (RPMTAG_BASENAMES)
Returns:
file info tag set

Definition at line 468 of file rpmte.c.

References rpmfi, rpmTag, RPMTAG_BASENAMES, and rpmte.

Referenced by rpmte_FI(), rpmteColorDS(), rpmtsAddInstallElement(), rpmtsCheck(), and rpmtsCheckDSIProblems().

rpmte rpmteFree rpmte    te
 

Destroy a transaction element.

Parameters:
te  transaction element
Returns:
NULL always

Definition at line 188 of file rpmte.c.

References _free(), delTE(), and rpmte.

Referenced by rpmpsmFree(), rpmtsAddInstallElement(), and rpmtsEmpty().

void rpmteFreeTSI rpmte    te
 

Destroy tsort info of transaction element.

Parameters:
te  transaction element

Definition at line 369 of file rpmte.c.

References _free(), rpmte, rpmteTSI(), and tsortInfo.

Referenced by rpmteNewTSI(), and rpmtsOrder().

fnpyKey rpmteKey rpmte    te
 

Retrieve key from transaction element.

Parameters:
te  transaction element
Returns:
key

Definition at line 438 of file rpmte.c.

References fnpyKey, and rpmte.

Referenced by ensureOlder(), handleInstInstalledFiles(), handleOverlappedFiles(), relocateFileList(), rpmte_Key(), rpmtsCheckDSIProblems(), rpmtsGetKeys(), and rpmtsRun().

const char* rpmteN rpmte    te
 

Retrieve name string of transaction element.

Parameters:
te  transaction element
Returns:
name string

Definition at line 233 of file rpmte.c.

References rpmte.

Referenced by ensureOlder(), ignoreDep(), rpmGraph(), rpmpsmStage(), rpmte_N(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsRun(), and runTriggers().

const char* rpmteNEVR rpmte    te
 

Retrieve name-version-release string from transaction element.

Parameters:
te  transaction element
Returns:
name-version-release string

Definition at line 421 of file rpmte.c.

References rpmte.

Referenced by ensureOlder(), handleInstInstalledFiles(), handleOverlappedFiles(), relocateFileList(), rpmte_NEVR(), rpmte_print(), rpmtsCheck(), rpmtsCheckDSIProblems(), rpmtsOrder(), rpmtsRun(), and zapRelation().

const char* rpmteNEVRA rpmte    te
 

Retrieve name-version-release.arch string from transaction element.

Parameters:
te  transaction element
Returns:
name-version-release.arch string

Definition at line 426 of file rpmte.c.

References rpmte.

rpmte rpmteNew const rpmts    ts,
Header    h,
rpmElementType    type,
fnpyKey    key,
rpmRelocation   relocs,
int    dboffset,
alKey    pkgKey
 

Create a transaction element.

Parameters:
ts  transaction set
h  header
type  TR_ADDED/TR_REMOVED
key  (TR_ADDED) package retrieval key (e.g. file name)
relocs  (TR_ADDED) package file relocations
dboffset  (TR_REMOVED) rpmdb instance
pkgKey  associated added package (if any)
Returns:
new transaction element

Definition at line 198 of file rpmte.c.

References addTE(), alKey, fnpyKey, headerGetEntry(), int_32, rpmElementType, RPMTAG_SIGSIZE, rpmte, rpmts, TR_ADDED, TR_REMOVED, and xcalloc().

Referenced by removePackage(), and rpmtsAddInstallElement().

void rpmteNewTSI rpmte    te
 

Initialize tsort info of transaction element.

Parameters:
te  transaction element

Definition at line 387 of file rpmte.c.

References rpmte, rpmteFreeTSI(), and xcalloc().

Referenced by rpmtsOrder().

int rpmteNpreds rpmte    te
 

Retrieve tsort no.

of predecessors of transaction element.

Parameters:
te  transaction element
Returns:
no. of predecessors

Definition at line 298 of file rpmte.c.

References rpmte.

Referenced by rpmte_Npreds(), and rpmtsOrder().

const char* rpmteO rpmte    te
 

Retrieve os string of transaction element.

Parameters:
te  transaction element
Returns:
os string

Definition at line 258 of file rpmte.c.

References rpmte.

Referenced by rpmte_O(), rpmtsAddInstallElement(), rpmtsCheck(), and rpmtsRun().

rpmte rpmteParent rpmte    te
 

Retrieve parent transaction element.

Parameters:
te  transaction element
Returns:
parent transaction element

Definition at line 328 of file rpmte.c.

References rpmte.

Referenced by rpmGraph(), and rpmte_Parent().

uint_32 rpmtePkgFileSize rpmte    te
 

Retrieve size in bytes of package file.

Todo:
Signature header is estimated at 256b.
Parameters:
te  transaction element
Returns:
size in bytes of package file.

Definition at line 278 of file rpmte.c.

References rpmte, and uint_32.

Referenced by rpmte_PkgFileSize(), and rpmtsOrder().

const char* rpmteR rpmte    te
 

Retrieve release string of transaction element.

Parameters:
te  transaction element
Returns:
release string

Definition at line 248 of file rpmte.c.

References rpmte.

Referenced by ensureOlder(), rpmte_R(), and rpmtsRun().

alKey rpmteSetAddedKey rpmte    te,
alKey    npkgKey
 

Set pkgKey of TR_ADDED transaction element.

Parameters:
te  transaction element
npkgKey  new pkgKey
Returns:
previous pkgKey

Definition at line 400 of file rpmte.c.

References alKey, RPMAL_NOMATCH, and rpmte.

Referenced by rpmtsAddInstallElement().

uint_32 rpmteSetColor rpmte    te,
uint_32    color
 

Set color bits of transaction element.

Parameters:
te  transaction element
color  new color bits
Returns:
previous color bits

Definition at line 268 of file rpmte.c.

References rpmte, and uint_32.

int rpmteSetDegree rpmte    te,
int    ndegree
 

Set number of children of transaction element.

Parameters:
te  transaction element
ndegree  new number of children
Returns:
previous number of children

Definition at line 352 of file rpmte.c.

References rpmte.

Referenced by rpmtsOrder().

int rpmteSetDepth rpmte    te,
int    ndepth
 

Set tsort tree depth of transaction element.

Parameters:
te  transaction element
ndepth  new depth
Returns:
previous depth

Definition at line 288 of file rpmte.c.

References rpmte.

Referenced by addRelation(), and rpmtsOrder().

int rpmteSetNpreds rpmte    te,
int    npreds
 

Set tsort no.

of predecessors of transaction element.

Parameters:
te  transaction element
npreds  new no. of predecessors
Returns:
previous no. of predecessors

Definition at line 303 of file rpmte.c.

References rpmte.

Referenced by rpmtsOrder().

rpmte rpmteSetParent rpmte    te,
rpmte    pte
 

Set parent transaction element.

Parameters:
te  transaction element
pte  new parent transaction element
Returns:
previous parent transaction element

Definition at line 333 of file rpmte.c.

References rpmte.

Referenced by rpmtsOrder().

int rpmteSetTree rpmte    te,
int    ntree
 

Set tree index of transaction element.

Parameters:
te  transaction element
ntree  new tree index
Returns:
previous tree index

Definition at line 318 of file rpmte.c.

References rpmte.

Referenced by rpmtsOrder().

int rpmteTree rpmte    te
 

Retrieve tree index of transaction element.

Parameters:
te  transaction element
Returns:
tree index

Definition at line 313 of file rpmte.c.

References rpmte.

Referenced by rpmGraph(), rpmte_Tree(), and rpmtsOrder().

tsortInfo rpmteTSI rpmte    te
 

Retrieve tsort info for transaction element.

Parameters:
te  transaction element
Returns:
tsort info

Definition at line 362 of file rpmte.c.

References rpmte, and tsortInfo.

Referenced by addQ(), addRelation(), markLoop(), rpmteFreeTSI(), rpmtsOrder(), and zapRelation().

rpmElementType rpmteType rpmte    te
 

Retrieve type of transaction element.

Parameters:
te  transaction element
Returns:
type

Definition at line 228 of file rpmte.c.

References rpmElementType, and rpmte.

Referenced by addRelation(), fsmMapPath(), handleOverlappedFiles(), mapInitIterator(), rpmfiNew(), rpmfiTypeString(), rpmte_print(), rpmte_TEType(), rpmtsAddInstallElement(), rpmtsGetKeys(), rpmtsOrder(), and rpmtsRun().

const char* rpmteV rpmte    te
 

Retrieve version string of transaction element.

Parameters:
te  transaction element
Returns:
version string

Definition at line 243 of file rpmte.c.

References rpmte.

Referenced by ensureOlder(), rpmte_V(), and rpmtsRun().

rpmtsi rpmtsiFree rpmtsi    tsi
 

Destroy transaction element iterator.

Parameters:
tsi  transaction element iterator
Returns:
NULL always

rpmtsi rpmtsiInit rpmts    ts
 

Create transaction element iterator.

Parameters:
ts  transaction set
Returns:
transaction element iterator

rpmte rpmtsiNext rpmtsi    tsi,
rpmElementType    type
 

Return next transaction element of type.

Parameters:
tsi  transaction element iterator
type  transaction element type selector (0 for any)
Returns:
next transaction element of type, NULL on termination

Definition at line 612 of file rpmte.c.

References rpmElementType, rpmte, rpmtsi, and rpmtsiNextElement().

Referenced by addRelation(), rpmGraph(), rpmts_iternext(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsClean(), rpmtsEmpty(), rpmtsGetKeys(), rpmtsOrder(), and rpmtsRun().

int rpmtsiOc rpmtsi    tsi
 

Return transaction element index.

Parameters:
tsi  transaction element iterator
Returns:
transaction element index

Definition at line 549 of file rpmte.c.

References rpmtsi.

Referenced by rpmtsOrder(), and rpmtsRun().

rpmtsi XrpmtsiFree rpmtsi    tsi,
const char *    fn,
unsigned int    ln
 

Destroy transaction element iterator.

Parameters:
tsi  transaction element iterator
fn 
ln 
Returns:
NULL always

Definition at line 554 of file rpmte.c.

References _free(), rpmtsFree(), and rpmtsi.

rpmtsi XrpmtsiInit rpmts    ts,
const char *    fn,
unsigned int    ln
 

Create transaction element iterator.

Parameters:
ts  transaction set
fn 
ln 
Returns:
transaction element iterator

Definition at line 568 of file rpmte.c.

References RPMTRANS_FLAG_REVERSE, rpmts, rpmtsFlags(), rpmtsi, rpmtsLink, rpmtsNElements(), and xcalloc().


Variable Documentation

int _rpmte_debug
 

Definition at line 13 of file rpmte.h.


Generated on Sun Oct 26 13:02:05 2003 for rpm by doxygen1.2.18