# rpmtag.h File Reference

`#include <rpm/rpmtypes.h>`

Include dependency graph for rpmtag.h:

Go to the source code of this file.

## Defines
#define | RPMDBI_PACKAGES 0
| Pseudo-tags used by the rpmdb and rpmgi iterator API's.
#define | RPMDBI_DEPENDS 1
#define | RPMDBI_LABEL 2
#define | RPMDBI_ADDED 3
#define | RPMDBI_REMOVED 4
#define | RPMDBI_AVAILABLE 5
#define | RPMDBI_HDLIST 6
#define | RPMDBI_ARGLIST 7
#define | RPMDBI_FTSWALK 8
#define | HEADER_IMAGE 61
| Header private tags.
#define | HEADER_SIGNATURES 62
#define | HEADER_IMMUTABLE 63
#define | HEADER_REGIONS 64
#define | HEADER_I18NTABLE 100
#define | HEADER_SIGBASE 256
#define | HEADER_TAGBASE 1000
#define | RPMTAG_PKGID RPMTAG_SIGMD5
#define | RPMTAG_HDRID RPMTAG_SHA1HEADER
#define | RPMTAG_N RPMTAG_NAME
#define | RPMTAG_V RPMTAG_VERSION
#define | RPMTAG_R RPMTAG_RELEASE
#define | RPMTAG_E RPMTAG_EPOCH
#define | RPMTAG_FILEMD5S RPMTAG_FILEDIGESTS
#define | RPMTAG_PROVIDES RPMTAG_PROVIDENAME
#define | RPMTAG_P RPMTAG_PROVIDENAME
#define | RPMTAG_REQUIRES RPMTAG_REQUIRENAME
#define | RPMTAG_CONFLICTS RPMTAG_CONFLICTNAME
#define | RPMTAG_C RPMTAG_CONFLICTNAME
#define | RPMTAG_OBSOLETES RPMTAG_OBSOLETENAME
#define | RPMTAG_O RPMTAG_OBSOLETENAME
#define | RPMTAG_SUGGESTS RPMTAG_SUGGESTSNAME
#define | RPMTAG_ENHANCES RPMTAG_ENHANCESNAME
#define | RPMTAG_SVNID RPMTAG_CVSID
#define | RPMTAG_EXTERNAL_TAG 1000000
#define | RPMTAG_NOT_FOUND -1
#define | RPM_MIN_TYPE 0
#define | RPM_MAX_TYPE 9
#define | RPM_FORCEFREE_TYPE 0xff
#define | RPM_MASK_TYPE 0x0000ffff
## Typedefs
typedef enum rpmTag_e | rpmTag
| Tags identify data in package headers.
typedef enum rpmSigTag_e | rpmSigTag
| Tags found in signature header from package.
typedef enum rpmTagType_e | rpmTagType
| The basic types of data in tags from headers.
typedef enum rpmTagClass_e | rpmTagClass
| The classes of data in tags from headers.
typedef enum rpmSubTagType_e | rpmSubTagType
| New rpm data types under consideration/development.
typedef enum rpmTagReturnType_e | rpmTagReturnType
| * Identify how to return the header data type.
## Enumerations
enum | rpmTag_e { RPMTAG_HEADERIMAGE = 61, RPMTAG_HEADERSIGNATURES = 62, RPMTAG_HEADERIMMUTABLE = 63, RPMTAG_HEADERREGIONS = 64, RPMTAG_HEADERI18NTABLE = 100, RPMTAG_SIG_BASE = 256, RPMTAG_SIGSIZE = RPMTAG_SIG_BASE+1, RPMTAG_SIGLEMD5_1 = RPMTAG_SIG_BASE+2, RPMTAG_SIGPGP = RPMTAG_SIG_BASE+3, RPMTAG_SIGLEMD5_2 = RPMTAG_SIG_BASE+4, RPMTAG_SIGMD5 = RPMTAG_SIG_BASE+5, RPMTAG_SIGGPG = RPMTAG_SIG_BASE+6, RPMTAG_SIGPGP5 = RPMTAG_SIG_BASE+7, RPMTAG_BADSHA1_1 = RPMTAG_SIG_BASE+8, RPMTAG_BADSHA1_2 = RPMTAG_SIG_BASE+9, RPMTAG_PUBKEYS = RPMTAG_SIG_BASE+10, RPMTAG_DSAHEADER = RPMTAG_SIG_BASE+11, RPMTAG_RSAHEADER = RPMTAG_SIG_BASE+12, RPMTAG_SHA1HEADER = RPMTAG_SIG_BASE+13, RPMTAG_LONGSIGSIZE = RPMTAG_SIG_BASE+14, RPMTAG_LONGARCHIVESIZE = RPMTAG_SIG_BASE+15, RPMTAG_NAME = 1000, RPMTAG_VERSION = 1001, RPMTAG_RELEASE = 1002, RPMTAG_EPOCH = 1003, RPMTAG_SUMMARY = 1004, RPMTAG_DESCRIPTION = 1005, RPMTAG_BUILDTIME = 1006, RPMTAG_BUILDHOST = 1007, RPMTAG_INSTALLTIME = 1008, RPMTAG_SIZE = 1009, RPMTAG_DISTRIBUTION = 1010, RPMTAG_VENDOR = 1011, RPMTAG_GIF = 1012, RPMTAG_XPM = 1013, RPMTAG_LICENSE = 1014, RPMTAG_PACKAGER = 1015, RPMTAG_GROUP = 1016, RPMTAG_CHANGELOG = 1017, RPMTAG_SOURCE = 1018, RPMTAG_PATCH = 1019, RPMTAG_URL = 1020, RPMTAG_OS = 1021, RPMTAG_ARCH = 1022, RPMTAG_PREIN = 1023, RPMTAG_POSTIN = 1024, RPMTAG_PREUN = 1025, RPMTAG_POSTUN = 1026, RPMTAG_OLDFILENAMES = 1027, RPMTAG_FILESIZES = 1028, RPMTAG_FILESTATES = 1029, RPMTAG_FILEMODES = 1030, RPMTAG_FILEUIDS = 1031, RPMTAG_FILEGIDS = 1032, RPMTAG_FILERDEVS = 1033, RPMTAG_FILEMTIMES = 1034, RPMTAG_FILEDIGESTS = 1035, RPMTAG_FILELINKTOS = 1036, RPMTAG_FILEFLAGS = 1037, RPMTAG_ROOT = 1038, RPMTAG_FILEUSERNAME = 1039, RPMTAG_FILEGROUPNAME = 1040, RPMTAG_EXCLUDE = 1041, RPMTAG_EXCLUSIVE = 1042, RPMTAG_ICON = 1043, RPMTAG_SOURCERPM = 1044, RPMTAG_FILEVERIFYFLAGS = 1045, RPMTAG_ARCHIVESIZE = 1046, RPMTAG_PROVIDENAME = 1047, RPMTAG_REQUIREFLAGS = 1048, RPMTAG_REQUIRENAME = 1049, RPMTAG_REQUIREVERSION = 1050, RPMTAG_NOSOURCE = 1051, RPMTAG_NOPATCH = 1052, RPMTAG_CONFLICTFLAGS = 1053, RPMTAG_CONFLICTNAME = 1054, RPMTAG_CONFLICTVERSION = 1055, RPMTAG_DEFAULTPREFIX = 1056, RPMTAG_BUILDROOT = 1057, RPMTAG_INSTALLPREFIX = 1058, RPMTAG_EXCLUDEARCH = 1059, RPMTAG_EXCLUDEOS = 1060, RPMTAG_EXCLUSIVEARCH = 1061, RPMTAG_EXCLUSIVEOS = 1062, RPMTAG_AUTOREQPROV = 1063, RPMTAG_RPMVERSION = 1064, RPMTAG_TRIGGERSCRIPTS = 1065, RPMTAG_TRIGGERNAME = 1066, RPMTAG_TRIGGERVERSION = 1067, RPMTAG_TRIGGERFLAGS = 1068, RPMTAG_TRIGGERINDEX = 1069, RPMTAG_VERIFYSCRIPT = 1079, RPMTAG_CHANGELOGTIME = 1080, RPMTAG_CHANGELOGNAME = 1081, RPMTAG_CHANGELOGTEXT = 1082, RPMTAG_BROKENMD5 = 1083, RPMTAG_PREREQ = 1084, RPMTAG_PREINPROG = 1085, RPMTAG_POSTINPROG = 1086, RPMTAG_PREUNPROG = 1087, RPMTAG_POSTUNPROG = 1088, RPMTAG_BUILDARCHS = 1089, RPMTAG_OBSOLETENAME = 1090, RPMTAG_VERIFYSCRIPTPROG = 1091, RPMTAG_TRIGGERSCRIPTPROG = 1092, RPMTAG_DOCDIR = 1093, RPMTAG_COOKIE = 1094, RPMTAG_FILEDEVICES = 1095, RPMTAG_FILEINODES = 1096, RPMTAG_FILELANGS = 1097, RPMTAG_PREFIXES = 1098, RPMTAG_INSTPREFIXES = 1099, RPMTAG_TRIGGERIN = 1100, RPMTAG_TRIGGERUN = 1101, RPMTAG_TRIGGERPOSTUN = 1102, RPMTAG_AUTOREQ = 1103, RPMTAG_AUTOPROV = 1104, RPMTAG_CAPABILITY = 1105, RPMTAG_SOURCEPACKAGE = 1106, RPMTAG_OLDORIGFILENAMES = 1107, RPMTAG_BUILDPREREQ = 1108, RPMTAG_BUILDREQUIRES = 1109, RPMTAG_BUILDCONFLICTS = 1110, RPMTAG_BUILDMACROS = 1111, RPMTAG_PROVIDEFLAGS = 1112, RPMTAG_PROVIDEVERSION = 1113, RPMTAG_OBSOLETEFLAGS = 1114, RPMTAG_OBSOLETEVERSION = 1115, RPMTAG_DIRINDEXES = 1116, RPMTAG_BASENAMES = 1117, RPMTAG_DIRNAMES = 1118, RPMTAG_ORIGDIRINDEXES = 1119, RPMTAG_ORIGBASENAMES = 1120, RPMTAG_ORIGDIRNAMES = 1121, RPMTAG_OPTFLAGS = 1122, RPMTAG_DISTURL = 1123, RPMTAG_PAYLOADFORMAT = 1124, RPMTAG_PAYLOADCOMPRESSOR = 1125, RPMTAG_PAYLOADFLAGS = 1126, RPMTAG_INSTALLCOLOR = 1127, RPMTAG_INSTALLTID = 1128, RPMTAG_REMOVETID = 1129, RPMTAG_SHA1RHN = 1130, RPMTAG_RHNPLATFORM = 1131, RPMTAG_PLATFORM = 1132, RPMTAG_PATCHESNAME = 1133, RPMTAG_PATCHESFLAGS = 1134, RPMTAG_PATCHESVERSION = 1135, RPMTAG_CACHECTIME = 1136, RPMTAG_CACHEPKGPATH = 1137, RPMTAG_CACHEPKGSIZE = 1138, RPMTAG_CACHEPKGMTIME = 1139, RPMTAG_FILECOLORS = 1140, RPMTAG_FILECLASS = 1141, RPMTAG_CLASSDICT = 1142, RPMTAG_FILEDEPENDSX = 1143, RPMTAG_FILEDEPENDSN = 1144, RPMTAG_DEPENDSDICT = 1145, RPMTAG_SOURCEPKGID = 1146, RPMTAG_FILECONTEXTS = 1147, RPMTAG_FSCONTEXTS = 1148, RPMTAG_RECONTEXTS = 1149, RPMTAG_POLICIES = 1150, RPMTAG_PRETRANS = 1151, RPMTAG_POSTTRANS = 1152, RPMTAG_PRETRANSPROG = 1153, RPMTAG_POSTTRANSPROG = 1154, RPMTAG_DISTTAG = 1155, RPMTAG_SUGGESTSNAME = 1156, RPMTAG_SUGGESTSVERSION = 1157, RPMTAG_SUGGESTSFLAGS = 1158, RPMTAG_ENHANCESNAME = 1159, RPMTAG_ENHANCESVERSION = 1160, RPMTAG_ENHANCESFLAGS = 1161, RPMTAG_PRIORITY = 1162, RPMTAG_CVSID = 1163, RPMTAG_BLINKPKGID = 1164, RPMTAG_BLINKHDRID = 1165, RPMTAG_BLINKNEVRA = 1166, RPMTAG_FLINKPKGID = 1167, RPMTAG_FLINKHDRID = 1168, RPMTAG_FLINKNEVRA = 1169, RPMTAG_PACKAGEORIGIN = 1170, RPMTAG_TRIGGERPREIN = 1171, RPMTAG_BUILDSUGGESTS = 1172, RPMTAG_BUILDENHANCES = 1173, RPMTAG_SCRIPTSTATES = 1174, RPMTAG_SCRIPTMETRICS = 1175, RPMTAG_BUILDCPUCLOCK = 1176, RPMTAG_FILEDIGESTALGOS = 1177, RPMTAG_VARIANTS = 1178, RPMTAG_XMAJOR = 1179, RPMTAG_XMINOR = 1180, RPMTAG_REPOTAG = 1181, RPMTAG_KEYWORDS = 1182, RPMTAG_BUILDPLATFORMS = 1183, RPMTAG_PACKAGECOLOR = 1184, RPMTAG_PACKAGEPREFCOLOR = 1185, RPMTAG_XATTRSDICT = 1186, RPMTAG_FILEXATTRSX = 1187, RPMTAG_DEPATTRSDICT = 1188, RPMTAG_CONFLICTATTRSX = 1189, RPMTAG_OBSOLETEATTRSX = 1190, RPMTAG_PROVIDEATTRSX = 1191, RPMTAG_REQUIREATTRSX = 1192, RPMTAG_BUILDPROVIDES = 1193, RPMTAG_BUILDOBSOLETES = 1194, RPMTAG_FILENAMES = 5000, RPMTAG_FILEPROVIDE = 5001, RPMTAG_FILEREQUIRE = 5002, RPMTAG_FSNAMES = 5003, RPMTAG_FSSIZES = 5004, RPMTAG_TRIGGERCONDS = 5005, RPMTAG_TRIGGERTYPE = 5006, RPMTAG_ORIGFILENAMES = 5007, RPMTAG_LONGFILESIZES = 5008, RPMTAG_LONGSIZE = 5009, RPMTAG_FILECAPS = 5010, RPMTAG_FILEDIGESTALGO = 5011, RPMTAG_FIRSTFREE_TAG }
| Tags identify data in package headers. More...
enum | rpmSigTag_e { RPMSIGTAG_SIZE = 1000, RPMSIGTAG_LEMD5_1 = 1001, RPMSIGTAG_PGP = 1002, RPMSIGTAG_LEMD5_2 = 1003, RPMSIGTAG_MD5 = 1004, RPMSIGTAG_GPG = 1005, RPMSIGTAG_PGP5 = 1006, RPMSIGTAG_PAYLOADSIZE = 1007, RPMSIGTAG_BADSHA1_1 = RPMTAG_BADSHA1_1, RPMSIGTAG_BADSHA1_2 = RPMTAG_BADSHA1_2, RPMSIGTAG_SHA1 = RPMTAG_SHA1HEADER, RPMSIGTAG_DSA = RPMTAG_DSAHEADER, RPMSIGTAG_RSA = RPMTAG_RSAHEADER, RPMSIGTAG_LONGSIZE = RPMTAG_LONGSIGSIZE, RPMSIGTAG_LONGARCHIVESIZE = RPMTAG_LONGARCHIVESIZE }
| Tags found in signature header from package. More...
enum | rpmTagType_e { RPM_NULL_TYPE = 0, RPM_CHAR_TYPE = 1, RPM_INT8_TYPE = 2, RPM_INT16_TYPE = 3, RPM_INT32_TYPE = 4, RPM_INT64_TYPE = 5, RPM_STRING_TYPE = 6, RPM_BIN_TYPE = 7, RPM_STRING_ARRAY_TYPE = 8, RPM_I18NSTRING_TYPE = 9, RPM_MASK_TYPE }
| The basic types of data in tags from headers. More...
enum | rpmTagClass_e { RPM_NULL_CLASS = 0, RPM_NUMERIC_CLASS = 1, RPM_STRING_CLASS = 2, RPM_BINARY_CLASS = 3 }
| The classes of data in tags from headers. More...
enum | rpmSubTagType_e { RPM_REGION_TYPE = -10, RPM_BIN_ARRAY_TYPE = -11, RPM_XREF_TYPE = -12 }
| New rpm data types under consideration/development. More...
enum | rpmTagReturnType_e { RPM_ANY_RETURN_TYPE = 0, RPM_SCALAR_RETURN_TYPE = 0x00010000, RPM_ARRAY_RETURN_TYPE = 0x00020000, RPM_MAPPING_RETURN_TYPE = 0x00040000, RPM_MASK_RETURN_TYPE = 0xffff0000 }
| * Identify how to return the header data type. More...
## Functions
const char * | rpmTagGetName (rpmTag tag)
| Return tag name from value.
rpmTagType | rpmTagGetType (rpmTag tag)
| Return tag data type from value.
rpmTagClass | rpmTagGetClass (rpmTag tag)
| Return tag data class from value.
rpmTag | rpmTagGetValue (const char *tagstr)
| Return tag value from name.
rpmTagClass | rpmTagTypeGetClass (rpmTagType type)
| Return data class of type.
int | rpmTagGetNames (rpmtd tagnames, int fullname)
| Return known rpm tag names, sorted by name.

## Define Documentation

#define HEADER_I18NTABLE 100

Definition at line 31 of file rpmtag.h.

#define HEADER_IMAGE 61

Header private tags.

Note:
  General use tags should start at 1000 (RPM's tag space starts there).

Definition at line 27 of file rpmtag.h.

#define HEADER_IMMUTABLE 63

Definition at line 29 of file rpmtag.h.

#define HEADER_REGIONS 64

Definition at line 30 of file rpmtag.h.

#define HEADER_SIGBASE 256

Definition at line 32 of file rpmtag.h.

#define HEADER_SIGNATURES 62

Definition at line 28 of file rpmtag.h.

#define HEADER_TAGBASE 1000

Definition at line 33 of file rpmtag.h.

#define RPM_FORCEFREE_TYPE 0xff

#define RPM_MASK_TYPE 0x0000ffff

#define RPM_MAX_TYPE 9

#define RPM_MIN_TYPE 0

#define RPMDBI_ADDED 3

Definition at line 16 of file rpmtag.h.

#define RPMDBI_ARGLIST 7

Definition at line 20 of file rpmtag.h.

#define RPMDBI_AVAILABLE 5

Definition at line 18 of file rpmtag.h.

#define RPMDBI_DEPENDS 1

Definition at line 14 of file rpmtag.h.

#define RPMDBI_FTSWALK 8

Definition at line 21 of file rpmtag.h.

#define RPMDBI_HDLIST 6

Definition at line 19 of file rpmtag.h.

#define RPMDBI_LABEL 2

Definition at line 15 of file rpmtag.h.

#define RPMDBI_PACKAGES 0

Pseudo-tags used by the rpmdb and rpmgi iterator API's.

Definition at line 13 of file rpmtag.h.

#define RPMDBI_REMOVED 4

Definition at line 17 of file rpmtag.h.

#define RPMTAG_C RPMTAG_CONFLICTNAME

#define RPMTAG_CONFLICTS RPMTAG_CONFLICTNAME

#define RPMTAG_E RPMTAG_EPOCH

#define RPMTAG_ENHANCES RPMTAG_ENHANCESNAME

#define RPMTAG_EXTERNAL_TAG 1000000

Definition at line 289 of file rpmtag.h.

#define RPMTAG_FILEMD5S RPMTAG_FILEDIGESTS

#define RPMTAG_HDRID RPMTAG_SHA1HEADER

#define RPMTAG_N RPMTAG_NAME

#define RPMTAG_NOT_FOUND -1

Definition at line 290 of file rpmtag.h.

#define RPMTAG_O RPMTAG_OBSOLETENAME

#define RPMTAG_OBSOLETES RPMTAG_OBSOLETENAME

#define RPMTAG_P RPMTAG_PROVIDENAME

#define RPMTAG_PKGID RPMTAG_SIGMD5

#define RPMTAG_PROVIDES RPMTAG_PROVIDENAME

#define RPMTAG_R RPMTAG_RELEASE

#define RPMTAG_REQUIRES RPMTAG_REQUIRENAME

#define RPMTAG_SUGGESTS RPMTAG_SUGGESTSNAME

#define RPMTAG_SVNID RPMTAG_CVSID

#define RPMTAG_V RPMTAG_VERSION