rpm: rpmtag.h Source File

rpm 4.10.0

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

rpmtag.h
Go to the documentation of this file.

    00001 #ifndef _RPMTAG_H
    00002 #define _RPMTAG_H
    00003
    00004 #include <rpm/rpmtypes.h>
    00005
    00006 #ifdef __cplusplus
    00007 extern "C" {
    00008 #endif
    00009
    00014 #define HEADER_IMAGE            61
    00015 #define HEADER_SIGNATURES       62
    00016 #define HEADER_IMMUTABLE        63
    00017 #define HEADER_REGIONS          64
    00018 #define HEADER_I18NTABLE        100
    00019 #define HEADER_SIGBASE          256
    00020 #define HEADER_TAGBASE          1000
    00021
    00028 typedef enum rpmTag_e {
    00029     RPMTAG_NOT_FOUND            = -1,
    00031     RPMTAG_HEADERIMAGE          = HEADER_IMAGE,
    00032     RPMTAG_HEADERSIGNATURES     = HEADER_SIGNATURES,
    00033     RPMTAG_HEADERIMMUTABLE      = HEADER_IMMUTABLE,
    00034     RPMTAG_HEADERREGIONS        = HEADER_REGIONS,
    00036     RPMTAG_HEADERI18NTABLE      = HEADER_I18NTABLE,     /* s[] !< I18N string locales. */
    00037
    00038 /* Retrofit (and uniqify) signature tags for use by rpmTagGetName() and rpmQuery. */
    00039 /* the md5 sum was broken *twice* on big endian machines */
    00040 /* XXX 2nd underscore prevents tagTable generation */
    00041     RPMTAG_SIG_BASE             = HEADER_SIGBASE,
    00042     RPMTAG_SIGSIZE              = RPMTAG_SIG_BASE+1,    /* i */
    00043     RPMTAG_SIGLEMD5_1           = RPMTAG_SIG_BASE+2,    /* internal - obsolete */
    00044     RPMTAG_SIGPGP               = RPMTAG_SIG_BASE+3,    /* x */
    00045     RPMTAG_SIGLEMD5_2           = RPMTAG_SIG_BASE+4,    /* x internal - obsolete */
    00046     RPMTAG_SIGMD5               = RPMTAG_SIG_BASE+5,    /* x */
    00047 #define RPMTAG_PKGID    RPMTAG_SIGMD5                   /* x */
    00048     RPMTAG_SIGGPG               = RPMTAG_SIG_BASE+6,    /* x */
    00049     RPMTAG_SIGPGP5              = RPMTAG_SIG_BASE+7,    /* internal - obsolete */
    00050
    00051     RPMTAG_BADSHA1_1            = RPMTAG_SIG_BASE+8,    /* internal - obsolete */
    00052     RPMTAG_BADSHA1_2            = RPMTAG_SIG_BASE+9,    /* internal - obsolete */
    00053     RPMTAG_PUBKEYS              = RPMTAG_SIG_BASE+10,   /* s[] */
    00054     RPMTAG_DSAHEADER            = RPMTAG_SIG_BASE+11,   /* x */
    00055     RPMTAG_RSAHEADER            = RPMTAG_SIG_BASE+12,   /* x */
    00056     RPMTAG_SHA1HEADER           = RPMTAG_SIG_BASE+13,   /* s */
    00057 #define RPMTAG_HDRID    RPMTAG_SHA1HEADER       /* s */
    00058     RPMTAG_LONGSIGSIZE          = RPMTAG_SIG_BASE+14,   /* l */
    00059     RPMTAG_LONGARCHIVESIZE      = RPMTAG_SIG_BASE+15,   /* l */
    00060
    00061     RPMTAG_NAME                 = 1000, /* s */
    00062 #define RPMTAG_N        RPMTAG_NAME     /* s */
    00063     RPMTAG_VERSION              = 1001, /* s */
    00064 #define RPMTAG_V        RPMTAG_VERSION  /* s */
    00065     RPMTAG_RELEASE              = 1002, /* s */
    00066 #define RPMTAG_R        RPMTAG_RELEASE  /* s */
    00067     RPMTAG_EPOCH                = 1003, /* i */
    00068 #define RPMTAG_E        RPMTAG_EPOCH    /* i */
    00069     RPMTAG_SUMMARY              = 1004, /* s{} */
    00070     RPMTAG_DESCRIPTION          = 1005, /* s{} */
    00071     RPMTAG_BUILDTIME            = 1006, /* i */
    00072     RPMTAG_BUILDHOST            = 1007, /* s */
    00073     RPMTAG_INSTALLTIME          = 1008, /* i */
    00074     RPMTAG_SIZE                 = 1009, /* i */
    00075     RPMTAG_DISTRIBUTION         = 1010, /* s */
    00076     RPMTAG_VENDOR               = 1011, /* s */
    00077     RPMTAG_GIF                  = 1012, /* x */
    00078     RPMTAG_XPM                  = 1013, /* x */
    00079     RPMTAG_LICENSE              = 1014, /* s */
    00080     RPMTAG_PACKAGER             = 1015, /* s */
    00081     RPMTAG_GROUP                = 1016, /* s{} */
    00082     RPMTAG_CHANGELOG            = 1017, /* s[] internal */
    00083     RPMTAG_SOURCE               = 1018, /* s[] */
    00084     RPMTAG_PATCH                = 1019, /* s[] */
    00085     RPMTAG_URL                  = 1020, /* s */
    00086     RPMTAG_OS                   = 1021, /* s legacy used int */
    00087     RPMTAG_ARCH                 = 1022, /* s legacy used int */
    00088     RPMTAG_PREIN                = 1023, /* s */
    00089     RPMTAG_POSTIN               = 1024, /* s */
    00090     RPMTAG_PREUN                = 1025, /* s */
    00091     RPMTAG_POSTUN               = 1026, /* s */
    00092     RPMTAG_OLDFILENAMES         = 1027, /* s[] obsolete */
    00093     RPMTAG_FILESIZES            = 1028, /* i[] */
    00094     RPMTAG_FILESTATES           = 1029, /* c[] */
    00095     RPMTAG_FILEMODES            = 1030, /* h[] */
    00096     RPMTAG_FILEUIDS             = 1031, /* i[] internal - obsolete */
    00097     RPMTAG_FILEGIDS             = 1032, /* i[] internal - obsolete */
    00098     RPMTAG_FILERDEVS            = 1033, /* h[] */
    00099     RPMTAG_FILEMTIMES           = 1034, /* i[] */
    00100     RPMTAG_FILEDIGESTS          = 1035, /* s[] */
    00101 #define RPMTAG_FILEMD5S RPMTAG_FILEDIGESTS /* s[] */
    00102     RPMTAG_FILELINKTOS          = 1036, /* s[] */
    00103     RPMTAG_FILEFLAGS            = 1037, /* i[] */
    00104     RPMTAG_ROOT                 = 1038, /* internal - obsolete */
    00105     RPMTAG_FILEUSERNAME         = 1039, /* s[] */
    00106     RPMTAG_FILEGROUPNAME        = 1040, /* s[] */
    00107     RPMTAG_EXCLUDE              = 1041, /* internal - obsolete */
    00108     RPMTAG_EXCLUSIVE            = 1042, /* internal - obsolete */
    00109     RPMTAG_ICON                 = 1043, /* x */
    00110     RPMTAG_SOURCERPM            = 1044, /* s */
    00111     RPMTAG_FILEVERIFYFLAGS      = 1045, /* i[] */
    00112     RPMTAG_ARCHIVESIZE          = 1046, /* i */
    00113     RPMTAG_PROVIDENAME          = 1047, /* s[] */
    00114 #define RPMTAG_PROVIDES RPMTAG_PROVIDENAME      /* s[] */
    00115 #define RPMTAG_P        RPMTAG_PROVIDENAME      /* s[] */
    00116     RPMTAG_REQUIREFLAGS         = 1048, /* i[] */
    00117     RPMTAG_REQUIRENAME          = 1049, /* s[] */
    00118 #define RPMTAG_REQUIRES RPMTAG_REQUIRENAME      /* s[] */
    00119     RPMTAG_REQUIREVERSION       = 1050, /* s[] */
    00120     RPMTAG_NOSOURCE             = 1051, /* i */
    00121     RPMTAG_NOPATCH              = 1052, /* i */
    00122     RPMTAG_CONFLICTFLAGS        = 1053, /* i[] */
    00123     RPMTAG_CONFLICTNAME         = 1054, /* s[] */
    00124 #define RPMTAG_CONFLICTS RPMTAG_CONFLICTNAME    /* s[] */
    00125 #define RPMTAG_C        RPMTAG_CONFLICTNAME     /* s[] */
    00126     RPMTAG_CONFLICTVERSION      = 1055, /* s[] */
    00127     RPMTAG_DEFAULTPREFIX        = 1056, /* s internal - deprecated */
    00128     RPMTAG_BUILDROOT            = 1057, /* s internal - obsolete */
    00129     RPMTAG_INSTALLPREFIX        = 1058, /* s internal - deprecated */
    00130     RPMTAG_EXCLUDEARCH          = 1059, /* s[] */
    00131     RPMTAG_EXCLUDEOS            = 1060, /* s[] */
    00132     RPMTAG_EXCLUSIVEARCH        = 1061, /* s[] */
    00133     RPMTAG_EXCLUSIVEOS          = 1062, /* s[] */
    00134     RPMTAG_AUTOREQPROV          = 1063, /* s internal */
    00135     RPMTAG_RPMVERSION           = 1064, /* s */
    00136     RPMTAG_TRIGGERSCRIPTS       = 1065, /* s[] */
    00137     RPMTAG_TRIGGERNAME          = 1066, /* s[] */
    00138     RPMTAG_TRIGGERVERSION       = 1067, /* s[] */
    00139     RPMTAG_TRIGGERFLAGS         = 1068, /* i[] */
    00140     RPMTAG_TRIGGERINDEX         = 1069, /* i[] */
    00141     RPMTAG_VERIFYSCRIPT         = 1079, /* s */
    00142     RPMTAG_CHANGELOGTIME        = 1080, /* i[] */
    00143     RPMTAG_CHANGELOGNAME        = 1081, /* s[] */
    00144     RPMTAG_CHANGELOGTEXT        = 1082, /* s[] */
    00145     RPMTAG_BROKENMD5            = 1083, /* internal - obsolete */
    00146     RPMTAG_PREREQ               = 1084, /* internal */
    00147     RPMTAG_PREINPROG            = 1085, /* s[] */
    00148     RPMTAG_POSTINPROG           = 1086, /* s[] */
    00149     RPMTAG_PREUNPROG            = 1087, /* s[] */
    00150     RPMTAG_POSTUNPROG           = 1088, /* s[] */
    00151     RPMTAG_BUILDARCHS           = 1089, /* s[] */
    00152     RPMTAG_OBSOLETENAME         = 1090, /* s[] */
    00153 #define RPMTAG_OBSOLETES RPMTAG_OBSOLETENAME    /* s[] */
    00154 #define RPMTAG_O        RPMTAG_OBSOLETENAME     /* s[] */
    00155     RPMTAG_VERIFYSCRIPTPROG     = 1091, /* s[] */
    00156     RPMTAG_TRIGGERSCRIPTPROG    = 1092, /* s[] */
    00157     RPMTAG_DOCDIR               = 1093, /* internal */
    00158     RPMTAG_COOKIE               = 1094, /* s */
    00159     RPMTAG_FILEDEVICES          = 1095, /* i[] */
    00160     RPMTAG_FILEINODES           = 1096, /* i[] */
    00161     RPMTAG_FILELANGS            = 1097, /* s[] */
    00162     RPMTAG_PREFIXES             = 1098, /* s[] */
    00163     RPMTAG_INSTPREFIXES         = 1099, /* s[] */
    00164     RPMTAG_TRIGGERIN            = 1100, /* internal */
    00165     RPMTAG_TRIGGERUN            = 1101, /* internal */
    00166     RPMTAG_TRIGGERPOSTUN        = 1102, /* internal */
    00167     RPMTAG_AUTOREQ              = 1103, /* internal */
    00168     RPMTAG_AUTOPROV             = 1104, /* internal */
    00169     RPMTAG_CAPABILITY           = 1105, /* i internal - obsolete */
    00170     RPMTAG_SOURCEPACKAGE        = 1106, /* i */
    00171     RPMTAG_OLDORIGFILENAMES     = 1107, /* internal - obsolete */
    00172     RPMTAG_BUILDPREREQ          = 1108, /* internal */
    00173     RPMTAG_BUILDREQUIRES        = 1109, /* internal */
    00174     RPMTAG_BUILDCONFLICTS       = 1110, /* internal */
    00175     RPMTAG_BUILDMACROS          = 1111, /* internal - unused */
    00176     RPMTAG_PROVIDEFLAGS         = 1112, /* i[] */
    00177     RPMTAG_PROVIDEVERSION       = 1113, /* s[] */
    00178     RPMTAG_OBSOLETEFLAGS        = 1114, /* i[] */
    00179     RPMTAG_OBSOLETEVERSION      = 1115, /* s[] */
    00180     RPMTAG_DIRINDEXES           = 1116, /* i[] */
    00181     RPMTAG_BASENAMES            = 1117, /* s[] */
    00182     RPMTAG_DIRNAMES             = 1118, /* s[] */
    00183     RPMTAG_ORIGDIRINDEXES       = 1119, /* i[] relocation */
    00184     RPMTAG_ORIGBASENAMES        = 1120, /* s[] relocation */
    00185     RPMTAG_ORIGDIRNAMES         = 1121, /* s[] relocation */
    00186     RPMTAG_OPTFLAGS             = 1122, /* s */
    00187     RPMTAG_DISTURL              = 1123, /* s */
    00188     RPMTAG_PAYLOADFORMAT        = 1124, /* s */
    00189     RPMTAG_PAYLOADCOMPRESSOR    = 1125, /* s */
    00190     RPMTAG_PAYLOADFLAGS         = 1126, /* s */
    00191     RPMTAG_INSTALLCOLOR         = 1127, /* i transaction color when installed */
    00192     RPMTAG_INSTALLTID           = 1128, /* i */
    00193     RPMTAG_REMOVETID            = 1129, /* i */
    00194     RPMTAG_SHA1RHN              = 1130, /* internal - obsolete */
    00195     RPMTAG_RHNPLATFORM          = 1131, /* s internal - obsolete */
    00196     RPMTAG_PLATFORM             = 1132, /* s */
    00197     RPMTAG_PATCHESNAME          = 1133, /* s[] deprecated placeholder (SuSE) */
    00198     RPMTAG_PATCHESFLAGS         = 1134, /* i[] deprecated placeholder (SuSE) */
    00199     RPMTAG_PATCHESVERSION       = 1135, /* s[] deprecated placeholder (SuSE) */
    00200     RPMTAG_CACHECTIME           = 1136, /* i internal - obsolete */
    00201     RPMTAG_CACHEPKGPATH         = 1137, /* s internal - obsolete */
    00202     RPMTAG_CACHEPKGSIZE         = 1138, /* i internal - obsolete */
    00203     RPMTAG_CACHEPKGMTIME        = 1139, /* i internal - obsolete */
    00204     RPMTAG_FILECOLORS           = 1140, /* i[] */
    00205     RPMTAG_FILECLASS            = 1141, /* i[] */
    00206     RPMTAG_CLASSDICT            = 1142, /* s[] */
    00207     RPMTAG_FILEDEPENDSX         = 1143, /* i[] */
    00208     RPMTAG_FILEDEPENDSN         = 1144, /* i[] */
    00209     RPMTAG_DEPENDSDICT          = 1145, /* i[] */
    00210     RPMTAG_SOURCEPKGID          = 1146, /* x */
    00211     RPMTAG_FILECONTEXTS         = 1147, /* s[] - obsolete */
    00212     RPMTAG_FSCONTEXTS           = 1148, /* s[] extension */
    00213     RPMTAG_RECONTEXTS           = 1149, /* s[] extension */
    00214     RPMTAG_POLICIES             = 1150, /* s[] selinux *.te policy file. */
    00215     RPMTAG_PRETRANS             = 1151, /* s */
    00216     RPMTAG_POSTTRANS            = 1152, /* s */
    00217     RPMTAG_PRETRANSPROG         = 1153, /* s[] */
    00218     RPMTAG_POSTTRANSPROG        = 1154, /* s[] */
    00219     RPMTAG_DISTTAG              = 1155, /* s */
    00220     RPMTAG_SUGGESTSNAME         = 1156, /* s[] extension (unimplemented) */
    00221 #define RPMTAG_SUGGESTS RPMTAG_SUGGESTSNAME     /* s[] (unimplemented) */
    00222     RPMTAG_SUGGESTSVERSION      = 1157, /* s[] extension (unimplemented) */
    00223     RPMTAG_SUGGESTSFLAGS        = 1158, /* i[] extension (unimplemented) */
    00224     RPMTAG_ENHANCESNAME         = 1159, /* s[] extension placeholder (unimplemented) */
    00225 #define RPMTAG_ENHANCES RPMTAG_ENHANCESNAME     /* s[] (unimplemented) */
    00226     RPMTAG_ENHANCESVERSION      = 1160, /* s[] extension placeholder (unimplemented) */
    00227     RPMTAG_ENHANCESFLAGS        = 1161, /* i[] extension placeholder (unimplemented) */
    00228     RPMTAG_PRIORITY             = 1162, /* i[] extension placeholder (unimplemented) */
    00229     RPMTAG_CVSID                = 1163, /* s (unimplemented) */
    00230 #define RPMTAG_SVNID    RPMTAG_CVSID    /* s (unimplemented) */
    00231     RPMTAG_BLINKPKGID           = 1164, /* s[] (unimplemented) */
    00232     RPMTAG_BLINKHDRID           = 1165, /* s[] (unimplemented) */
    00233     RPMTAG_BLINKNEVRA           = 1166, /* s[] (unimplemented) */
    00234     RPMTAG_FLINKPKGID           = 1167, /* s[] (unimplemented) */
    00235     RPMTAG_FLINKHDRID           = 1168, /* s[] (unimplemented) */
    00236     RPMTAG_FLINKNEVRA           = 1169, /* s[] (unimplemented) */
    00237     RPMTAG_PACKAGEORIGIN        = 1170, /* s (unimplemented) */
    00238     RPMTAG_TRIGGERPREIN         = 1171, /* internal */
    00239     RPMTAG_BUILDSUGGESTS        = 1172, /* internal (unimplemented) */
    00240     RPMTAG_BUILDENHANCES        = 1173, /* internal (unimplemented) */
    00241     RPMTAG_SCRIPTSTATES         = 1174, /* i[] scriptlet exit codes (unimplemented) */
    00242     RPMTAG_SCRIPTMETRICS        = 1175, /* i[] scriptlet execution times (unimplemented) */
    00243     RPMTAG_BUILDCPUCLOCK        = 1176, /* i (unimplemented) */
    00244     RPMTAG_FILEDIGESTALGOS      = 1177, /* i[] (unimplemented) */
    00245     RPMTAG_VARIANTS             = 1178, /* s[] (unimplemented) */
    00246     RPMTAG_XMAJOR               = 1179, /* i (unimplemented) */
    00247     RPMTAG_XMINOR               = 1180, /* i (unimplemented) */
    00248     RPMTAG_REPOTAG              = 1181, /* s (unimplemented) */
    00249     RPMTAG_KEYWORDS             = 1182, /* s[] (unimplemented) */
    00250     RPMTAG_BUILDPLATFORMS       = 1183, /* s[] (unimplemented) */
    00251     RPMTAG_PACKAGECOLOR         = 1184, /* i (unimplemented) */
    00252     RPMTAG_PACKAGEPREFCOLOR     = 1185, /* i (unimplemented) */
    00253     RPMTAG_XATTRSDICT           = 1186, /* s[] (unimplemented) */
    00254     RPMTAG_FILEXATTRSX          = 1187, /* i[] (unimplemented) */
    00255     RPMTAG_DEPATTRSDICT         = 1188, /* s[] (unimplemented) */
    00256     RPMTAG_CONFLICTATTRSX       = 1189, /* i[] (unimplemented) */
    00257     RPMTAG_OBSOLETEATTRSX       = 1190, /* i[] (unimplemented) */
    00258     RPMTAG_PROVIDEATTRSX        = 1191, /* i[] (unimplemented) */
    00259     RPMTAG_REQUIREATTRSX        = 1192, /* i[] (unimplemented) */
    00260     RPMTAG_BUILDPROVIDES        = 1193, /* internal (unimplemented) */
    00261     RPMTAG_BUILDOBSOLETES       = 1194, /* internal (unimplemented) */
    00262     RPMTAG_DBINSTANCE           = 1195, /* i extension */
    00263     RPMTAG_NVRA                 = 1196, /* s extension */
    00264     /* tags 1997-4999 reserved */
    00265     RPMTAG_FILENAMES            = 5000, /* s[] extension */
    00266     RPMTAG_FILEPROVIDE          = 5001, /* s[] extension */
    00267     RPMTAG_FILEREQUIRE          = 5002, /* s[] extension */
    00268     RPMTAG_FSNAMES              = 5003, /* s[] (unimplemented) */
    00269     RPMTAG_FSSIZES              = 5004, /* l[] (unimplemented) */
    00270     RPMTAG_TRIGGERCONDS         = 5005, /* s[] extension */
    00271     RPMTAG_TRIGGERTYPE          = 5006, /* s[] extension */
    00272     RPMTAG_ORIGFILENAMES        = 5007, /* s[] extension */
    00273     RPMTAG_LONGFILESIZES        = 5008, /* l[] */
    00274     RPMTAG_LONGSIZE             = 5009, /* l */
    00275     RPMTAG_FILECAPS             = 5010, /* s[] */
    00276     RPMTAG_FILEDIGESTALGO       = 5011, /* i file digest algorithm */
    00277     RPMTAG_BUGURL               = 5012, /* s */
    00278     RPMTAG_EVR                  = 5013, /* s extension */
    00279     RPMTAG_NVR                  = 5014, /* s extension */
    00280     RPMTAG_NEVR                 = 5015, /* s extension */
    00281     RPMTAG_NEVRA                = 5016, /* s extension */
    00282     RPMTAG_HEADERCOLOR          = 5017, /* i extension */
    00283     RPMTAG_VERBOSE              = 5018, /* i extension */
    00284     RPMTAG_EPOCHNUM             = 5019, /* i extension */
    00285     RPMTAG_PREINFLAGS           = 5020, /* i */
    00286     RPMTAG_POSTINFLAGS          = 5021, /* i */
    00287     RPMTAG_PREUNFLAGS           = 5022, /* i */
    00288     RPMTAG_POSTUNFLAGS          = 5023, /* i */
    00289     RPMTAG_PRETRANSFLAGS        = 5024, /* i */
    00290     RPMTAG_POSTTRANSFLAGS       = 5025, /* i */
    00291     RPMTAG_VERIFYSCRIPTFLAGS    = 5026, /* i */
    00292     RPMTAG_TRIGGERSCRIPTFLAGS   = 5027, /* i[] */
    00293     RPMTAG_COLLECTIONS          = 5029, /* s[] list of collections */
    00294     RPMTAG_POLICYNAMES          = 5030, /* s[] */
    00295     RPMTAG_POLICYTYPES          = 5031, /* s[] */
    00296     RPMTAG_POLICYTYPESINDEXES   = 5032, /* i[] */
    00297     RPMTAG_POLICYFLAGS          = 5033, /* i[] */
    00298     RPMTAG_VCS                  = 5034, /* s */
    00299     RPMTAG_ORDERNAME            = 5035, /* s[] */
    00300     RPMTAG_ORDERVERSION         = 5036, /* s[] */
    00301     RPMTAG_ORDERFLAGS           = 5037, /* i[] */
    00302     RPMTAG_MSSFMANIFEST         = 5038, /* s[] reservation (unimplemented) */
    00303     RPMTAG_MSSFDOMAIN           = 5039, /* s[] reservation (unimplemented) */
    00304     RPMTAG_INSTFILENAMES        = 5040, /* s[] extension */
    00305     RPMTAG_REQUIRENEVRS         = 5041, /* s[] extension */
    00306     RPMTAG_PROVIDENEVRS         = 5042, /* s[] extension */
    00307     RPMTAG_OBSOLETENEVRS        = 5043, /* s[] extension */
    00308     RPMTAG_CONFLICTNEVRS        = 5044, /* s[] extension */
    00309     RPMTAG_FILENLINKS           = 5045, /* i[] extension */
    00310
    00311     RPMTAG_FIRSTFREE_TAG
    00312 } rpmTag;
    00313
    00314 #define RPMTAG_EXTERNAL_TAG             1000000
    00315
    00319 typedef enum rpmDbiTag_e {
    00320     RPMDBI_PACKAGES             = 0,    /* Installed package headers. */
    00321     RPMDBI_LABEL                = 2,    /* NEVRA label pseudo index */
    00322     RPMDBI_NAME                 = RPMTAG_NAME,
    00323     RPMDBI_BASENAMES            = RPMTAG_BASENAMES,
    00324     RPMDBI_GROUP                = RPMTAG_GROUP,
    00325     RPMDBI_REQUIRENAME          = RPMTAG_REQUIRENAME,
    00326     RPMDBI_PROVIDENAME          = RPMTAG_PROVIDENAME,
    00327     RPMDBI_CONFLICTNAME         = RPMTAG_CONFLICTNAME,
    00328     RPMDBI_OBSOLETENAME         = RPMTAG_OBSOLETENAME,
    00329     RPMDBI_TRIGGERNAME          = RPMTAG_TRIGGERNAME,
    00330     RPMDBI_DIRNAMES             = RPMTAG_DIRNAMES,
    00331     RPMDBI_INSTALLTID           = RPMTAG_INSTALLTID,
    00332     RPMDBI_SIGMD5               = RPMTAG_SIGMD5,
    00333     RPMDBI_SHA1HEADER           = RPMTAG_SHA1HEADER,
    00334     RPMDBI_INSTFILENAMES        = RPMTAG_INSTFILENAMES,
    00335 } rpmDbiTag;
    00336
    00340 typedef enum rpmSigTag_e {
    00341     RPMSIGTAG_SIZE      = 1000,
    00342     RPMSIGTAG_LEMD5_1   = 1001,
    00343     RPMSIGTAG_PGP       = 1002,
    00344     RPMSIGTAG_LEMD5_2   = 1003,
    00345     RPMSIGTAG_MD5       = 1004,
    00346     RPMSIGTAG_GPG       = 1005,
    00347     RPMSIGTAG_PGP5      = 1006,
    00348     RPMSIGTAG_PAYLOADSIZE = 1007,
    00349     RPMSIGTAG_BADSHA1_1 = RPMTAG_BADSHA1_1,
    00350     RPMSIGTAG_BADSHA1_2 = RPMTAG_BADSHA1_2,
    00351     RPMSIGTAG_SHA1      = RPMTAG_SHA1HEADER,
    00352     RPMSIGTAG_DSA       = RPMTAG_DSAHEADER,
    00353     RPMSIGTAG_RSA       = RPMTAG_RSAHEADER,
    00354     RPMSIGTAG_LONGSIZE  = RPMTAG_LONGSIGSIZE,
    00355     RPMSIGTAG_LONGARCHIVESIZE = RPMTAG_LONGARCHIVESIZE,
    00356 } rpmSigTag;
    00357
    00358
    00362 typedef enum rpmTagType_e {
    00363 #define RPM_MIN_TYPE            0
    00364     RPM_NULL_TYPE               =  0,
    00365     RPM_CHAR_TYPE               =  1,
    00366     RPM_INT8_TYPE               =  2,
    00367     RPM_INT16_TYPE              =  3,
    00368     RPM_INT32_TYPE              =  4,
    00369     RPM_INT64_TYPE              =  5,
    00370     RPM_STRING_TYPE             =  6,
    00371     RPM_BIN_TYPE                =  7,
    00372     RPM_STRING_ARRAY_TYPE       =  8,
    00373     RPM_I18NSTRING_TYPE         =  9,
    00374 #define RPM_MAX_TYPE            9
    00375 #define RPM_FORCEFREE_TYPE      0xff
    00376 #define RPM_MASK_TYPE           0x0000ffff
    00377 } rpmTagType;
    00378
    00382 typedef enum rpmTagClass_e {
    00383     RPM_NULL_CLASS      = 0,
    00384     RPM_NUMERIC_CLASS   = 1,
    00385     RPM_STRING_CLASS    = 2,
    00386     RPM_BINARY_CLASS    = 3,
    00387 } rpmTagClass;
    00388
    00397 typedef enum rpmSubTagType_e {
    00398     RPM_REGION_TYPE             = -10,
    00399     RPM_BIN_ARRAY_TYPE          = -11,
    00402     RPM_XREF_TYPE               = -12
    00405 } rpmSubTagType;
    00406
    00410 enum rpmTagReturnType_e {
    00411     RPM_ANY_RETURN_TYPE         = 0,
    00412     RPM_SCALAR_RETURN_TYPE      = 0x00010000,
    00413     RPM_ARRAY_RETURN_TYPE       = 0x00020000,
    00414     RPM_MAPPING_RETURN_TYPE     = 0x00040000,
    00415     RPM_MASK_RETURN_TYPE        = 0xffff0000
    00416 };
    00417
    00418 typedef rpmFlags rpmTagReturnType;
    00419
    00425 const char * rpmTagGetName(rpmTagVal tag);
    00426
    00432 rpmTagType rpmTagGetType(rpmTagVal tag);
    00433
    00439 rpmTagType rpmTagGetTagType(rpmTagVal tag);
    00440
    00446 rpmTagReturnType rpmTagGetReturnType(rpmTagVal tag);
    00447
    00453 rpmTagClass rpmTagGetClass(rpmTagVal tag);
    00454
    00460 rpmTagVal rpmTagGetValue(const char * tagstr);
    00461
    00467 rpmTagClass rpmTagTypeGetClass(rpmTagType type);
    00468
    00475 int rpmTagGetNames(rpmtd tagnames, int fullname);
    00476
    00477 #ifdef __cplusplus
    00478 }
    00479 #endif
    00480
    00481 #endif /* _RPMTAG_H */