# lib/rpmlib.h File Reference

`#include "rpmio.h"`
`#include "rpmmessages.h"`
`#include "rpmerr.h"`
`#include "header.h"`
`#include "popt.h"`

Go to the source code of this file.

## Data Structures

struct | rpmProblem_s
struct | rpmProblemSet_s
struct | rpmDependencyConflict_s
| Dependency problems found by rpmdepCheck(). More...
struct | rpmRelocation_s
| We pass these around as an array with a sentinel. More...
struct | rpmlead
| The lead data structure. More...

## RPMRC

#define | RPMVAR_OPTFLAGS 3
#define | RPMVAR_PROVIDES 38
#define | RPMVAR_INCLUDE 43
#define | RPMVAR_MACROFILES 49
#define | RPMVAR_NUM 55
#define | RPM_MACHTABLE_COUNT 4
enum | rpm_machtable_e { RPM_MACHTABLE_INSTARCH = 0, RPM_MACHTABLE_INSTOS = 1, RPM_MACHTABLE_BUILDARCH = 2, RPM_MACHTABLE_BUILDOS = 3 }
| Build and install arch/os table identifiers. More...
const char * | rpmGetVar (int var)
| Return value of an rpmrc variable.
void | rpmSetVar (int var, const char *val)
| Set value of an rpmrc variable.
int | rpmReadConfigFiles (const char *file, const char *target)
| Read macro configuration file(s) for a target.
void | rpmGetArchInfo (const char **name, int *num)
| Return current arch name and/or number.
void | rpmGetOsInfo (const char **name, int *num)
| Return current os name and/or number.
int | rpmMachineScore (int type, const char *name)
| Return arch/os score of a name.
int | rpmShowRC (FILE *fp)
| Display current rpmrc (and macro) configuration.
void | rpmSetTables (int archTable, int osTable)
void | rpmSetMachine (const char *arch, const char *os)
| Set current arch/os names.
void | rpmGetMachine (const char **arch, const char **os)
| Return current arch/os names.
void | rpmFreeRpmrc (void)
| Destroy rpmrc arch/os compatibility tables.
const char * | macrofiles
| List of macro files to read when configuring rpm.

## RPMTS

#define | XFA_SKIPPING(_a) ((_a) == FA_SKIP || (_a) == FA_SKIPNSTATE || (_a) == FA_SKIPNETSHARED || (_a) == FA_SKIPMULTILIB)
#define | _noTransScripts
#define | _noTransTriggers
typedef void *(* | HFD_t )(const void *data, rpmTagType type)
| Prototype for headerFreeData() vector.
typedef int(* | HGE_t )(Header h, rpmTag tag, rpmTagType *type, void **p, int_32 *c)
| Prototype for headerGetEntry() vector.
typedef int(* | HAE_t )(Header h, rpmTag tag, rpmTagType type, const void *p, int_32 c)
| Prototype for headerAddEntry() vector.
typedef int(* | HME_t )(Header h, rpmTag tag, rpmTagType type, const void *p, int_32 c)
| Prototype for headerModifyEntry() vector.
typedef int(* | HRE_t )(Header h, int_32 tag)
| Prototype for headerRemoveEntry() vector.
typedef rpmRelocation_s | rpmRelocation
| We pass these around as an array with a sentinel.
typedef enum fileAction_e | fileAction
| File disposition(s) during package install/erase transaction.
typedef enum fileTypes_e | fileTypes
| File types.
typedef fsmIterator_s * | FSMI_t
| Iterator across package file info, forward on install, backward on erase.
typedef fsm_s * | FSM_t
| File state machine data.
typedef psm_s * | PSM_t
| Package state machine data.
typedef transactionFileInfo_s * | TFI_t
typedef rpmTransactionSet_s * | rpmTransactionSet
| The RPM Transaction Set.
typedef enum rpmtransFlags_e | rpmtransFlags
| Bit(s) to control rpmRunTransactions() operation.
typedef enum rpmprobFilterFlags_e | rpmprobFilterFlags
enum | fileAction_e { FA_UNKNOWN = 0, FA_CREATE, FA_COPYIN, FA_COPYOUT, FA_BACKUP, FA_SAVE, FA_SKIP, FA_ALTNAME, FA_ERASE, FA_SKIPNSTATE, FA_SKIPNETSHARED, FA_SKIPMULTILIB }
| File disposition(s) during package install/erase transaction. More...
enum | fileTypes_e { PIPE = 1, CDEV = 2, XDIR = 4, BDEV = 6, REG = 8, LINK = 10, SOCK = 12 }
| File types. More...

enum

rpmtransFlags_e {
RPMTRANS_FLAG_NONE = 0, RPMTRANS_FLAG_TEST = (1 << 0), RPMTRANS_FLAG_BUILD_PROBS = (1 << 1), RPMTRANS_FLAG_NOSCRIPTS = (1 << 2),
RPMTRANS_FLAG_JUSTDB = (1 << 3), RPMTRANS_FLAG_NOTRIGGERS = (1 << 4), RPMTRANS_FLAG_NODOCS = (1 << 5), RPMTRANS_FLAG_ALLFILES = (1 << 6),
RPMTRANS_FLAG_KEEPOBSOLETE = (1 << 7), RPMTRANS_FLAG_MULTILIB = (1 << 8), RPMTRANS_FLAG_DIRSTASH = (1 << 9), RPMTRANS_FLAG_REPACKAGE = (1 << 10),
RPMTRANS_FLAG_PKGCOMMIT = (1 << 11), RPMTRANS_FLAG_PKGUNDO = (1 << 12), RPMTRANS_FLAG_COMMIT = (1 << 13), RPMTRANS_FLAG_UNDO = (1 << 14),
RPMTRANS_FLAG_REVERSE = (1 << 15), RPMTRANS_FLAG_NOTRIGGERPREIN = (1 << 16), RPMTRANS_FLAG_NOPRE = (1 << 17), RPMTRANS_FLAG_NOPOST = (1 << 18),
RPMTRANS_FLAG_NOTRIGGERIN = (1 << 19), RPMTRANS_FLAG_NOTRIGGERUN = (1 << 20), RPMTRANS_FLAG_NOPREUN = (1 << 21), RPMTRANS_FLAG_NOPOSTUN = (1 << 22),
RPMTRANS_FLAG_NOTRIGGERPOSTUN = (1 << 23), RPMTRANS_FLAG_NOPAYLOAD = (1 << 24), RPMTRANS_FLAG_APPLYONLY = (1 << 25), RPMTRANS_FLAG_CHAINSAW = (1 << 26),
RPMTRANS_FLAG_NOMD5 = (1 << 27)
}

| Bit(s) to control rpmRunTransactions() operation. More...

enum

rpmprobFilterFlags_e {
RPMPROB_FILTER_NONE = 0, RPMPROB_FILTER_IGNOREOS = (1 << 0), RPMPROB_FILTER_IGNOREARCH = (1 << 1), RPMPROB_FILTER_REPLACEPKG = (1 << 2),
RPMPROB_FILTER_FORCERELOCATE = (1 << 3), RPMPROB_FILTER_REPLACENEWFILES = (1 << 4), RPMPROB_FILTER_REPLACEOLDFILES = (1 << 5), RPMPROB_FILTER_OLDPACKAGE = (1 << 6),
RPMPROB_FILTER_DISKSPACE = (1 << 7), RPMPROB_FILTER_DISKNODES = (1 << 8)
}

rpmRC | rpmInstallSourcePackage (const char *rootDir, FD_t fd, const char **specFilePtr, rpmCallbackFunction notify, rpmCallbackData notifyData, char **cookie)
| Install source package.
int | rpmVersionCompare (Header first, Header second)
| Compare headers to determine which header is "newer".
rpmTransactionSet | rpmtransCreateSet (rpmdb rpmdb, const char *rootDir)
| Create an empty transaction set.
int | rpmtransAddPackage (rpmTransactionSet ts, Header h, FD_t fd, const void *key, int upgrade, rpmRelocation *relocs)
| Add package to be installed to unordered transaction set.
void | rpmtransAvailablePackage (rpmTransactionSet ts, Header h, const void *key)
| Add package to universe of possible packages to install in transaction set.
int | rpmtransRemovePackage (rpmTransactionSet ts, int dboffset)
| Add package to be removed to unordered transaction set.
rpmTransactionSet | rpmtransFree (rpmTransactionSet ts)
| Destroy transaction set.
void | rpmtransSetScriptFd (rpmTransactionSet ts, FD_t fd)
| Save file handle to be used as stderr when running package scripts.
int | rpmtransGetKeys (const rpmTransactionSet ts, const void ***ep, int *nep)
| Retrieve keys from ordered transaction set.
int | rpmdepCheck (rpmTransactionSet ts, rpmDependencyConflict *conflicts, int *numConflicts)
| Check that all dependencies can be resolved.
int | rpmdepOrder (rpmTransactionSet ts)
| Determine package order in a transaction set according to dependencies.
rpmDependencyConflict | rpmdepFreeConflicts (rpmDependencyConflict conflicts, int numConflicts)
| Destroy dependency conflicts storage.
int | rpmGetRpmlibProvides (const char ***provNames, int **provFlags, const char ***provVersions)
| Return copy of rpmlib internal provides.
int | rpmvercmp (const char *a, const char *b)
| Segmented string compare for version and/or release.
int | rpmRangesOverlap (const char *AName, const char *AEVR, int AFlags, const char *BName, const char *BEVR, int BFlags)
| Compare two versioned dependency ranges, looking for overlap.
int | rpmCheckRpmlibProvides (const char *keyName, const char *keyEVR, int keyFlags)
| Check dependency against internal rpmlib feature provides.
void | rpmShowRpmlibProvides (FILE *fp)
| Display current rpmlib feature provides.
int | rpmRunTransactions (rpmTransactionSet ts, rpmCallbackFunction notify, rpmCallbackData notifyData, rpmProblemSet okProbs, rpmProblemSet *newProbs, rpmtransFlags transFlags, rpmprobFilterFlags ignoreSet)
| Process all packages in transaction set.

## RPMQV

#define | RPMVERIFY_ALL ~(RPMVERIFY_NONE)
typedef rpmQVArguments_s * | QVA_t
typedef enum rpmQVSources_e | rpmQVSources
| The command line argument will be used to retrieve header(s) .
typedef enum rpmVerifyAttrs_e | rpmVerifyAttrs
| Bit(s) for rpmVerifyFile() attributes and result.
enum | rpmQVSources_e { RPMQV_PACKAGE = 0, RPMQV_PATH, RPMQV_ALL, RPMQV_RPM, RPMQV_GROUP, RPMQV_WHATPROVIDES, RPMQV_WHATREQUIRES, RPMQV_TRIGGEREDBY, RPMQV_DBOFFSET, RPMQV_SPECFILE, RPMQV_PKGID, RPMQV_HDRID, RPMQV_FILEID, RPMQV_TID }
| The command line argument will be used to retrieve header(s) . More...
enum | rpmVerifyAttrs_e { RPMVERIFY_NONE = 0, RPMVERIFY_MD5 = (1 << 0), RPMVERIFY_FILESIZE = (1 << 1), RPMVERIFY_LINKTO = (1 << 2), RPMVERIFY_USER = (1 << 3), RPMVERIFY_GROUP = (1 << 4), RPMVERIFY_MTIME = (1 << 5), RPMVERIFY_MODE = (1 << 6), RPMVERIFY_RDEV = (1 << 7), RPMVERIFY_READLINKFAIL = (1 << 28), RPMVERIFY_READFAIL = (1 << 29), RPMVERIFY_LSTATFAIL = (1 << 30) }
| Bit(s) for rpmVerifyFile() attributes and result. More...
int | rpmVerifyFile (const char *root, Header h, int filenum, rpmVerifyAttrs *result, rpmVerifyAttrs omitMask)
| Verify file attributes (including MD5 sum).
int | rpmVerifyScript (const char *rootDir, Header h, FD_t scriptFd)
| Return exit code from running verify script from header.

## RPMDB

typedef rpmdb_s * | rpmdb
typedef _dbiIndexSet * | dbiIndexSet
typedef _rpmdbMatchIterator * | rpmdbMatchIterator
typedef enum rpmMireMode_e | rpmMireMode
| Tag value pattern match mode.
enum | rpmMireMode_e { RPMMIRE_DEFAULT = 0, RPMMIRE_STRCMP = 1, RPMMIRE_REGEX = 2, RPMMIRE_GLOB = 3 }
| Tag value pattern match mode. More...
int | rpmdbOpen (const char *prefix, rpmdb *dbp, int mode, int perms)
| Open rpm database.
int | rpmdbInit (const char *prefix, int perms)
| Initialize database.
int | rpmdbVerify (const char *prefix)
| Verify database components.
int | rpmdbClose (rpmdb db)
| Close all database indices and free rpmdb.
int | rpmdbSync (rpmdb db)
| Sync all database indices.
int | rpmdbOpenAll (rpmdb db)
| Open all database indices.
int | rpmdbCountPackages (rpmdb db, const char *name)
| Return number of instances of package in rpm database.
rpmdbMatchIterator | rpmdbFreeIterator (rpmdbMatchIterator mi)
| Destroy rpm database iterator.
rpmdb | rpmdbGetIteratorRpmDB (rpmdbMatchIterator mi)
| Return rpm database used by iterator.
unsigned int | rpmdbGetIteratorOffset (rpmdbMatchIterator mi)
| Return join key for current position of rpm database iterator.
int | rpmdbGetIteratorCount (rpmdbMatchIterator mi)
| Return number of elements in rpm database iterator.
int | rpmdbAppendIterator (rpmdbMatchIterator mi, const int *hdrNums, int nHdrNums)
| Append items to set of package instances to iterate.
int | rpmdbPruneIterator (rpmdbMatchIterator mi, int *hdrNums, int nHdrNums, int sorted)
| Remove items from set of package instances to iterate.
int | rpmdbSetIteratorRE (rpmdbMatchIterator mi, rpmTag tag, rpmMireMode mode, const char *pattern)
| Add pattern to iterator selector.
int | rpmdbSetIteratorVersion (rpmdbMatchIterator mi, const char *version)
| Modify iterator to filter out headers that do not match version.
int | rpmdbSetIteratorRelease (rpmdbMatchIterator mi, const char *release)
| Modify iterator to filter out headers that do not match release.
int | rpmdbSetIteratorRewrite (rpmdbMatchIterator mi, int rewrite)
| Prepare iterator for lazy writes.
int | rpmdbSetIteratorModified (rpmdbMatchIterator mi, int modified)
| Modify iterator to mark header for lazy write.
Header | rpmdbNextIterator (rpmdbMatchIterator mi)
| Return next package header from iteration.
Header | XrpmdbNextIterator (rpmdbMatchIterator mi, const char *f, unsigned int l)
rpmdbMatchIterator | rpmdbInitIterator (rpmdb db, int rpmtag, const void *keyp, size_t keylen)
| Return database iterator.
int | rpmdbAdd (rpmdb db, int iid, Header h)
| Add package header to rpm database and indices.
int | rpmdbRemove (rpmdb db, int rid, unsigned int hdrNum)
| Remove package header from rpm database and indices.
int | rpmdbRebuild (const char *prefix)
| Rebuild database indices from package headers.
int * | dbiTags
| Tags for which rpmdb indices will be built.
int | dbiTagsMax

## RPMPROBS

typedef enum rpmProblemType_e | rpmProblemType
| Enumerate transaction set problem types.
typedef rpmProblem_s * | rpmProblem
typedef rpmProblemSet_s * | rpmProblemSet
typedef rpmDependencyConflict_s * | rpmDependencyConflict
| Dependency problems found by rpmdepCheck().
enum | rpmProblemType_e { RPMPROB_BADARCH, RPMPROB_BADOS, RPMPROB_PKG_INSTALLED, RPMPROB_BADRELOCATE, RPMPROB_REQUIRES, RPMPROB_CONFLICT, RPMPROB_NEW_FILE_CONFLICT, RPMPROB_FILE_CONFLICT, RPMPROB_OLDPACKAGE, RPMPROB_DISKSPACE, RPMPROB_DISKNODES, RPMPROB_BADPRETRANS }
| Enumerate transaction set problem types. More...
void | printDepFlags (FILE *fp, const char *version, int flags)
void | printDepProblems (FILE *fp, const rpmDependencyConflict conflicts, int numConflicts)
| Print results of rpmdepCheck() dependency check.
const char * | rpmProblemString (const rpmProblem prob)
| Return formatted string representation of problem.
void | rpmProblemPrint (FILE *fp, rpmProblem prob)
| Output formatted string representation of problem to file handle.
void | rpmProblemSetPrint (FILE *fp, rpmProblemSet probs)
| Print problems to file handle.
void | rpmProblemSetFree (rpmProblemSet probs)
| Destroy problem set.

## RPMEIU

typedef enum rpmInstallInterfaceFlags_e | rpmInstallInterfaceFlags
| Bit(s) to control rpmInstall() operation.
typedef enum rpmEraseInterfaceFlags_e | rpmEraseInterfaceFlags
| Bit(s) to control rpmErase() operation.
enum | rpmInstallInterfaceFlags_e { INSTALL_NONE = 0, INSTALL_PERCENT = (1 << 0), INSTALL_HASH = (1 << 1), INSTALL_NODEPS = (1 << 2), INSTALL_NOORDER = (1 << 3), INSTALL_LABEL = (1 << 4), INSTALL_UPGRADE = (1 << 5), INSTALL_FRESHEN = (1 << 6), INSTALL_INSTALL = (1 << 7), INSTALL_ERASE = (1 << 8) }
| Bit(s) to control rpmInstall() operation. More...
enum | rpmEraseInterfaceFlags_e { UNINSTALL_NONE = 0, UNINSTALL_NODEPS = (1 << 0), UNINSTALL_ALLMATCHES = (1 << 1) }
| Bit(s) to control rpmErase() operation. More...

## RPMK

typedef enum rpmVerifySignatureReturn_e | rpmVerifySignatureReturn
| Return codes from verifySignature().
enum | rpmtagSignature { RPMSIGTAG_SIZE = 1000, RPMSIGTAG_LEMD5_1 = 1001, RPMSIGTAG_PGP = 1002, RPMSIGTAG_LEMD5_2 = 1003, RPMSIGTAG_MD5 = 1004, RPMSIGTAG_GPG = 1005, RPMSIGTAG_PGP5 = 1006 }
| Tags found in signature header from package. More...
enum | rpmVerifySignatureReturn_e { RPMSIG_OK = 0, RPMSIG_UNKNOWN = 1, RPMSIG_BAD = 2, RPMSIG_NOKEY = 3, RPMSIG_NOTTRUSTED = 4 }
| Return codes from verifySignature(). More...
rpmVerifySignatureReturn | rpmVerifySignature (const char *file, int_32 sigTag, const void *sig, int count, char *result)
| Verify a signature from a package.
Header | rpmFreeSignature (Header h)
| Destroy signature header from package.

## Defines

#define | RPMDBI_PACKAGES 0
| Pseudo-tags used by the rpmdb iterator API.
#define | RPMDBI_DEPENDS 1
#define | RPMDBI_LABEL 2
#define | RPMDBI_ADDED 3
#define | RPMDBI_REMOVED 4
#define | RPMDBI_AVAILABLE 5
#define | RPMTAG_SERIAL RPMTAG_EPOCH
#define | RPMTAG_COPYRIGHT RPMTAG_LICENSE
#define | RPMTAG_PROVIDES RPMTAG_PROVIDENAME
#define | RPMTAG_OBSOLETES RPMTAG_OBSOLETENAME
#define | RPMTAG_EXTERNAL_TAG 1000000
#define | RPMFILE_MULTILIB_SHIFT 9
#define | RPMFILE_MULTILIB(N) ((N) << RPMFILE_MULTILIB_SHIFT)
#define | RPMFILE_MULTILIB_MASK RPMFILE_MULTILIB(7)
#define | RPMFILE_ALL ~(RPMFILE_NONE)
#define | isFileMULTILIB(_fflags) ((_fflags) & RPMFILE_MULTILIB_MASK)
#define | RPMSENSE_SENSEMASK 15
#define | RPMSENSE_TRIGGER (RPMSENSE_TRIGGERIN | RPMSENSE_TRIGGERUN | RPMSENSE_TRIGGERPOSTUN)
#define | isDependsMULTILIB(_dflags) ((_dflags) & RPMSENSE_MULTILIB)
#define | _ALL_REQUIRES_MASK
#define | _notpre(_x) ((_x) & ~RPMSENSE_PREREQ)
#define | _INSTALL_ONLY_MASK _notpre(RPMSENSE_SCRIPT_PRE|RPMSENSE_SCRIPT_POST|RPMSENSE_RPMLIB|RPMSENSE_KEYRING)
#define | _ERASE_ONLY_MASK _notpre(RPMSENSE_SCRIPT_PREUN|RPMSENSE_SCRIPT_POSTUN)
#define | isLegacyPreReq(_x) (((_x) & _ALL_REQUIRES_MASK) == RPMSENSE_PREREQ)
#define | isInstallPreReq(_x) ((_x) & _INSTALL_ONLY_MASK)
#define | isErasePreReq(_x) ((_x) & _ERASE_ONLY_MASK)
#define | RPMLEAD_BINARY 0
#define | RPMLEAD_SOURCE 1
#define | RPMLEAD_MAGIC0 0xed
#define | RPMLEAD_MAGIC1 0xab
#define | RPMLEAD_MAGIC2 0xee
#define | RPMLEAD_MAGIC3 0xdb
#define | RPMLEAD_SIZE 96

## Typedefs

typedef enum rpmRC_e | rpmRC
| Package read return codes.
typedef enum rpmTag_e | rpmTag
| Tags identify data in package headers.
typedef enum rpmfileState_e | rpmfileState
| File States (when installed).
typedef enum rpmfileAttrs_e | rpmfileAttrs
| File Attributes.
typedef enum rpmsenseFlags_e | rpmsenseFlags
| Dependency Attributes.

## Enumerations

enum | rpmRC_e { RPMRC_OK = 0, RPMRC_BADMAGIC = 1, RPMRC_FAIL = 2, RPMRC_BADSIZE = 3, RPMRC_SHORTREAD = 4 }
| Package read return codes. More...

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_BADSHA1HEADER = RPMTAG_SIG_BASE+8, RPMTAG_SHA1HEADER = RPMTAG_SIG_BASE+9, 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_FILEMD5S = 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_MULTILIBS = 1127, RPMTAG_INSTALLTID = 1128, RPMTAG_REMOVETID = 1129,
RPMTAG_SHA1RHN = 1130, RPMTAG_RHNPLATFORM = 1131, RPMTAG_PLATFORM = 1132, RPMTAG_FIRSTFREE_TAG
}

| Tags identify data in package headers. More...
enum | rpmfileState_e { RPMFILE_STATE_NORMAL = 0, RPMFILE_STATE_REPLACED = 1, RPMFILE_STATE_NOTINSTALLED = 2, RPMFILE_STATE_NETSHARED = 3 }
| File States (when installed). More...
enum | rpmfileAttrs_e { RPMFILE_NONE = 0, RPMFILE_CONFIG = (1 << 0), RPMFILE_DOC = (1 << 1), RPMFILE_DONOTUSE = (1 << 2), RPMFILE_MISSINGOK = (1 << 3), RPMFILE_NOREPLACE = (1 << 4), RPMFILE_SPECFILE = (1 << 5), RPMFILE_GHOST = (1 << 6), RPMFILE_LICENSE = (1 << 7), RPMFILE_README = (1 << 8), RPMFILE_EXCLUDE = (1 << 9) }
| File Attributes. More...

enum

rpmsenseFlags_e {
RPMSENSE_ANY = 0, RPMSENSE_SERIAL = (1 << 0), RPMSENSE_LESS = (1 << 1), RPMSENSE_GREATER = (1 << 2),
RPMSENSE_EQUAL = (1 << 3), RPMSENSE_PROVIDES = (1 << 4), RPMSENSE_CONFLICTS = (1 << 5), RPMSENSE_PREREQ = (1 << 6),
RPMSENSE_OBSOLETES = (1 << 7), RPMSENSE_INTERP = (1 << 8), RPMSENSE_SCRIPT_PRE = ((1 << 9)|RPMSENSE_PREREQ), RPMSENSE_SCRIPT_POST = ((1 << 10)|RPMSENSE_PREREQ),
RPMSENSE_SCRIPT_PREUN = ((1 << 11)|RPMSENSE_PREREQ), RPMSENSE_SCRIPT_POSTUN = ((1 << 12)|RPMSENSE_PREREQ), RPMSENSE_SCRIPT_VERIFY = (1 << 13), RPMSENSE_FIND_REQUIRES = (1 << 14),
RPMSENSE_FIND_PROVIDES = (1 << 15), RPMSENSE_TRIGGERIN = (1 << 16), RPMSENSE_TRIGGERUN = (1 << 17), RPMSENSE_TRIGGERPOSTUN = (1 << 18),
RPMSENSE_MULTILIB = (1 << 19), RPMSENSE_SCRIPT_PREP = (1 << 20), RPMSENSE_SCRIPT_BUILD = (1 << 21), RPMSENSE_SCRIPT_INSTALL = (1 << 22),
RPMSENSE_SCRIPT_CLEAN = (1 << 23), RPMSENSE_RPMLIB = ((1 << 24) | RPMSENSE_PREREQ), RPMSENSE_TRIGGERPREIN = (1 << 25), RPMSENSE_KEYRING = (1 << 26)
}

| Dependency Attributes. More...

## Functions

static void * | _free (const void *p)
| Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
rpmRC | rpmReadPackageInfo (FD_t fd, Header *sigp, Header *hdrp)
| Return package signatures and header from file handle.
rpmRC | rpmReadPackageHeader (FD_t fd, Header *hdrp, int *isSource, int *major, int *minor)
| Return package header and lead info from file handle.
int | headerNVR (Header h, const char **np, const char **vp, const char **rp)
| Return name, version, release strings from header.
void | headerMergeLegacySigs (Header h, const Header sig)
| Translate and merge legacy signature tags into header.
Header | headerRegenSigHeader (const Header h)
| Regenerate signature header.
void | rpmBuildFileList (Header h, const char ***fileListPtr, int *fileCountPtr)
| Retrieve file names from header.
int | rpmHeaderGetEntry (Header h, int_32 tag, int_32 *type, void **p, int_32 *c)
| Retrieve tag info from header.
int | rpmPackageGetEntry (void *leadp, Header sigs, Header h, int_32 tag, int_32 *type, void **p, int_32 *c)
| Retrieve tag info from header.
const char *const | tagName (int tag)
| Return name of tag from value.
int | tagValue (const char *tagstr)
| Return value of tag from name.
void | freeFilesystems (void)
| Release storage used by file system usage cache.
int | rpmGetFilesystemList (const char ***listptr, int *num)
| Return (cached) file system mount points.
int | rpmGetFilesystemUsage (const char **fileList, int_32 *fssizes, int numFiles, uint_32 **usagesPtr, int flags)
| Determine per-file system usage for a list of files.

## Variables

MacroContext_s * | rpmGlobalMacroContext
MacroContext_s * | rpmCLIMacroContext
const char * | RPMVERSION
const char * | rpmNAME
const char * | rpmEVR
int | rpmFLAGS
const struct headerTagTableEntry_s | rpmTagTable []
| Automatically generated table of tag name/value pairs.
const int | rpmTagTableSize
| Number of entries in rpmTagTable.
const struct headerSprintfExtension_s | rpmHeaderFormats []
| Table of query format extensions.

## Detailed Description

Definition in file rpmlib.h.

## Define Documentation

#define _ALL_REQUIRES_MASK

Value:

    (\
        RPMSENSE_INTERP | \
        RPMSENSE_SCRIPT_PRE | \
        RPMSENSE_SCRIPT_POST | \
        RPMSENSE_SCRIPT_PREUN | \
        RPMSENSE_SCRIPT_POSTUN | \
        RPMSENSE_SCRIPT_VERIFY | \
        RPMSENSE_FIND_REQUIRES | \
        RPMSENSE_SCRIPT_PREP | \
        RPMSENSE_SCRIPT_BUILD | \
        RPMSENSE_SCRIPT_INSTALL | \
        RPMSENSE_SCRIPT_CLEAN | \
        RPMSENSE_RPMLIB | \
        RPMSENSE_KEYRING )

Definition at line 481 of file rpmlib.h.

Referenced by addReqProv().

#define _ERASE_ONLY_MASK _notpre(RPMSENSE_SCRIPT_PREUN|RPMSENSE_SCRIPT_POSTUN)

| Definition at line 499 of file rpmlib.h.

#define _INSTALL_ONLY_MASK _notpre(RPMSENSE_SCRIPT_PRE|RPMSENSE_SCRIPT_POST|RPMSENSE_RPMLIB|RPMSENSE_KEYRING)

| Definition at line 497 of file rpmlib.h.

#define _notpre | ( | _x |  | ) | ((_x) & ~RPMSENSE_PREREQ)

| Definition at line 496 of file rpmlib.h. Referenced by identifyDepend().

#define _noTransScripts

Value:

    ( RPMTRANS_FLAG_NOPRE | \
        RPMTRANS_FLAG_NOPOST |      \
        RPMTRANS_FLAG_NOPREUN |     \
        RPMTRANS_FLAG_NOPOSTUN      \
      )

Definition at line 1426 of file rpmlib.h.

Referenced by main(), and rpmRunTransactions().

#define _noTransTriggers

Value:

    ( RPMTRANS_FLAG_NOTRIGGERPREIN | \
        RPMTRANS_FLAG_NOTRIGGERIN | \
        RPMTRANS_FLAG_NOTRIGGERUN | \
        RPMTRANS_FLAG_NOTRIGGERPOSTUN \
      )

Definition at line 1433 of file rpmlib.h.

Referenced by main(), and rpmRunTransactions().

#define isDependsMULTILIB | ( | _dflags |  | ) | ((_dflags) & RPMSENSE_MULTILIB)

| Definition at line 479 of file rpmlib.h. Referenced by addReqProv(), alMakeIndex(), and checkPackageDeps().

#define isErasePreReq | ( | _x |  | ) | ((_x) & _ERASE_ONLY_MASK)

| Definition at line 504 of file rpmlib.h. Referenced by rpmdepOrder().

#define isFileMULTILIB | ( | _fflags |  | ) | ((_fflags) & RPMFILE_MULTILIB_MASK)

| Definition at line 429 of file rpmlib.h. Referenced by alAllFileSatisfiesDepend().

#define isInstallPreReq | ( | _x |  | ) | ((_x) & _INSTALL_ONLY_MASK)

| Definition at line 503 of file rpmlib.h. Referenced by rpmdbAdd(), and rpmdepOrder().

#define isLegacyPreReq | ( | _x |  | ) | (((_x) & _ALL_REQUIRES_MASK) == RPMSENSE_PREREQ)

| Definition at line 502 of file rpmlib.h. Referenced by identifyDepend(), and rpmdepOrder().

#define RPM_MACHTABLE_COUNT 4

| No. of arch/os tables. Definition at line 557 of file rpmlib.h. Referenced by doReadRC(), and rpmFreeRpmrc().

#define RPMDBI_ADDED 3

| Added package headers. Definition at line 207 of file rpmlib.h. Referenced by rpmdbAdd(), rpmdbMoveDatabase(), rpmdbRemove(), tagName(), and tagValue().

#define RPMDBI_AVAILABLE 5

| Available package headers. Definition at line 209 of file rpmlib.h. Referenced by rpmdbAdd(), rpmdbMoveDatabase(), rpmdbRemove(), tagName(), and tagValue().

#define RPMDBI_DEPENDS 1

| Dependency resolution cache. Definition at line 205 of file rpmlib.h. Referenced by rpmdbAdd(), rpmdbMoveDatabase(), rpmdbRemove(), tagName(), tagValue(), and unsatisfiedDepend().

#define RPMDBI_LABEL 2

| Fingerprint search marker. Definition at line 206 of file rpmlib.h. Referenced by rpmdbInitIterator(), rpmErase(), and rpmtransRemove().

#define RPMDBI_PACKAGES 0

Pseudo-tags used by the rpmdb iterator API.

Installed package headers.

Definition at line 204 of file rpmlib.h.

Referenced by addLostFiles(), db1basename(), db1cdel(), db1cget(), db1close(), db1cput(), db1open(), db1sync(), dbiDel(), dbiFindMatches(), dbiTagsInit(), handleInstInstalledFiles(), handleRmvdInstalledFiles(), main(), rpmdbAdd(), rpmdbFindByFile(), rpmdbFirst(), rpmdbFreeIterator(), rpmdbInitIterator(), rpmdbLength(), rpmdbNextIterator(), rpmdbRebuild(), rpmdbRemove(), rpmdbSubscript(), rpmQueryVerify(), tagName(), and tagValue().

#define RPMDBI_REMOVED 4

| Removed package headers. Definition at line 208 of file rpmlib.h. Referenced by rpmdbAdd(), rpmdbMoveDatabase(), rpmdbRemove(), tagName(), and tagValue().

#define RPMFILE_ALL ~(RPMFILE_NONE)

| Definition at line 426 of file rpmlib.h. Referenced by main().

#define RPMFILE_MULTILIB | ( | N |  | ) | ((N) << RPMFILE_MULTILIB_SHIFT)

| Definition at line 423 of file rpmlib.h. Referenced by processPackageFiles().

#define RPMFILE_MULTILIB_MASK RPMFILE_MULTILIB(7)

| Definition at line 424 of file rpmlib.h. Referenced by genCpioListAndHeader().

#define RPMFILE_MULTILIB_SHIFT 9

| Definition at line 422 of file rpmlib.h. Referenced by genCpioListAndHeader().

#define RPMLEAD_BINARY 0

| Definition at line 1555 of file rpmlib.h. Referenced by packageBinaries(), psmStage(), and writeRPM().

#define RPMLEAD_MAGIC0 0xed

| Definition at line 1558 of file rpmlib.h. Referenced by readPackageHeaders(), and writeLead().

#define RPMLEAD_MAGIC1 0xab

| Definition at line 1559 of file rpmlib.h. Referenced by readPackageHeaders(), and writeLead().

#define RPMLEAD_MAGIC2 0xee

| Definition at line 1560 of file rpmlib.h. Referenced by readPackageHeaders(), and writeLead().

#define RPMLEAD_MAGIC3 0xdb

| Definition at line 1561 of file rpmlib.h. Referenced by readPackageHeaders(), and writeLead().

#define RPMLEAD_SIZE 96

| Don't rely on sizeof(struct) Definition at line 1563 of file rpmlib.h.

#define RPMLEAD_SOURCE 1

| Definition at line 1556 of file rpmlib.h. Referenced by packageSources(), readPackageHeaders(), rewriteRPM(), rpmReadPackageHeader(), and writeRPM().

#define RPMSENSE_SENSEMASK 15

| Definition at line 473 of file rpmlib.h. Referenced by addReqProv(), headerMatchesDepFlags(), parseRCPOT(), printDepend(), rangeMatchesDepFlags(), rpmRangesOverlap(), triggercondsTag(), and unsatisfiedDepend().

#define RPMSENSE_TRIGGER (RPMSENSE_TRIGGERIN | RPMSENSE_TRIGGERUN | RPMSENSE_TRIGGERPOSTUN)

| Definition at line 476 of file rpmlib.h. Referenced by addReqProv().

#define RPMTAG_COPYRIGHT RPMTAG_LICENSE

#define RPMTAG_EXTERNAL_TAG 1000000

| Definition at line 390 of file rpmlib.h. Referenced by convertExistingAMD(), and main().

#define RPMTAG_OBSOLETES RPMTAG_OBSOLETENAME

#define RPMTAG_PROVIDES RPMTAG_PROVIDENAME

#define RPMTAG_SERIAL RPMTAG_EPOCH

#define RPMVAR_INCLUDE 43

| Definition at line 513 of file rpmlib.h. Referenced by doReadRC().

#define RPMVAR_MACROFILES 49

| Definition at line 514 of file rpmlib.h. Referenced by doReadRC().

#define RPMVAR_NUM 55

| Definition at line 516 of file rpmlib.h.

#define RPMVAR_OPTFLAGS 3

| Definition at line 511 of file rpmlib.h. Referenced by setDefaults().

#define RPMVAR_PROVIDES 38

| Definition at line 512 of file rpmlib.h. Referenced by doReadRC(), and unsatisfiedDepend().

#define RPMVERIFY_ALL ~(RPMVERIFY_NONE)

| Definition at line 1669 of file rpmlib.h. Referenced by processPackageFiles(), processSourceFiles(), and rpmVerifyFile().

#define XFA_SKIPPING | ( | _a |  | ) | ((_a) == FA_SKIP || (_a) == FA_SKIPNSTATE || (_a) == FA_SKIPNETSHARED || (_a) == FA_SKIPMULTILIB)

| Definition at line 1199 of file rpmlib.h. Referenced by dnlInitIterator(), fsmCommitLinks(), fsmMakeLinks(), handleInstInstalledFiles(), handleOverlappedFiles(), saveHardLink(), and skipFiles().

## Typedef Documentation

typedef enum fileAction_e fileAction

| File disposition(s) during package install/erase transaction.

typedef enum fileTypes_e fileTypes

| File types. These are the file types used internally by rpm. The file type is determined by applying stat(2) macros like S_ISDIR to the file mode tag from a header. The values are arbitrary, but are identical to the linux stat(2) file types.

typedef int(* HAE_t)(Header h, rpmTag tag, rpmTagType type, const void *p, int_32 c)

Prototype for headerAddEntry() vector.

Duplicate tags are okay, but only defined for iteration (with the exceptions noted below). While you are allowed to add i18n string arrays through this function, you probably don't mean to. See headerAddI18NString() instead.

Parameters:

  | h | header
  | tag | tag
  | type | tag value data type
  | p | pointer to tag value(s)
  | c | number of values

Returns:
  1 on success, 0 on failure

Definition at line 1114 of file rpmlib.h.

typedef void*(* HFD_t)(const void *data, rpmTagType type)

Prototype for headerFreeData() vector.

Parameters:

  | data | address of data (or NULL)
  | type | type of data (or -1 to force free)

Returns:
  NULL always

Definition at line 1078 of file rpmlib.h.

typedef int(* HGE_t)(Header h, rpmTag tag,rpmTagType *type,void **p,int_32 *c)

Prototype for headerGetEntry() vector.

Will never return RPM_I18NSTRING_TYPE! RPM_STRING_TYPE elements with RPM_I18NSTRING_TYPE equivalent entries are translated (if HEADER_I18NTABLE entry is present).

Parameters:

  | h | header
  | tag | tag

Return values:

  | type | address of tag value data type (or NULL)
  | p | address of pointer to tag value(s) (or NULL)
  | c | address of number of values (or NULL)

Returns:
  1 on success, 0 on failure

Definition at line 1094 of file rpmlib.h.

typedef int(* HME_t)(Header h, rpmTag tag, rpmTagType type, const void *p, int_32 c)

Prototype for headerModifyEntry() vector.

If there are multiple entries with this tag, the first one gets replaced.

Parameters:

  | h | header
  | tag | tag
  | type | tag value data type
  | p | pointer to tag value(s)
  | c | number of values

Returns:
  1 on success, 0 on failure

Definition at line 1128 of file rpmlib.h.

typedef int(* HRE_t)(Header h, int_32 tag)

Prototype for headerRemoveEntry() vector.

Delete tag in header. Removes all entries of type tag from the header, returns 1 if none were found.

Parameters:

  | h | header
  | tag | tag

Returns:
  0 on success, 1 on failure (INCONSISTENT)

Definition at line 1142 of file rpmlib.h.

typedef struct rpmDependencyConflict_s * rpmDependencyConflict

| Dependency problems found by rpmdepCheck().

typedef enum rpmfileAttrs_e rpmfileAttrs

| File Attributes.

typedef enum rpmfileState_e rpmfileState

| File States (when installed).

typedef enum rpmprobFilterFlags_e rpmprobFilterFlags

Todo:
  Generalize filter mechanism.

typedef struct rpmProblem_s * rpmProblem

typedef struct rpmProblemSet_s * rpmProblemSet

typedef enum rpmProblemType_e rpmProblemType

| Enumerate transaction set problem types.

typedef enum rpmRC_e rpmRC

| Package read return codes.

typedef struct rpmRelocation_s rpmRelocation

| We pass these around as an array with a sentinel.

typedef enum rpmsenseFlags_e rpmsenseFlags

| Dependency Attributes.

typedef enum rpmTag_e rpmTag

Tags identify data in package headers.

Note:
  tags should not have value 0!

typedef enum rpmVerifySignatureReturn_e rpmVerifySignatureReturn

| Return codes from verifySignature().

## Enumeration Type Documentation

enum fileAction_e

File disposition(s) during package install/erase transaction.

Enumerator:

  FA_UNKNOWN | initial action for file ...
  FA_CREATE | ... copy in from payload.
  FA_COPYIN | ... copy in from payload.
  FA_COPYOUT | ... copy out to payload.
  FA_BACKUP | ... renamed with ".rpmorig" extension.
  FA_SAVE | ... renamed with ".rpmsave" extension.
  FA_SKIP | ... already replaced, don't remove.
  FA_ALTNAME | ... create with ".rpmnew" extension.
  FA_ERASE | ... to be removed.
  FA_SKIPNSTATE | ... untouched, state "not installed".
  FA_SKIPNETSHARED | ... untouched, state "netshared".

  FA_SKIPMULTILIB

  ... untouched.
  Todo:
    state "multilib" ???.

Definition at line 1184 of file rpmlib.h.

enum fileTypes_e

File types.

These are the file types used internally by rpm. The file type is determined by applying stat(2) macros like S_ISDIR to the file mode tag from a header. The values are arbitrary, but are identical to the linux stat(2) file types.

Enumerator:

  PIPE | pipe/fifo
  CDEV | character device
  XDIR | directory
  BDEV | block device
  REG | regular file
  LINK | hard link
  SOCK | socket

Definition at line 1209 of file rpmlib.h.

enum rpmfileAttrs_e

File Attributes.

Enumerator:

  RPMFILE_NONE |
  RPMFILE_CONFIG | from %config
  RPMFILE_DOC | from %doc

  RPMFILE_DONOTUSE

  Todo:
    (unimplemented) from donotuse.

  RPMFILE_MISSINGOK | from %config(missingok)
  RPMFILE_NOREPLACE | from %config(noreplace)

  RPMFILE_SPECFILE

  Todo:
    (unnecessary) marks 1st file in srpm.

  RPMFILE_GHOST | from %ghost
  RPMFILE_LICENSE | from %license
  RPMFILE_README | from %readme
  RPMFILE_EXCLUDE | from %exclude

Definition at line 405 of file rpmlib.h.

enum rpmfileState_e

File States (when installed).

Enumerator:

  RPMFILE_STATE_NORMAL |
  RPMFILE_STATE_REPLACED |
  RPMFILE_STATE_NOTINSTALLED |
  RPMFILE_STATE_NETSHARED |

Definition at line 395 of file rpmlib.h.

enum rpmprobFilterFlags_e

Todo:
  Generalize filter mechanism.

Enumerator:

  RPMPROB_FILTER_NONE |
  RPMPROB_FILTER_IGNOREOS | from --ignoreos
  RPMPROB_FILTER_IGNOREARCH | from --ignorearch
  RPMPROB_FILTER_REPLACEPKG | from --replacepkgs
  RPMPROB_FILTER_FORCERELOCATE | from --badreloc
  RPMPROB_FILTER_REPLACENEWFILES | from --replacefiles
  RPMPROB_FILTER_REPLACEOLDFILES | from --replacefiles
  RPMPROB_FILTER_OLDPACKAGE | from --oldpackage
  RPMPROB_FILTER_DISKSPACE | from --ignoresize
  RPMPROB_FILTER_DISKNODES | from --ignoresize

Definition at line 1499 of file rpmlib.h.

enum rpmProblemType_e

Enumerate transaction set problem types.

Enumerator:

  RPMPROB_BADARCH | package ... is for a different architecture
  RPMPROB_BADOS | package ... is for a different operating system
  RPMPROB_PKG_INSTALLED | package ... is already installed
  RPMPROB_BADRELOCATE | path ... is not relocateable for package ...
  RPMPROB_REQUIRES | package ... has unsatisfied Requires: ...
  RPMPROB_CONFLICT | package ... has unsatisfied Conflicts: ...
  RPMPROB_NEW_FILE_CONFLICT | file ... conflicts between attemped installs of ...
  RPMPROB_FILE_CONFLICT | file ... from install of ... conflicts with file from package ...
  RPMPROB_OLDPACKAGE | package ... (which is newer than ...) is already installed
  RPMPROB_DISKSPACE | installing package ... needs ... on the ... filesystem
  RPMPROB_DISKNODES | installing package ... needs ... on the ... filesystem
  RPMPROB_BADPRETRANS | (unimplemented)

Definition at line 955 of file rpmlib.h.

enum rpmRC_e

Package read return codes.

Enumerator:

  RPMRC_OK |
  RPMRC_BADMAGIC |
  RPMRC_FAIL |
  RPMRC_BADSIZE |
  RPMRC_SHORTREAD |

Definition at line 17 of file rpmlib.h.

enum rpmsenseFlags_e

Dependency Attributes.

Enumerator:

  RPMSENSE_ANY |

  RPMSENSE_SERIAL

  Todo:
    Legacy.

  RPMSENSE_LESS |
  RPMSENSE_GREATER |
  RPMSENSE_EQUAL |
  RPMSENSE_PROVIDES |
  RPMSENSE_CONFLICTS |

  RPMSENSE_PREREQ

  Todo:
    Legacy.

  RPMSENSE_OBSOLETES |
  RPMSENSE_INTERP | Interpreter used by scriptlet.
  RPMSENSE_SCRIPT_PRE | pre dependency.
  RPMSENSE_SCRIPT_POST | post dependency.
  RPMSENSE_SCRIPT_PREUN | preun dependency.
  RPMSENSE_SCRIPT_POSTUN | postun dependency.
  RPMSENSE_SCRIPT_VERIFY | verify dependency.
  RPMSENSE_FIND_REQUIRES | find-requires generated dependency.
  RPMSENSE_FIND_PROVIDES | find-provides generated dependency.
  RPMSENSE_TRIGGERIN | triggerin dependency.
  RPMSENSE_TRIGGERUN | triggerun dependency.
  RPMSENSE_TRIGGERPOSTUN | triggerpostun dependency.
  RPMSENSE_MULTILIB |
  RPMSENSE_SCRIPT_PREP | prep build dependency.
  RPMSENSE_SCRIPT_BUILD | build build dependency.
  RPMSENSE_SCRIPT_INSTALL | install build dependency.
  RPMSENSE_SCRIPT_CLEAN | clean build dependency.
  RPMSENSE_RPMLIB | rpmlib(feature) dependency.

  RPMSENSE_TRIGGERPREIN

  Todo:
    Implement triggerprein.

  RPMSENSE_KEYRING |

Definition at line 434 of file rpmlib.h.

enum rpmTag_e

Tags identify data in package headers.

Note:
  tags should not have value 0!

Enumerator:

  RPMTAG_HEADERIMAGE | Current image.
  RPMTAG_HEADERSIGNATURES | Signatures.
  RPMTAG_HEADERIMMUTABLE | Original image.
  RPMTAG_HEADERREGIONS | Regions.
  RPMTAG_HEADERI18NTABLE | I18N string locales.
  RPMTAG_SIG_BASE |
  RPMTAG_SIGSIZE |
  RPMTAG_SIGLEMD5_1 | internal
  RPMTAG_SIGPGP |
  RPMTAG_SIGLEMD5_2 | internal
  RPMTAG_SIGMD5 |
  RPMTAG_SIGGPG |
  RPMTAG_SIGPGP5 | internal
  RPMTAG_BADSHA1HEADER | internal
  RPMTAG_SHA1HEADER |
  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 | internal
  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 | internal
  RPMTAG_FILEGIDS | internal
  RPMTAG_FILERDEVS |
  RPMTAG_FILEMTIMES |
  RPMTAG_FILEMD5S |
  RPMTAG_FILELINKTOS |
  RPMTAG_FILEFLAGS |
  RPMTAG_ROOT | internal - obsolete
  RPMTAG_FILEUSERNAME |
  RPMTAG_FILEGROUPNAME |
  RPMTAG_EXCLUDE | internal - obsolete
  RPMTAG_EXCLUSIVE | internal - obsolete
  RPMTAG_ICON |
  RPMTAG_SOURCERPM |
  RPMTAG_FILEVERIFYFLAGS |
  RPMTAG_ARCHIVESIZE |
  RPMTAG_PROVIDENAME |
  RPMTAG_REQUIREFLAGS |
  RPMTAG_REQUIRENAME |
  RPMTAG_REQUIREVERSION |
  RPMTAG_NOSOURCE | internal
  RPMTAG_NOPATCH | internal
  RPMTAG_CONFLICTFLAGS |
  RPMTAG_CONFLICTNAME |
  RPMTAG_CONFLICTVERSION |
  RPMTAG_DEFAULTPREFIX | internal - deprecated
  RPMTAG_BUILDROOT | internal
  RPMTAG_INSTALLPREFIX | internal - deprecated
  RPMTAG_EXCLUDEARCH |
  RPMTAG_EXCLUDEOS |
  RPMTAG_EXCLUSIVEARCH |
  RPMTAG_EXCLUSIVEOS |
  RPMTAG_AUTOREQPROV | internal
  RPMTAG_RPMVERSION |
  RPMTAG_TRIGGERSCRIPTS |
  RPMTAG_TRIGGERNAME |
  RPMTAG_TRIGGERVERSION |
  RPMTAG_TRIGGERFLAGS |
  RPMTAG_TRIGGERINDEX |
  RPMTAG_VERIFYSCRIPT |
  RPMTAG_CHANGELOGTIME |
  RPMTAG_CHANGELOGNAME |
  RPMTAG_CHANGELOGTEXT |
  RPMTAG_BROKENMD5 | internal
  RPMTAG_PREREQ | internal
  RPMTAG_PREINPROG |
  RPMTAG_POSTINPROG |
  RPMTAG_PREUNPROG |
  RPMTAG_POSTUNPROG |
  RPMTAG_BUILDARCHS |
  RPMTAG_OBSOLETENAME |
  RPMTAG_VERIFYSCRIPTPROG |
  RPMTAG_TRIGGERSCRIPTPROG |
  RPMTAG_DOCDIR | internal
  RPMTAG_COOKIE |
  RPMTAG_FILEDEVICES |
  RPMTAG_FILEINODES |
  RPMTAG_FILELANGS |
  RPMTAG_PREFIXES |
  RPMTAG_INSTPREFIXES |
  RPMTAG_TRIGGERIN | internal
  RPMTAG_TRIGGERUN | internal
  RPMTAG_TRIGGERPOSTUN | internal
  RPMTAG_AUTOREQ | internal
  RPMTAG_AUTOPROV | internal
  RPMTAG_CAPABILITY | internal - obsolete
  RPMTAG_SOURCEPACKAGE | internal
  RPMTAG_OLDORIGFILENAMES | internal - obsolete
  RPMTAG_BUILDPREREQ | internal
  RPMTAG_BUILDREQUIRES | internal
  RPMTAG_BUILDCONFLICTS | internal
  RPMTAG_BUILDMACROS | internal
  RPMTAG_PROVIDEFLAGS |
  RPMTAG_PROVIDEVERSION |
  RPMTAG_OBSOLETEFLAGS |
  RPMTAG_OBSOLETEVERSION |
  RPMTAG_DIRINDEXES |
  RPMTAG_BASENAMES |
  RPMTAG_DIRNAMES |
  RPMTAG_ORIGDIRINDEXES | internal
  RPMTAG_ORIGBASENAMES | internal
  RPMTAG_ORIGDIRNAMES | internal
  RPMTAG_OPTFLAGS |
  RPMTAG_DISTURL |
  RPMTAG_PAYLOADFORMAT |
  RPMTAG_PAYLOADCOMPRESSOR |
  RPMTAG_PAYLOADFLAGS |
  RPMTAG_MULTILIBS |
  RPMTAG_INSTALLTID |
  RPMTAG_REMOVETID |
  RPMTAG_SHA1RHN | internal
  RPMTAG_RHNPLATFORM |
  RPMTAG_PLATFORM |
  RPMTAG_FIRSTFREE_TAG | internal

Definition at line 215 of file rpmlib.h.

enum rpmVerifySignatureReturn_e

Return codes from verifySignature().

Enumerator:

  RPMSIG_OK | Signature is OK.
  RPMSIG_UNKNOWN | Signature is unknown.
  RPMSIG_BAD | Signature does not verify.
  RPMSIG_NOKEY | Key is unavailable.
  RPMSIG_NOTTRUSTED | Signature is OK, but key is not trusted.

Definition at line 1753 of file rpmlib.h.

## Function Documentation

static void* _free | ( | const void * | p | ) | `[inline, static]`

Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.

Parameters:

  | p | memory to free

Returns:
  NULL always

Definition at line 55 of file rpmlib.h.

void freeFilesystems | ( | void |  | ) |

| Release storage used by file system usage cache. Definition at line 26 of file fs.c. References _free(), filesystems, fsnames, fsinfo::mntPoint, and numFilesystems. Referenced by getFilesystemList(), and main().

void printDepFlags | ( | FILE * | fp,
|  | const char * | version,
|  | int | flags
| ) |

| Definition at line 19 of file problems.c. References RPMSENSE_EQUAL, RPMSENSE_GREATER, and RPMSENSE_LESS. Referenced by rpmShowRpmlibProvides().

void printDepProblems | ( | FILE * | fp,
|  | const rpmDependencyConflict | conflicts,
|  | int | numConflicts
| ) |

Print results of rpmdepCheck() dependency check.

Parameters:

  | fp | output file
  | conflicts | dependency problems
  | numConflicts | no. of dependency problems

Definition at line 61 of file problems.c.

References sameProblem().

Referenced by checkSpec(), and rpmRollback().

void rpmBuildFileList | ( | Header | h,
|  | const char *** | fileListPtr,
|  | int * | fileCountPtr
| ) |

Retrieve file names from header.

The representation of file names in package headers changed in rpm-4.0. Originally, file names were stored as an array of paths. In rpm-4.0, file names are stored as separate arrays of dirname's and basename's, with a dirname index to associate the correct dirname with each basname. This function is used to retrieve file names independent of how the file names are represented in the package header.

Parameters:

  | h | header

Return values:

  | fileListPtr | address of array of file names
  | fileCountPtr | address of number of files

Definition at line 459 of file misc.c.

References doBuildFileList(), RPMTAG_BASENAMES, RPMTAG_DIRINDEXES, and RPMTAG_DIRNAMES.

Referenced by filenamesTag(), fssizesTag(), mungeFilelist(), psmStage(), rpmHeaderGetEntry(), and verifyHeader().

int rpmGetFilesystemList | ( | const char *** | listptr,
|  | int * | num
| ) |

Return (cached) file system mount points.

Return values:

  | listptr | addess of file system names (or NULL)
  | num | address of number of file systems (or NULL)

Returns:
  0 on success, 1 on error

Definition at line 231 of file fs.c.

References fsnames, getFilesystemList(), and numFilesystems.

Referenced by fsnamesTag(), fssizesTag(), and rpmRunTransactions().

int rpmGetFilesystemUsage | ( | const char ** | fileList,
|  | int_32 * | fssizes,
|  | int | numFiles,
|  | uint_32 ** | usagesPtr,
|  | int | flags
| ) |

Determine per-file system usage for a list of files.

Parameters:

  | fileList | array of absolute file names
  | fssizes | array of file sizes
  | numFiles | number of files in list

Return values:

  | usagesPtr | address of per-file system usage array (or NULL)

Parameters:

  | flags | (unused)

Returns:
  0 on success, 1 on error

Definition at line 243 of file fs.c.

References dirName, fsnames, getFilesystemList(), numFilesystems, rpmGetPath(), and xcalloc().

Referenced by fssizesTag().

int rpmHeaderGetEntry | ( | Header | h,
|  | int_32 | tag,
|  | int_32 * | type,
|  | void ** | p,
|  | int_32 * | c
| ) |

Retrieve tag info from header.

This is a "dressed" entry to headerGetEntry to do: 1) DIRNAME/BASENAME/DIRINDICES -> FILENAMES tag conversions. 2) i18n lookaside (if enabled).

Parameters:

  | h | header
  | tag | tag

Return values:

  | type | address of tag value data type
  | p | address of pointer to tag value(s)
  | c | address of number of values

Returns:
  0 on success, 1 on bad magic, 2 on error

Definition at line 627 of file misc.c.

References headerGetEntry(), headerSprintf(), RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, rpmBuildFileList(), rpmHeaderFormats, RPMTAG_DESCRIPTION, RPMTAG_GROUP, RPMTAG_OLDFILENAMES, RPMTAG_SUMMARY, rpmTagTable, stpcpy(), and tagName().

Referenced by rpmPackageGetEntry().

rpmRC rpmInstallSourcePackage | ( | const char * | rootDir,
|  | FD_t | fd,
|  | const char ** | specFilePtr,
|  | rpmCallbackFunction | notify,
|  | rpmCallbackData | notifyData,
|  | char ** | cookie
| ) |

Install source package.

Parameters:

  | rootDir | path to top of install tree (or NULL)
  | fd | file handle

Return values:

  | specFilePtr | address of spec file name (or NULL)

Parameters:

  | notify | progress callback
  | notifyData | progress callback private data

Return values:

  | cooke | address of cookie pointer (or NULL)

Returns:
  rpmRC return code

Definition at line 612 of file psm.c.

References _, _free(), rpmTransactionSet_s::addedPackages, CPIO_MAP_GID, CPIO_MAP_MODE, CPIO_MAP_PATH, CPIO_MAP_UID, psm_s::fd, headerFree(), headerFreeData(), availableList_s::list, loadFi(), rpmTransactionSet_s::notify, rpmTransactionSet_s::notifyData, psm_s::rc, RPMERR_NOTSRPM, rpmError, rpmInstallLoadMacros(), RPMRC_FAIL, rpmReadPackageHeader(), RPMTAG_COOKIE, rpmtransAddPackage(), rpmtransCreateSet(), psm_s::ts, xcalloc(), and xstrdup().

Referenced by rpmInstallSource().

int rpmPackageGetEntry | ( | void * | leadp,
|  | Header | sigs,
|  | Header | h,
|  | int_32 | tag,
|  | int_32 * | type,
|  | void ** | p,
|  | int_32 * | c
| ) |

Retrieve tag info from header.

Yet Another "dressed" entry to headerGetEntry in order to unify signature/header tag retrieval.

Deprecated:
  Signature tags are now duplicated into header when installed.

Todo:
  Eliminate from API.

Parameters:

  | leadp | rpm lead
  | h | header
  | sigs | signatures
  | tag | tag

Return values:

  | type | address of tag value data type
  | p | address of pointer to tag value(s)
  | c | address of number of values

Returns:
  0 on success, 1 on bad magic, 2 on error

Definition at line 678 of file misc.c.

References headerGetEntry(), headerIsEntry(), rpmHeaderGetEntry(), RPMSIGTAG_GPG, RPMSIGTAG_LEMD5_1, RPMSIGTAG_LEMD5_2, RPMSIGTAG_MD5, RPMSIGTAG_PGP, RPMSIGTAG_SIZE, RPMTAG_SIGGPG, RPMTAG_SIGLEMD5_1, RPMTAG_SIGLEMD5_2, RPMTAG_SIGMD5, RPMTAG_SIGPGP, RPMTAG_SIGPGP5, and RPMTAG_SIGSIZE.

Referenced by hdrSubscript().

void rpmProblemPrint | ( | FILE * | fp,
|  | rpmProblem | prob
| ) |

Output formatted string representation of problem to file handle.

Deprecated:
  API: prob used to be passed by value, now passed by reference.

Parameters:

  | fp | file handle
  | prob | rpm problem

Definition at line 202 of file problems.c.

References _free(), and rpmProblemString().

Referenced by rpmProblemSetPrint().

void rpmProblemSetFree | ( | rpmProblemSet | probs | ) |

Destroy problem set.

Parameters:

  | probs | problem set

Definition at line 256 of file transaction.c.

References _free(), rpmProblem_s::h, headerFree(), rpmProblemSet_s::numProblems, and rpmProblemSet_s::probs.

Referenced by rpmRollback(), and rpmtransRun().

void rpmProblemSetPrint | ( | FILE * | fp,
|  | rpmProblemSet | probs
| ) |

Print problems to file handle.

Parameters:

  | fp | file handle
  | probs | problem set

Definition at line 209 of file problems.c.

References rpmProblemSet_s::numProblems, rpmProblemSet_s::probs, and rpmProblemPrint().

Referenced by rpmRollback().

const char* rpmProblemString | ( | const rpmProblem | prob | ) |

Return formatted string representation of problem.

Deprecated:
  API: prob used to be passed by value, now passed by reference.

Parameters:

  | prob | rpm problem

Returns:
  formatted string (malloc'd)

Definition at line 114 of file problems.c.

References _, rpmProblem_s::altNEVR, rpmProblem_s::pkgNEVR, RPMPROB_BADARCH, RPMPROB_BADOS, RPMPROB_BADPRETRANS, RPMPROB_BADRELOCATE, RPMPROB_CONFLICT, RPMPROB_DISKNODES, RPMPROB_DISKSPACE, RPMPROB_FILE_CONFLICT, RPMPROB_NEW_FILE_CONFLICT, RPMPROB_OLDPACKAGE, RPMPROB_PKG_INSTALLED, RPMPROB_REQUIRES, snprintf(), rpmProblem_s::str1, strerror(), rpmProblem_s::type, rpmProblem_s::ulong1, and xmalloc().

Referenced by rpmProblemPrint(), and rpmtransRun().

rpmRC rpmReadPackageHeader | ( | FD_t | fd,
|  | Header * | hdrp,
|  | int * | isSource,
|  | int * | major,
|  | int * | minor
| ) |

Return package header and lead info from file handle.

Parameters:

  | fd | file handle

Return values:

  | hdrp | address of header (or NULL)
  | isSource | address to return lead source flag (or NULL)
  | major | address to return lead major (or NULL)
  | minor | address to return lead minor (or NULL)

Returns:
  rpmRC return code

Definition at line 249 of file package.c.

References headerMergeLegacySigs(), rpmlead::major, rpmlead::minor, readPackageHeaders(), rpmFreeSignature(), RPMLEAD_SOURCE, RPMRC_OK, and rpmlead::type.

Referenced by IDTXglob(), main(), rpmInstallSourcePackage(), and rpmQueryVerify().

rpmRC rpmReadPackageInfo | ( | FD_t | fd,
|  | Header * | sigp,
|  | Header * | hdrp
| ) |

Return package signatures and header from file handle.

Deprecated:
  Signature tags are appended to header in rpm-4.0.2.

Todo:
  Eliminate.

Parameters:

  | fd | file handle

Return values:

  | sigp | address of signature header (or NULL)
  | hdrp | address of header (or NULL)

Returns:
  rpmRC return code

Definition at line 237 of file package.c.

References headerMergeLegacySigs(), readPackageHeaders(), and RPMRC_OK.

Referenced by readRPM(), and rpmHeaderFromPackage().

int rpmVerifyScript | ( | const char * | rootDir,
|  | Header | h,
|  | FD_t | scriptFd
| ) |

Return exit code from running verify script from header.

Todo:
  gnorpm/kpackage prevents static, should be using VERIFY_SCRIPT flag.

Parameters:

  | rootDir | path to top of install tree
  | h | header
  | scriptFd | file handle to use for stderr (or NULL)

Returns:
  0 on success

Definition at line 279 of file verify.c.

References _free(), fdLink, freeFi(), loadFi(), PSM_SCRIPT, psmStage(), psm_s::rc, RPMTAG_VERIFYSCRIPT, RPMTAG_VERIFYSCRIPTPROG, rpmtransCreateSet(), rpmtransFree(), rpmTransactionSet_s::scriptFd, TFIMAGIC, psm_s::ts, and xcalloc().

Referenced by showVerifyPackage().

int rpmVersionCompare | ( | Header | first,
|  | Header | second
| ) |

Compare headers to determine which header is "newer".

Parameters:

  | first | 1st header
  | second | 2nd header

Returns:
  result of comparison

Definition at line 36 of file psm.c.

References headerGetEntry(), RPMTAG_EPOCH, RPMTAG_RELEASE, RPMTAG_VERSION, and rpmvercmp().

Referenced by alAddPackage(), ensureOlder(), findUpgradePackages(), pkgCompareVer(), rpmtransAddPackage(), unmarkPackagesAlreadyInstalled(), and versionCompare().

const char* const tagName | ( | int | tag | ) |

Return name of tag from value.

Parameters:

  | tag | tag value

Returns:
  name of tag

Definition at line 10 of file tagName.c.

References name, RPMDBI_ADDED, RPMDBI_AVAILABLE, RPMDBI_DEPENDS, RPMDBI_PACKAGES, RPMDBI_REMOVED, rpmTagTable, rpmTagTableSize, and xtolower().

int tagValue | ( | const char * | tagstr | ) |

Return value of tag from name.

Parameters:

  | targstr | name of tag

Returns:
  tag value

Definition at line 53 of file tagName.c.

References headerTagTableEntry_s::name, RPMDBI_ADDED, RPMDBI_AVAILABLE, RPMDBI_DEPENDS, RPMDBI_PACKAGES, RPMDBI_REMOVED, rpmTagTable, headerTagTableEntry_s::val, and xstrcasecmp().

## Variable Documentation

struct MacroContext_s* rpmCLIMacroContext

| Definition at line 66 of file macro.c. Referenced by main().

const char* rpmEVR

| Definition at line 526 of file depends.c. Referenced by printVersion().

int rpmFLAGS

| Definition at line 527 of file depends.c.

struct MacroContext_s* rpmGlobalMacroContext

| Definition at line 61 of file macro.c. Referenced by addMacro(), delMacro(), expandMacros(), findEntry(), newSpec(), rpmDefineMacro(), rpmDumpMacroTable(), rpmFreeMacros(), rpmInitMacros(), and rpmLoadMacros().

const struct headerSprintfExtension_s rpmHeaderFormats[]

Table of query format extensions.

Note:
  Chains to headerDefaultFormats[].

Definition at line 719 of file formats.c.

Referenced by hdrSprintf(), hdrSubscript(), initrpm(), packageBinaries(), psmStage(), queryHeader(), rpmDisplayQueryTags(), rpmHeaderGetEntry(), and rpmShowProgress().

const char* rpmNAME

| Definition at line 525 of file depends.c.

const struct headerTagTableEntry_s rpmTagTable[]

| Automatically generated table of tag name/value pairs. Definition at line 4 of file tagtable.c. Referenced by getTagString(), getTagVal(), hdrSprintf(), initrpm(), main(), packageBinaries(), psmStage(), queryHeader(), rpmDisplayQueryTags(), rpmHeaderGetEntry(), rpmShowProgress(), tagName(), tagNumFromPyObject(), and tagValue().

const int rpmTagTableSize

| Number of entries in rpmTagTable. Definition at line 115 of file tagtable.c. Referenced by initrpm(), rpmDisplayQueryTags(), tagName(), and tagNumFromPyObject().

const char* RPMVERSION

| Definition at line 10 of file misc.c. Referenced by armorFormat().