rpm  5.4.14
rpmtag.h
Go to the documentation of this file.
1 #ifndef H_RPMTAG
2 #define H_RPMTAG
3 
8 #include <stdint.h> /* XXX unint32_t typedef */
9 #include <rpmiotypes.h>
10 #include <rpmsw.h>
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
18 typedef const char * errmsg_t;
19 
22 typedef /*@abstract@*/ /*@refcounted@*/ struct headerToken_s * Header;
23 
28  /* RPM_NULL_TYPE = 0 - never been used. */
29  /* RPM_CHAR_TYPE = 1 - never been used, same as RPM_UINT8_TYPE. */
38  /* RPM_ASN1_TYPE = 10 - never been used. */
39  /* RPM_OPENPGP_TYPE= 11 - never been used. */
40 };
41 #define RPM_MIN_TYPE 2
42 #define RPM_MAX_TYPE 9
43 #define RPM_MASK_TYPE 0x0000ffff
44 
47 typedef enum rpmTagType_e rpmTagType;
51 typedef union rpmDataType_u rpmTagData;
59 typedef struct _HE_s * HE_t;
63 /*@-typeuse -fielduse@*/
64 #if !defined(SWIG)
66 /*@null@*/
67  void * ptr;
72 /*@relnull@*/
73  const char * str;
74  unsigned char * blob;
75  const char ** argv;
76  HE_t he;
77 };
78 #endif
79 /*@=typeuse =fielduse@*/
80 
81 /*@=typeuse =fielduse@*/
84 /*@-enummemuse -typeuse @*/
85 typedef enum rpmSubTagType_e {
90 /*@=enummemuse =typeuse @*/
91 
95 /*@-enummemuse -typeuse @*/
96 typedef enum rpmTagReturnType_e {
98  RPM_SCALAR_RETURN_TYPE = 0x00010000,
99  RPM_ARRAY_RETURN_TYPE = 0x00020000,
101  /* 0x00080000 */
102  RPM_PROBE_RETURN_TYPE = 0x00100000,
103  RPM_TREE_RETURN_TYPE = 0x00200000,
105  RPM_X509_RETURN_TYPE = 0x00800000,
106  RPM_ASN1_RETURN_TYPE = 0x01000000,
108  RPM_MASK_RETURN_TYPE = 0xffff0000
110 /*@=enummemuse =typeuse @*/
111 
116 #define HEADER_IMAGE 61
117 #define HEADER_SIGNATURES 62
118 #define HEADER_IMMUTABLE 63
119 #define HEADER_REGIONS 64
120 #define HEADER_I18NTABLE 100
121 #define HEADER_SIGBASE 256
122 #define HEADER_TAGBASE 1000
123 
126 typedef /*@abstract@*/ struct headerIterator_s * HeaderIterator;
127 
130 typedef /*@abstract@*/ struct headerTagIndices_s * headerTagIndices;
131 
134 typedef /*@abstract@*/ const struct headerSprintfExtension_s * headerSprintfExtension;
135 
140 enum rpmTag_e {
141 
145 /*@-enummemuse@*/
149 /*@=enummemuse@*/
150 
151 /* Retrofit (and uniqify) signature tags for use by tagName() and rpmQuery. */
152 /* the md5 sum was broken *twice* on big endian machines */
153 /* XXX 2nd underscore prevents tagTable generation */
156  RPMTAG_SIGLEMD5_1 = RPMTAG_SIG_BASE+2, /* internal - obsolete */
158  RPMTAG_SIGLEMD5_2 = RPMTAG_SIG_BASE+4, /* x internal - obsolete */
160 #define RPMTAG_PKGID RPMTAG_SIGMD5 /* x */
162  RPMTAG_SIGPGP5 = RPMTAG_SIG_BASE+7, /* internal - obsolete */
163 
164  RPMTAG_BADSHA1_1 = RPMTAG_SIG_BASE+8, /* internal - obsolete */
165  RPMTAG_BADSHA1_2 = RPMTAG_SIG_BASE+9, /* internal - obsolete */
170 #define RPMTAG_HDRID RPMTAG_SHA1HEADER /* s */
171 
172  RPMTAG_NAME = 1000, /* s */
173 #define RPMTAG_N RPMTAG_NAME /* s */
174  RPMTAG_VERSION = 1001, /* s */
175 #define RPMTAG_V RPMTAG_VERSION /* s */
176  RPMTAG_RELEASE = 1002, /* s */
177 #define RPMTAG_R RPMTAG_RELEASE /* s */
178  RPMTAG_EPOCH = 1003, /* i */
179 #define RPMTAG_E RPMTAG_EPOCH /* i */
180  RPMTAG_SUMMARY = 1004, /* s */
181  RPMTAG_DESCRIPTION = 1005, /* s */
182  RPMTAG_BUILDTIME = 1006, /* i */
183  RPMTAG_BUILDHOST = 1007, /* s */
184  RPMTAG_INSTALLTIME = 1008, /* i[] */
185  RPMTAG_SIZE = 1009, /* i */
186  RPMTAG_DISTRIBUTION = 1010, /* s */
187  RPMTAG_VENDOR = 1011, /* s */
188  RPMTAG_GIF = 1012, /* x */
189  RPMTAG_XPM = 1013, /* x */
190  RPMTAG_LICENSE = 1014, /* s */
191  RPMTAG_PACKAGER = 1015, /* s */
192  RPMTAG_GROUP = 1016, /* s */
193 /*@-enummemuse@*/
194  RPMTAG_CHANGELOG = 1017, /* s[] internal */
195 /*@=enummemuse@*/
196  RPMTAG_SOURCE = 1018, /* s[] */
197  RPMTAG_PATCH = 1019, /* s[] */
198  RPMTAG_URL = 1020, /* s */
199  RPMTAG_OS = 1021, /* s legacy used int */
200  RPMTAG_ARCH = 1022, /* s legacy used int */
201  RPMTAG_PREIN = 1023, /* s */
202  RPMTAG_POSTIN = 1024, /* s */
203  RPMTAG_PREUN = 1025, /* s */
204  RPMTAG_POSTUN = 1026, /* s */
205  RPMTAG_OLDFILENAMES = 1027, /* s[] obsolete */
206  RPMTAG_FILESIZES = 1028, /* i[] */
207  RPMTAG_FILESTATES = 1029, /* c[] */
208  RPMTAG_FILEMODES = 1030, /* h[] */
209  RPMTAG_FILEUIDS = 1031, /* i[] internal */
210  RPMTAG_FILEGIDS = 1032, /* i[] internal */
211  RPMTAG_FILERDEVS = 1033, /* h[] */
212  RPMTAG_FILEMTIMES = 1034, /* i[] */
213  RPMTAG_FILEDIGESTS = 1035, /* s[] */
214 #define RPMTAG_FILEMD5S RPMTAG_FILEDIGESTS /* s[] */
215  RPMTAG_FILELINKTOS = 1036, /* s[] */
216  RPMTAG_FILEFLAGS = 1037, /* i[] */
217 /*@-enummemuse@*/
218  RPMTAG_ROOT = 1038, /* internal - obsolete */
219 /*@=enummemuse@*/
220  RPMTAG_FILEUSERNAME = 1039, /* s[] */
221  RPMTAG_FILEGROUPNAME = 1040, /* s[] */
222 /*@-enummemuse@*/
223  RPMTAG_EXCLUDE = 1041, /* internal - obsolete */
224  RPMTAG_EXCLUSIVE = 1042, /* internal - obsolete */
225 /*@=enummemuse@*/
226  RPMTAG_ICON = 1043, /* x */
227  RPMTAG_SOURCERPM = 1044, /* s */
228  RPMTAG_FILEVERIFYFLAGS = 1045, /* i[] */
229  RPMTAG_ARCHIVESIZE = 1046, /* i */
230  RPMTAG_PROVIDENAME = 1047, /* s[] */
231 #define RPMTAG_PROVIDES RPMTAG_PROVIDENAME /* s[] */
232 #define RPMTAG_P RPMTAG_PROVIDENAME /* s[] */
233  RPMTAG_REQUIREFLAGS = 1048, /* i[] */
234  RPMTAG_REQUIRENAME = 1049, /* s[] */
235 #define RPMTAG_REQUIRES RPMTAG_REQUIRENAME /* s[] */
236  RPMTAG_REQUIREVERSION = 1050, /* s[] */
237  RPMTAG_NOSOURCE = 1051, /* i[] internal */
238  RPMTAG_NOPATCH = 1052, /* i[] internal */
239  RPMTAG_CONFLICTFLAGS = 1053, /* i[] */
240  RPMTAG_CONFLICTNAME = 1054, /* s[] */
241 #define RPMTAG_CONFLICTS RPMTAG_CONFLICTNAME /* s[] */
242 #define RPMTAG_C RPMTAG_CONFLICTNAME /* s[] */
243  RPMTAG_CONFLICTVERSION = 1055, /* s[] */
244  RPMTAG_DEFAULTPREFIX = 1056, /* s internal - deprecated */
245  RPMTAG_BUILDROOT = 1057, /* s internal */
246  RPMTAG_INSTALLPREFIX = 1058, /* s internal - deprecated */
247  RPMTAG_EXCLUDEARCH = 1059, /* s[] */
248  RPMTAG_EXCLUDEOS = 1060, /* s[] */
249  RPMTAG_EXCLUSIVEARCH = 1061, /* s[] */
250  RPMTAG_EXCLUSIVEOS = 1062, /* s[] */
251  RPMTAG_AUTOREQPROV = 1063, /* s internal */
252  RPMTAG_RPMVERSION = 1064, /* s */
253  RPMTAG_TRIGGERSCRIPTS = 1065, /* s[] */
254  RPMTAG_TRIGGERNAME = 1066, /* s[] */
255  RPMTAG_TRIGGERVERSION = 1067, /* s[] */
256  RPMTAG_TRIGGERFLAGS = 1068, /* i[] */
257  RPMTAG_TRIGGERINDEX = 1069, /* i[] */
258  RPMTAG_VERIFYSCRIPT = 1079, /* s */
259  RPMTAG_CHANGELOGTIME = 1080, /* i[] */
260  RPMTAG_CHANGELOGNAME = 1081, /* s[] */
261  RPMTAG_CHANGELOGTEXT = 1082, /* s[] */
262 /*@-enummemuse@*/
263  RPMTAG_BROKENMD5 = 1083, /* internal - obsolete */
264 /*@=enummemuse@*/
265  RPMTAG_PREREQ = 1084, /* internal */
266  RPMTAG_PREINPROG = 1085, /* s */
267  RPMTAG_POSTINPROG = 1086, /* s */
268  RPMTAG_PREUNPROG = 1087, /* s */
269  RPMTAG_POSTUNPROG = 1088, /* s */
270  RPMTAG_BUILDARCHS = 1089, /* s[] */
271  RPMTAG_OBSOLETENAME = 1090, /* s[] */
272 #define RPMTAG_OBSOLETES RPMTAG_OBSOLETENAME /* s[] */
273 #define RPMTAG_O RPMTAG_OBSOLETENAME /* s[] */
274  RPMTAG_VERIFYSCRIPTPROG = 1091, /* s */
275  RPMTAG_TRIGGERSCRIPTPROG = 1092, /* s[] */
276  RPMTAG_DOCDIR = 1093, /* internal */
277  RPMTAG_COOKIE = 1094, /* s */
278  RPMTAG_FILEDEVICES = 1095, /* i[] */
279  RPMTAG_FILEINODES = 1096, /* i[] */
280  RPMTAG_FILELANGS = 1097, /* s[] */
281  RPMTAG_PREFIXES = 1098, /* s[] */
282  RPMTAG_INSTPREFIXES = 1099, /* s[] */
283  RPMTAG_TRIGGERIN = 1100, /* internal */
284  RPMTAG_TRIGGERUN = 1101, /* internal */
285  RPMTAG_TRIGGERPOSTUN = 1102, /* internal */
286  RPMTAG_AUTOREQ = 1103, /* internal */
287  RPMTAG_AUTOPROV = 1104, /* internal */
288 /*@-enummemuse@*/
289  RPMTAG_CAPABILITY = 1105, /* i legacy - obsolete */
290 /*@=enummemuse@*/
291  RPMTAG_SOURCEPACKAGE = 1106, /* i legacy - obsolete */
292 /*@-enummemuse@*/
293  RPMTAG_OLDORIGFILENAMES = 1107, /* internal - obsolete */
294 /*@=enummemuse@*/
295  RPMTAG_BUILDPREREQ = 1108, /* internal */
296  RPMTAG_BUILDREQUIRES = 1109, /* internal */
297  RPMTAG_BUILDCONFLICTS = 1110, /* internal */
298 /*@-enummemuse@*/
299  RPMTAG_BUILDMACROS = 1111, /* s[] srpms only */
300 /*@=enummemuse@*/
301  RPMTAG_PROVIDEFLAGS = 1112, /* i[] */
302  RPMTAG_PROVIDEVERSION = 1113, /* s[] */
303  RPMTAG_OBSOLETEFLAGS = 1114, /* i[] */
304  RPMTAG_OBSOLETEVERSION = 1115, /* s[] */
305  RPMTAG_DIRINDEXES = 1116, /* i[] */
306  RPMTAG_BASENAMES = 1117, /* s[] */
307  RPMTAG_DIRNAMES = 1118, /* s[] */
308  RPMTAG_ORIGDIRINDEXES = 1119, /* i[] relocation */
309  RPMTAG_ORIGBASENAMES = 1120, /* s[] relocation */
310  RPMTAG_ORIGDIRNAMES = 1121, /* s[] relocation */
311  RPMTAG_OPTFLAGS = 1122, /* s */
312  RPMTAG_DISTURL = 1123, /* s */
313  RPMTAG_PAYLOADFORMAT = 1124, /* s */
314  RPMTAG_PAYLOADCOMPRESSOR = 1125, /* s */
315  RPMTAG_PAYLOADFLAGS = 1126, /* s */
316  RPMTAG_INSTALLCOLOR = 1127, /* i transaction color when installed */
317  RPMTAG_INSTALLTID = 1128, /* i[] */
318  RPMTAG_REMOVETID = 1129, /* i[] */
319 /*@-enummemuse@*/
320  RPMTAG_SHA1RHN = 1130, /* internal - obsolete */
321 /*@=enummemuse@*/
322  RPMTAG_RHNPLATFORM = 1131, /* s deprecated */
323  RPMTAG_PLATFORM = 1132, /* s */
324  RPMTAG_PATCHESNAME = 1133, /* s[] deprecated placeholder (SuSE) */
325  RPMTAG_PATCHESFLAGS = 1134, /* i[] deprecated placeholder (SuSE) */
326  RPMTAG_PATCHESVERSION = 1135, /* s[] deprecated placeholder (SuSE) */
327  RPMTAG_CACHECTIME = 1136, /* i rpmcache(8) only */
328  RPMTAG_CACHEPKGPATH = 1137, /* s rpmcache(8) only */
329  RPMTAG_CACHEPKGSIZE = 1138, /* i rpmcache(8) only */
330  RPMTAG_CACHEPKGMTIME = 1139, /* i rpmcache(8) only */
331  RPMTAG_FILECOLORS = 1140, /* i[] */
332  RPMTAG_FILECLASS = 1141, /* i[] */
333  RPMTAG_CLASSDICT = 1142, /* s[] */
334  RPMTAG_FILEDEPENDSX = 1143, /* i[] */
335  RPMTAG_FILEDEPENDSN = 1144, /* i[] */
336  RPMTAG_DEPENDSDICT = 1145, /* i[] */
337  RPMTAG_SOURCEPKGID = 1146, /* x */
338  RPMTAG_FILECONTEXTS = 1147, /* s[] */
339  RPMTAG_FSCONTEXTS = 1148, /* s[] extension */
340  RPMTAG_RECONTEXTS = 1149, /* s[] extension */
341  RPMTAG_POLICIES = 1150, /* s[] selinux *.te policy file. */
342  RPMTAG_PRETRANS = 1151, /* s */
343  RPMTAG_POSTTRANS = 1152, /* s */
344  RPMTAG_PRETRANSPROG = 1153, /* s */
345  RPMTAG_POSTTRANSPROG = 1154, /* s */
346  RPMTAG_DISTTAG = 1155, /* s */
347  RPMTAG_SUGGESTSNAME = 1156, /* s[] extension */
348 #define RPMTAG_SUGGESTS RPMTAG_SUGGESTSNAME /* s[] */
349  RPMTAG_SUGGESTSVERSION = 1157, /* s[] extension */
350  RPMTAG_SUGGESTSFLAGS = 1158, /* i[] extension */
351  RPMTAG_ENHANCESNAME = 1159, /* s[] extension placeholder */
352 #define RPMTAG_ENHANCES RPMTAG_ENHANCESNAME /* s[] */
353  RPMTAG_ENHANCESVERSION = 1160, /* s[] extension placeholder */
354  RPMTAG_ENHANCESFLAGS = 1161, /* i[] extension placeholder */
355  RPMTAG_PRIORITY = 1162, /* i[] extension placeholder */
356  RPMTAG_CVSID = 1163, /* s */
357 #define RPMTAG_SVNID RPMTAG_CVSID /* s */
358  RPMTAG_BLINKPKGID = 1164, /* s[] */
359  RPMTAG_BLINKHDRID = 1165, /* s[] */
360  RPMTAG_BLINKNEVRA = 1166, /* s[] */
361  RPMTAG_FLINKPKGID = 1167, /* s[] */
362  RPMTAG_FLINKHDRID = 1168, /* s[] */
363  RPMTAG_FLINKNEVRA = 1169, /* s[] */
364  RPMTAG_PACKAGEORIGIN = 1170, /* s */
365  RPMTAG_TRIGGERPREIN = 1171, /* internal */
366  RPMTAG_BUILDSUGGESTS = 1172, /* internal */
367  RPMTAG_BUILDENHANCES = 1173, /* internal */
368  RPMTAG_SCRIPTSTATES = 1174, /* i[] scriptlet exit codes */
369  RPMTAG_SCRIPTMETRICS = 1175, /* i[] scriptlet execution times */
370  RPMTAG_BUILDCPUCLOCK = 1176, /* i */
371  RPMTAG_FILEDIGESTALGOS = 1177, /* i[] */
372  RPMTAG_VARIANTS = 1178, /* s[] */
373  RPMTAG_XMAJOR = 1179, /* i */
374  RPMTAG_XMINOR = 1180, /* i */
375  RPMTAG_REPOTAG = 1181, /* s */
376  RPMTAG_KEYWORDS = 1182, /* s[] */
377  RPMTAG_BUILDPLATFORMS = 1183, /* s[] */
378  RPMTAG_PACKAGECOLOR = 1184, /* i */
379  RPMTAG_PACKAGEPREFCOLOR = 1185, /* i (unimplemented) */
380  RPMTAG_XATTRSDICT = 1186, /* s[] (unimplemented) */
381  RPMTAG_FILEXATTRSX = 1187, /* i[] (unimplemented) */
382  RPMTAG_DEPATTRSDICT = 1188, /* s[] (unimplemented) */
383  RPMTAG_CONFLICTATTRSX = 1189, /* i[] (unimplemented) */
384  RPMTAG_OBSOLETEATTRSX = 1190, /* i[] (unimplemented) */
385  RPMTAG_PROVIDEATTRSX = 1191, /* i[] (unimplemented) */
386  RPMTAG_REQUIREATTRSX = 1192, /* i[] (unimplemented) */
387  RPMTAG_BUILDPROVIDES = 1193, /* internal */
388  RPMTAG_BUILDOBSOLETES = 1194, /* internal */
389  RPMTAG_DBINSTANCE = 1195, /* i */
390  RPMTAG_NVRA = 1196, /* s */
391  RPMTAG_FILEPATHS = 1197, /* s[] */
392  RPMTAG_ORIGPATHS = 1198, /* s[] */
393  RPMTAG_RPMLIBVERSION = 1199, /* i */
394  RPMTAG_RPMLIBTIMESTAMP = 1200, /* i */
395  RPMTAG_RPMLIBVENDOR = 1201, /* i */
396  RPMTAG_CLASS = 1202, /* s arbitrary */
397  RPMTAG_TRACK = 1203, /* s internal arbitrary */
398  RPMTAG_TRACKPROG = 1204, /* s internal arbitrary */
399  RPMTAG_SANITYCHECK = 1205, /* s */
400  RPMTAG_SANITYCHECKPROG = 1206, /* s */
401  RPMTAG_FILESTAT = 1207, /* s[] stat(2) from metadata extension*/
402  RPMTAG_STAT = 1208, /* s[] stat(2) from disk extension */
403  RPMTAG_ORIGINTID = 1209, /* i[] */
404  RPMTAG_ORIGINTIME = 1210, /* i[] */
405  RPMTAG_HEADERSTARTOFF = 1211, /* l */
406  RPMTAG_HEADERENDOFF = 1212, /* l */
407  RPMTAG_PACKAGETIME = 1213, /* l */
408  RPMTAG_PACKAGESIZE = 1214, /* l */
409  RPMTAG_PACKAGEDIGEST = 1215, /* s */
410  RPMTAG_PACKAGESTAT = 1216, /* x */
411  RPMTAG_PACKAGEBASEURL = 1217, /* s */
412  RPMTAG_DISTEPOCH = 1218, /* s */
413 #define RPMTAG_D RPMTAG_DISTEPOCH /* s */
414 
415  RPMTAG_CONFLICTYAMLENTRY = 1219, /* s[] */
416  RPMTAG_OBSOLETEYAMLENTRY = 1220, /* s[] */
417  RPMTAG_PROVIDEYAMLENTRY = 1221, /* s[] */
418  RPMTAG_REQUIREYAMLENTRY = 1222, /* s[] */
419 
420  RPMTAG_FILEDIGESTALGO = 5011, /* i file checksum algorithm */
421  RPMTAG_BUGURL = 5012, /* s */
422 
423 /*@-enummemuse@*/
425 /*@=enummemuse@*/
426 
427  RPMTAG_PACKAGETRANSFLAGS = 0x4efaafd9, /* s[] arbitrary */
428  RPMTAG_PACKAGEDEPFLAGS = 0x748a8314, /* s[] arbitrary */
429 
430  RPMTAG_BUILDPREPPROG = 0x4ba37c9e, /* s[] arbitrary */
431  RPMTAG_BUILDPREP = 0x799c0b4d, /* s[] arbitrary */
432  RPMTAG_BUILDBUILDPROG = 0x6fb46014, /* s[] arbitrary */
433  RPMTAG_BUILDBUILD = 0x5bae1a5a, /* s[] arbitrary */
434  RPMTAG_BUILDINSTALLPROG = 0x70d4ab6f, /* s[] arbitrary */
435  RPMTAG_BUILDINSTALL = 0x567f5983, /* s[] arbitrary */
436  RPMTAG_BUILDCHECKPROG = 0x488a60ce, /* s[] arbitrary */
437  RPMTAG_BUILDCHECK = 0x7f3b97b5, /* s[] arbitrary */
438  RPMTAG_BUILDCLEANPROG = 0x42c93d41, /* s[] arbitrary */
439  RPMTAG_BUILDCLEAN = 0x566042bf, /* s[] arbitrary */
440 
442 };
443 
444 #define RPMTAG_EXTERNAL_TAG 1000000
445 
450  RPMSIGTAG_SIZE = 1000,
452  RPMSIGTAG_PGP = 1002,
454  RPMSIGTAG_MD5 = 1004,
455  RPMSIGTAG_GPG = 1005,
456  RPMSIGTAG_PGP5 = 1006,
463  RPMSIGTAG_PADDING = 0x3fffffff
464 };
465 
468 typedef enum rpmTag_e rpmTag;
469 
472 typedef enum rpmSigTag_e rpmSigTag;
473 
477 #define RPMDBI_PACKAGES (rpmTag)0 /* Installed package headers. */
478 #define RPMDBI_DEPCACHE (rpmTag)1 /* Dependency resolution cache. */
479  /* (obsolete) RPMDBI_LABEL was 2 */
480 #define RPMDBI_ADDED (rpmTag)3 /* Added package headers. */
481 #define RPMDBI_REMOVED (rpmTag)4 /* Removed package headers. */
482 #define RPMDBI_AVAILABLE (rpmTag)5 /* Available package headers. */
483 #define RPMDBI_HDLIST (rpmTag)6 /* (rpmgi) Header list. */
484 #define RPMDBI_ARGLIST (rpmTag)7 /* (rpmgi) Argument list. */
485 #define RPMDBI_FTSWALK (rpmTag)8 /* (rpmgi) File tree walk. */
486 #define RPMDBI_SEQNO (rpmTag)9 /* Sequence numbers. */
487 #define RPMDBI_BTREE (rpmTag)10 /* (development) Generic DB_BTREE. */
488 #define RPMDBI_HASH (rpmTag)11 /* (development) Generic DB_HASH. */
489 #define RPMDBI_QUEUE (rpmTag)12 /* (development) Generic DB_QUEUE. */
490 #define RPMDBI_RECNO (rpmTag)13 /* (development) Generic DB_RECNO. */
491 #define RPMDBI_HEAP (rpmTag)14 /* (development) Generic DB_HEAP. */
492  /* 15 unused */
493 #define RPMDBI_REPACKAGES (rpmTag)16 /* Re-packaged package paths. */
494 #define RPMDBI_REPOSITORY (rpmTag)17 /* Repository URI's. */
495 
498 /*@-typeuse -fielduse@*/
499 #if !defined(SWIG)
500 struct _HE_s {
501  rpmTag tag;
502  rpmTagType t;
503 /*@owned@*/ /*@null@*/
505  rpmTagCount c;
506  int ix;
507  unsigned int freeData : 1;
508  unsigned int avail : 1;
509  unsigned int append : 1;
510 };
511 #endif
512 
515 typedef struct _HE_s HE_s;
516 
519 typedef struct tagStore_s * tagStore_t;
520 
523 typedef /*@abstract@*/ const struct headerTagTableEntry_s * headerTagTableEntry;
524 
525 #if defined(_RPMTAG_INTERNAL)
526 
531 #if !defined(SWIG)
532 struct headerTagTableEntry_s {
533 /*@observer@*/ /*@relnull@*/
534  const char * name;
535  rpmTag val;
536  rpmTagType type;
537 };
538 #endif
539 
542 struct tagStore_s {
543 /*@only@*/
544  const char * str;
545  rpmTag tag;
546  rpmiob iob;
547 };
548 #endif /* _RPMTAG_INTERNAL */
549 
553 /*@-redecl@*/
554 /*@observer@*/ /*@unchecked@*/
555 extern headerTagTableEntry rpmTagTable;
556 /*@=redecl@*/
557 
561 /*@-redecl@*/
562 /*@unchecked@*/
563 extern int rpmTagTableSize;
564 
565 /*@unchecked@*/
566 extern headerTagIndices rpmTags;
567 /*@=redecl@*/
568 
569 #if defined(_RPMTAG_INTERNAL)
570 
572 #if !defined(SWIG)
573 struct headerTagIndices_s {
574 /*@relnull@*/
575  int (*loadIndex) (headerTagTableEntry ** ipp, size_t * np,
576  int (*cmp) (const void * avp, const void * bvp))
577  /*@ modifies *ipp, *np */;
578 /*@relnull@*/
579  headerTagTableEntry * byName;
580  size_t byNameSize;
581  int (*byNameCmp) (const void * avp, const void * bvp)
582  /*@*/;
583  rpmTag (*tagValue) (const char * name)
584  /*@*/;
585 /*@relnull@*/
586  headerTagTableEntry * byValue;
587  size_t byValueSize;
588  int (*byValueCmp) (const void * avp, const void * bvp)
589  /*@*/;
590  const char * (*tagName) (rpmTag value)
591  /*@*/;
592  rpmTag (*tagType) (rpmTag value)
593  /*@*/;
594  size_t nameBufLen;
595 /*@relnull@*/
596  const char ** aTags;
597 /*@owned@*/ /*@null@*/
598  char * nameBuf; /* Name buffer. */
599 /*@only@*/
600  char * (*tagCanonicalize) (const char * s)
601  /*@*/;
602  rpmTag (*tagGenerate) (const char * s)
603  /*@*/;
604 };
605 #endif
606 #endif /* _RPMTAG_INTERNAL */
607 
613 /*@observer@*/
614 const char * tagName(rpmTag tag)
615  /*@*/;
616 
623 unsigned int tagType(rpmTag tag)
624  /*@*/;
625 
631 rpmTag tagValue(const char * tagstr)
632  /*@*/;
633 
639 /*@only@*/
640 char * tagCanonicalize(const char * s)
641  /*@*/;
642 
648 rpmTag tagGenerate(const char * s)
649  /*@*/;
650 
655 void tagClean(/*@null@*/ headerTagIndices _rpmTags)
656  /*@globals rpmTags @*/
657  /*@modifies _rpmTags, rpmTags @*/;
658 
665 /*@null@*/
666 tagStore_t tagStoreFree(/*@only@*//*@null@*/tagStore_t dbiTags, size_t dbiNTags)
667  /*@modifies dbiTags @*/;
668 
669 #if defined(_RPMTAG_INTERNAL)
670 
672 typedef enum headerSprintfExtensionType_e {
673  HEADER_EXT_LAST = 0,
674  HEADER_EXT_FORMAT,
675  HEADER_EXT_MORE,
676  HEADER_EXT_TAG
677 } headerSprintfExtensionType;
678 
686 typedef /*only@*/ char * (*headerTagFormatFunction) (HE_t he, /*@null@*/ const char ** av)
687  /*@modifies he @*/;
688 
697 typedef int (*headerTagTagFunction) (Header h, HE_t he)
698  /*@modifies he @*/;
699 
703 #if !defined(SWIG)
704 struct headerSprintfExtension_s {
705  headerSprintfExtensionType type;
706 /*@observer@*/ /*@null@*/
707  const char * name;
708  union {
709 /*@observer@*/ /*@null@*/
710  void * generic;
711  headerTagFormatFunction fmtFunction;
712  headerTagTagFunction tagFunction;
713  headerSprintfExtension * more;
714  } u;
715 };
716 #endif
717 #endif /* _RPMTAG_INTERNAL */
718 
722 /*@unchecked@*/ /*@observer@*/
723 extern headerSprintfExtension headerDefaultFormats;
724 
728 /*@unchecked@*/ /*@observer@*/
729 extern headerSprintfExtension headerCompoundFormats;
730 
737 void rpmDisplayQueryTags(/*@null@*/ FILE * fp,
738  /*@null@*/ headerTagTableEntry _rpmTagTable,
739  /*@null@*/ headerSprintfExtension _rpmHeaderFormats)
740  /*@globals fileSystem, internalState @*/
741  /*@modifies *fp, fileSystem, internalState @*/;
742 
754 /*@only@*/ /*@null@*/
755 char * headerSprintf(Header h, const char * fmt,
756  /*@null@*/ headerTagTableEntry tags,
757  /*@null@*/ headerSprintfExtension exts,
758  /*@null@*/ /*@out@*/ errmsg_t * errmsg)
759  /*@globals headerCompoundFormats, fileSystem, internalState @*/
760  /*@modifies h, *errmsg, fileSystem, internalState @*/;
761 
770 int headerGet(Header h, HE_t he, unsigned int flags)
771  /*@globals internalState @*/
772  /*@modifies he, internalState @*/;
773 #define HEADERGET_NOEXTENSION (1 << 0)
774 #define HEADERGET_NOI18NSTRING (1 << 1)
784 /*@mayexit@*/
785 int headerPut(Header h, HE_t he, /*@unused@*/ unsigned int flags)
786  /*@modifies h @*/;
787 
796 /*@mayexit@*/
797 int headerDel(Header h, HE_t he, /*@unused@*/ unsigned int flags)
798  /*@modifies h @*/;
799 
808 int headerMod(Header h, HE_t he, /*@unused@*/ unsigned int flags)
809  /*@modifies h @*/;
810 
816 /*@null@*/
817 HeaderIterator headerFini(/*@only@*/ HeaderIterator hi)
818  /*@globals fileSystem @*/
819  /*@modifies hi, fileSystem */;
820 
826 HeaderIterator headerInit(Header h)
827  /*@globals fileSystem @*/
828  /*@modifies h, fileSystem */;
829 
837 int headerNext(HeaderIterator hi, HE_t he, /*@unused@*/ unsigned int flags)
838  /*@globals internalState @*/
839  /*@modifies hi, he, internalState @*/;
840 
846 Header headerLink(Header h)
847  /*@modifies h @*/;
848 #define headerLink(_h) \
849  ((Header)rpmioLinkPoolItem((rpmioItem)(_h), __FUNCTION__, __FILE__, __LINE__))
850 
856 /*@null@*/
857 Header headerUnlink(/*@killref@*/ /*@null@*/ Header h)
858  /*@modifies h @*/;
859 #define headerUnlink(_h) \
860  ((Header)rpmioUnlinkPoolItem((rpmioItem)(_h), __FUNCTION__, __FILE__, __LINE__))
861 
867 /*@null@*/
868 Header headerFree(/*@killref@*/ /*@null@*/ Header h)
869  /*@modifies h @*/;
870 #define headerFree(_h) \
871  ((Header)rpmioFreePoolItem((rpmioItem)(_h), __FUNCTION__, __FILE__, __LINE__))
872 
877 Header headerNew(void)
878  /*@globals fileSystem @*/
879  /*@modifies fileSystem @*/;
880 
886 size_t headerSizeof(/*@null@*/ Header h)
887  /*@modifies h @*/;
888 
895 /*@only@*/ /*@null@*/
896 void * headerUnload(Header h, /*@out@*/ /*@null@*/ size_t * lenp)
897  /*@globals internalState @*/
898  /*@modifies h, *lenp, internalState @*/;
899 
908 /*@null@*/
909 Header headerReload(/*@only@*/ Header h, rpmTag tag)
910  /*@globals fileSystem, internalState @*/
911  /*@modifies h, fileSystem, internalState @*/;
912 
918 /*@null@*/
919 Header headerCopy(Header h)
920  /*@globals fileSystem, internalState @*/
921  /*@modifies h, fileSystem, internalState @*/;
922 
928 /*@null@*/
929 Header headerLoad(/*@kept@*/ void * uh)
930  /*@globals fileSystem, internalState @*/
931  /*@modifies uh, fileSystem, internalState @*/;
932 
938 /*@null@*/
939 Header headerCopyLoad(const void * uh)
940  /*@globals fileSystem, internalState @*/
941  /*@modifies fileSystem, internalState @*/;
942 
949 int headerIsEntry(/*@null@*/ Header h, rpmTag tag)
950  /*@*/;
951 
952 #if defined(SUPPORT_I18NSTRING_TYPE)
953 
973 int headerAddI18NString(Header h, rpmTag tag, const char * string,
974  const char * lang)
975  /*@modifies h @*/;
976 #endif
977 
984 void headerCopyTags(Header headerFrom, Header headerTo, rpmTag * tagstocopy)
985  /*@globals internalState @*/
986  /*@modifies headerTo, internalState @*/;
987 
995 int headerGetMagic(/*@null@*/ Header h, unsigned char **magicp, size_t *nmagicp)
996  /*@modifies *magicp, *nmagicp @*/;
997 
1005 int headerSetMagic(/*@null@*/ Header h, unsigned char * magic, size_t nmagic)
1006  /*@modifies h @*/;
1007 
1013 /*@observer@*/ /*@null@*/
1014 const char * headerGetOrigin(/*@null@*/ Header h)
1015  /*@*/;
1016 
1023 int headerSetOrigin(/*@null@*/ Header h, const char * origin)
1024  /*@modifies h @*/;
1025 
1031 /*@observer@*/ /*@null@*/
1032 const char * headerGetParent(/*@null@*/ Header h)
1033  /*@*/;
1034 
1041 int headerSetParent(/*@null@*/ Header h, const char * parent)
1042  /*@modifies h @*/;
1043 
1049 /*@observer@*/ /*@null@*/
1050 const char * headerGetBaseURL(/*@null@*/ Header h)
1051  /*@*/;
1052 
1059 int headerSetBaseURL(/*@null@*/ Header h, const char * baseurl)
1060  /*@modifies h @*/;
1061 
1067 struct stat * headerGetStatbuf(/*@null@*/ Header h)
1068  /*@*/;
1069 
1076 int headerSetStatbuf(/*@null@*/ Header h, struct stat * st)
1077  /*@modifies h @*/;
1078 
1084 /*@null@*/
1085 const char * headerGetDigest(/*@null@*/ Header h)
1086  /*@*/;
1087 
1094 int headerSetDigest(/*@null@*/ Header h, const char * digest)
1095  /*@modifies h @*/;
1096 
1102 /*@null@*/
1103 void * headerGetRpmdb(/*@null@*/ Header h)
1104  /*@*/;
1105 
1112 /*@null@*/
1113 void * headerSetRpmdb(/*@null@*/ Header h, /*@null@*/ void * rpmdb)
1114  /*@modifies h @*/;
1115 
1121 uint32_t headerGetInstance(/*@null@*/ Header h)
1122  /*@*/;
1123 
1130 uint32_t headerSetInstance(/*@null@*/ Header h, uint32_t instance)
1131  /*@modifies h @*/;
1132 
1138 rpmuint32_t headerGetStartOff(/*@null@*/ Header h)
1139  /*@*/;
1140 
1147 rpmuint32_t headerSetStartOff(/*@null@*/ Header h, rpmuint32_t startoff)
1148  /*@modifies h @*/;
1149 
1155 rpmuint32_t headerGetEndOff(/*@null@*/ Header h)
1156  /*@*/;
1157 
1164 rpmuint32_t headerSetEndOff(/*@null@*/ Header h, rpmuint32_t endoff)
1165  /*@modifies h @*/;
1166 
1173 /*@null@*/
1174 void * headerGetStats(Header h, int opx)
1175  /*@*/;
1176 
1182 int headerMacrosLoad(Header h)
1183  /*@globals internalState @*/
1184  /*@modifies internalState @*/;
1185 
1191 int headerMacrosUnload(Header h)
1192  /*@globals internalState @*/
1193  /*@modifies internalState @*/;
1194 
1205 int headerNEVRA(Header h,
1206  /*@null@*/ /*@out@*/ const char ** np,
1207  /*@null@*/ /*@out@*/ /*@unused@*/ const char ** ep,
1208  /*@null@*/ /*@out@*/ const char ** vp,
1209  /*@null@*/ /*@out@*/ const char ** rp,
1210  /*@null@*/ /*@out@*/ const char ** ap)
1211  /*@globals internalState @*/
1212  /*@modifies h, *np, *vp, *rp, *ap, internalState @*/;
1213 
1219 rpmuint32_t hGetColor(Header h)
1220  /*@globals internalState @*/
1221  /*@modifies h, internalState @*/;
1222 
1229 void headerMergeLegacySigs(Header h, const Header sigh)
1230  /*@globals fileSystem, internalState @*/
1231  /*@modifies h, sigh, fileSystem, internalState @*/;
1232 
1240 Header headerRegenSigHeader(const Header h, int noArchiveSize)
1241  /*@globals fileSystem, internalState @*/
1242  /*@modifies h, fileSystem, internalState @*/;
1243 
1244 #ifdef __cplusplus
1245 }
1246 #endif
1247 
1248 #endif /* H_RPMTAG */
int headerMacrosUnload(Header h)
Define per-header macros.
Definition: hdrNVR.c:111
rpmTagType t
Definition: rpmtag.h:502
void * headerSetRpmdb(Header h, void *rpmdb)
Store rpmdb pointer.
Definition: header.c:1266
const char * str
Definition: rpmtag.h:73
rpmTag tag
Definition: rpmtag.h:501
const void * uh
Definition: rpmts-py.c:977
const char ** argv
Definition: rpmtag.h:75
Header headerNew(void)
Create new (empty) header instance.
Definition: header.c:180
headerTagTableEntry rpmTagTable
Automatically generated table of tag name/value pairs.
Definition: tagtbl.c:238
rpmTag_e
Tags identify data in package headers.
Definition: rpmtag.h:140
#define headerFree(_h)
Definition: rpmtag.h:870
struct rpmdb_s * rpmdb
Database of headers and tag value indices.
Definition: rpmtypes.h:43
rpmuint32_t rpmTagCount
Definition: rpmtag.h:55
const char * headerGetDigest(Header h)
Return digest of origin *.rpm file.
Definition: header.c:1242
#define HEADER_IMMUTABLE
Definition: rpmtag.h:118
struct stat * headerGetStatbuf(Header h)
Return header stat(2) buffer (of origin *.rpm file).
Definition: header.c:1228
uint32_t headerGetInstance(Header h)
Return header instance (if from rpmdb).
Definition: header.c:1275
static PyObject *int type
Definition: rpmmi-py.c:151
int headerSetMagic(Header h, unsigned char *magic, size_t nmagic)
Store header magic.
Definition: header.c:1172
rpmuint32_t * ui32p
Definition: rpmtag.h:70
headerSprintfExtension headerDefaultFormats
Supported default header tag output formats.
Definition: hdrfmt.c:328
int headerMod(Header h, HE_t he, unsigned int flags)
Modify tag container in header.
Definition: header.c:2318
* lenp
Definition: header.c:1796
rpmuint32_t hGetColor(Header h)
Return header color.
Definition: hdrNVR.c:223
#define HEADER_SIGNATURES
Definition: rpmtag.h:117
static struct headerTagTableEntry_s _rpmTagTable[]
Definition: tagtbl.c:9
int headerSetBaseURL(Header h, const char *baseurl)
Store header base URL (e.g path or URL).
Definition: header.c:1219
#define HEADER_IMAGE
Header private tags.
Definition: rpmtag.h:116
The Header data structure.
void headerMergeLegacySigs(Header h, const Header sigh)
Translate and merge legacy signature tags into header.
Definition: hdrNVR.c:242
#define headerUnlink(_h)
Definition: rpmtag.h:859
rpmuint16_t * ui16p
Definition: rpmtag.h:69
Header headerReload(Header h, rpmTag tag)
Convert header to on-disk representation, and then reload.
Definition: header.c:1314
int headerSetDigest(Header h, const char *digest)
Store digest of origin *.rpm file.
Definition: header.c:1249
enum rpmTag_e rpmTag
Definition: rpmtag.h:468
struct headerTagIndices_s * headerTagIndices
Definition: rpmtag.h:130
long int value
Definition: rpmds.c:2712
#define headerLink(_h)
Definition: rpmtag.h:848
unsigned short rpmuint16_t
Definition: rpmiotypes.h:27
static struct headerSprintfExtension_s _rpmHeaderFormats[]
Definition: formats.c:274
Header headerRegenSigHeader(const Header h, int noArchiveSize)
Regenerate signature header.
Definition: hdrNVR.c:312
Header tag iterator data structure.
Definition: header.c:2128
Header headerCopyLoad(const void *uh)
Make a copy and convert header to in-memory representation.
Definition: header.c:1432
Header h
Definition: spec.c:739
rpmTagReturnType_e
Identify how to return the header data type.
Definition: rpmtag.h:96
HeaderIterator headerInit(Header h)
Create header tag iterator.
Definition: header.c:2143
rpmSigTag_e
Tags found in signature header from package.
Definition: rpmtag.h:449
int ix
Definition: rpmtag.h:506
unsigned char rpmuint8_t
Private int typedefs to avoid C99 portability issues.
Definition: rpmiotypes.h:26
rpmTag tagValue(const char *tagstr)
Return tag value from name.
Definition: tagname.c:446
rpmTag tagGenerate(const char *s)
Generate a tag from arbitrary string.
Definition: tagname.c:456
struct rpmiob_s * rpmiob
Definition: rpmiotypes.h:60
uint32_t headerSetInstance(Header h, uint32_t instance)
Store header instance (e.g path or URL).
Definition: header.c:1280
enum rpmSigTag_e rpmSigTag
Definition: rpmtag.h:472
int headerSetOrigin(Header h, const char *origin)
Store header origin (e.g path or URL).
Definition: header.c:1189
int headerDel(Header h, HE_t he, unsigned int flags)
Remove tag container from header.
Definition: header.c:2312
unsigned int rpmuint32_t
Definition: rpmiotypes.h:28
int headerSetStatbuf(Header h, struct stat *st)
Copy into header stat(2) buffer (of origin *.rpm file).
Definition: header.c:1235
void * ptr
Definition: rpmtag.h:67
int headerGetMagic(Header h, unsigned char **magicp, size_t *nmagicp)
Return header magic.
Definition: header.c:1162
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
int headerIsEntry(Header h, rpmTag tag)
Check if tag is in header.
Definition: header.c:1438
HE_t he
Definition: rpmtag.h:76
unsigned int avail
Definition: rpmtag.h:508
enum rpmTagType_e rpmTagType
Definition: rpmtag.h:47
unsigned int tagType(rpmTag tag)
Return tag data type from value.
Definition: tagname.c:441
rpmuint32_t headerGetStartOff(Header h)
Return header starting byte offset.
Definition: header.c:1290
unsigned char * blob
Definition: rpmtag.h:74
he tag
Definition: db3.c:1927
rpmTagData p
Definition: rpmtag.h:504
unsigned long long rpmuint64_t
Definition: rpmiotypes.h:29
const char * tagName(rpmTag tag)
Return tag name from value.
Definition: tagname.c:436
rpmTagType_e
The basic types of data in tags from headers.
Definition: rpmtag.h:27
int headerMacrosLoad(Header h)
Define per-header macros.
Definition: hdrNVR.c:36
struct _HE_s * HE_t
Destroy an extension cache.
Definition: rpmtag.h:59
int headerGet(Header h, HE_t he, unsigned int flags)
Retrieve extension or tag value from a header.
Definition: header.c:2230
static struct headerTagIndices_s _rpmTags
Definition: tagname.c:175
Header headerLoad(void *uh)
Convert header to in-memory representation.
Definition: header.c:970
#define HEADER_I18NTABLE
Definition: rpmtag.h:120
int headerPut(Header h, HE_t he, unsigned int flags)
Add or append tag container to header.
Definition: header.c:2293
void * headerGetRpmdb(Header h)
Return rpmdb pointer.
Definition: header.c:1259
return k val
Definition: rpmmtree.c:401
rpmTagCount c
Definition: rpmtag.h:505
static const char * lang
struct tagStore_s * tagStore_t
Definition: rpmtag.h:519
struct headerTagTableEntry_s * headerTagTableEntry
Definition: rpmtag.h:523
#define HEADER_REGIONS
Definition: rpmtag.h:119
rpmuint32_t headerSetStartOff(Header h, rpmuint32_t startoff)
Store header starting byte offset.
Definition: header.c:1295
rpmuint8_t * ui8p
Definition: rpmtag.h:68
rpmuint32_t headerSetEndOff(Header h, rpmuint32_t endoff)
Store header ending byte offset.
Definition: header.c:1307
struct headerIterator_s * HeaderIterator
Definition: rpmtag.h:126
const char * headerGetBaseURL(Header h)
Return header base URL (e.g path or URL).
Definition: header.c:1212
spectags st
Definition: spec.c:741
Header headerCopy(Header h)
Duplicate a header.
Definition: header.c:2193
const char * errmsg_t
Definition: rpmtag.h:18
int headerNext(HeaderIterator hi, HE_t he, unsigned int flags)
Return next tag from header.
Definition: header.c:2157
fts u
Definition: rpmmtree.c:3828
#define HEADER_SIGBASE
Definition: rpmtag.h:121
void headerCopyTags(Header headerFrom, Header headerTo, rpmTag *tagstocopy)
Duplicate tag values from one header into another.
Definition: header.c:2210
Definition: rpmtag.h:500
const char * s
Definition: poptALL.c:734
unsigned int freeData
Definition: rpmtag.h:507
void * headerGetStats(Header h, int opx)
Return header stats accumulator structure.
Definition: header.c:97
enum rpmSubTagType_e rpmSubTagType
const char * headerGetParent(Header h)
Return header parent identifier (e.g parent&#39;s NVRA).
Definition: header.c:1198
void * headerUnload(Header h, size_t *lenp)
headerUnload.
Definition: header.c:648
rpmuint32_t headerGetEndOff(Header h)
Return header ending byte offset.
Definition: header.c:1302
size_t headerSizeof(Header h)
Return size of on-disk header representation in bytes.
Definition: header.c:266
int rpmTagTableSize
Number of entries in rpmTagTable.
Definition: tagtbl.c:241
char * tagCanonicalize(const char *s)
Canonicalize a rpmTag string.
Definition: tagname.c:451
int flags
Definition: fnmatch.c:282
struct headerToken_s * Header
Definition: rpmtag.h:22
void rpmDisplayQueryTags(FILE *fp, headerTagTableEntry _rpmTagTable, headerSprintfExtension _rpmHeaderFormats)
Display list of tags that can be used in –queryformat.
Definition: hdrfmt.c:5301
tagStore_t tagStoreFree(tagStore_t dbiTags, size_t dbiNTags)
Destroy tagStore array.
Definition: tagname.c:473
rpmSubTagType_e
Definition: rpmtag.h:85
headerTagIndices rpmTags
Definition: tagname.c:184
enum rpmTagReturnType_e rpmTagReturnType
Identify how to return the header data type.
static const char * name
int
Save source and expand field into target.
Definition: rpmds.c:2709
int headerSetParent(Header h, const char *parent)
Store header parent (e.g parent&#39;s NVRA).
Definition: header.c:1203
tagClean(NULL)
int headerNEVRA(Header h, const char **np, const char **ep, const char **vp, const char **rp, const char **ap)
Return name, epoch, version, release, arch strings from header.
Definition: hdrNVR.c:162
const char * headerGetOrigin(Header h)
Return header origin (e.g path or URL).
Definition: header.c:1184
headerSprintfExtension headerCompoundFormats
Supported default header extension/tag output formats.
Definition: hdrfmt.c:5297
const char ** av
Definition: rpmts-py.c:788
struct headerSprintfExtension_s * headerSprintfExtension
Definition: rpmtag.h:134
HeaderIterator headerFini(HeaderIterator hi)
Destroy header tag container iterator.
Definition: header.c:2133
rpmuint64_t * ui64p
Definition: rpmtag.h:71
const unsigned char * digest
Definition: rpmfi-py.c:247
unsigned int append
Definition: rpmtag.h:509