|
rpm
5.4.4
|
00001 #ifndef H_RPMTAG 00002 #define H_RPMTAG 00003 00008 #include <rpmiotypes.h> 00009 #include <rpmsw.h> 00010 00011 #ifdef __cplusplus 00012 extern "C" { 00013 #endif 00014 00017 typedef const char * errmsg_t; 00018 00021 typedef /*@abstract@*/ /*@refcounted@*/ struct headerToken_s * Header; 00022 00026 enum rpmTagType_e { 00027 /* RPM_NULL_TYPE = 0 - never been used. */ 00028 /* RPM_CHAR_TYPE = 1 - never been used, same as RPM_UINT8_TYPE. */ 00029 RPM_UINT8_TYPE = 2, 00030 RPM_UINT16_TYPE = 3, 00031 RPM_UINT32_TYPE = 4, 00032 RPM_UINT64_TYPE = 5, 00033 RPM_STRING_TYPE = 6, 00034 RPM_BIN_TYPE = 7, 00035 RPM_STRING_ARRAY_TYPE = 8, 00036 RPM_I18NSTRING_TYPE = 9 00037 /* RPM_ASN1_TYPE = 10 - never been used. */ 00038 /* RPM_OPENPGP_TYPE= 11 - never been used. */ 00039 }; 00040 #define RPM_MIN_TYPE 2 00041 #define RPM_MAX_TYPE 9 00042 #define RPM_MASK_TYPE 0x0000ffff 00043 00046 typedef enum rpmTagType_e rpmTagType; 00050 typedef union rpmDataType_u rpmTagData; 00054 typedef rpmuint32_t rpmTagCount; 00058 typedef struct _HE_s * HE_t; 00062 /*@-typeuse -fielduse@*/ 00063 #if !defined(SWIG) 00064 union rpmDataType_u { 00065 /*@null@*/ 00066 void * ptr; 00067 rpmuint8_t * ui8p; 00068 rpmuint16_t * ui16p; 00069 rpmuint32_t * ui32p; 00070 rpmuint64_t * ui64p; 00071 /*@relnull@*/ 00072 const char * str; 00073 unsigned char * blob; 00074 const char ** argv; 00075 HE_t he; 00076 }; 00077 #endif 00078 /*@=typeuse =fielduse@*/ 00079 00080 /*@=typeuse =fielduse@*/ 00083 /*@-enummemuse -typeuse @*/ 00084 typedef enum rpmSubTagType_e { 00085 RPM_REGION_TYPE = -10, 00086 RPM_BIN_ARRAY_TYPE = -11, 00087 RPM_XREF_TYPE = -12 00088 } rpmSubTagType; 00089 /*@=enummemuse =typeuse @*/ 00090 00094 /*@-enummemuse -typeuse @*/ 00095 typedef enum rpmTagReturnType_e { 00096 RPM_ANY_RETURN_TYPE = 0, 00097 RPM_SCALAR_RETURN_TYPE = 0x00010000, 00098 RPM_ARRAY_RETURN_TYPE = 0x00020000, 00099 RPM_MAPPING_RETURN_TYPE = 0x00040000, 00100 /* 0x00080000 */ 00101 RPM_PROBE_RETURN_TYPE = 0x00100000, 00102 RPM_TREE_RETURN_TYPE = 0x00200000, 00103 RPM_OPENPGP_RETURN_TYPE = 0x00400000, 00104 RPM_X509_RETURN_TYPE = 0x00800000, 00105 RPM_ASN1_RETURN_TYPE = 0x01000000, 00106 RPM_OPAQUE_RETURN_TYPE = 0x10000000, 00107 RPM_MASK_RETURN_TYPE = 0xffff0000 00108 } rpmTagReturnType; 00109 /*@=enummemuse =typeuse @*/ 00110 00115 #define HEADER_IMAGE 61 00116 #define HEADER_SIGNATURES 62 00117 #define HEADER_IMMUTABLE 63 00118 #define HEADER_REGIONS 64 00119 #define HEADER_I18NTABLE 100 00120 #define HEADER_SIGBASE 256 00121 #define HEADER_TAGBASE 1000 00122 00125 typedef /*@abstract@*/ struct headerIterator_s * HeaderIterator; 00126 00129 typedef /*@abstract@*/ struct headerTagIndices_s * headerTagIndices; 00130 00133 typedef /*@abstract@*/ const struct headerSprintfExtension_s * headerSprintfExtension; 00134 00138 #define RPMDBI_PACKAGES 0 /* Installed package headers. */ 00139 #define RPMDBI_DEPCACHE 1 /* Dependency resolution cache. */ 00140 /* (obsolete) RPMDBI_LABEL was 2 */ 00141 #define RPMDBI_ADDED 3 /* Added package headers. */ 00142 #define RPMDBI_REMOVED 4 /* Removed package headers. */ 00143 #define RPMDBI_AVAILABLE 5 /* Available package headers. */ 00144 #define RPMDBI_HDLIST 6 /* (rpmgi) Header list. */ 00145 #define RPMDBI_ARGLIST 7 /* (rpmgi) Argument list. */ 00146 #define RPMDBI_FTSWALK 8 /* (rpmgi) File tree walk. */ 00147 #define RPMDBI_SEQNO 9 /* Sequence numbers. */ 00148 #define RPMDBI_BTREE 10 /* (development) Generic DB_BTREE. */ 00149 #define RPMDBI_HASH 11 /* (development) Generic DB_HASH. */ 00150 #define RPMDBI_QUEUE 12 /* (development) Generic DB_QUEUE. */ 00151 #define RPMDBI_RECNO 13 /* (development) Generic DB_RECNO. */ 00152 #define RPMDBI_HEAP 14 /* (development) Generic DB_HEAP. */ 00153 /* 15 unused */ 00154 #define RPMDBI_REPACKAGES 16 /* Re-packaged package paths. */ 00155 #define RPMDBI_REPOSITORY 17 /* Repository URI's. */ 00156 00161 enum rpmTag_e { 00162 00163 RPMTAG_HEADERIMAGE = HEADER_IMAGE, 00164 RPMTAG_HEADERSIGNATURES = HEADER_SIGNATURES, 00165 RPMTAG_HEADERIMMUTABLE = HEADER_IMMUTABLE, 00166 /*@-enummemuse@*/ 00167 RPMTAG_HEADERREGIONS = HEADER_REGIONS, 00169 RPMTAG_HEADERI18NTABLE = HEADER_I18NTABLE, 00170 /*@=enummemuse@*/ 00171 00172 /* Retrofit (and uniqify) signature tags for use by tagName() and rpmQuery. */ 00173 /* the md5 sum was broken *twice* on big endian machines */ 00174 /* XXX 2nd underscore prevents tagTable generation */ 00175 RPMTAG_SIG_BASE = HEADER_SIGBASE, 00176 RPMTAG_SIGSIZE = RPMTAG_SIG_BASE+1, /* i */ 00177 RPMTAG_SIGLEMD5_1 = RPMTAG_SIG_BASE+2, /* internal - obsolete */ 00178 RPMTAG_SIGPGP = RPMTAG_SIG_BASE+3, /* x */ 00179 RPMTAG_SIGLEMD5_2 = RPMTAG_SIG_BASE+4, /* x internal - obsolete */ 00180 RPMTAG_SIGMD5 = RPMTAG_SIG_BASE+5, /* x */ 00181 #define RPMTAG_PKGID RPMTAG_SIGMD5 /* x */ 00182 RPMTAG_SIGGPG = RPMTAG_SIG_BASE+6, /* x */ 00183 RPMTAG_SIGPGP5 = RPMTAG_SIG_BASE+7, /* internal - obsolete */ 00184 00185 RPMTAG_BADSHA1_1 = RPMTAG_SIG_BASE+8, /* internal - obsolete */ 00186 RPMTAG_BADSHA1_2 = RPMTAG_SIG_BASE+9, /* internal - obsolete */ 00187 RPMTAG_PUBKEYS = RPMTAG_SIG_BASE+10, /* s[] */ 00188 RPMTAG_DSAHEADER = RPMTAG_SIG_BASE+11, /* x */ 00189 RPMTAG_RSAHEADER = RPMTAG_SIG_BASE+12, /* x */ 00190 RPMTAG_SHA1HEADER = RPMTAG_SIG_BASE+13, /* s */ 00191 #define RPMTAG_HDRID RPMTAG_SHA1HEADER /* s */ 00192 00193 RPMTAG_NAME = 1000, /* s */ 00194 #define RPMTAG_N RPMTAG_NAME /* s */ 00195 RPMTAG_VERSION = 1001, /* s */ 00196 #define RPMTAG_V RPMTAG_VERSION /* s */ 00197 RPMTAG_RELEASE = 1002, /* s */ 00198 #define RPMTAG_R RPMTAG_RELEASE /* s */ 00199 RPMTAG_EPOCH = 1003, /* i */ 00200 #define RPMTAG_E RPMTAG_EPOCH /* i */ 00201 RPMTAG_SUMMARY = 1004, /* s{} */ 00202 RPMTAG_DESCRIPTION = 1005, /* s{} */ 00203 RPMTAG_BUILDTIME = 1006, /* i */ 00204 RPMTAG_BUILDHOST = 1007, /* s */ 00205 RPMTAG_INSTALLTIME = 1008, /* i[] */ 00206 RPMTAG_SIZE = 1009, /* i */ 00207 RPMTAG_DISTRIBUTION = 1010, /* s */ 00208 RPMTAG_VENDOR = 1011, /* s */ 00209 RPMTAG_GIF = 1012, /* x */ 00210 RPMTAG_XPM = 1013, /* x */ 00211 RPMTAG_LICENSE = 1014, /* s */ 00212 RPMTAG_PACKAGER = 1015, /* s */ 00213 RPMTAG_GROUP = 1016, /* s{} */ 00214 /*@-enummemuse@*/ 00215 RPMTAG_CHANGELOG = 1017, /* s[] internal */ 00216 /*@=enummemuse@*/ 00217 RPMTAG_SOURCE = 1018, /* s[] */ 00218 RPMTAG_PATCH = 1019, /* s[] */ 00219 RPMTAG_URL = 1020, /* s */ 00220 RPMTAG_OS = 1021, /* s legacy used int */ 00221 RPMTAG_ARCH = 1022, /* s legacy used int */ 00222 RPMTAG_PREIN = 1023, /* s */ 00223 RPMTAG_POSTIN = 1024, /* s */ 00224 RPMTAG_PREUN = 1025, /* s */ 00225 RPMTAG_POSTUN = 1026, /* s */ 00226 RPMTAG_OLDFILENAMES = 1027, /* s[] obsolete */ 00227 RPMTAG_FILESIZES = 1028, /* i[] */ 00228 RPMTAG_FILESTATES = 1029, /* c[] */ 00229 RPMTAG_FILEMODES = 1030, /* h[] */ 00230 RPMTAG_FILEUIDS = 1031, /* i[] internal */ 00231 RPMTAG_FILEGIDS = 1032, /* i[] internal */ 00232 RPMTAG_FILERDEVS = 1033, /* h[] */ 00233 RPMTAG_FILEMTIMES = 1034, /* i[] */ 00234 RPMTAG_FILEDIGESTS = 1035, /* s[] */ 00235 #define RPMTAG_FILEMD5S RPMTAG_FILEDIGESTS /* s[] */ 00236 RPMTAG_FILELINKTOS = 1036, /* s[] */ 00237 RPMTAG_FILEFLAGS = 1037, /* i[] */ 00238 /*@-enummemuse@*/ 00239 RPMTAG_ROOT = 1038, /* internal - obsolete */ 00240 /*@=enummemuse@*/ 00241 RPMTAG_FILEUSERNAME = 1039, /* s[] */ 00242 RPMTAG_FILEGROUPNAME = 1040, /* s[] */ 00243 /*@-enummemuse@*/ 00244 RPMTAG_EXCLUDE = 1041, /* internal - obsolete */ 00245 RPMTAG_EXCLUSIVE = 1042, /* internal - obsolete */ 00246 /*@=enummemuse@*/ 00247 RPMTAG_ICON = 1043, /* x */ 00248 RPMTAG_SOURCERPM = 1044, /* s */ 00249 RPMTAG_FILEVERIFYFLAGS = 1045, /* i[] */ 00250 RPMTAG_ARCHIVESIZE = 1046, /* i */ 00251 RPMTAG_PROVIDENAME = 1047, /* s[] */ 00252 #define RPMTAG_PROVIDES RPMTAG_PROVIDENAME /* s[] */ 00253 #define RPMTAG_P RPMTAG_PROVIDENAME /* s[] */ 00254 RPMTAG_REQUIREFLAGS = 1048, /* i[] */ 00255 RPMTAG_REQUIRENAME = 1049, /* s[] */ 00256 #define RPMTAG_REQUIRES RPMTAG_REQUIRENAME /* s[] */ 00257 RPMTAG_REQUIREVERSION = 1050, /* s[] */ 00258 RPMTAG_NOSOURCE = 1051, /* i internal */ 00259 RPMTAG_NOPATCH = 1052, /* i internal */ 00260 RPMTAG_CONFLICTFLAGS = 1053, /* i[] */ 00261 RPMTAG_CONFLICTNAME = 1054, /* s[] */ 00262 #define RPMTAG_CONFLICTS RPMTAG_CONFLICTNAME /* s[] */ 00263 #define RPMTAG_C RPMTAG_CONFLICTNAME /* s[] */ 00264 RPMTAG_CONFLICTVERSION = 1055, /* s[] */ 00265 RPMTAG_DEFAULTPREFIX = 1056, /* s internal - deprecated */ 00266 RPMTAG_BUILDROOT = 1057, /* s internal */ 00267 RPMTAG_INSTALLPREFIX = 1058, /* s internal - deprecated */ 00268 RPMTAG_EXCLUDEARCH = 1059, /* s[] */ 00269 RPMTAG_EXCLUDEOS = 1060, /* s[] */ 00270 RPMTAG_EXCLUSIVEARCH = 1061, /* s[] */ 00271 RPMTAG_EXCLUSIVEOS = 1062, /* s[] */ 00272 RPMTAG_AUTOREQPROV = 1063, /* s internal */ 00273 RPMTAG_RPMVERSION = 1064, /* s */ 00274 RPMTAG_TRIGGERSCRIPTS = 1065, /* s[] */ 00275 RPMTAG_TRIGGERNAME = 1066, /* s[] */ 00276 RPMTAG_TRIGGERVERSION = 1067, /* s[] */ 00277 RPMTAG_TRIGGERFLAGS = 1068, /* i[] */ 00278 RPMTAG_TRIGGERINDEX = 1069, /* i[] */ 00279 RPMTAG_VERIFYSCRIPT = 1079, /* s */ 00280 RPMTAG_CHANGELOGTIME = 1080, /* i[] */ 00281 RPMTAG_CHANGELOGNAME = 1081, /* s[] */ 00282 RPMTAG_CHANGELOGTEXT = 1082, /* s[] */ 00283 /*@-enummemuse@*/ 00284 RPMTAG_BROKENMD5 = 1083, /* internal - obsolete */ 00285 /*@=enummemuse@*/ 00286 RPMTAG_PREREQ = 1084, /* internal */ 00287 RPMTAG_PREINPROG = 1085, /* s */ 00288 RPMTAG_POSTINPROG = 1086, /* s */ 00289 RPMTAG_PREUNPROG = 1087, /* s */ 00290 RPMTAG_POSTUNPROG = 1088, /* s */ 00291 RPMTAG_BUILDARCHS = 1089, /* s[] */ 00292 RPMTAG_OBSOLETENAME = 1090, /* s[] */ 00293 #define RPMTAG_OBSOLETES RPMTAG_OBSOLETENAME /* s[] */ 00294 #define RPMTAG_O RPMTAG_OBSOLETENAME /* s[] */ 00295 RPMTAG_VERIFYSCRIPTPROG = 1091, /* s */ 00296 RPMTAG_TRIGGERSCRIPTPROG = 1092, /* s[] */ 00297 RPMTAG_DOCDIR = 1093, /* internal */ 00298 RPMTAG_COOKIE = 1094, /* s */ 00299 RPMTAG_FILEDEVICES = 1095, /* i[] */ 00300 RPMTAG_FILEINODES = 1096, /* i[] */ 00301 RPMTAG_FILELANGS = 1097, /* s[] */ 00302 RPMTAG_PREFIXES = 1098, /* s[] */ 00303 RPMTAG_INSTPREFIXES = 1099, /* s[] */ 00304 RPMTAG_TRIGGERIN = 1100, /* internal */ 00305 RPMTAG_TRIGGERUN = 1101, /* internal */ 00306 RPMTAG_TRIGGERPOSTUN = 1102, /* internal */ 00307 RPMTAG_AUTOREQ = 1103, /* internal */ 00308 RPMTAG_AUTOPROV = 1104, /* internal */ 00309 /*@-enummemuse@*/ 00310 RPMTAG_CAPABILITY = 1105, /* i legacy - obsolete */ 00311 /*@=enummemuse@*/ 00312 RPMTAG_SOURCEPACKAGE = 1106, /* i legacy - obsolete */ 00313 /*@-enummemuse@*/ 00314 RPMTAG_OLDORIGFILENAMES = 1107, /* internal - obsolete */ 00315 /*@=enummemuse@*/ 00316 RPMTAG_BUILDPREREQ = 1108, /* internal */ 00317 RPMTAG_BUILDREQUIRES = 1109, /* internal */ 00318 RPMTAG_BUILDCONFLICTS = 1110, /* internal */ 00319 /*@-enummemuse@*/ 00320 RPMTAG_BUILDMACROS = 1111, /* s[] srpms only */ 00321 /*@=enummemuse@*/ 00322 RPMTAG_PROVIDEFLAGS = 1112, /* i[] */ 00323 RPMTAG_PROVIDEVERSION = 1113, /* s[] */ 00324 RPMTAG_OBSOLETEFLAGS = 1114, /* i[] */ 00325 RPMTAG_OBSOLETEVERSION = 1115, /* s[] */ 00326 RPMTAG_DIRINDEXES = 1116, /* i[] */ 00327 RPMTAG_BASENAMES = 1117, /* s[] */ 00328 RPMTAG_DIRNAMES = 1118, /* s[] */ 00329 RPMTAG_ORIGDIRINDEXES = 1119, /* i[] relocation */ 00330 RPMTAG_ORIGBASENAMES = 1120, /* s[] relocation */ 00331 RPMTAG_ORIGDIRNAMES = 1121, /* s[] relocation */ 00332 RPMTAG_OPTFLAGS = 1122, /* s */ 00333 RPMTAG_DISTURL = 1123, /* s */ 00334 RPMTAG_PAYLOADFORMAT = 1124, /* s */ 00335 RPMTAG_PAYLOADCOMPRESSOR = 1125, /* s */ 00336 RPMTAG_PAYLOADFLAGS = 1126, /* s */ 00337 RPMTAG_INSTALLCOLOR = 1127, /* i transaction color when installed */ 00338 RPMTAG_INSTALLTID = 1128, /* i[] */ 00339 RPMTAG_REMOVETID = 1129, /* i[] */ 00340 /*@-enummemuse@*/ 00341 RPMTAG_SHA1RHN = 1130, /* internal - obsolete */ 00342 /*@=enummemuse@*/ 00343 RPMTAG_RHNPLATFORM = 1131, /* s deprecated */ 00344 RPMTAG_PLATFORM = 1132, /* s */ 00345 RPMTAG_PATCHESNAME = 1133, /* s[] deprecated placeholder (SuSE) */ 00346 RPMTAG_PATCHESFLAGS = 1134, /* i[] deprecated placeholder (SuSE) */ 00347 RPMTAG_PATCHESVERSION = 1135, /* s[] deprecated placeholder (SuSE) */ 00348 RPMTAG_CACHECTIME = 1136, /* i rpmcache(8) only */ 00349 RPMTAG_CACHEPKGPATH = 1137, /* s rpmcache(8) only */ 00350 RPMTAG_CACHEPKGSIZE = 1138, /* i rpmcache(8) only */ 00351 RPMTAG_CACHEPKGMTIME = 1139, /* i rpmcache(8) only */ 00352 RPMTAG_FILECOLORS = 1140, /* i[] */ 00353 RPMTAG_FILECLASS = 1141, /* i[] */ 00354 RPMTAG_CLASSDICT = 1142, /* s[] */ 00355 RPMTAG_FILEDEPENDSX = 1143, /* i[] */ 00356 RPMTAG_FILEDEPENDSN = 1144, /* i[] */ 00357 RPMTAG_DEPENDSDICT = 1145, /* i[] */ 00358 RPMTAG_SOURCEPKGID = 1146, /* x */ 00359 RPMTAG_FILECONTEXTS = 1147, /* s[] */ 00360 RPMTAG_FSCONTEXTS = 1148, /* s[] extension */ 00361 RPMTAG_RECONTEXTS = 1149, /* s[] extension */ 00362 RPMTAG_POLICIES = 1150, /* s[] selinux *.te policy file. */ 00363 RPMTAG_PRETRANS = 1151, /* s */ 00364 RPMTAG_POSTTRANS = 1152, /* s */ 00365 RPMTAG_PRETRANSPROG = 1153, /* s */ 00366 RPMTAG_POSTTRANSPROG = 1154, /* s */ 00367 RPMTAG_DISTTAG = 1155, /* s */ 00368 RPMTAG_SUGGESTSNAME = 1156, /* s[] extension */ 00369 #define RPMTAG_SUGGESTS RPMTAG_SUGGESTSNAME /* s[] */ 00370 RPMTAG_SUGGESTSVERSION = 1157, /* s[] extension */ 00371 RPMTAG_SUGGESTSFLAGS = 1158, /* i[] extension */ 00372 RPMTAG_ENHANCESNAME = 1159, /* s[] extension placeholder */ 00373 #define RPMTAG_ENHANCES RPMTAG_ENHANCESNAME /* s[] */ 00374 RPMTAG_ENHANCESVERSION = 1160, /* s[] extension placeholder */ 00375 RPMTAG_ENHANCESFLAGS = 1161, /* i[] extension placeholder */ 00376 RPMTAG_PRIORITY = 1162, /* i[] extension placeholder */ 00377 RPMTAG_CVSID = 1163, /* s */ 00378 #define RPMTAG_SVNID RPMTAG_CVSID /* s */ 00379 RPMTAG_BLINKPKGID = 1164, /* s[] */ 00380 RPMTAG_BLINKHDRID = 1165, /* s[] */ 00381 RPMTAG_BLINKNEVRA = 1166, /* s[] */ 00382 RPMTAG_FLINKPKGID = 1167, /* s[] */ 00383 RPMTAG_FLINKHDRID = 1168, /* s[] */ 00384 RPMTAG_FLINKNEVRA = 1169, /* s[] */ 00385 RPMTAG_PACKAGEORIGIN = 1170, /* s */ 00386 RPMTAG_TRIGGERPREIN = 1171, /* internal */ 00387 RPMTAG_BUILDSUGGESTS = 1172, /* internal */ 00388 RPMTAG_BUILDENHANCES = 1173, /* internal */ 00389 RPMTAG_SCRIPTSTATES = 1174, /* i[] scriptlet exit codes */ 00390 RPMTAG_SCRIPTMETRICS = 1175, /* i[] scriptlet execution times */ 00391 RPMTAG_BUILDCPUCLOCK = 1176, /* i */ 00392 RPMTAG_FILEDIGESTALGOS = 1177, /* i[] */ 00393 RPMTAG_VARIANTS = 1178, /* s[] */ 00394 RPMTAG_XMAJOR = 1179, /* i */ 00395 RPMTAG_XMINOR = 1180, /* i */ 00396 RPMTAG_REPOTAG = 1181, /* s */ 00397 RPMTAG_KEYWORDS = 1182, /* s[] */ 00398 RPMTAG_BUILDPLATFORMS = 1183, /* s[] */ 00399 RPMTAG_PACKAGECOLOR = 1184, /* i */ 00400 RPMTAG_PACKAGEPREFCOLOR = 1185, /* i (unimplemented) */ 00401 RPMTAG_XATTRSDICT = 1186, /* s[] (unimplemented) */ 00402 RPMTAG_FILEXATTRSX = 1187, /* i[] (unimplemented) */ 00403 RPMTAG_DEPATTRSDICT = 1188, /* s[] (unimplemented) */ 00404 RPMTAG_CONFLICTATTRSX = 1189, /* i[] (unimplemented) */ 00405 RPMTAG_OBSOLETEATTRSX = 1190, /* i[] (unimplemented) */ 00406 RPMTAG_PROVIDEATTRSX = 1191, /* i[] (unimplemented) */ 00407 RPMTAG_REQUIREATTRSX = 1192, /* i[] (unimplemented) */ 00408 RPMTAG_BUILDPROVIDES = 1193, /* internal */ 00409 RPMTAG_BUILDOBSOLETES = 1194, /* internal */ 00410 RPMTAG_DBINSTANCE = 1195, /* i */ 00411 RPMTAG_NVRA = 1196, /* s */ 00412 RPMTAG_FILEPATHS = 1197, /* s[] */ 00413 RPMTAG_ORIGPATHS = 1198, /* s[] */ 00414 RPMTAG_RPMLIBVERSION = 1199, /* i */ 00415 RPMTAG_RPMLIBTIMESTAMP = 1200, /* i */ 00416 RPMTAG_RPMLIBVENDOR = 1201, /* i */ 00417 RPMTAG_CLASS = 1202, /* s arbitrary */ 00418 RPMTAG_TRACK = 1203, /* s internal arbitrary */ 00419 RPMTAG_TRACKPROG = 1204, /* s internal arbitrary */ 00420 RPMTAG_SANITYCHECK = 1205, /* s */ 00421 RPMTAG_SANITYCHECKPROG = 1206, /* s */ 00422 RPMTAG_FILESTAT = 1207, /* s[] stat(2) from metadata extension*/ 00423 RPMTAG_STAT = 1208, /* s[] stat(2) from disk extension */ 00424 RPMTAG_ORIGINTID = 1209, /* i[] */ 00425 RPMTAG_ORIGINTIME = 1210, /* i[] */ 00426 RPMTAG_HEADERSTARTOFF = 1211, /* l */ 00427 RPMTAG_HEADERENDOFF = 1212, /* l */ 00428 RPMTAG_PACKAGETIME = 1213, /* l */ 00429 RPMTAG_PACKAGESIZE = 1214, /* l */ 00430 RPMTAG_PACKAGEDIGEST = 1215, /* s */ 00431 RPMTAG_PACKAGESTAT = 1216, /* x */ 00432 RPMTAG_PACKAGEBASEURL = 1217, /* s */ 00433 RPMTAG_DISTEPOCH = 1218, /* s */ 00434 #define RPMTAG_D RPMTAG_DISTEPOCH /* s */ 00435 00436 RPMTAG_CONFLICTYAMLENTRY = 1219, /* s[] */ 00437 RPMTAG_OBSOLETEYAMLENTRY = 1220, /* s[] */ 00438 RPMTAG_PROVIDEYAMLENTRY = 1221, /* s[] */ 00439 RPMTAG_REQUIREYAMLENTRY = 1222, /* s[] */ 00440 00441 RPMTAG_FILEDIGESTALGO = 5011, /* i file checksum algorithm */ 00442 RPMTAG_BUGURL = 5012, /* s */ 00443 00444 /*@-enummemuse@*/ 00445 RPMTAG_FIRSTFREE_TAG, 00446 /*@=enummemuse@*/ 00447 00448 RPMTAG_PACKAGETRANSFLAGS = 0x4efaafd9, /* s[] arbitrary */ 00449 RPMTAG_PACKAGEDEPFLAGS = 0x748a8314, /* s[] arbitrary */ 00450 00451 RPMTAG_BUILDPREPPROG = 0x4ba37c9e, /* s[] arbitrary */ 00452 RPMTAG_BUILDPREP = 0x799c0b4d, /* s[] arbitrary */ 00453 RPMTAG_BUILDBUILDPROG = 0x6fb46014, /* s[] arbitrary */ 00454 RPMTAG_BUILDBUILD = 0x5bae1a5a, /* s[] arbitrary */ 00455 RPMTAG_BUILDINSTALLPROG = 0x70d4ab6f, /* s[] arbitrary */ 00456 RPMTAG_BUILDINSTALL = 0x567f5983, /* s[] arbitrary */ 00457 RPMTAG_BUILDCHECKPROG = 0x488a60ce, /* s[] arbitrary */ 00458 RPMTAG_BUILDCHECK = 0x7f3b97b5, /* s[] arbitrary */ 00459 RPMTAG_BUILDCLEANPROG = 0x42c93d41, /* s[] arbitrary */ 00460 RPMTAG_BUILDCLEAN = 0x566042bf, /* s[] arbitrary */ 00461 00462 RPMTAG_LASTARBITRARY_TAG = 0x80000000 00463 }; 00464 00465 #define RPMTAG_EXTERNAL_TAG 1000000 00466 00470 enum rpmSigTag_e { 00471 RPMSIGTAG_SIZE = 1000, 00472 RPMSIGTAG_LEMD5_1 = 1001, 00473 RPMSIGTAG_PGP = 1002, 00474 RPMSIGTAG_LEMD5_2 = 1003, 00475 RPMSIGTAG_MD5 = 1004, 00476 RPMSIGTAG_GPG = 1005, 00477 RPMSIGTAG_PGP5 = 1006, 00478 RPMSIGTAG_PAYLOADSIZE = 1007, 00479 RPMSIGTAG_BADSHA1_1 = RPMTAG_BADSHA1_1, 00480 RPMSIGTAG_BADSHA1_2 = RPMTAG_BADSHA1_2, 00481 RPMSIGTAG_SHA1 = RPMTAG_SHA1HEADER, 00482 RPMSIGTAG_DSA = RPMTAG_DSAHEADER, 00483 RPMSIGTAG_RSA = RPMTAG_RSAHEADER, 00484 RPMSIGTAG_PADDING = 0x3fffffff 00485 }; 00486 00489 typedef enum rpmTag_e rpmTag; 00490 00493 typedef enum rpmSigTag_e rpmSigTag; 00494 00497 /*@-typeuse -fielduse@*/ 00498 #if !defined(SWIG) 00499 struct _HE_s { 00500 rpmTag tag; 00501 rpmTagType t; 00502 /*@owned@*/ /*@null@*/ 00503 rpmTagData p; 00504 rpmTagCount c; 00505 int ix; 00506 unsigned int freeData : 1; 00507 unsigned int avail : 1; 00508 unsigned int append : 1; 00509 }; 00510 #endif 00511 00514 typedef struct _HE_s HE_s; 00515 00518 typedef struct tagStore_s * tagStore_t; 00519 00522 typedef /*@abstract@*/ const struct headerTagTableEntry_s * headerTagTableEntry; 00523 00524 #if defined(_RPMTAG_INTERNAL) 00525 00530 #if !defined(SWIG) 00531 struct headerTagTableEntry_s { 00532 /*@observer@*/ /*@relnull@*/ 00533 const char * name; 00534 rpmTag val; 00535 rpmTagType type; 00536 }; 00537 #endif 00538 00541 struct tagStore_s { 00542 /*@only@*/ 00543 const char * str; 00544 rpmTag tag; 00545 rpmiob iob; 00546 }; 00547 #endif /* _RPMTAG_INTERNAL */ 00548 00552 /*@-redecl@*/ 00553 /*@observer@*/ /*@unchecked@*/ 00554 extern headerTagTableEntry rpmTagTable; 00555 /*@=redecl@*/ 00556 00560 /*@-redecl@*/ 00561 /*@unchecked@*/ 00562 extern int rpmTagTableSize; 00563 00564 /*@unchecked@*/ 00565 extern headerTagIndices rpmTags; 00566 /*@=redecl@*/ 00567 00568 #if defined(_RPMTAG_INTERNAL) 00569 00571 #if !defined(SWIG) 00572 struct headerTagIndices_s { 00573 /*@relnull@*/ 00574 int (*loadIndex) (headerTagTableEntry ** ipp, size_t * np, 00575 int (*cmp) (const void * avp, const void * bvp)) 00576 /*@ modifies *ipp, *np */; 00577 /*@relnull@*/ 00578 headerTagTableEntry * byName; 00579 size_t byNameSize; 00580 int (*byNameCmp) (const void * avp, const void * bvp) 00581 /*@*/; 00582 rpmTag (*tagValue) (const char * name) 00583 /*@*/; 00584 /*@relnull@*/ 00585 headerTagTableEntry * byValue; 00586 size_t byValueSize; 00587 int (*byValueCmp) (const void * avp, const void * bvp) 00588 /*@*/; 00589 const char * (*tagName) (rpmTag value) 00590 /*@*/; 00591 rpmTag (*tagType) (rpmTag value) 00592 /*@*/; 00593 size_t nameBufLen; 00594 /*@relnull@*/ 00595 const char ** aTags; 00596 /*@owned@*/ /*@null@*/ 00597 char * nameBuf; /* Name buffer. */ 00598 /*@only@*/ 00599 char * (*tagCanonicalize) (const char * s) 00600 /*@*/; 00601 rpmTag (*tagGenerate) (const char * s) 00602 /*@*/; 00603 }; 00604 #endif 00605 #endif /* _RPMTAG_INTERNAL */ 00606 00612 /*@observer@*/ 00613 const char * tagName(rpmTag tag) 00614 /*@*/; 00615 00622 unsigned int tagType(rpmTag tag) 00623 /*@*/; 00624 00630 rpmTag tagValue(const char * tagstr) 00631 /*@*/; 00632 00638 /*@only@*/ 00639 char * tagCanonicalize(const char * s) 00640 /*@*/; 00641 00647 rpmTag tagGenerate(const char * s) 00648 /*@*/; 00649 00654 void tagClean(/*@null@*/ headerTagIndices _rpmTags) 00655 /*@globals rpmTags @*/ 00656 /*@modifies _rpmTags, rpmTags @*/; 00657 00664 /*@null@*/ 00665 tagStore_t tagStoreFree(/*@only@*//*@null@*/tagStore_t dbiTags, size_t dbiNTags) 00666 /*@modifies dbiTags @*/; 00667 00668 #if defined(_RPMTAG_INTERNAL) 00669 00671 typedef enum headerSprintfExtensionType_e { 00672 HEADER_EXT_LAST = 0, 00673 HEADER_EXT_FORMAT, 00674 HEADER_EXT_MORE, 00675 HEADER_EXT_TAG 00676 } headerSprintfExtensionType; 00677 00685 typedef /*only@*/ char * (*headerTagFormatFunction) (HE_t he, /*@null@*/ const char ** av) 00686 /*@modifies he @*/; 00687 00696 typedef int (*headerTagTagFunction) (Header h, HE_t he) 00697 /*@modifies he @*/; 00698 00702 #if !defined(SWIG) 00703 struct headerSprintfExtension_s { 00704 headerSprintfExtensionType type; 00705 /*@observer@*/ /*@null@*/ 00706 const char * name; 00707 union { 00708 /*@observer@*/ /*@null@*/ 00709 void * generic; 00710 headerTagFormatFunction fmtFunction; 00711 headerTagTagFunction tagFunction; 00712 headerSprintfExtension * more; 00713 } u; 00714 }; 00715 #endif 00716 #endif /* _RPMTAG_INTERNAL */ 00717 00721 /*@unchecked@*/ /*@observer@*/ 00722 extern headerSprintfExtension headerDefaultFormats; 00723 00727 /*@unchecked@*/ /*@observer@*/ 00728 extern headerSprintfExtension headerCompoundFormats; 00729 00736 void rpmDisplayQueryTags(/*@null@*/ FILE * fp, 00737 /*@null@*/ headerTagTableEntry _rpmTagTable, 00738 /*@null@*/ headerSprintfExtension _rpmHeaderFormats) 00739 /*@globals fileSystem, internalState @*/ 00740 /*@modifies *fp, fileSystem, internalState @*/; 00741 00753 /*@only@*/ /*@null@*/ 00754 char * headerSprintf(Header h, const char * fmt, 00755 /*@null@*/ headerTagTableEntry tags, 00756 /*@null@*/ headerSprintfExtension exts, 00757 /*@null@*/ /*@out@*/ errmsg_t * errmsg) 00758 /*@globals headerCompoundFormats, fileSystem, internalState @*/ 00759 /*@modifies h, *errmsg, fileSystem, internalState @*/; 00760 00769 int headerGet(Header h, HE_t he, unsigned int flags) 00770 /*@globals internalState @*/ 00771 /*@modifies he, internalState @*/; 00772 #define HEADERGET_NOEXTENSION (1 << 0) 00773 #define HEADERGET_NOI18NSTRING (1 << 1) 00783 /*@mayexit@*/ 00784 int headerPut(Header h, HE_t he, /*@unused@*/ unsigned int flags) 00785 /*@modifies h @*/; 00786 00795 /*@mayexit@*/ 00796 int headerDel(Header h, HE_t he, /*@unused@*/ unsigned int flags) 00797 /*@modifies h @*/; 00798 00807 int headerMod(Header h, HE_t he, /*@unused@*/ unsigned int flags) 00808 /*@modifies h @*/; 00809 00815 /*@null@*/ 00816 HeaderIterator headerFini(/*@only@*/ HeaderIterator hi) 00817 /*@globals fileSystem @*/ 00818 /*@modifies hi, fileSystem */; 00819 00825 HeaderIterator headerInit(Header h) 00826 /*@globals fileSystem @*/ 00827 /*@modifies h, fileSystem */; 00828 00836 int headerNext(HeaderIterator hi, HE_t he, /*@unused@*/ unsigned int flags) 00837 /*@globals internalState @*/ 00838 /*@modifies hi, he, internalState @*/; 00839 00845 Header headerLink(Header h) 00846 /*@modifies h @*/; 00847 #define headerLink(_h) \ 00848 ((Header)rpmioLinkPoolItem((rpmioItem)(_h), __FUNCTION__, __FILE__, __LINE__)) 00849 00855 /*@null@*/ 00856 Header headerUnlink(/*@killref@*/ /*@null@*/ Header h) 00857 /*@modifies h @*/; 00858 #define headerUnlink(_h) \ 00859 ((Header)rpmioUnlinkPoolItem((rpmioItem)(_h), __FUNCTION__, __FILE__, __LINE__)) 00860 00866 /*@null@*/ 00867 Header headerFree(/*@killref@*/ /*@null@*/ Header h) 00868 /*@modifies h @*/; 00869 #define headerFree(_h) \ 00870 ((Header)rpmioFreePoolItem((rpmioItem)(_h), __FUNCTION__, __FILE__, __LINE__)) 00871 00876 Header headerNew(void) 00877 /*@globals fileSystem @*/ 00878 /*@modifies fileSystem @*/; 00879 00885 size_t headerSizeof(/*@null@*/ Header h) 00886 /*@modifies h @*/; 00887 00894 /*@only@*/ /*@null@*/ 00895 void * headerUnload(Header h, /*@out@*/ /*@null@*/ size_t * lenp) 00896 /*@globals internalState @*/ 00897 /*@modifies h, *lenp, internalState @*/; 00898 00907 /*@null@*/ 00908 Header headerReload(/*@only@*/ Header h, int tag) 00909 /*@globals fileSystem, internalState @*/ 00910 /*@modifies h, fileSystem, internalState @*/; 00911 00917 /*@null@*/ 00918 Header headerCopy(Header h) 00919 /*@globals fileSystem, internalState @*/ 00920 /*@modifies h, fileSystem, internalState @*/; 00921 00927 /*@null@*/ 00928 Header headerLoad(/*@kept@*/ void * uh) 00929 /*@globals fileSystem, internalState @*/ 00930 /*@modifies uh, fileSystem, internalState @*/; 00931 00937 /*@null@*/ 00938 Header headerCopyLoad(const void * uh) 00939 /*@globals fileSystem, internalState @*/ 00940 /*@modifies fileSystem, internalState @*/; 00941 00948 int headerIsEntry(/*@null@*/ Header h, rpmTag tag) 00949 /*@*/; 00950 00971 int headerAddI18NString(Header h, rpmTag tag, const char * string, 00972 const char * lang) 00973 /*@modifies h @*/; 00974 00981 void headerCopyTags(Header headerFrom, Header headerTo, rpmTag * tagstocopy) 00982 /*@globals internalState @*/ 00983 /*@modifies headerTo, internalState @*/; 00984 00992 int headerGetMagic(/*@null@*/ Header h, unsigned char **magicp, size_t *nmagicp) 00993 /*@modifies *magicp, *nmagicp @*/; 00994 01002 int headerSetMagic(/*@null@*/ Header h, unsigned char * magic, size_t nmagic) 01003 /*@modifies h @*/; 01004 01010 /*@observer@*/ /*@null@*/ 01011 const char * headerGetOrigin(/*@null@*/ Header h) 01012 /*@*/; 01013 01020 int headerSetOrigin(/*@null@*/ Header h, const char * origin) 01021 /*@modifies h @*/; 01022 01028 /*@observer@*/ /*@null@*/ 01029 const char * headerGetParent(/*@null@*/ Header h) 01030 /*@*/; 01031 01038 int headerSetParent(/*@null@*/ Header h, const char * parent) 01039 /*@modifies h @*/; 01040 01046 /*@observer@*/ /*@null@*/ 01047 const char * headerGetBaseURL(/*@null@*/ Header h) 01048 /*@*/; 01049 01056 int headerSetBaseURL(/*@null@*/ Header h, const char * baseurl) 01057 /*@modifies h @*/; 01058 01064 struct stat * headerGetStatbuf(/*@null@*/ Header h) 01065 /*@*/; 01066 01073 int headerSetStatbuf(/*@null@*/ Header h, struct stat * st) 01074 /*@modifies h @*/; 01075 01081 /*@null@*/ 01082 const char * headerGetDigest(/*@null@*/ Header h) 01083 /*@*/; 01084 01091 int headerSetDigest(/*@null@*/ Header h, const char * digest) 01092 /*@modifies h @*/; 01093 01099 /*@null@*/ 01100 void * headerGetRpmdb(/*@null@*/ Header h) 01101 /*@*/; 01102 01109 /*@null@*/ 01110 void * headerSetRpmdb(/*@null@*/ Header h, /*@null@*/ void * rpmdb) 01111 /*@modifies h @*/; 01112 01118 uint32_t headerGetInstance(/*@null@*/ Header h) 01119 /*@*/; 01120 01127 uint32_t headerSetInstance(/*@null@*/ Header h, uint32_t instance) 01128 /*@modifies h @*/; 01129 01135 rpmuint32_t headerGetStartOff(/*@null@*/ Header h) 01136 /*@*/; 01137 01144 rpmuint32_t headerSetStartOff(/*@null@*/ Header h, rpmuint32_t startoff) 01145 /*@modifies h @*/; 01146 01152 rpmuint32_t headerGetEndOff(/*@null@*/ Header h) 01153 /*@*/; 01154 01161 rpmuint32_t headerSetEndOff(/*@null@*/ Header h, rpmuint32_t endoff) 01162 /*@modifies h @*/; 01163 01170 /*@null@*/ 01171 void * headerGetStats(Header h, int opx) 01172 /*@*/; 01173 01179 int headerMacrosLoad(Header h) 01180 /*@globals internalState @*/ 01181 /*@modifies internalState @*/; 01182 01188 int headerMacrosUnload(Header h) 01189 /*@globals internalState @*/ 01190 /*@modifies internalState @*/; 01191 01202 int headerNEVRA(Header h, 01203 /*@null@*/ /*@out@*/ const char ** np, 01204 /*@null@*/ /*@out@*/ /*@unused@*/ const char ** ep, 01205 /*@null@*/ /*@out@*/ const char ** vp, 01206 /*@null@*/ /*@out@*/ const char ** rp, 01207 /*@null@*/ /*@out@*/ const char ** ap) 01208 /*@globals internalState @*/ 01209 /*@modifies h, *np, *vp, *rp, *ap, internalState @*/; 01210 01216 rpmuint32_t hGetColor(Header h) 01217 /*@globals internalState @*/ 01218 /*@modifies h, internalState @*/; 01219 01226 void headerMergeLegacySigs(Header h, const Header sigh) 01227 /*@globals fileSystem, internalState @*/ 01228 /*@modifies h, sigh, fileSystem, internalState @*/; 01229 01237 Header headerRegenSigHeader(const Header h, int noArchiveSize) 01238 /*@globals fileSystem, internalState @*/ 01239 /*@modifies h, fileSystem, internalState @*/; 01240 01241 #ifdef __cplusplus 01242 } 01243 #endif 01244 01245 #endif /* H_RPMTAG */
1.7.5.1