00001 #ifndef H_RPMTE
00002 #define H_RPMTE
00003
00009 #include <rpm/rpmal.h>
00010
00011 #ifdef __cplusplus
00012 extern "C" {
00013 #endif
00014
00017 extern int _rpmte_debug;
00018
00022 typedef struct tsortInfo_s * tsortInfo;
00023
00027 typedef struct rpmtsi_s * rpmtsi;
00028
00032 typedef enum rpmElementType_e {
00033 TR_ADDED = (1 << 0),
00034 TR_REMOVED = (1 << 1)
00035 } rpmElementType;
00036
00042 rpmte rpmteFree(rpmte te);
00043
00055 rpmte rpmteNew(const rpmts ts, Header h, rpmElementType type,
00056 fnpyKey key,
00057 rpmRelocation * relocs,
00058 int dboffset,
00059 rpmalKey pkgKey);
00060
00066 Header rpmteHeader(rpmte te);
00067
00074 Header rpmteSetHeader(rpmte te, Header h);
00075
00081 rpmElementType rpmteType(rpmte te);
00082
00088 const char * rpmteN(rpmte te);
00089
00095 const char * rpmteE(rpmte te);
00096
00102 const char * rpmteV(rpmte te);
00103
00109 const char * rpmteR(rpmte te);
00110
00116 const char * rpmteA(rpmte te);
00117
00123 const char * rpmteO(rpmte te);
00124
00130 int rpmteIsSource(rpmte te);
00131
00137 rpm_color_t rpmteColor(rpmte te);
00138
00145 rpm_color_t rpmteSetColor(rpmte te, rpm_color_t color);
00146
00152 unsigned int rpmteDBInstance(rpmte te);
00153
00160 void rpmteSetDBInstance(rpmte te, unsigned int instance);
00161
00168 rpm_loff_t rpmtePkgFileSize(rpmte te);
00169
00175 int rpmteDepth(rpmte te);
00176
00183 int rpmteSetDepth(rpmte te, int ndepth);
00184
00190 int rpmteBreadth(rpmte te);
00191
00198 int rpmteSetBreadth(rpmte te, int nbreadth);
00199
00205 int rpmteNpreds(rpmte te);
00206
00213 int rpmteSetNpreds(rpmte te, int npreds);
00214
00220 int rpmteTree(rpmte te);
00221
00228 int rpmteSetTree(rpmte te, int ntree);
00229
00235 rpmte rpmteParent(rpmte te);
00236
00243 rpmte rpmteSetParent(rpmte te, rpmte pte);
00244
00250 int rpmteDegree(rpmte te);
00251
00258 int rpmteSetDegree(rpmte te, int ndegree);
00259
00265 tsortInfo rpmteTSI(rpmte te);
00266
00271 void rpmteFreeTSI(rpmte te);
00272
00277 void rpmteNewTSI(rpmte te);
00278
00283 void rpmteCleanDS(rpmte te);
00284
00290 rpmalKey rpmteAddedKey(rpmte te);
00291
00298 rpmalKey rpmteSetAddedKey(rpmte te,
00299 rpmalKey npkgKey);
00300
00306 rpmalKey rpmteDependsOnKey(rpmte te);
00307
00313 int rpmteDBOffset(rpmte te);
00314
00320 const char * rpmteEVR(rpmte te);
00321
00327 const char * rpmteNEVR(rpmte te);
00328
00334 const char * rpmteNEVRA(rpmte te);
00335
00341 FD_t rpmteFd(rpmte te);
00342
00348 fnpyKey rpmteKey(rpmte te);
00349
00356 rpmds rpmteDS(rpmte te, rpmTag tag);
00357
00364 rpmfi rpmteFI(rpmte te, rpmTag tag);
00365
00371 void rpmteColorDS(rpmte te, rpmTag tag);
00372
00378 int rpmtsiOc(rpmtsi tsi);
00379
00385 rpmtsi rpmtsiFree(rpmtsi tsi);
00386
00392 rpmtsi rpmtsiInit(rpmts ts);
00393
00400 rpmte rpmtsiNext(rpmtsi tsi, rpmElementType type);
00401
00402 #ifdef __cplusplus
00403 }
00404 #endif
00405
00406 #endif