rpm  5.4.14
rpmte.h
Go to the documentation of this file.
1 #ifndef H_RPMTE
2 #define H_RPMTE
3 
8 #include <stdint.h> /* XXX unint32_t typedef */
9 #include <sys/types.h> /* XXX size_t typedef */
10 #include <rpmtypes.h>
11 #include <rpmiotypes.h>
12 #include <rpmfi.h>
13 #include <rpmtag.h>
14 #include <rpmio.h> /* XXX FD_t typedef */
15 
18 /*@-exportlocal@*/
19 /*@unchecked@*/
20 extern int _rpmte_debug;
21 /*@=exportlocal@*/
22 
26 typedef /*@abstract@*/ struct tsortInfo_s * tsortInfo;
27 
31 typedef /*@abstract@*/ /*@refcounted@*/ struct rpmtsi_s *rpmtsi;
32 
36 typedef enum rpmElementType_e {
37  TR_ADDED = (1 << 0),
38  TR_REMOVED = (1 << 1)
40 
41 #if defined(_RPMTE_INTERNAL)
42 #include <argv.h>
43 #include <rpmtxn.h>
44 #include <rpmal.h>
45 
46 typedef struct relation_s * relation;
47 
48 #if defined(_RPMTS_ORDER_INTERNAL)
49 struct relation_s {
50  rpmte rel_suc; // pkg requiring this package
51  rpmsenseFlags rel_flags; // accumulated flags of the requirements
52  struct relation_s * rel_next;
53 };
54 #endif
55 
59 /*@-fielduse@*/ /* LCL: confused by union? */
60 struct tsortInfo_s {
61 /*@owned@*/ /*@null@*/
62  tsortInfo tsi_next;
63 /*@exposed@*/ /*@dependent@*/ /*@null@*/
64  rpmte tsi_chain;
65  int tsi_tagn;
66  int tsi_queued;
67 
68  int tsi_count;
69  int tsi_qcnt;
70  int tsi_reqx;
71  relation tsi_relations;
72  relation tsi_forward_relations;
73  rpmte tsi_suc;
74  int tsi_SccIdx;
75  int tsi_SccLowlink;
76 };
77 /*@=fielduse@*/
78 
82 struct rpmChainLink_s {
83 /*@only@*/ /*@null@*/
84  ARGV_t Pkgid;
85 /*@only@*/ /*@null@*/
86  ARGV_t Hdrid;
87 /*@only@*/ /*@null@*/
88  ARGV_t NEVRA;
89 };
90 
93 typedef struct sharedFileInfo_s * sharedFileInfo;
94 
98 struct sharedFileInfo_s {
99  rpmuint32_t pkgFileNum;
100  rpmuint32_t otherFileNum;
101  rpmuint32_t otherPkg;
102  rpmuint32_t isRemoved;
103 };
104 
108 struct rpmte_s {
109  struct rpmioItem_s _item;
112 /*@refcounted@*/ /*@relnull@*/
113  Header h;
114 /*@only@*/
115  const char * NEVR;
116 /*@only@*/
117  const char * NEVRA;
118 /*@only@*/ /*@relnull@*/
119  const char * pkgid;
120 /*@only@*/ /*@relnull@*/
121  const char * hdrid;
122 /*@only@*/ /*@null@*/
123  const char * sourcerpm;
124 /*@only@*/
125  const char * name;
126 /*@only@*/ /*@null@*/
127  char * epoch;
128 /*@only@*/ /*@null@*/
129  char * version;
130 /*@only@*/ /*@null@*/
131  char * release;
132 #ifdef RPM_VENDOR_MANDRIVA
133 /*@only@*/ /*@null@*/
134  char * distepoch;
135 #endif
136 /*@only@*/ /*@null@*/
137  const char * arch;
138 /*@only@*/ /*@null@*/
139  const char * os;
140  int isSource;
142  rpmte parent;
143  int degree;
144  int npreds;
145  int tree;
146  int depth;
147  int breadth;
148  uint32_t db_instance;
149 /*@owned@*/
150  tsortInfo tsi;
152 /*@null@*/
153  rpmPRCO PRCO;
155 /*@null@*/
156  rpmtxn txn;
157 /*@refcounted@*/ /*@null@*/
158  rpmfi fi;
159 #ifdef REFERENCE
160  rpmpol pol;
161 #endif
162 
163  rpmuint32_t depFlags;
165  rpmuint32_t color;
166  rpmuint32_t pkgFileSize;
168 /*@exposed@*/ /*@dependent@*/ /*@null@*/
169  fnpyKey key;
170 /*@owned@*/ /*@null@*/
171  rpmRelocation relocs;
172  int nrelocs;
173  int autorelocatex;
174 /*@refcounted@*/ /*@null@*/
175  FD_t fd;
177 /*@owned@*/ /*@null@*/
178  sharedFileInfo replaced;
179  int nreplaced;
181  struct rpmChainLink_s blink;
182  struct rpmChainLink_s flink;
183  int linkFailed;
184  int done;
185  rpmuint32_t originTid[2];
186  rpmuint32_t originTime[2];
188  int installed;
189  int downgrade;
191  struct {
192 /*@exposed@*/ /*@dependent@*/ /*@null@*/
193  alKey addedKey;
194  struct {
195 /*@exposed@*/ /*@dependent@*/ /*@null@*/
196  alKey dependsOnKey;
197  uint32_t dboffset;
198  } removed;
199  } u;
200 #if defined(__LCLINT__)
201 /*@refs@*/
202  int nrefs;
203 #endif
204 };
205 
209 struct rpmtsi_s {
210  struct rpmioItem_s _item;
211 /*@refcounted@*/
212  rpmts ts;
213  int reverse;
214  int ocsave;
215  int oc;
216 #if defined(__LCLINT__)
217 /*@refs@*/
218  int nrefs;
219 #endif
220 };
221 
222 #ifdef __cplusplus
223 extern "C" {
224 #endif
225 
226 int rpmteClose(rpmte te, rpmts ts, int reset_fi)
227  /*@modifies te, ts @*/;
228 Header rpmteDBHeader(rpmts ts, uint32_t rec)
229  /*@modifies ts @*/;
231  /*@modifies ts, te @*/;
232 int rpmteOpen(rpmte te, rpmts ts, int reload_fi)
233  /*@modifies te, ts @*/;
234 
240 int rpmteFailed(rpmte te)
241  /*@*/;
242 
244  /*@*/;
245 
246 #ifdef __cplusplus
247 }
248 #endif
249 
250 #endif /* _RPMTE_INTERNAL */
251 
252 #ifdef __cplusplus
253 extern "C" {
254 #endif
255 
261 /*@unused@*/ /*@null@*/
262 rpmte rpmteFree(/*@only@*/ /*@null@*/ rpmte te)
263  /*@globals fileSystem @*/
264  /*@modifies te, fileSystem @*/;
265 #define rpmteFree(_te) \
266  ((rpmte) rpmioFreePoolItem((rpmioItem)(_te), __FUNCTION__, __FILE__, __LINE__))
267 
279 /*@only@*/ /*@null@*/
281  /*@exposed@*/ /*@dependent@*/ /*@null@*/ fnpyKey key,
282  /*@null@*/ rpmRelocation relocs,
283  uint32_t dboffset,
284  /*@exposed@*/ /*@dependent@*/ /*@null@*/ alKey pkgKey)
285  /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
286  /*@modifies ts, h, rpmGlobalMacroContext, fileSystem, internalState @*/;
287 
293 extern Header rpmteHeader(rpmte te)
294  /*@modifies te @*/;
295 
303  /*@modifies te, h @*/;
304 
311  /*@*/;
312 
318 /*@observer@*/
319 extern const char * rpmteN(rpmte te)
320  /*@*/;
321 
327 /*@observer@*/ /*@null@*/
328 extern const char * rpmteE(rpmte te)
329  /*@*/;
330 
336 /*@observer@*/ /*@null@*/
337 extern const char * rpmteV(rpmte te)
338  /*@*/;
339 
345 /*@observer@*/ /*@null@*/
346 extern const char * rpmteR(rpmte te)
347  /*@*/;
348 
354 /*@observer@*/ /*@null@*/
355 extern const char * rpmteD(rpmte te)
356  /*@*/;
357 
363 /*@observer@*/ /*@null@*/
364 extern const char * rpmteA(rpmte te)
365  /*@*/;
366 
372 /*@observer@*/ /*@null@*/
373 extern const char * rpmteO(rpmte te)
374  /*@*/;
375 
381 extern int rpmteIsSource(rpmte te)
382  /*@*/;
383 
390  /*@*/;
391 
399  /*@modifies te @*/;
400 
406 uint32_t rpmteDBInstance(rpmte te)
407  /*@*/;
408 
415 void rpmteSetDBInstance(rpmte te, unsigned int instance)
416  /*@modifies te @*/;
417 
425  /*@*/;
426 
432 /*@observer@*/
434  /*@*/;
435 
441 /*@observer@*/
443  /*@*/;
444 
450 int rpmteDepth(rpmte te)
451  /*@*/;
452 
459 int rpmteSetDepth(rpmte te, int ndepth)
460  /*@modifies te @*/;
461 
467 int rpmteBreadth(rpmte te)
468  /*@*/;
469 
476 int rpmteSetBreadth(rpmte te, int nbreadth)
477  /*@modifies te @*/;
478 
484 int rpmteNpreds(rpmte te)
485  /*@*/;
486 
493 int rpmteSetNpreds(rpmte te, int npreds)
494  /*@modifies te @*/;
495 
501 int rpmteTree(rpmte te)
502  /*@*/;
503 
510 int rpmteSetTree(rpmte te, int ntree)
511  /*@modifies te @*/;
512 
518 /*@observer@*/ /*@unused@*/
520  /*@*/;
521 
528 /*@null@*/
530  /*@modifies te @*/;
531 
537 int rpmteDegree(rpmte te)
538  /*@*/;
539 
546 int rpmteSetDegree(rpmte te, int ndegree)
547  /*@modifies te @*/;
548 
555  /*@*/;
556 
561 void rpmteFreeTSI(rpmte te)
562  /*@modifies te @*/;
563 
568 void rpmteNewTSI(rpmte te)
569  /*@modifies te @*/;
570 
575 /*@unused@*/
576 void rpmteCleanDS(rpmte te)
577  /*@modifies te @*/;
578 
579 #if defined(_RPMTE_INTERNAL)
580 
585 /*@exposed@*/ /*@dependent@*/ /*@null@*/
587  /*@*/;
588 
595 /*@exposed@*/ /*@dependent@*/ /*@null@*/
597  /*@exposed@*/ /*@dependent@*/ /*@null@*/ alKey npkgKey)
598  /*@modifies te @*/;
599 #endif /* _RPMTE_INTERNAL */
600 
607  /*@*/;
608 
614 /*@observer@*/
615 extern const char * rpmteNEVR(rpmte te)
616  /*@*/;
617 
623 /*@-exportlocal@*/
624 /*@observer@*/
625 extern const char * rpmteNEVRA(rpmte te)
626  /*@*/;
627 /*@=exportlocal@*/
628 
634 /*@-exportlocal@*/
635 /*@observer@*/ /*@null@*/
636 extern const char * rpmtePkgid(rpmte te)
637  /*@*/;
638 /*@=exportlocal@*/
639 
645 /*@-exportlocal@*/
646 /*@observer@*/ /*@null@*/
647 extern const char * rpmteHdrid(rpmte te)
648  /*@*/;
649 /*@=exportlocal@*/
650 
656 /*@-exportlocal@*/
657 /*@observer@*/ /*@null@*/
658 extern const char * rpmteSourcerpm(rpmte te)
659  /*@*/;
660 /*@=exportlocal@*/
661 
668  /*@*/;
669 
675 /*@exposed@*/
677  /*@*/;
678 
686  /*@*/;
687 
695  /*@*/;
696 /*@null@*/
698  /*@modifies te, fi @*/;
699 
705 /*@-exportlocal@*/
707  /*@modifies te @*/;
708 /*@=exportlocal@*/
709 
718 int rpmteChain(rpmte p, rpmte q, Header oh, /*@null@*/ const char * msg)
719  /*@globals internalState @*/
720  /*@modifies p, q, oh, internalState @*/;
721 
722 #define RPMTE_CHAIN_END "CHAIN END"
729 int rpmtsiOc(rpmtsi tsi)
730  /*@*/;
731 
737 /*@unused@*/ /*@null@*/
738 rpmtsi rpmtsiFree(/*@killref@*//*@null@*/ rpmtsi tsi)
739  /*@globals fileSystem @*/
740  /*@modifies fileSystem @*/;
741 #define rpmtsiFree(_tsi) \
742  ((rpmtsi)rpmioFreePoolItem((rpmioItem)(_tsi), __FUNCTION__, __FILE__, __LINE__))
743 
749 /*@unused@*/ /*@only@*/
751  /*@modifies ts @*/;
752 
760 /*@unused@*/ /*@only@*/
762  const char * fn, unsigned int ln)
763  /*@modifies ts @*/;
764 #define rpmtsiInit(_ts) XrpmtsiInit(_ts, __FILE__, __LINE__)
765 
772 /*@dependent@*/ /*@null@*/
774  /*@modifies tsi @*/;
775 
776 #if defined(DYING)
777 #if !defined(SWIG)
778 
780 static inline void rpmtePrintID(rpmte p)
781  /*@globals fileSystem @*/
782  /*@modifies fileSystem @*/
783 {
784  if (p != NULL) {
785  if (p->blink.Pkgid) argvPrint("blink.Pkgid", p->blink.Pkgid, NULL);
786  if (p->blink.Hdrid) argvPrint("blink.Hdrid", p->blink.Hdrid, NULL);
787  if (p->blink.NEVRA) argvPrint("blink.NEVRA", p->blink.NEVRA, NULL);
788  if (p->flink.Pkgid) argvPrint("flink.Pkgid", p->flink.Pkgid, NULL);
789  if (p->flink.Hdrid) argvPrint("flink.Hdrid", p->flink.Hdrid, NULL);
790  if (p->flink.NEVRA) argvPrint("flink.NEVRA", p->flink.NEVRA, NULL);
791  }
792 };
793 
796 static inline void hdrPrintInstalled(Header h)
797  /*@globals fileSystem @*/
798  /*@modifies h, fileSystem @*/
799 {
800  const char * qfmt = "[%{erasednevra} O:%{packageorigin} P:%{erasedpkgid} H:%{erasedhdrid}\n]";
801  const char * errstr = "(unknown error)";
802 /*@-modobserver@*/
803  const char * str = headerSprintf(h, qfmt, rpmTagTable, rpmHeaderFormats, &errstr);
804 /*@=modobserver@*/
805 
806  if (str == NULL)
807  fprintf(stderr, "error: %s\n", errstr);
808  else {
809  fprintf(stderr, "%s", str);
810  str = _free(str);
811  }
812 }
813 
816 static inline void hdrPrintErased(Header h)
817  /*@globals fileSystem @*/
818  /*@modifies h, fileSystem @*/
819 {
820  const char * qfmt = "[%{installednevra} O:%{packageorigin} P:%{installedpkgid} H:%{installedhdrid}\n]";
821  const char * errstr = "(unknown error)";
822 /*@-modobserver@*/
823  const char * str = headerSprintf(h, qfmt, rpmTagTable, rpmHeaderFormats, &errstr);
824 /*@=modobserver@*/
825  if (str == NULL)
826  fprintf(stderr, "error: %s\n", errstr);
827  else {
828  fprintf(stderr, "%s", str);
829  str = _free(str);
830  }
831 }
832 #endif
833 #endif
834 
835 #ifdef REFERENCE
836 
839 typedef struct rpmfs_s * rpmfs;
840 
843 struct sharedFileInfo_s {
844  int pkgFileNum;
845  int otherPkg;
846  int otherFileNum;
847 };
848 
849 typedef char rpm_fstate_t;
850 
851 struct rpmfs_s {
852  unsigned int fc;
853 
854  rpm_fstate_t * states;
855  rpmFileAction * actions;
857  sharedFileInfo replaced;
858  int numReplaced;
859  int allocatedReplaced;
860 };
861 
862 int rpmteMarkFailed(rpmte te, rpmts ts);
863 
864 rpmps rpmteProblems(rpmte te);
865 rpmfs rpmteGetFileStates(rpmte te);
866 rpmfs rpmfsNew(unsigned int fc, rpmElementType type);
867 rpmfs rpmfsFree(rpmfs fs);
868 rpm_count_t rpmfsFC(rpmfs fs);
869 void rpmfsAddReplaced(rpmfs fs, int pkgFileNum, int otherPkg, int otherFileNum);
870 sharedFileInfo rpmfsGetReplaced(rpmfs fs);
871 sharedFileInfo rpmfsNextReplaced(rpmfs fs , sharedFileInfo replaced);
872 void rpmfsSetState(rpmfs fs, unsigned int ix, rpmfileState state);
873 rpmfileState rpmfsGetState(rpmfs fs, unsigned int ix);
874 /*@null@*/
875 rpm_fstate_t * rpmfsGetStates(rpmfs fs);
876 void rpmfsSetAction(rpmfs fs, unsigned int ix, rpmFileAction action);
877 #endif /* REFERENCE */
878 
879 #ifdef __cplusplus
880 }
881 #endif
882 
883 #endif /* H_RPMTE */
const char * rpmteV(rpmte te)
Retrieve version string of transaction element.
Definition: rpmte.c:326
int rpmteBreadth(rpmte te)
Retrieve dependency tree breadth of transaction element.
Definition: rpmte.c:405
const char * rpmteNEVRA(rpmte te)
Retrieve name-version-release.arch string from transaction element.
Definition: rpmte.c:541
int rpmteClose(rpmte te, rpmts ts, int reset_fi)
Definition: rpmte.c:922
int oc
Definition: macro.c:748
iter fi
Definition: fsm.c:170
alKey pkgKey
Definition: rpmal-py.c:26
rpmuint32_t * rpmteOriginTime(rpmte te)
Retrieve time that package was first installed.
Definition: rpmte.c:385
headerTagTableEntry rpmTagTable
Automatically generated table of tag name/value pairs.
Definition: tagtbl.c:238
const char * rpmtePkgid(rpmte te)
Retrieve pkgid string from transaction element.
Definition: rpmte.c:546
int rpmteTree(rpmte te)
Retrieve tree index of transaction element.
Definition: rpmte.c:435
int rpmteOpen(rpmte te, rpmts ts, int reload_fi)
Definition: rpmte.c:880
void rpmteFreeTSI(rpmte te)
Destroy tsort info of transaction element.
Definition: rpmte.c:489
rpmuint32_t rpmteColor(rpmte te)
Retrieve color bits of transaction element.
Definition: rpmte.c:360
Header rpmteFDHeader(rpmts ts, rpmte te)
Definition: rpmte.c:856
struct rpmte_s * rpmte
An element of a transaction set, i.e.
Definition: rpmtypes.h:38
Header rpmteDBHeader(rpmts ts, uint32_t rec)
Definition: rpmte.c:843
rpmte rpmteSetParent(rpmte te, rpmte pte)
Set parent transaction element.
Definition: rpmte.c:455
q
Definition: macro.c:451
static PyObject *int type
Definition: rpmmi-py.c:151
void * alKey
An added/available package retrieval key.
Definition: rpmtypes.h:19
struct rpmPRCO_s * rpmPRCO
Container for commonly extracted dependency set(s).
Definition: rpmtypes.h:33
int rpmteSetNpreds(rpmte te, int npreds)
Set tsort no.
Definition: rpmte.c:425
Structure(s) used for file info tag sets.
rpmfi rpmteFI(rpmte te, rpmTag tag)
Retrieve file info tag set from transaction element.
Definition: rpmte.c:587
rpmuint32_t * rpmteOriginTid(rpmte te)
Retrieve transaction start time that package was first installed.
Definition: rpmte.c:380
struct rpmts_s * rpmts
The RPM Transaction Set.
Definition: rpmtypes.h:14
int rpmteDepth(rpmte te)
Retrieve dependency tree depth of transaction element.
Definition: rpmte.c:390
int rpmteNpreds(rpmte te)
Retrieve tsort no.
Definition: rpmte.c:420
The Header data structure.
headerSprintfExtension rpmHeaderFormats
Table of query format extensions.
Definition: formats.c:305
int rpmteSetBreadth(rpmte te, int nbreadth)
Set dependency tree breadth of transaction element.
Definition: rpmte.c:410
#define reverse(bot, top)
Definition: merge.c:102
enum rpmTag_e rpmTag
Definition: rpmtag.h:468
rpmte rpmtsiNext(rpmtsi tsi, rpmElementType type)
Return next transaction element of type.
Definition: rpmte.c:831
FD_t rpmteFd(rpmte te)
Retrieve file handle from transaction element.
Definition: rpmte.c:561
struct rpmps_s * rpmps
Transaction problems found while processing a transaction set/.
Definition: rpmps.h:25
const char * rpmteN(rpmte te)
Retrieve name string of transaction element.
Definition: rpmte.c:316
Header h
Definition: spec.c:739
int rpmteHaveTransScript(rpmte te, rpmTag tag)
Definition: rpmte.c:950
const char * rpmteA(rpmte te)
Retrieve arch string of transaction element.
Definition: rpmte.c:345
int rpmteSetDegree(rpmte te, int ndegree)
Set number of children of transaction element.
Definition: rpmte.c:472
rpmds rpmteDS(rpmte te, rpmTag tag)
Retrieve dependency tag set from transaction element.
Definition: rpmte.c:573
alKey rpmteSetAddedKey(rpmte te, alKey npkgKey)
Definition: rpmte.c:520
int rpmteChain(rpmte p, rpmte q, Header oh, const char *msg)
Chain p &lt;-&gt; q forward/backward transaction element links.
Definition: rpmte.c:682
enum rpmElementType_e rpmElementType
Transaction element type.
rpmuint32_t rpmteSetColor(rpmte te, rpmuint32_t color)
Set color bits of transaction element.
Definition: rpmte.c:365
rpmElementType_e
Transaction element type.
Definition: rpmte.h:36
unsigned int rpmuint32_t
Definition: rpmiotypes.h:28
int rpmteSetTree(rpmte te, int ntree)
Set tree index of transaction element.
Definition: rpmte.c:440
void rpmteColorDS(rpmte te, rpmTag tag)
Calculate transaction element dependency colors/refs from file info.
Definition: rpmte.c:613
int ix
Definition: rpmps-py.c:174
char * p
Definition: macro.c:413
char * headerSprintf(Header h, const char *fmt, headerTagTableEntry tags, headerSprintfExtension exts, errmsg_t *errmsg)
Return formatted output string from header tags.
Definition: hdrfmt.c:6748
alKey rpmteAddedKey(rpmte te)
Definition: rpmte.c:515
fprintf(stderr,"--> %s(%p,%p,%p) sig %p sigp %p\n", __FUNCTION__, dig, t, rsactx, sig, sigp)
#define rpmteFree(_te)
Definition: rpmte.h:265
enum evrFlags_e rpmsenseFlags
Definition: rpmevr.h:74
he tag
Definition: db3.c:1927
void rpmteNewTSI(rpmte te)
Initialize tsort info of transaction element.
Definition: rpmte.c:507
struct tsortInfo_s * tsortInfo
Transaction element ordering chain linkage.
Definition: rpmte.h:26
key
Definition: macro.c:383
The FD_t File Handle data structure.
rpmtsi XrpmtsiInit(rpmts ts, const char *fn, unsigned int ln)
Create transaction element iterator.
Definition: rpmte.c:791
int rpmteSetDepth(rpmte te, int ndepth)
Set dependency tree depth of transaction element.
Definition: rpmte.c:395
const char * rpmteSourcerpm(rpmte te)
Retrieve sourcerpm string from transaction element.
Definition: rpmte.c:556
node fd
Definition: rpmfd-py.c:124
rpmte rpmteNew(const rpmts ts, Header h, rpmElementType type, fnpyKey key, rpmRelocation relocs, uint32_t dboffset, alKey pkgKey)
Create a transaction element.
Definition: rpmte.c:245
struct rpmds_s * rpmds
Dependency tag sets from a header, so that a header can be discarded early.
Definition: rpmtypes.h:28
void argvPrint(const char *msg, ARGV_t argv, FILE *fp)
Print argv array elements.
Definition: argv.c:19
Definition: rpmte.h:37
Header rpmteSetHeader(rpmte te, Header h)
Save header into transaction element.
Definition: rpmte.c:298
int rpmteDegree(rpmte te)
Retrieve number of children of transaction element.
Definition: rpmte.c:467
int rpmteIsSource(rpmte te)
Retrieve isSource attribute of transaction element.
Definition: rpmte.c:355
const char * rpmteD(rpmte te)
Retrieve distepoch string of transaction element.
Definition: rpmte.c:336
int _rpmte_debug
Definition: rpmte.c:26
fts u
Definition: rpmmtree.c:3828
void rpmteCleanDS(rpmte te)
Destroy dependency set info of transaction element.
Definition: rpmte.c:38
enum rpmfileState_e rpmfileState
File States (when installed).
struct rpmtsi_s * rpmtsi
Transaction element iterator.
Definition: rpmte.h:31
void rpmteSetDBInstance(rpmte te, unsigned int instance)
Set last instance installed to the database.
Definition: rpmte.c:285
rpmte rpmteParent(rpmte te)
Retrieve parent transaction element.
Definition: rpmte.c:450
const char * rpmteO(rpmte te)
Retrieve os string of transaction element.
Definition: rpmte.c:350
static PyObject *rpmtransFlags transFlags
Definition: rpmts-py.c:785
const char * rpmteE(rpmte te)
Retrieve epoch string of transaction element.
Definition: rpmte.c:321
te
Definition: macro.c:552
const void * fnpyKey
Definition: rpmiotypes.h:121
rpmfi rpmteSetFI(rpmte te, rpmfi fi)
Definition: rpmte.c:601
const char * msg
Definition: rpmts-py.c:976
rpmElementType rpmteType(rpmte te)
Retrieve type of transaction element.
Definition: rpmte.c:311
return NULL
Definition: poptALL.c:613
Header rpmteHeader(rpmte te)
Retrieve header from transaction element.
Definition: rpmte.c:291
mb depth
Definition: macro.c:2516
tsortInfo rpmteTSI(rpmte te)
Retrieve tsort info for transaction element.
Definition: rpmte.c:482
static const char * name
Structures used for managing added/available package lists.
const char * rpmteNEVR(rpmte te)
Retrieve name-version-release string from transaction element.
Definition: rpmte.c:536
int rpmteFailed(rpmte te)
Definition: rpmte.c:945
struct rpmfi_s * rpmfi
File info tag sets from a header, so that a header can be discarded early.
Definition: rpmfi.h:83
const char * rpmteR(rpmte te)
Retrieve release string of transaction element.
Definition: rpmte.c:331
fnpyKey rpmteKey(rpmte te)
Retrieve key from transaction element.
Definition: rpmte.c:568
ARGstr_t * ARGV_t
Definition: argv.h:12
int rpmteDBOffset(rpmte te)
Retrieve rpmdb instance of TR_REMOVED transaction element.
Definition: rpmte.c:531
PRCO
Definition: rpmds-py.c:441
static void * _free(const void *p)
Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
Definition: rpmiotypes.h:647
#define rpmtsiInit(_ts)
Definition: rpmte.h:764
uint32_t rpmteDBInstance(rpmte te)
Retrieve last instance installed to the database.
Definition: rpmte.c:279
size_t fn
Definition: macro.c:1698
rpmuint32_t rpmtePkgFileSize(rpmte te)
Retrieve size in bytes of package file.
Definition: rpmte.c:375
const char * rpmteHdrid(rpmte te)
Retrieve hdrid string from transaction element.
Definition: rpmte.c:551
#define rpmtsiFree(_tsi)
Definition: rpmte.h:741