rpm  4.8.1
Macros | Typedefs | Enumerations | Functions
rpmtag.h File Reference
#include <rpm/rpmtypes.h>
Include dependency graph for rpmtag.h:

Go to the source code of this file.

Macros

#define RPMDBI_PACKAGES   0 /* Installed package headers. */
 Pseudo-tags used by the rpmdb and rpmgi iterator API's. More...
 
#define RPMDBI_DEPENDS   1 /* Dependency resolution cache. */
 
#define RPMDBI_LABEL   2 /* Fingerprint search marker. */
 
#define RPMDBI_ADDED   3 /* Added package headers. */
 
#define RPMDBI_REMOVED   4 /* Removed package headers. */
 
#define RPMDBI_AVAILABLE   5 /* Available package headers. */
 
#define RPMDBI_HDLIST   6 /* (rpmgi) Header list. */
 
#define RPMDBI_ARGLIST   7 /* (rpmgi) Argument list. */
 
#define RPMDBI_FTSWALK   8 /* (rpmgi) File tree walk. */
 
#define HEADER_IMAGE   61
 Header private tags. More...
 
#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 /* x */
 
#define RPMTAG_HDRID   RPMTAG_SHA1HEADER /* s */
 
#define RPMTAG_N   RPMTAG_NAME /* s */
 
#define RPMTAG_V   RPMTAG_VERSION /* s */
 
#define RPMTAG_R   RPMTAG_RELEASE /* s */
 
#define RPMTAG_E   RPMTAG_EPOCH /* i */
 
#define RPMTAG_FILEMD5S   RPMTAG_FILEDIGESTS /* s[] */
 
#define RPMTAG_PROVIDES   RPMTAG_PROVIDENAME /* s[] */
 
#define RPMTAG_P   RPMTAG_PROVIDENAME /* s[] */
 
#define RPMTAG_REQUIRES   RPMTAG_REQUIRENAME /* s[] */
 
#define RPMTAG_CONFLICTS   RPMTAG_CONFLICTNAME /* s[] */
 
#define RPMTAG_C   RPMTAG_CONFLICTNAME /* s[] */
 
#define RPMTAG_OBSOLETES   RPMTAG_OBSOLETENAME /* s[] */
 
#define RPMTAG_O   RPMTAG_OBSOLETENAME /* s[] */
 
#define RPMTAG_SUGGESTS   RPMTAG_SUGGESTSNAME /* s[] (unimplemented) */
 
#define RPMTAG_ENHANCES   RPMTAG_ENHANCESNAME /* s[] (unimplemented) */
 
#define RPMTAG_SVNID   RPMTAG_CVSID /* s (unimplemented) */
 
#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. More...
 
typedef enum rpmSigTag_e rpmSigTag
 Tags found in signature header from package. More...
 
typedef enum rpmTagType_e rpmTagType
 The basic types of data in tags from headers. More...
 
typedef enum rpmTagClass_e rpmTagClass
 The classes of data in tags from headers. More...
 
typedef enum rpmSubTagType_e rpmSubTagType
 New rpm data types under consideration/development. More...
 
typedef enum rpmTagReturnType_e rpmTagReturnType
 

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_DBINSTANCE = 1195,
  RPMTAG_NVRA = 1196, 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_BUGURL = 5012, RPMTAG_EVR = 5013, RPMTAG_NVR = 5014,
  RPMTAG_NEVR = 5015, RPMTAG_NEVRA = 5016, RPMTAG_HEADERCOLOR = 5017, RPMTAG_VERBOSE = 5018,
  RPMTAG_EPOCHNUM = 5019, RPMTAG_ORDERNAME = 5035, RPMTAG_ORDERVERSION = 5036, RPMTAG_ORDERFLAGS = 5037,
  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
}
 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
}
 

Functions

const char * rpmTagGetName (rpmTag tag)
 Return tag name from value. More...
 
rpmTagType rpmTagGetType (rpmTag tag)
 Return tag data type from value. More...
 
rpmTagClass rpmTagGetClass (rpmTag tag)
 Return tag data class from value. More...
 
rpmTag rpmTagGetValue (const char *tagstr)
 Return tag value from name. More...
 
rpmTagClass rpmTagTypeGetClass (rpmTagType type)
 Return data class of type. More...
 
int rpmTagGetNames (rpmtd tagnames, int fullname)
 Return known rpm tag names, sorted by name. More...
 

Macro Definition Documentation

◆ HEADER_I18NTABLE

#define HEADER_I18NTABLE   100

Definition at line 31 of file rpmtag.h.

◆ HEADER_IMAGE

#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.

◆ HEADER_IMMUTABLE

#define HEADER_IMMUTABLE   63

Definition at line 29 of file rpmtag.h.

◆ HEADER_REGIONS

#define HEADER_REGIONS   64

Definition at line 30 of file rpmtag.h.

◆ HEADER_SIGBASE

#define HEADER_SIGBASE   256

Definition at line 32 of file rpmtag.h.

◆ HEADER_SIGNATURES

#define HEADER_SIGNATURES   62

Definition at line 28 of file rpmtag.h.

◆ HEADER_TAGBASE

#define HEADER_TAGBASE   1000

Definition at line 33 of file rpmtag.h.

◆ RPM_FORCEFREE_TYPE

#define RPM_FORCEFREE_TYPE   0xff

Definition at line 343 of file rpmtag.h.

◆ RPM_MASK_TYPE

#define RPM_MASK_TYPE   0x0000ffff

Definition at line 344 of file rpmtag.h.

◆ RPM_MAX_TYPE

#define RPM_MAX_TYPE   9

Definition at line 342 of file rpmtag.h.

◆ RPM_MIN_TYPE

#define RPM_MIN_TYPE   0

Definition at line 331 of file rpmtag.h.

◆ RPMDBI_ADDED

#define RPMDBI_ADDED   3 /* Added package headers. */

Definition at line 16 of file rpmtag.h.

◆ RPMDBI_ARGLIST

#define RPMDBI_ARGLIST   7 /* (rpmgi) Argument list. */

Definition at line 20 of file rpmtag.h.

◆ RPMDBI_AVAILABLE

#define RPMDBI_AVAILABLE   5 /* Available package headers. */

Definition at line 18 of file rpmtag.h.

◆ RPMDBI_DEPENDS

#define RPMDBI_DEPENDS   1 /* Dependency resolution cache. */

Definition at line 14 of file rpmtag.h.

◆ RPMDBI_FTSWALK

#define RPMDBI_FTSWALK   8 /* (rpmgi) File tree walk. */

Definition at line 21 of file rpmtag.h.

◆ RPMDBI_HDLIST

#define RPMDBI_HDLIST   6 /* (rpmgi) Header list. */

Definition at line 19 of file rpmtag.h.

◆ RPMDBI_LABEL

#define RPMDBI_LABEL   2 /* Fingerprint search marker. */

Definition at line 15 of file rpmtag.h.

◆ RPMDBI_PACKAGES

#define RPMDBI_PACKAGES   0 /* Installed package headers. */

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

Definition at line 13 of file rpmtag.h.

◆ RPMDBI_REMOVED

#define RPMDBI_REMOVED   4 /* Removed package headers. */

Definition at line 17 of file rpmtag.h.

◆ RPMTAG_C

#define RPMTAG_C   RPMTAG_CONFLICTNAME /* s[] */

Definition at line 136 of file rpmtag.h.

◆ RPMTAG_CONFLICTS

#define RPMTAG_CONFLICTS   RPMTAG_CONFLICTNAME /* s[] */

Definition at line 135 of file rpmtag.h.

◆ RPMTAG_E

#define RPMTAG_E   RPMTAG_EPOCH /* i */

Definition at line 79 of file rpmtag.h.

◆ RPMTAG_ENHANCES

#define RPMTAG_ENHANCES   RPMTAG_ENHANCESNAME /* s[] (unimplemented) */

Definition at line 236 of file rpmtag.h.

◆ RPMTAG_EXTERNAL_TAG

#define RPMTAG_EXTERNAL_TAG   1000000

Definition at line 302 of file rpmtag.h.

◆ RPMTAG_FILEMD5S

#define RPMTAG_FILEMD5S   RPMTAG_FILEDIGESTS /* s[] */

Definition at line 112 of file rpmtag.h.

◆ RPMTAG_HDRID

#define RPMTAG_HDRID   RPMTAG_SHA1HEADER /* s */

Definition at line 68 of file rpmtag.h.

◆ RPMTAG_N

#define RPMTAG_N   RPMTAG_NAME /* s */

Definition at line 73 of file rpmtag.h.

◆ RPMTAG_NOT_FOUND

#define RPMTAG_NOT_FOUND   -1

Definition at line 303 of file rpmtag.h.

◆ RPMTAG_O

#define RPMTAG_O   RPMTAG_OBSOLETENAME /* s[] */

Definition at line 165 of file rpmtag.h.

◆ RPMTAG_OBSOLETES

#define RPMTAG_OBSOLETES   RPMTAG_OBSOLETENAME /* s[] */

Definition at line 164 of file rpmtag.h.

◆ RPMTAG_P

#define RPMTAG_P   RPMTAG_PROVIDENAME /* s[] */

Definition at line 126 of file rpmtag.h.

◆ RPMTAG_PKGID

#define RPMTAG_PKGID   RPMTAG_SIGMD5 /* x */

Definition at line 58 of file rpmtag.h.

◆ RPMTAG_PROVIDES

#define RPMTAG_PROVIDES   RPMTAG_PROVIDENAME /* s[] */

Definition at line 125 of file rpmtag.h.

◆ RPMTAG_R

#define RPMTAG_R   RPMTAG_RELEASE /* s */

Definition at line 77 of file rpmtag.h.

◆ RPMTAG_REQUIRES

#define RPMTAG_REQUIRES   RPMTAG_REQUIRENAME /* s[] */

Definition at line 129 of file rpmtag.h.

◆ RPMTAG_SUGGESTS

#define RPMTAG_SUGGESTS   RPMTAG_SUGGESTSNAME /* s[] (unimplemented) */

Definition at line 232 of file rpmtag.h.

◆ RPMTAG_SVNID

#define RPMTAG_SVNID   RPMTAG_CVSID /* s (unimplemented) */

Definition at line 241 of file rpmtag.h.

◆ RPMTAG_V

#define RPMTAG_V   RPMTAG_VERSION /* s */

Definition at line 75 of file rpmtag.h.

Typedef Documentation

◆ rpmSigTag

typedef enum rpmSigTag_e rpmSigTag

Tags found in signature header from package.

◆ rpmSubTagType

New rpm data types under consideration/development.

These data types may (or may not) be added to rpm at some point. In order to avoid incompatibility with legacy versions of rpm, these data (sub-)types are introduced into the header by overloading RPM_BIN_TYPE, with the binary value of the tag a 16 byte image of what should/will be in the header index, followed by per-tag private data.

◆ rpmTag

typedef enum rpmTag_e rpmTag

Tags identify data in package headers.

Note
tags should not have value 0!
Todo:
: Somehow supply type

◆ rpmTagClass

typedef enum rpmTagClass_e rpmTagClass

The classes of data in tags from headers.

◆ rpmTagReturnType

  • Identify how to return the header data type.

◆ rpmTagType

typedef enum rpmTagType_e rpmTagType

The basic types of data in tags from headers.

Enumeration Type Documentation

◆ rpmSigTag_e

Tags found in signature header from package.

Enumerator
RPMSIGTAG_SIZE 

internal Header+Payload size (32bit) in bytes.

RPMSIGTAG_LEMD5_1 

internal Broken MD5, take 1

Deprecated:
legacy.
RPMSIGTAG_PGP 

internal PGP 2.6.3 signature.

RPMSIGTAG_LEMD5_2 

internal Broken MD5, take 2

Deprecated:
legacy.
RPMSIGTAG_MD5 

internal MD5 signature.

RPMSIGTAG_GPG 

internal GnuPG signature.

RPMSIGTAG_PGP5 

internal PGP5 signature

Deprecated:
legacy.
RPMSIGTAG_PAYLOADSIZE 

internal uncompressed payload size (32bit) in bytes.

RPMSIGTAG_BADSHA1_1 

internal Broken SHA1, take 1.

RPMSIGTAG_BADSHA1_2 

internal Broken SHA1, take 2.

RPMSIGTAG_SHA1 

internal sha1 header digest.

RPMSIGTAG_DSA 

internal DSA header signature.

RPMSIGTAG_RSA 

internal RSA header signature.

RPMSIGTAG_LONGSIZE 

internal Header+Payload size (64bit) in bytes.

RPMSIGTAG_LONGARCHIVESIZE 

internal uncompressed payload size (64bit) in bytes.

Definition at line 308 of file rpmtag.h.

◆ rpmSubTagType_e

New rpm data types under consideration/development.

These data types may (or may not) be added to rpm at some point. In order to avoid incompatibility with legacy versions of rpm, these data (sub-)types are introduced into the header by overloading RPM_BIN_TYPE, with the binary value of the tag a 16 byte image of what should/will be in the header index, followed by per-tag private data.

Enumerator
RPM_REGION_TYPE 
RPM_BIN_ARRAY_TYPE 
Todo:
Implement, kinda like RPM_STRING_ARRAY_TYPE for known (but variable) length binary data.
RPM_XREF_TYPE 
Todo:
Implement, intent is to to carry a (???,tagNum,valNum) cross reference to retrieve data from other tags.

Definition at line 365 of file rpmtag.h.

◆ rpmTag_e

enum rpmTag_e

Tags identify data in package headers.

Note
tags should not have value 0!
Todo:
: Somehow supply type
Enumerator
RPMTAG_HEADERIMAGE 

Current image.

RPMTAG_HEADERSIGNATURES 

Signatures.

RPMTAG_HEADERIMMUTABLE 

Original image.

RPMTAG_HEADERREGIONS 

Regions.

RPMTAG_HEADERI18NTABLE 
RPMTAG_SIG_BASE 
RPMTAG_SIGSIZE 
RPMTAG_SIGLEMD5_1 
RPMTAG_SIGPGP 
RPMTAG_SIGLEMD5_2 
RPMTAG_SIGMD5 
RPMTAG_SIGGPG 
RPMTAG_SIGPGP5 
RPMTAG_BADSHA1_1 
RPMTAG_BADSHA1_2 
RPMTAG_PUBKEYS 
RPMTAG_DSAHEADER 
RPMTAG_RSAHEADER 
RPMTAG_SHA1HEADER 
RPMTAG_LONGSIGSIZE 
RPMTAG_LONGARCHIVESIZE 
RPMTAG_NAME 
RPMTAG_VERSION 
RPMTAG_RELEASE 
RPMTAG_EPOCH 
RPMTAG_SUMMARY 
RPMTAG_DESCRIPTION 
RPMTAG_BUILDTIME 
RPMTAG_BUILDHOST 
RPMTAG_INSTALLTIME 
RPMTAG_SIZE 
RPMTAG_DISTRIBUTION 
RPMTAG_VENDOR 
RPMTAG_GIF 
RPMTAG_XPM 
RPMTAG_LICENSE 
RPMTAG_PACKAGER 
RPMTAG_GROUP 
RPMTAG_CHANGELOG 
RPMTAG_SOURCE 
RPMTAG_PATCH 
RPMTAG_URL 
RPMTAG_OS 
RPMTAG_ARCH 
RPMTAG_PREIN 
RPMTAG_POSTIN 
RPMTAG_PREUN 
RPMTAG_POSTUN 
RPMTAG_OLDFILENAMES 
RPMTAG_FILESIZES 
RPMTAG_FILESTATES 
RPMTAG_FILEMODES 
RPMTAG_FILEUIDS 
RPMTAG_FILEGIDS 
RPMTAG_FILERDEVS 
RPMTAG_FILEMTIMES 
RPMTAG_FILEDIGESTS 
RPMTAG_FILELINKTOS 
RPMTAG_FILEFLAGS 
RPMTAG_ROOT 
RPMTAG_FILEUSERNAME 
RPMTAG_FILEGROUPNAME 
RPMTAG_EXCLUDE 
RPMTAG_EXCLUSIVE 
RPMTAG_ICON 
RPMTAG_SOURCERPM 
RPMTAG_FILEVERIFYFLAGS 
RPMTAG_ARCHIVESIZE 
RPMTAG_PROVIDENAME 
RPMTAG_REQUIREFLAGS 
RPMTAG_REQUIRENAME 
RPMTAG_REQUIREVERSION 
RPMTAG_NOSOURCE 
RPMTAG_NOPATCH 
RPMTAG_CONFLICTFLAGS 
RPMTAG_CONFLICTNAME 
RPMTAG_CONFLICTVERSION 
RPMTAG_DEFAULTPREFIX 
RPMTAG_BUILDROOT 
RPMTAG_INSTALLPREFIX 
RPMTAG_EXCLUDEARCH 
RPMTAG_EXCLUDEOS 
RPMTAG_EXCLUSIVEARCH 
RPMTAG_EXCLUSIVEOS 
RPMTAG_AUTOREQPROV 
RPMTAG_RPMVERSION 
RPMTAG_TRIGGERSCRIPTS 
RPMTAG_TRIGGERNAME 
RPMTAG_TRIGGERVERSION 
RPMTAG_TRIGGERFLAGS 
RPMTAG_TRIGGERINDEX 
RPMTAG_VERIFYSCRIPT 
RPMTAG_CHANGELOGTIME 
RPMTAG_CHANGELOGNAME 
RPMTAG_CHANGELOGTEXT 
RPMTAG_BROKENMD5 
RPMTAG_PREREQ 
RPMTAG_PREINPROG 
RPMTAG_POSTINPROG 
RPMTAG_PREUNPROG 
RPMTAG_POSTUNPROG 
RPMTAG_BUILDARCHS 
RPMTAG_OBSOLETENAME 
RPMTAG_VERIFYSCRIPTPROG 
RPMTAG_TRIGGERSCRIPTPROG 
RPMTAG_DOCDIR 
RPMTAG_COOKIE 
RPMTAG_FILEDEVICES 
RPMTAG_FILEINODES 
RPMTAG_FILELANGS 
RPMTAG_PREFIXES 
RPMTAG_INSTPREFIXES 
RPMTAG_TRIGGERIN 
RPMTAG_TRIGGERUN 
RPMTAG_TRIGGERPOSTUN 
RPMTAG_AUTOREQ 
RPMTAG_AUTOPROV 
RPMTAG_CAPABILITY 
RPMTAG_SOURCEPACKAGE 
RPMTAG_OLDORIGFILENAMES 
RPMTAG_BUILDPREREQ 
RPMTAG_BUILDREQUIRES 
RPMTAG_BUILDCONFLICTS 
RPMTAG_BUILDMACROS 
RPMTAG_PROVIDEFLAGS 
RPMTAG_PROVIDEVERSION 
RPMTAG_OBSOLETEFLAGS 
RPMTAG_OBSOLETEVERSION 
RPMTAG_DIRINDEXES 
RPMTAG_BASENAMES 
RPMTAG_DIRNAMES 
RPMTAG_ORIGDIRINDEXES 
RPMTAG_ORIGBASENAMES 
RPMTAG_ORIGDIRNAMES 
RPMTAG_OPTFLAGS 
RPMTAG_DISTURL 
RPMTAG_PAYLOADFORMAT 
RPMTAG_PAYLOADCOMPRESSOR 
RPMTAG_PAYLOADFLAGS 
RPMTAG_INSTALLCOLOR 
RPMTAG_INSTALLTID 
RPMTAG_REMOVETID 
RPMTAG_SHA1RHN 
RPMTAG_RHNPLATFORM 
RPMTAG_PLATFORM 
RPMTAG_PATCHESNAME 
RPMTAG_PATCHESFLAGS 
RPMTAG_PATCHESVERSION 
RPMTAG_CACHECTIME 
RPMTAG_CACHEPKGPATH 
RPMTAG_CACHEPKGSIZE 
RPMTAG_CACHEPKGMTIME 
RPMTAG_FILECOLORS 
RPMTAG_FILECLASS 
RPMTAG_CLASSDICT 
RPMTAG_FILEDEPENDSX 
RPMTAG_FILEDEPENDSN 
RPMTAG_DEPENDSDICT 
RPMTAG_SOURCEPKGID 
RPMTAG_FILECONTEXTS 
RPMTAG_FSCONTEXTS 
RPMTAG_RECONTEXTS 
RPMTAG_POLICIES 
RPMTAG_PRETRANS 
RPMTAG_POSTTRANS 
RPMTAG_PRETRANSPROG 
RPMTAG_POSTTRANSPROG 
RPMTAG_DISTTAG 
RPMTAG_SUGGESTSNAME 
RPMTAG_SUGGESTSVERSION 
RPMTAG_SUGGESTSFLAGS 
RPMTAG_ENHANCESNAME 
RPMTAG_ENHANCESVERSION 
RPMTAG_ENHANCESFLAGS 
RPMTAG_PRIORITY 
RPMTAG_CVSID 
RPMTAG_BLINKPKGID 
RPMTAG_BLINKHDRID 
RPMTAG_BLINKNEVRA 
RPMTAG_FLINKPKGID 
RPMTAG_FLINKHDRID 
RPMTAG_FLINKNEVRA 
RPMTAG_PACKAGEORIGIN 
RPMTAG_TRIGGERPREIN 
RPMTAG_BUILDSUGGESTS 
RPMTAG_BUILDENHANCES 
RPMTAG_SCRIPTSTATES 
RPMTAG_SCRIPTMETRICS 
RPMTAG_BUILDCPUCLOCK 
RPMTAG_FILEDIGESTALGOS 
RPMTAG_VARIANTS 
RPMTAG_XMAJOR 
RPMTAG_XMINOR 
RPMTAG_REPOTAG 
RPMTAG_KEYWORDS 
RPMTAG_BUILDPLATFORMS 
RPMTAG_PACKAGECOLOR 
RPMTAG_PACKAGEPREFCOLOR 
RPMTAG_XATTRSDICT 
RPMTAG_FILEXATTRSX 
RPMTAG_DEPATTRSDICT 
RPMTAG_CONFLICTATTRSX 
RPMTAG_OBSOLETEATTRSX 
RPMTAG_PROVIDEATTRSX 
RPMTAG_REQUIREATTRSX 
RPMTAG_BUILDPROVIDES 
RPMTAG_BUILDOBSOLETES 
RPMTAG_DBINSTANCE 
RPMTAG_NVRA 
RPMTAG_FILENAMES 
RPMTAG_FILEPROVIDE 
RPMTAG_FILEREQUIRE 
RPMTAG_FSNAMES 
RPMTAG_FSSIZES 
RPMTAG_TRIGGERCONDS 
RPMTAG_TRIGGERTYPE 
RPMTAG_ORIGFILENAMES 
RPMTAG_LONGFILESIZES 
RPMTAG_LONGSIZE 
RPMTAG_FILECAPS 
RPMTAG_FILEDIGESTALGO 
RPMTAG_BUGURL 
RPMTAG_EVR 
RPMTAG_NVR 
RPMTAG_NEVR 
RPMTAG_NEVRA 
RPMTAG_HEADERCOLOR 
RPMTAG_VERBOSE 
RPMTAG_EPOCHNUM 
RPMTAG_ORDERNAME 
RPMTAG_ORDERVERSION 
RPMTAG_ORDERFLAGS 
RPMTAG_FIRSTFREE_TAG 

internal

Definition at line 40 of file rpmtag.h.

◆ rpmTagClass_e

The classes of data in tags from headers.

Enumerator
RPM_NULL_CLASS 
RPM_NUMERIC_CLASS 
RPM_STRING_CLASS 
RPM_BINARY_CLASS 

Definition at line 350 of file rpmtag.h.

◆ rpmTagReturnType_e

  • Identify how to return the header data type.
Enumerator
RPM_ANY_RETURN_TYPE 
RPM_SCALAR_RETURN_TYPE 
RPM_ARRAY_RETURN_TYPE 
RPM_MAPPING_RETURN_TYPE 
RPM_MASK_RETURN_TYPE 

Definition at line 378 of file rpmtag.h.

◆ rpmTagType_e

The basic types of data in tags from headers.

Enumerator
RPM_NULL_TYPE 
RPM_CHAR_TYPE 
RPM_INT8_TYPE 
RPM_INT16_TYPE 
RPM_INT32_TYPE 
RPM_INT64_TYPE 
RPM_STRING_TYPE 
RPM_BIN_TYPE 
RPM_STRING_ARRAY_TYPE 
RPM_I18NSTRING_TYPE 

Definition at line 330 of file rpmtag.h.

Function Documentation

◆ rpmTagGetClass()

rpmTagClass rpmTagGetClass ( rpmTag  tag)

Return tag data class from value.

Parameters
tagtag value
Returns
tag data class, RPM_NULL_CLASS on not found.

◆ rpmTagGetName()

const char* rpmTagGetName ( rpmTag  tag)

Return tag name from value.

Parameters
tagtag value
Returns
tag name, "(unknown)" on not found

◆ rpmTagGetNames()

int rpmTagGetNames ( rpmtd  tagnames,
int  fullname 
)

Return known rpm tag names, sorted by name.

Return values
tagnamestag container of string array type
Parameters
fullnamereturn short or full name
Returns
number of tag names, 0 on error

◆ rpmTagGetType()

rpmTagType rpmTagGetType ( rpmTag  tag)

Return tag data type from value.

Parameters
tagtag value
Returns
tag data type, RPM_NULL_TYPE on not found.

◆ rpmTagGetValue()

rpmTag rpmTagGetValue ( const char *  tagstr)

Return tag value from name.

Parameters
tagstrname of tag
Returns
tag value, -1 on not found

◆ rpmTagTypeGetClass()

rpmTagClass rpmTagTypeGetClass ( rpmTagType  type)

Return data class of type.

Parameters
typetag type
Returns
data class, RPM_NULL_CLASS on unknown.