rpm  5.4.10
rpmtag.h
Go to the documentation of this file.
1 #ifndef H_RPMTAG
2 #define H_RPMTAG
3 
8 #include <rpmiotypes.h>
9 #include <rpmsw.h>
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
17 typedef const char * errmsg_t;
18 
21 typedef /*@abstract@*/ /*@refcounted@*/ struct headerToken_s * Header;
22 
27  /* RPM_NULL_TYPE = 0 - never been used. */
28  /* RPM_CHAR_TYPE = 1 - never been used, same as RPM_UINT8_TYPE. */
37  /* RPM_ASN1_TYPE = 10 - never been used. */
38  /* RPM_OPENPGP_TYPE= 11 - never been used. */
39 };
40 #define RPM_MIN_TYPE 2
41 #define RPM_MAX_TYPE 9
42 #define RPM_MASK_TYPE 0x0000ffff
43 
46 typedef enum rpmTagType_e rpmTagType;
50 typedef union rpmDataType_u rpmTagData;
58 typedef struct _HE_s * HE_t;
62 /*@-typeuse -fielduse@*/
63 #if !defined(SWIG)
65 /*@null@*/
66  void * ptr;
71 /*@relnull@*/
72  const char * str;
73  unsigned char * blob;
74  const char ** argv;
75  HE_t he;
76 };
77 #endif
78 /*@=typeuse =fielduse@*/
79 
80 /*@=typeuse =fielduse@*/
83 /*@-enummemuse -typeuse @*/
84 typedef enum rpmSubTagType_e {
89 /*@=enummemuse =typeuse @*/
90 
94 /*@-enummemuse -typeuse @*/
95 typedef enum rpmTagReturnType_e {
97  RPM_SCALAR_RETURN_TYPE = 0x00010000,
98  RPM_ARRAY_RETURN_TYPE = 0x00020000,
100  /* 0x00080000 */
101  RPM_PROBE_RETURN_TYPE = 0x00100000,
102  RPM_TREE_RETURN_TYPE = 0x00200000,
104  RPM_X509_RETURN_TYPE = 0x00800000,
105  RPM_ASN1_RETURN_TYPE = 0x01000000,
107  RPM_MASK_RETURN_TYPE = 0xffff0000
109 /*@=enummemuse =typeuse @*/
110 
115 #define HEADER_IMAGE 61
116 #define HEADER_SIGNATURES 62
117 #define HEADER_IMMUTABLE 63
118 #define HEADER_REGIONS 64
119 #define HEADER_I18NTABLE 100
120 #define HEADER_SIGBASE 256
121 #define HEADER_TAGBASE 1000
122 
125 typedef /*@abstract@*/ struct headerIterator_s * HeaderIterator;
126 
129 typedef /*@abstract@*/ struct headerTagIndices_s * headerTagIndices;
130 
133 typedef /*@abstract@*/ const struct headerSprintfExtension_s * headerSprintfExtension;
134 
139 enum rpmTag_e {
140 
144 /*@-enummemuse@*/
148 /*@=enummemuse@*/
149 
150 /* Retrofit (and uniqify) signature tags for use by tagName() and rpmQuery. */
151 /* the md5 sum was broken *twice* on big endian machines */
152 /* XXX 2nd underscore prevents tagTable generation */
155  RPMTAG_SIGLEMD5_1 = RPMTAG_SIG_BASE+2, /* internal - obsolete */
157  RPMTAG_SIGLEMD5_2 = RPMTAG_SIG_BASE+4, /* x internal - obsolete */
159 #define RPMTAG_PKGID RPMTAG_SIGMD5 /* x */
161  RPMTAG_SIGPGP5 = RPMTAG_SIG_BASE+7, /* internal - obsolete */
162 
163  RPMTAG_BADSHA1_1 = RPMTAG_SIG_BASE+8, /* internal - obsolete */
164  RPMTAG_BADSHA1_2 = RPMTAG_SIG_BASE+9, /* internal - obsolete */
169 #define RPMTAG_HDRID RPMTAG_SHA1HEADER /* s */
170 
171  RPMTAG_NAME = 1000, /* s */
172 #define RPMTAG_N RPMTAG_NAME /* s */
173  RPMTAG_VERSION = 1001, /* s */
174 #define RPMTAG_V RPMTAG_VERSION /* s */
175  RPMTAG_RELEASE = 1002, /* s */
176 #define RPMTAG_R RPMTAG_RELEASE /* s */
177  RPMTAG_EPOCH = 1003, /* i */
178 #define RPMTAG_E RPMTAG_EPOCH /* i */
179  RPMTAG_SUMMARY = 1004, /* s */
180  RPMTAG_DESCRIPTION = 1005, /* s */
181  RPMTAG_BUILDTIME = 1006, /* i */
182  RPMTAG_BUILDHOST = 1007, /* s */
183  RPMTAG_INSTALLTIME = 1008, /* i[] */
184  RPMTAG_SIZE = 1009, /* i */
185  RPMTAG_DISTRIBUTION = 1010, /* s */
186  RPMTAG_VENDOR = 1011, /* s */
187  RPMTAG_GIF = 1012, /* x */
188  RPMTAG_XPM = 1013, /* x */
189  RPMTAG_LICENSE = 1014, /* s */
190  RPMTAG_PACKAGER = 1015, /* s */
191  RPMTAG_GROUP = 1016, /* s */
192 /*@-enummemuse@*/
193  RPMTAG_CHANGELOG = 1017, /* s[] internal */
194 /*@=enummemuse@*/
195  RPMTAG_SOURCE = 1018, /* s[] */
196  RPMTAG_PATCH = 1019, /* s[] */
197  RPMTAG_URL = 1020, /* s */
198  RPMTAG_OS = 1021, /* s legacy used int */
199  RPMTAG_ARCH = 1022, /* s legacy used int */
200  RPMTAG_PREIN = 1023, /* s */
201  RPMTAG_POSTIN = 1024, /* s */
202  RPMTAG_PREUN = 1025, /* s */
203  RPMTAG_POSTUN = 1026, /* s */
204  RPMTAG_OLDFILENAMES = 1027, /* s[] obsolete */
205  RPMTAG_FILESIZES = 1028, /* i[] */
206  RPMTAG_FILESTATES = 1029, /* c[] */
207  RPMTAG_FILEMODES = 1030, /* h[] */
208  RPMTAG_FILEUIDS = 1031, /* i[] internal */
209  RPMTAG_FILEGIDS = 1032, /* i[] internal */
210  RPMTAG_FILERDEVS = 1033, /* h[] */
211  RPMTAG_FILEMTIMES = 1034, /* i[] */
212  RPMTAG_FILEDIGESTS = 1035, /* s[] */
213 #define RPMTAG_FILEMD5S RPMTAG_FILEDIGESTS /* s[] */
214  RPMTAG_FILELINKTOS = 1036, /* s[] */
215  RPMTAG_FILEFLAGS = 1037, /* i[] */
216 /*@-enummemuse@*/
217  RPMTAG_ROOT = 1038, /* internal - obsolete */
218 /*@=enummemuse@*/
219  RPMTAG_FILEUSERNAME = 1039, /* s[] */
220  RPMTAG_FILEGROUPNAME = 1040, /* s[] */
221 /*@-enummemuse@*/
222  RPMTAG_EXCLUDE = 1041, /* internal - obsolete */
223  RPMTAG_EXCLUSIVE = 1042, /* internal - obsolete */
224 /*@=enummemuse@*/
225  RPMTAG_ICON = 1043, /* x */
226  RPMTAG_SOURCERPM = 1044, /* s */
227  RPMTAG_FILEVERIFYFLAGS = 1045, /* i[] */
228  RPMTAG_ARCHIVESIZE = 1046, /* i */
229  RPMTAG_PROVIDENAME = 1047, /* s[] */
230 #define RPMTAG_PROVIDES RPMTAG_PROVIDENAME /* s[] */
231 #define RPMTAG_P RPMTAG_PROVIDENAME /* s[] */
232  RPMTAG_REQUIREFLAGS = 1048, /* i[] */
233  RPMTAG_REQUIRENAME = 1049, /* s[] */
234 #define RPMTAG_REQUIRES RPMTAG_REQUIRENAME /* s[] */
235  RPMTAG_REQUIREVERSION = 1050, /* s[] */
236  RPMTAG_NOSOURCE = 1051, /* i internal */
237  RPMTAG_NOPATCH = 1052, /* i internal */
238  RPMTAG_CONFLICTFLAGS = 1053, /* i[] */
239  RPMTAG_CONFLICTNAME = 1054, /* s[] */
240 #define RPMTAG_CONFLICTS RPMTAG_CONFLICTNAME /* s[] */
241 #define RPMTAG_C RPMTAG_CONFLICTNAME /* s[] */
242  RPMTAG_CONFLICTVERSION = 1055, /* s[] */
243  RPMTAG_DEFAULTPREFIX = 1056, /* s internal - deprecated */
244  RPMTAG_BUILDROOT = 1057, /* s internal */
245  RPMTAG_INSTALLPREFIX = 1058, /* s internal - deprecated */
246  RPMTAG_EXCLUDEARCH = 1059, /* s[] */
247  RPMTAG_EXCLUDEOS = 1060, /* s[] */
248  RPMTAG_EXCLUSIVEARCH = 1061, /* s[] */
249  RPMTAG_EXCLUSIVEOS = 1062, /* s[] */
250  RPMTAG_AUTOREQPROV = 1063, /* s internal */
251  RPMTAG_RPMVERSION = 1064, /* s */
252  RPMTAG_TRIGGERSCRIPTS = 1065, /* s[] */
253  RPMTAG_TRIGGERNAME = 1066, /* s[] */
254  RPMTAG_TRIGGERVERSION = 1067, /* s[] */
255  RPMTAG_TRIGGERFLAGS = 1068, /* i[] */
256  RPMTAG_TRIGGERINDEX = 1069, /* i[] */
257  RPMTAG_VERIFYSCRIPT = 1079, /* s */
258  RPMTAG_CHANGELOGTIME = 1080, /* i[] */
259  RPMTAG_CHANGELOGNAME = 1081, /* s[] */
260  RPMTAG_CHANGELOGTEXT = 1082, /* s[] */
261 /*@-enummemuse@*/
262  RPMTAG_BROKENMD5 = 1083, /* internal - obsolete */
263 /*@=enummemuse@*/
264  RPMTAG_PREREQ = 1084, /* internal */
265  RPMTAG_PREINPROG = 1085, /* s */
266  RPMTAG_POSTINPROG = 1086, /* s */
267  RPMTAG_PREUNPROG = 1087, /* s */
268  RPMTAG_POSTUNPROG = 1088, /* s */
269  RPMTAG_BUILDARCHS = 1089, /* s[] */
270  RPMTAG_OBSOLETENAME = 1090, /* s[] */
271 #define RPMTAG_OBSOLETES RPMTAG_OBSOLETENAME /* s[] */
272 #define RPMTAG_O RPMTAG_OBSOLETENAME /* s[] */
273  RPMTAG_VERIFYSCRIPTPROG = 1091, /* s */
274  RPMTAG_TRIGGERSCRIPTPROG = 1092, /* s[] */
275  RPMTAG_DOCDIR = 1093, /* internal */
276  RPMTAG_COOKIE = 1094, /* s */
277  RPMTAG_FILEDEVICES = 1095, /* i[] */
278  RPMTAG_FILEINODES = 1096, /* i[] */
279  RPMTAG_FILELANGS = 1097, /* s[] */
280  RPMTAG_PREFIXES = 1098, /* s[] */
281  RPMTAG_INSTPREFIXES = 1099, /* s[] */
282  RPMTAG_TRIGGERIN = 1100, /* internal */
283  RPMTAG_TRIGGERUN = 1101, /* internal */
284  RPMTAG_TRIGGERPOSTUN = 1102, /* internal */
285  RPMTAG_AUTOREQ = 1103, /* internal */
286  RPMTAG_AUTOPROV = 1104, /* internal */
287 /*@-enummemuse@*/
288  RPMTAG_CAPABILITY = 1105, /* i legacy - obsolete */
289 /*@=enummemuse@*/
290  RPMTAG_SOURCEPACKAGE = 1106, /* i legacy - obsolete */
291 /*@-enummemuse@*/
292  RPMTAG_OLDORIGFILENAMES = 1107, /* internal - obsolete */
293 /*@=enummemuse@*/
294  RPMTAG_BUILDPREREQ = 1108, /* internal */
295  RPMTAG_BUILDREQUIRES = 1109, /* internal */
296  RPMTAG_BUILDCONFLICTS = 1110, /* internal */
297 /*@-enummemuse@*/
298  RPMTAG_BUILDMACROS = 1111, /* s[] srpms only */
299 /*@=enummemuse@*/
300  RPMTAG_PROVIDEFLAGS = 1112, /* i[] */
301  RPMTAG_PROVIDEVERSION = 1113, /* s[] */
302  RPMTAG_OBSOLETEFLAGS = 1114, /* i[] */
303  RPMTAG_OBSOLETEVERSION = 1115, /* s[] */
304  RPMTAG_DIRINDEXES = 1116, /* i[] */
305  RPMTAG_BASENAMES = 1117, /* s[] */
306  RPMTAG_DIRNAMES = 1118, /* s[] */
307  RPMTAG_ORIGDIRINDEXES = 1119, /* i[] relocation */
308  RPMTAG_ORIGBASENAMES = 1120, /* s[] relocation */
309  RPMTAG_ORIGDIRNAMES = 1121, /* s[] relocation */
310  RPMTAG_OPTFLAGS = 1122, /* s */
311  RPMTAG_DISTURL = 1123, /* s */
312  RPMTAG_PAYLOADFORMAT = 1124, /* s */
313  RPMTAG_PAYLOADCOMPRESSOR = 1125, /* s */
314  RPMTAG_PAYLOADFLAGS = 1126, /* s */
315  RPMTAG_INSTALLCOLOR = 1127, /* i transaction color when installed */
316  RPMTAG_INSTALLTID = 1128, /* i[] */
317  RPMTAG_REMOVETID = 1129, /* i[] */
318 /*@-enummemuse@*/
319  RPMTAG_SHA1RHN = 1130, /* internal - obsolete */
320 /*@=enummemuse@*/
321  RPMTAG_RHNPLATFORM = 1131, /* s deprecated */
322  RPMTAG_PLATFORM = 1132, /* s */
323  RPMTAG_PATCHESNAME = 1133, /* s[] deprecated placeholder (SuSE) */
324  RPMTAG_PATCHESFLAGS = 1134, /* i[] deprecated placeholder (SuSE) */
325  RPMTAG_PATCHESVERSION = 1135, /* s[] deprecated placeholder (SuSE) */
326  RPMTAG_CACHECTIME = 1136, /* i rpmcache(8) only */
327  RPMTAG_CACHEPKGPATH = 1137, /* s rpmcache(8) only */
328  RPMTAG_CACHEPKGSIZE = 1138, /* i rpmcache(8) only */
329  RPMTAG_CACHEPKGMTIME = 1139, /* i rpmcache(8) only */
330  RPMTAG_FILECOLORS = 1140, /* i[] */
331  RPMTAG_FILECLASS = 1141, /* i[] */
332  RPMTAG_CLASSDICT = 1142, /* s[] */
333  RPMTAG_FILEDEPENDSX = 1143, /* i[] */
334  RPMTAG_FILEDEPENDSN = 1144, /* i[] */
335  RPMTAG_DEPENDSDICT = 1145, /* i[] */
336  RPMTAG_SOURCEPKGID = 1146, /* x */
337  RPMTAG_FILECONTEXTS = 1147, /* s[] */
338  RPMTAG_FSCONTEXTS = 1148, /* s[] extension */
339  RPMTAG_RECONTEXTS = 1149, /* s[] extension */
340  RPMTAG_POLICIES = 1150, /* s[] selinux *.te policy file. */
341  RPMTAG_PRETRANS = 1151, /* s */
342  RPMTAG_POSTTRANS = 1152, /* s */
343  RPMTAG_PRETRANSPROG = 1153, /* s */
344  RPMTAG_POSTTRANSPROG = 1154, /* s */
345  RPMTAG_DISTTAG = 1155, /* s */
346  RPMTAG_SUGGESTSNAME = 1156, /* s[] extension */
347 #define RPMTAG_SUGGESTS RPMTAG_SUGGESTSNAME /* s[] */
348  RPMTAG_SUGGESTSVERSION = 1157, /* s[] extension */
349  RPMTAG_SUGGESTSFLAGS = 1158, /* i[] extension */
350  RPMTAG_ENHANCESNAME = 1159, /* s[] extension placeholder */
351 #define RPMTAG_ENHANCES RPMTAG_ENHANCESNAME /* s[] */
352  RPMTAG_ENHANCESVERSION = 1160, /* s[] extension placeholder */
353  RPMTAG_ENHANCESFLAGS = 1161, /* i[] extension placeholder */
354  RPMTAG_PRIORITY = 1162, /* i[] extension placeholder */
355  RPMTAG_CVSID = 1163, /* s */
356 #define RPMTAG_SVNID RPMTAG_CVSID /* s */
357  RPMTAG_BLINKPKGID = 1164, /* s[] */
358  RPMTAG_BLINKHDRID = 1165, /* s[] */
359  RPMTAG_BLINKNEVRA = 1166, /* s[] */
360  RPMTAG_FLINKPKGID = 1167, /* s[] */
361  RPMTAG_FLINKHDRID = 1168, /* s[] */
362  RPMTAG_FLINKNEVRA = 1169, /* s[] */
363  RPMTAG_PACKAGEORIGIN = 1170, /* s */
364  RPMTAG_TRIGGERPREIN = 1171, /* internal */
365  RPMTAG_BUILDSUGGESTS = 1172, /* internal */
366  RPMTAG_BUILDENHANCES = 1173, /* internal */
367  RPMTAG_SCRIPTSTATES = 1174, /* i[] scriptlet exit codes */
368  RPMTAG_SCRIPTMETRICS = 1175, /* i[] scriptlet execution times */
369  RPMTAG_BUILDCPUCLOCK = 1176, /* i */
370  RPMTAG_FILEDIGESTALGOS = 1177, /* i[] */
371  RPMTAG_VARIANTS = 1178, /* s[] */
372  RPMTAG_XMAJOR = 1179, /* i */
373  RPMTAG_XMINOR = 1180, /* i */
374  RPMTAG_REPOTAG = 1181, /* s */
375  RPMTAG_KEYWORDS = 1182, /* s[] */
376  RPMTAG_BUILDPLATFORMS = 1183, /* s[] */
377  RPMTAG_PACKAGECOLOR = 1184, /* i */
378  RPMTAG_PACKAGEPREFCOLOR = 1185, /* i (unimplemented) */
379  RPMTAG_XATTRSDICT = 1186, /* s[] (unimplemented) */
380  RPMTAG_FILEXATTRSX = 1187, /* i[] (unimplemented) */
381  RPMTAG_DEPATTRSDICT = 1188, /* s[] (unimplemented) */
382  RPMTAG_CONFLICTATTRSX = 1189, /* i[] (unimplemented) */
383  RPMTAG_OBSOLETEATTRSX = 1190, /* i[] (unimplemented) */
384  RPMTAG_PROVIDEATTRSX = 1191, /* i[] (unimplemented) */
385  RPMTAG_REQUIREATTRSX = 1192, /* i[] (unimplemented) */
386  RPMTAG_BUILDPROVIDES = 1193, /* internal */
387  RPMTAG_BUILDOBSOLETES = 1194, /* internal */
388  RPMTAG_DBINSTANCE = 1195, /* i */
389  RPMTAG_NVRA = 1196, /* s */
390  RPMTAG_FILEPATHS = 1197, /* s[] */
391  RPMTAG_ORIGPATHS = 1198, /* s[] */
392  RPMTAG_RPMLIBVERSION = 1199, /* i */
393  RPMTAG_RPMLIBTIMESTAMP = 1200, /* i */
394  RPMTAG_RPMLIBVENDOR = 1201, /* i */
395  RPMTAG_CLASS = 1202, /* s arbitrary */
396  RPMTAG_TRACK = 1203, /* s internal arbitrary */
397  RPMTAG_TRACKPROG = 1204, /* s internal arbitrary */
398  RPMTAG_SANITYCHECK = 1205, /* s */
399  RPMTAG_SANITYCHECKPROG = 1206, /* s */
400  RPMTAG_FILESTAT = 1207, /* s[] stat(2) from metadata extension*/
401  RPMTAG_STAT = 1208, /* s[] stat(2) from disk extension */
402  RPMTAG_ORIGINTID = 1209, /* i[] */
403  RPMTAG_ORIGINTIME = 1210, /* i[] */
404  RPMTAG_HEADERSTARTOFF = 1211, /* l */
405  RPMTAG_HEADERENDOFF = 1212, /* l */
406  RPMTAG_PACKAGETIME = 1213, /* l */
407  RPMTAG_PACKAGESIZE = 1214, /* l */
408  RPMTAG_PACKAGEDIGEST = 1215, /* s */
409  RPMTAG_PACKAGESTAT = 1216, /* x */
410  RPMTAG_PACKAGEBASEURL = 1217, /* s */
411  RPMTAG_DISTEPOCH = 1218, /* s */
412 #define RPMTAG_D RPMTAG_DISTEPOCH /* s */
413 
414  RPMTAG_CONFLICTYAMLENTRY = 1219, /* s[] */
415  RPMTAG_OBSOLETEYAMLENTRY = 1220, /* s[] */
416  RPMTAG_PROVIDEYAMLENTRY = 1221, /* s[] */
417  RPMTAG_REQUIREYAMLENTRY = 1222, /* s[] */
418  RPMTAG_TRIGGERPRETRANSIN = 1223, /* internal */
419  RPMTAG_TRIGGERPRETRANSUN = 1224, /* internal */
420  RPMTAG_TRIGGERPOSTTRANSIN = 1225, /* internal */
421  RPMTAG_TRIGGERPOSTTRANSUN = 1226, /* internal */
422 
423  RPMTAG_FILEDIGESTALGO = 5011, /* i file checksum algorithm */
424  RPMTAG_BUGURL = 5012, /* s */
425 
426 /*@-enummemuse@*/
428 /*@=enummemuse@*/
429 
430  RPMTAG_PACKAGETRANSFLAGS = 0x4efaafd9, /* s[] arbitrary */
431  RPMTAG_PACKAGEDEPFLAGS = 0x748a8314, /* s[] arbitrary */
432 
433  RPMTAG_BUILDPREPPROG = 0x4ba37c9e, /* s[] arbitrary */
434  RPMTAG_BUILDPREP = 0x799c0b4d, /* s[] arbitrary */
435  RPMTAG_BUILDBUILDPROG = 0x6fb46014, /* s[] arbitrary */
436  RPMTAG_BUILDBUILD = 0x5bae1a5a, /* s[] arbitrary */
437  RPMTAG_BUILDINSTALLPROG = 0x70d4ab6f, /* s[] arbitrary */
438  RPMTAG_BUILDINSTALL = 0x567f5983, /* s[] arbitrary */
439  RPMTAG_BUILDCHECKPROG = 0x488a60ce, /* s[] arbitrary */
440  RPMTAG_BUILDCHECK = 0x7f3b97b5, /* s[] arbitrary */
441  RPMTAG_BUILDCLEANPROG = 0x42c93d41, /* s[] arbitrary */
442  RPMTAG_BUILDCLEAN = 0x566042bf, /* s[] arbitrary */
443 
445 };
446 
447 #define RPMTAG_EXTERNAL_TAG 1000000
448 
453  RPMSIGTAG_SIZE = 1000,
455  RPMSIGTAG_PGP = 1002,
457  RPMSIGTAG_MD5 = 1004,
458  RPMSIGTAG_GPG = 1005,
459  RPMSIGTAG_PGP5 = 1006,
466  RPMSIGTAG_PADDING = 0x3fffffff
467 };
468 
471 typedef enum rpmTag_e rpmTag;
472 
475 typedef enum rpmSigTag_e rpmSigTag;
476 
480 #define RPMDBI_PACKAGES (rpmTag)0 /* Installed package headers. */
481 #define RPMDBI_DEPCACHE (rpmTag)1 /* Dependency resolution cache. */
482  /* (obsolete) RPMDBI_LABEL was 2 */
483 #define RPMDBI_ADDED (rpmTag)3 /* Added package headers. */
484 #define RPMDBI_REMOVED (rpmTag)4 /* Removed package headers. */
485 #define RPMDBI_AVAILABLE (rpmTag)5 /* Available package headers. */
486 #define RPMDBI_HDLIST (rpmTag)6 /* (rpmgi) Header list. */
487 #define RPMDBI_ARGLIST (rpmTag)7 /* (rpmgi) Argument list. */
488 #define RPMDBI_FTSWALK (rpmTag)8 /* (rpmgi) File tree walk. */
489 #define RPMDBI_SEQNO (rpmTag)9 /* Sequence numbers. */
490 #define RPMDBI_BTREE (rpmTag)10 /* (development) Generic DB_BTREE. */
491 #define RPMDBI_HASH (rpmTag)11 /* (development) Generic DB_HASH. */
492 #define RPMDBI_QUEUE (rpmTag)12 /* (development) Generic DB_QUEUE. */
493 #define RPMDBI_RECNO (rpmTag)13 /* (development) Generic DB_RECNO. */
494 #define RPMDBI_HEAP (rpmTag)14 /* (development) Generic DB_HEAP. */
495  /* 15 unused */
496 #define RPMDBI_REPACKAGES (rpmTag)16 /* Re-packaged package paths. */
497 #define RPMDBI_REPOSITORY (rpmTag)17 /* Repository URI's. */
498 
501 /*@-typeuse -fielduse@*/
502 #if !defined(SWIG)
503 struct _HE_s {
504  rpmTag tag;
505  rpmTagType t;
506 /*@owned@*/ /*@null@*/
508  rpmTagCount c;
509  int ix;
510  unsigned int freeData : 1;
511  unsigned int avail : 1;
512  unsigned int append : 1;
513 };
514 #endif
515 
518 typedef struct _HE_s HE_s;
519 
522 typedef struct tagStore_s * tagStore_t;
523 
526 typedef /*@abstract@*/ const struct headerTagTableEntry_s * headerTagTableEntry;
527 
528 #if defined(_RPMTAG_INTERNAL)
529 
534 #if !defined(SWIG)
535 struct headerTagTableEntry_s {
536 /*@observer@*/ /*@relnull@*/
537  const char * name;
538  rpmTag val;
539  rpmTagType type;
540 };
541 #endif
542 
545 struct tagStore_s {
546 /*@only@*/
547  const char * str;
548  rpmTag tag;
549  rpmiob iob;
550 };
551 #endif /* _RPMTAG_INTERNAL */
552 
556 /*@-redecl@*/
557 /*@observer@*/ /*@unchecked@*/
558 extern headerTagTableEntry rpmTagTable;
559 /*@=redecl@*/
560 
564 /*@-redecl@*/
565 /*@unchecked@*/
566 extern int rpmTagTableSize;
567 
568 /*@unchecked@*/
569 extern headerTagIndices rpmTags;
570 /*@=redecl@*/
571 
572 #if defined(_RPMTAG_INTERNAL)
573 
575 #if !defined(SWIG)
576 struct headerTagIndices_s {
577 /*@relnull@*/
578  int (*loadIndex) (headerTagTableEntry ** ipp, size_t * np,
579  int (*cmp) (const void * avp, const void * bvp))
580  /*@ modifies *ipp, *np */;
581 /*@relnull@*/
582  headerTagTableEntry * byName;
583  size_t byNameSize;
584  int (*byNameCmp) (const void * avp, const void * bvp)
585  /*@*/;
586  rpmTag (*tagValue) (const char * name)
587  /*@*/;
588 /*@relnull@*/
589  headerTagTableEntry * byValue;
590  size_t byValueSize;
591  int (*byValueCmp) (const void * avp, const void * bvp)
592  /*@*/;
593  const char * (*tagName) (rpmTag value)
594  /*@*/;
595  rpmTag (*tagType) (rpmTag value)
596  /*@*/;
597  size_t nameBufLen;
598 /*@relnull@*/
599  const char ** aTags;
600 /*@owned@*/ /*@null@*/
601  char * nameBuf; /* Name buffer. */
602 /*@only@*/
603  char * (*tagCanonicalize) (const char * s)
604  /*@*/;
605  rpmTag (*tagGenerate) (const char * s)
606  /*@*/;
607 };
608 #endif
609 #endif /* _RPMTAG_INTERNAL */
610 
616 /*@observer@*/
617 const char * tagName(rpmTag tag)
618  /*@*/;
619 
626 unsigned int tagType(rpmTag tag)
627  /*@*/;
628 
634 rpmTag tagValue(const char * tagstr)
635  /*@*/;
636 
642 /*@only@*/
643 char * tagCanonicalize(const char * s)
644  /*@*/;
645 
651 rpmTag tagGenerate(const char * s)
652  /*@*/;
653 
658 void tagClean(/*@null@*/ headerTagIndices _rpmTags)
659  /*@globals rpmTags @*/
660  /*@modifies _rpmTags, rpmTags @*/;
661 
668 /*@null@*/
669 tagStore_t tagStoreFree(/*@only@*//*@null@*/tagStore_t dbiTags, size_t dbiNTags)
670  /*@modifies dbiTags @*/;
671 
672 #if defined(_RPMTAG_INTERNAL)
673 
675 typedef enum headerSprintfExtensionType_e {
676  HEADER_EXT_LAST = 0,
677  HEADER_EXT_FORMAT,
678  HEADER_EXT_MORE,
679  HEADER_EXT_TAG
680 } headerSprintfExtensionType;
681 
689 typedef /*only@*/ char * (*headerTagFormatFunction) (HE_t he, /*@null@*/ const char ** av)
690  /*@modifies he @*/;
691 
700 typedef int (*headerTagTagFunction) (Header h, HE_t he)
701  /*@modifies he @*/;
702 
706 #if !defined(SWIG)
707 struct headerSprintfExtension_s {
708  headerSprintfExtensionType type;
709 /*@observer@*/ /*@null@*/
710  const char * name;
711  union {
712 /*@observer@*/ /*@null@*/
713  void * generic;
714  headerTagFormatFunction fmtFunction;
715  headerTagTagFunction tagFunction;
716  headerSprintfExtension * more;
717  } u;
718 };
719 #endif
720 #endif /* _RPMTAG_INTERNAL */
721 
725 /*@unchecked@*/ /*@observer@*/
726 extern headerSprintfExtension headerDefaultFormats;
727 
731 /*@unchecked@*/ /*@observer@*/
732 extern headerSprintfExtension headerCompoundFormats;
733 
740 void rpmDisplayQueryTags(/*@null@*/ FILE * fp,
741  /*@null@*/ headerTagTableEntry _rpmTagTable,
742  /*@null@*/ headerSprintfExtension _rpmHeaderFormats)
743  /*@globals fileSystem, internalState @*/
744  /*@modifies *fp, fileSystem, internalState @*/;
745 
757 /*@only@*/ /*@null@*/
758 char * headerSprintf(Header h, const char * fmt,
759  /*@null@*/ headerTagTableEntry tags,
760  /*@null@*/ headerSprintfExtension exts,
761  /*@null@*/ /*@out@*/ errmsg_t * errmsg)
762  /*@globals headerCompoundFormats, fileSystem, internalState @*/
763  /*@modifies h, *errmsg, fileSystem, internalState @*/;
764 
773 int headerGet(Header h, HE_t he, unsigned int flags)
774  /*@globals internalState @*/
775  /*@modifies he, internalState @*/;
776 #define HEADERGET_NOEXTENSION (1 << 0)
777 #define HEADERGET_NOI18NSTRING (1 << 1)
787 /*@mayexit@*/
788 int headerPut(Header h, HE_t he, /*@unused@*/ unsigned int flags)
789  /*@modifies h @*/;
790 
799 /*@mayexit@*/
800 int headerDel(Header h, HE_t he, /*@unused@*/ unsigned int flags)
801  /*@modifies h @*/;
802 
811 int headerMod(Header h, HE_t he, /*@unused@*/ unsigned int flags)
812  /*@modifies h @*/;
813 
819 /*@null@*/
820 HeaderIterator headerFini(/*@only@*/ HeaderIterator hi)
821  /*@globals fileSystem @*/
822  /*@modifies hi, fileSystem */;
823 
829 HeaderIterator headerInit(Header h)
830  /*@globals fileSystem @*/
831  /*@modifies h, fileSystem */;
832 
840 int headerNext(HeaderIterator hi, HE_t he, /*@unused@*/ unsigned int flags)
841  /*@globals internalState @*/
842  /*@modifies hi, he, internalState @*/;
843 
849 Header headerLink(Header h)
850  /*@modifies h @*/;
851 #define headerLink(_h) \
852  ((Header)rpmioLinkPoolItem((rpmioItem)(_h), __FUNCTION__, __FILE__, __LINE__))
853 
859 /*@null@*/
860 Header headerUnlink(/*@killref@*/ /*@null@*/ Header h)
861  /*@modifies h @*/;
862 #define headerUnlink(_h) \
863  ((Header)rpmioUnlinkPoolItem((rpmioItem)(_h), __FUNCTION__, __FILE__, __LINE__))
864 
870 /*@null@*/
871 Header headerFree(/*@killref@*/ /*@null@*/ Header h)
872  /*@modifies h @*/;
873 #define headerFree(_h) \
874  ((Header)rpmioFreePoolItem((rpmioItem)(_h), __FUNCTION__, __FILE__, __LINE__))
875 
880 Header headerNew(void)
881  /*@globals fileSystem @*/
882  /*@modifies fileSystem @*/;
883 
889 size_t headerSizeof(/*@null@*/ Header h)
890  /*@modifies h @*/;
891 
898 /*@only@*/ /*@null@*/
899 void * headerUnload(Header h, /*@out@*/ /*@null@*/ size_t * lenp)
900  /*@globals internalState @*/
901  /*@modifies h, *lenp, internalState @*/;
902 
911 /*@null@*/
912 Header headerReload(/*@only@*/ Header h, rpmTag tag)
913  /*@globals fileSystem, internalState @*/
914  /*@modifies h, fileSystem, internalState @*/;
915 
921 /*@null@*/
922 Header headerCopy(Header h)
923  /*@globals fileSystem, internalState @*/
924  /*@modifies h, fileSystem, internalState @*/;
925 
931 /*@null@*/
932 Header headerLoad(/*@kept@*/ void * uh)
933  /*@globals fileSystem, internalState @*/
934  /*@modifies uh, fileSystem, internalState @*/;
935 
941 /*@null@*/
942 Header headerCopyLoad(const void * uh)
943  /*@globals fileSystem, internalState @*/
944  /*@modifies fileSystem, internalState @*/;
945 
952 int headerIsEntry(/*@null@*/ Header h, rpmTag tag)
953  /*@*/;
954 
955 #if defined(SUPPORT_I18NSTRING_TYPE)
956 
976 int headerAddI18NString(Header h, rpmTag tag, const char * string,
977  const char * lang)
978  /*@modifies h @*/;
979 #endif
980 
987 void headerCopyTags(Header headerFrom, Header headerTo, rpmTag * tagstocopy)
988  /*@globals internalState @*/
989  /*@modifies headerTo, internalState @*/;
990 
998 int headerGetMagic(/*@null@*/ Header h, unsigned char **magicp, size_t *nmagicp)
999  /*@modifies *magicp, *nmagicp @*/;
1000 
1008 int headerSetMagic(/*@null@*/ Header h, unsigned char * magic, size_t nmagic)
1009  /*@modifies h @*/;
1010 
1016 /*@observer@*/ /*@null@*/
1017 const char * headerGetOrigin(/*@null@*/ Header h)
1018  /*@*/;
1019 
1026 int headerSetOrigin(/*@null@*/ Header h, const char * origin)
1027  /*@modifies h @*/;
1028 
1034 /*@observer@*/ /*@null@*/
1035 const char * headerGetParent(/*@null@*/ Header h)
1036  /*@*/;
1037 
1044 int headerSetParent(/*@null@*/ Header h, const char * parent)
1045  /*@modifies h @*/;
1046 
1052 /*@observer@*/ /*@null@*/
1053 const char * headerGetBaseURL(/*@null@*/ Header h)
1054  /*@*/;
1055 
1062 int headerSetBaseURL(/*@null@*/ Header h, const char * baseurl)
1063  /*@modifies h @*/;
1064 
1070 struct stat * headerGetStatbuf(/*@null@*/ Header h)
1071  /*@*/;
1072 
1079 int headerSetStatbuf(/*@null@*/ Header h, struct stat * st)
1080  /*@modifies h @*/;
1081 
1087 /*@null@*/
1088 const char * headerGetDigest(/*@null@*/ Header h)
1089  /*@*/;
1090 
1097 int headerSetDigest(/*@null@*/ Header h, const char * digest)
1098  /*@modifies h @*/;
1099 
1105 /*@null@*/
1106 void * headerGetRpmdb(/*@null@*/ Header h)
1107  /*@*/;
1108 
1115 /*@null@*/
1116 void * headerSetRpmdb(/*@null@*/ Header h, /*@null@*/ void * rpmdb)
1117  /*@modifies h @*/;
1118 
1124 uint32_t headerGetInstance(/*@null@*/ Header h)
1125  /*@*/;
1126 
1133 uint32_t headerSetInstance(/*@null@*/ Header h, uint32_t instance)
1134  /*@modifies h @*/;
1135 
1141 rpmuint32_t headerGetStartOff(/*@null@*/ Header h)
1142  /*@*/;
1143 
1150 rpmuint32_t headerSetStartOff(/*@null@*/ Header h, rpmuint32_t startoff)
1151  /*@modifies h @*/;
1152 
1158 rpmuint32_t headerGetEndOff(/*@null@*/ Header h)
1159  /*@*/;
1160 
1167 rpmuint32_t headerSetEndOff(/*@null@*/ Header h, rpmuint32_t endoff)
1168  /*@modifies h @*/;
1169 
1176 /*@null@*/
1177 void * headerGetStats(Header h, int opx)
1178  /*@*/;
1179 
1185 int headerMacrosLoad(Header h)
1186  /*@globals internalState @*/
1187  /*@modifies internalState @*/;
1188 
1194 int headerMacrosUnload(Header h)
1195  /*@globals internalState @*/
1196  /*@modifies internalState @*/;
1197 
1208 int headerNEVRA(Header h,
1209  /*@null@*/ /*@out@*/ const char ** np,
1210  /*@null@*/ /*@out@*/ /*@unused@*/ const char ** ep,
1211  /*@null@*/ /*@out@*/ const char ** vp,
1212  /*@null@*/ /*@out@*/ const char ** rp,
1213  /*@null@*/ /*@out@*/ const char ** ap)
1214  /*@globals internalState @*/
1215  /*@modifies h, *np, *vp, *rp, *ap, internalState @*/;
1216 
1222 rpmuint32_t hGetColor(Header h)
1223  /*@globals internalState @*/
1224  /*@modifies h, internalState @*/;
1225 
1232 void headerMergeLegacySigs(Header h, const Header sigh)
1233  /*@globals fileSystem, internalState @*/
1234  /*@modifies h, sigh, fileSystem, internalState @*/;
1235 
1243 Header headerRegenSigHeader(const Header h, int noArchiveSize)
1244  /*@globals fileSystem, internalState @*/
1245  /*@modifies h, fileSystem, internalState @*/;
1246 
1247 #ifdef __cplusplus
1248 }
1249 #endif
1250 
1251 #endif /* H_RPMTAG */
int headerDel(Header h, HE_t he, unsigned int flags)
Remove tag container from header.
Definition: header.c:2304
void headerMergeLegacySigs(Header h, const Header sigh)
Translate and merge legacy signature tags into header.
Definition: hdrNVR.c:242
rpmTagType t
Definition: rpmtag.h:505
enum rpmTagReturnType_e rpmTagReturnType
Identify how to return the header data type.
const char * str
Definition: rpmtag.h:72
rpmTag tag
Definition: rpmtag.h:504
const char ** argv
Definition: rpmtag.h:74
headerTagTableEntry rpmTagTable
Automatically generated table of tag name/value pairs.
Definition: tagtbl.c:238
rpmuint32_t headerGetStartOff(Header h)
Return header starting byte offset.
Definition: header.c:1290
#define headerFree(_h)
Definition: rpmtag.h:873
Header headerRegenSigHeader(const Header h, int noArchiveSize)
Regenerate signature header.
Definition: hdrNVR.c:312
void tagClean(headerTagIndices _rpmTags)
Free memory in header tag indices.
Definition: tagname.c:461
#define HEADER_IMMUTABLE
Definition: rpmtag.h:117
void headerCopyTags(Header headerFrom, Header headerTo, rpmTag *tagstocopy)
Duplicate tag values from one header into another.
Definition: header.c:2202
rpmuint32_t hGetColor(Header h)
Return header color.
Definition: hdrNVR.c:223
Header headerLoad(void *uh)
Convert header to in-memory representation.
Definition: header.c:970
enum rpmSigTag_e rpmSigTag
Definition: rpmtag.h:475
rpmuint32_t * ui32p
Definition: rpmtag.h:69
int headerNext(HeaderIterator hi, HE_t he, unsigned int flags)
Return next tag from header.
Definition: header.c:2149
#define HEADER_SIGNATURES
Definition: rpmtag.h:116
struct headerToken_s * Header
Definition: rpmtag.h:21
#define HEADER_IMAGE
Header private tags.
Definition: rpmtag.h:115
The Header data structure.
const char * headerGetParent(Header h)
Return header parent identifier (e.g parent&#39;s NVRA).
Definition: header.c:1198
#define headerUnlink(_h)
Definition: rpmtag.h:862
rpmuint16_t * ui16p
Definition: rpmtag.h:68
rpmuint32_t headerGetEndOff(Header h)
Return header ending byte offset.
Definition: header.c:1302
rpmTagReturnType_e
Identify how to return the header data type.
Definition: rpmtag.h:95
#define headerLink(_h)
Definition: rpmtag.h:851
unsigned short rpmuint16_t
Definition: rpmiotypes.h:24
static struct headerSprintfExtension_s _rpmHeaderFormats[]
Definition: formats.c:274
rpmSigTag_e
Tags found in signature header from package.
Definition: rpmtag.h:452
void * headerGetStats(Header h, int opx)
Return header stats accumulator structure.
Definition: header.c:97
Header tag iterator data structure.
Definition: header.c:2120
int headerMacrosLoad(Header h)
Define per-header macros.
Definition: hdrNVR.c:36
int headerSetMagic(Header h, unsigned char *magic, size_t nmagic)
Store header magic.
Definition: header.c:1172
void * headerSetRpmdb(Header h, void *rpmdb)
Store rpmdb pointer.
Definition: header.c:1266
int ix
Definition: rpmtag.h:509
uint32_t headerSetInstance(Header h, uint32_t instance)
Store header instance (e.g path or URL).
Definition: header.c:1280
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
rpmTag_e
Tags identify data in package headers.
Definition: rpmtag.h:139
enum rpmSubTagType_e rpmSubTagType
size_t headerSizeof(Header h)
Return size of on-disk header representation in bytes.
Definition: header.c:266
rpmuint32_t headerSetStartOff(Header h, rpmuint32_t startoff)
Store header starting byte offset.
Definition: header.c:1295
rpmTagType_e
The basic types of data in tags from headers.
Definition: rpmtag.h:26
const char * headerGetOrigin(Header h)
Return header origin (e.g path or URL).
Definition: header.c:1184
unsigned int rpmuint32_t
Definition: rpmiotypes.h:25
struct _HE_s * HE_t
Definition: rpmtag.h:58
void rpmDisplayQueryTags(FILE *fp, headerTagTableEntry _rpmTagTable, headerSprintfExtension _rpmHeaderFormats)
Display list of tags that can be used in –queryformat.
Definition: hdrfmt.c:5253
void * ptr
Definition: rpmtag.h:66
void * headerUnload(Header h, size_t *lenp)
headerUnload.
Definition: header.c:648
rpmuint32_t headerSetEndOff(Header h, rpmuint32_t endoff)
Store header ending byte offset.
Definition: header.c:1307
HE_t he
Definition: rpmtag.h:75
int headerGet(Header h, HE_t he, unsigned int flags)
Retrieve extension or tag value from a header.
Definition: header.c:2222
unsigned char rpmuint8_t
Private int typedefs to avoid C99 portability issues.
Definition: rpmiotypes.h:23
Header headerCopy(Header h)
Duplicate a header.
Definition: header.c:2185
unsigned int tagType(rpmTag tag)
Return tag data type from value.
Definition: tagname.c:441
const char * headerGetBaseURL(Header h)
Return header base URL (e.g path or URL).
Definition: header.c:1212
unsigned char * blob
Definition: rpmtag.h:73
rpmTagData p
Definition: rpmtag.h:507
static const struct headerTagTableEntry_s _rpmTagTable[]
Definition: tagtbl.c:9
unsigned long long rpmuint64_t
Definition: rpmiotypes.h:26
int headerPut(Header h, HE_t he, unsigned int flags)
Add or append tag container to header.
Definition: header.c:2285
const char * tagName(rpmTag tag)
Return tag name from value.
Definition: tagname.c:436
HeaderIterator headerFini(HeaderIterator hi)
Destroy header tag container iterator.
Definition: header.c:2125
struct stat * headerGetStatbuf(Header h)
Return header stat(2) buffer (of origin *.rpm file).
Definition: header.c:1228
int headerIsEntry(Header h, rpmTag tag)
Check if tag is in header.
Definition: header.c:1431
Header headerNew(void)
Create new (empty) header instance.
Definition: header.c:180
struct tagStore_s * tagStore_t
Definition: rpmtag.h:522
static struct headerTagIndices_s _rpmTags
Definition: tagname.c:175
#define HEADER_I18NTABLE
Definition: rpmtag.h:119
struct rpmdb_s * rpmdb
Database of headers and tag value indices.
Definition: rpmtypes.h:43
int headerSetBaseURL(Header h, const char *baseurl)
Store header base URL (e.g path or URL).
Definition: header.c:1219
const struct headerSprintfExtension_s * headerSprintfExtension
Definition: rpmtag.h:133
rpmTagCount c
Definition: rpmtag.h:508
static const char * lang
#define HEADER_REGIONS
Definition: rpmtag.h:118
rpmuint8_t * ui8p
Definition: rpmtag.h:67
enum rpmTagType_e rpmTagType
Definition: rpmtag.h:46
Header headerReload(Header h, rpmTag tag)
Convert header to on-disk representation, and then reload.
Definition: header.c:1314
HeaderIterator headerInit(Header h)
Create header tag iterator.
Definition: header.c:2135
headerSprintfExtension headerCompoundFormats
Supported default header extension/tag output formats.
Definition: hdrfmt.c:5249
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
char * headerSprintf(Header h, const char *fmt, headerTagTableEntry tags, headerSprintfExtension exts, errmsg_t *errmsg)
Return formatted output string from header tags.
Definition: hdrfmt.c:6700
const char * errmsg_t
Definition: rpmtag.h:17
#define HEADER_SIGBASE
Definition: rpmtag.h:120
Definition: rpmtag.h:503
int headerSetStatbuf(Header h, struct stat *st)
Copy into header stat(2) buffer (of origin *.rpm file).
Definition: header.c:1235
int headerSetOrigin(Header h, const char *origin)
Store header origin (e.g path or URL).
Definition: header.c:1189
struct rpmiob_s * rpmiob
Definition: rpmiotypes.h:57
int rpmTagTableSize
Number of entries in rpmTagTable.
Definition: tagtbl.c:241
char * tagCanonicalize(const char *s)
Canonicalize a rpmTag string.
Definition: tagname.c:451
tagStore_t tagStoreFree(tagStore_t dbiTags, size_t dbiNTags)
Destroy tagStore array.
Definition: tagname.c:473
const struct headerTagTableEntry_s * headerTagTableEntry
Definition: rpmtag.h:526
int headerMacrosUnload(Header h)
Define per-header macros.
Definition: hdrNVR.c:111
headerTagIndices rpmTags
Definition: tagname.c:184
const char * headerGetDigest(Header h)
Return digest of origin *.rpm file.
Definition: header.c:1242
int headerSetDigest(Header h, const char *digest)
Store digest of origin *.rpm file.
Definition: header.c:1249
rpmSubTagType_e
Definition: rpmtag.h:84
static const char * name
headerSprintfExtension headerDefaultFormats
Supported default header tag output formats.
Definition: hdrfmt.c:328
struct headerTagIndices_s * headerTagIndices
Definition: rpmtag.h:129
int headerGetMagic(Header h, unsigned char **magicp, size_t *nmagicp)
Return header magic.
Definition: header.c:1162
enum rpmTag_e rpmTag
Definition: rpmtag.h:471
Header headerCopyLoad(const void *uh)
Make a copy and convert header to in-memory representation.
Definition: header.c:1425
uint32_t headerGetInstance(Header h)
Return header instance (if from rpmdb).
Definition: header.c:1275
rpmuint32_t rpmTagCount
Definition: rpmtag.h:54
int headerMod(Header h, HE_t he, unsigned int flags)
Modify tag container in header.
Definition: header.c:2310
void * headerGetRpmdb(Header h)
Return rpmdb pointer.
Definition: header.c:1259
struct headerIterator_s * HeaderIterator
Definition: rpmtag.h:125
int headerSetParent(Header h, const char *parent)
Store header parent (e.g parent&#39;s NVRA).
Definition: header.c:1203
rpmuint64_t * ui64p
Definition: rpmtag.h:70