Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

lib/rpmlib.h File Reference

More...

#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  rpmBuildArguments
struct  rpmDependencyConflict
struct  rpmlead
struct  rpmProblem_s
struct  rpmProblemSet_s
struct  rpmQVArguments
struct  rpmRelocation_s

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 }
const char* rpmGetVar (int var)
void rpmSetVar (int var, const char *val)
int rpmReadConfigFiles (const char *file, const char *target)
int rpmReadRC (const char *file)
void rpmGetArchInfo (const char **name, int *num)
void rpmGetOsInfo (const char **name, int *num)
int rpmMachineScore (int type, const char *name)
int rpmShowRC (FILE *f)
void rpmSetTables (int archTable, int osTable)
void rpmSetMachine (const char *arch, const char *os)
void rpmGetMachine (const char **arch, const char **os)
void rpmFreeRpmrc (void)
const char* macrofiles = MACROFILES

RPMDB

#define rpmdbNextIterator(_a)
typedef struct rpmdb_srpmdb
typedef struct _dbiIndexSetdbiIndexSet
typedef struct _rpmdbMatchIteratorrpmdbMatchIterator
int rpmdbOpen (const char *root, rpmdb *dbp, int mode, int perms)
int rpmdbInit (const char *root, int perms)
int rpmdbClose (rpmdb rpmdb)
int rpmdbSync (rpmdb rpmdb)
int rpmdbOpenAll (rpmdb rpmdb)
int rpmdbCountPackages (rpmdb db, const char *name)
void rpmdbFreeIterator (rpmdbMatchIterator mi)
rpmdb rpmdbGetIteratorRpmDB (rpmdbMatchIterator mi)
unsigned int rpmdbGetIteratorOffset (rpmdbMatchIterator mi)
int rpmdbGetIteratorCount (rpmdbMatchIterator mi)
int rpmdbAppendIterator (rpmdbMatchIterator mi, const int *hdrNums, int nHdrNums)
int rpmdbPruneIterator (rpmdbMatchIterator mi, int *hdrNums, int nHdrNums, int sorted)
void rpmdbSetIteratorVersion (rpmdbMatchIterator mi, const char *version)
void rpmdbSetIteratorRelease (rpmdbMatchIterator mi, const char *release)
int rpmdbSetIteratorModified (rpmdbMatchIterator mi, int modified)
Header rpmdbNextIterator (rpmdbMatchIterator mi)
Header XrpmdbNextIterator (rpmdbMatchIterator mi, const char *f, unsigned int l)
rpmdbMatchIterator rpmdbInitIterator (rpmdb rpmdb, int rpmtag, const void *key, size_t keylen)
int rpmdbAdd (rpmdb rpmdb, int iid, Header h)
int rpmdbRemove (rpmdb db, int rid, unsigned int offset)
int rpmdbRebuild (const char *root)

RPMTS

#define XFA_SKIPPING(_a)
#define _noTransScripts
#define _noTransTriggers
typedef void* (* HFD_t )(const void *data, rpmTagType type)
 Prototype for headerFreeData() vector.

typedef int (* HGE_t )(Header h, int_32 tag, int_32 *type, void **p, int_32 *c)
 Prototype for headerGetEntry() vector.

typedef struct rpmRelocation_s  rpmRelocation
typedef enum fileAction_e  fileAction
 File disposition(s) during package install/erase transaction.

typedef enum fileTypes_e  fileTypes
 File types. More...

typedef struct fsmIterator_sFSMI_t
typedef struct fsm_sFSM_t
typedef struct psm_sPSM_t
typedef struct transactionFileInfo_sTFI_t
typedef struct rpmTransactionSet_srpmTransactionSet
typedef enum rpmtransFlags_e  rpmtransFlags
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)
}
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 *root, FD_t fd, const char **specFile, rpmCallbackFunction notify, rpmCallbackData notifyData, char **cookie)
 Install source package. More...

int rpmVersionCompare (Header first, Header second)
 Compare headers to determine which header is "newer". More...

rpmTransactionSet rpmtransCreateSet (rpmdb rpmdb, const char *rootdir)
int rpmtransAddPackage (rpmTransactionSet ts, Header h, FD_t fd, const void *key, int update, rpmRelocation *relocs)
void rpmtransAvailablePackage (rpmTransactionSet ts, Header h, const void *key)
void rpmtransRemovePackage (rpmTransactionSet ts, int dboffset)
void rpmtransFree (rpmTransactionSet ts)
void rpmtransSetScriptFd (rpmTransactionSet ts, FD_t fd)
int rpmtransGetKeys (const rpmTransactionSet ts, const void ***ep, int *nep)
int rpmdepCheck (rpmTransactionSet ts, struct rpmDependencyConflict **conflicts, int *numConflicts)
int rpmdepOrder (rpmTransactionSet ts)
void rpmdepFreeConflicts (struct rpmDependencyConflict *conflicts, int numConflicts)
int rpmGetRpmlibProvides (const char ***provNames, int **provFlags, const char ***provVersions)
int rpmRangesOverlap (const char *AName, const char *AEVR, int AFlags, const char *BName, const char *BEVR, int BFlags)
int rpmCheckRpmlibProvides (const char *keyName, const char *keyEVR, int keyFlags)
void rpmShowRpmlibProvides (FILE *fp)
int rpmRunTransactions (rpmTransactionSet ts, rpmCallbackFunction notify, rpmCallbackData notifyData, rpmProblemSet okProbs, rpmProblemSet *newProbs, rpmtransFlags transFlags, rpmprobFilterFlags ignoreSet)

RPMQV

#define RPMVERIFY_ALL   ~(RPMVERIFY_NONE)
typedef enum rpmVerifyAttrs_e  rpmVerifyAttrs
typedef enum rpmQVSources_e  rpmQVSources
typedef enum rpmQueryFlags_e  rpmQueryFlags
typedef enum rpmVerifyFlags_e  rpmVerifyFlags
typedef struct rpmQVArguments  QVA_t
typedef int (* QVF_t )(QVA_t *qva, rpmdb db, Header h)
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)
}
enum  rpmQVSources_e {
  RPMQV_PACKAGE = 0, RPMQV_PATH, RPMQV_ALL, RPMQV_RPM,
  RPMQV_GROUP, RPMQV_WHATPROVIDES, RPMQV_WHATREQUIRES, RPMQV_TRIGGEREDBY,
  RPMQV_DBOFFSET, RPMQV_SPECFILE
}
enum  rpmQueryFlags_e {
  QUERY_FOR_LIST = (1 << 1), QUERY_FOR_STATE = (1 << 2), QUERY_FOR_DOCS = (1 << 3), QUERY_FOR_CONFIG = (1 << 4),
  QUERY_FOR_DUMPFILES = (1 << 8)
}
enum  rpmVerifyFlags_e { VERIFY_FILES = (1 << 9), VERIFY_DEPS = (1 << 10), VERIFY_SCRIPT = (1 << 11), VERIFY_MD5 = (1 << 12) }
int rpmVerifyFile (const char *root, Header h, int filenum, int *result, int omitMask)
int rpmVerifyScript (const char *rootDir, Header h, FD_t scriptFd)
 Return exit code from running verify script in header. More...

int showMatches (QVA_t *qva, rpmdbMatchIterator mi, QVF_t showPackage)
void rpmDisplayQueryTags (FILE *f)
int rpmQueryVerify (QVA_t *qva, rpmQVSources source, const char *arg, rpmdb db, QVF_t showPackage)
int showQueryPackage (QVA_t *qva, rpmdb db, Header h)
int rpmQuery (QVA_t *qva, rpmQVSources source, const char *arg)
int showVerifyPackage (QVA_t *qva, rpmdb db, Header h)
int rpmVerify (QVA_t *qva, rpmQVSources source, const char *arg)
QVA_t rpmQVArgs
struct poptOption rpmQVSourcePoptTable []
int specedit
struct poptOption rpmQueryPoptTable []
struct poptOption rpmVerifyPoptTable []

RPMPROBS

typedef enum rpmProblemType_e  rpmProblemType
 Enumerate transaction set problem types.

typedef struct rpmProblem_s *  rpmProblem
typedef struct rpmProblemSet_s *  rpmProblemSet
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, struct rpmDependencyConflict *conflicts, int numConflicts)
const char* rpmProblemString (rpmProblem prob)
 Return formatted string representation of problem. More...

void rpmProblemPrint (FILE *fp, rpmProblem prob)
 Output formatted string representation of problem to file handle. More...

void rpmProblemSetPrint (FILE *fp, rpmProblemSet probs)
 Print problems to file handle. More...

void rpmProblemSetFree (rpmProblemSet probs)
 Destroy problem set. More...


RPMBT

typedef struct rpmBuildArguments BTA_t
struct rpmBuildArguments rpmBTArgs
struct poptOption rpmBuildPoptTable []

RPMEIU

typedef enum rpmInstallInterfaceFlags_e  rpmInstallInterfaceFlags
typedef enum rpmEraseInterfaceFlags_e  rpmEraseInterfaceFlags
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)
}
enum  rpmEraseInterfaceFlags_e { UNINSTALL_NONE = 0, UNINSTALL_NODEPS = (1 << 0), UNINSTALL_ALLMATCHES = (1 << 1) }
int rpmInstall (const char *rootdir, const char **argv, rpmtransFlags transFlags, rpmInstallInterfaceFlags interfaceFlags, rpmprobFilterFlags probFilter, rpmRelocation *relocations)
int rpmInstallSource (const char *prefix, const char *arg, const char **specFile, char **cookie)
int rpmErase (const char *rootdir, const char **argv, rpmtransFlags transFlags, rpmEraseInterfaceFlags interfaceFlags)

RPMK

typedef enum rpmVerifySignatureReturn_e  rpmVerifySignatureReturn
 Return codes from verifySignature().

typedef enum rpmCheckSigFlags_e  rpmCheckSigFlags
typedef enum rpmResignFlags_e  rpmResignFlags
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, RPMTAG_PK_BASE = 512,
  RPMTAG_PK_RSA_ES = RPMTAG_PK_BASE+1, RPMTAG_PK_RSA_E = RPMTAG_PK_BASE+2, RPMTAG_PK_RSA_S = RPMTAG_PK_BASE+3, RPMTAG_PK_ELGAMAL_E = RPMTAG_PK_BASE+16,
  RPMTAG_PK_DSA = RPMTAG_PK_BASE+17, RPMTAG_PK_ELLIPTIC = RPMTAG_PK_BASE+18, RPMTAG_PK_ECDSA = RPMTAG_PK_BASE+19, RPMTAG_PK_ELGAMAL_ES = RPMTAG_PK_BASE+20,
  RPMTAG_PK_DH = RPMTAG_PK_BASE+21, RPMTAG_HASH_BASE = 512+64, RPMTAG_HASH_MD5 = RPMTAG_HASH_BASE+1, RPMTAG_HASH_SHA1 = RPMTAG_HASH_BASE+2,
  RPMTAG_HASH_RIPEMD160 = RPMTAG_HASH_BASE+3, RPMTAG_HASH_MD2 = RPMTAG_HASH_BASE+5, RPMTAG_HASH_TIGER192 = RPMTAG_HASH_BASE+6, RPMTAG_HASH_HAVAL_5_160 = RPMTAG_HASH_BASE+7
}
enum  rpmVerifySignatureReturn_e {
  RPMSIG_OK = 0, RPMSIG_UNKNOWN = 1, RPMSIG_BAD = 2, RPMSIG_NOKEY = 3,
  RPMSIG_NOTTRUSTED = 4
}
 Return codes from verifySignature(). More...

enum  rpmCheckSigFlags_e { CHECKSIG_NONE = 0, CHECKSIG_PGP = (1 << 0), CHECKSIG_MD5 = (1 << 1), CHECKSIG_GPG = (1 << 2) }
enum  rpmResignFlags_e { RESIGN_NEW_SIGNATURE = 0, RESIGN_ADD_SIGNATURE }
rpmVerifySignatureReturn rpmVerifySignature (const char *file, int_32 sigTag, const void *sig, int count, char *result)
void rpmFreeSignature (Header h)
int rpmCheckSig (rpmCheckSigFlags flags, const char **argv)
int rpmReSign (rpmResignFlags add, char *passPhrase, const char **argv)

Defines

#define RPMDBI_PACKAGES   0
 Pseudo-tags used by the rpmdb iterator API. More...

#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 isFileMULTILIB(_fflags)    ((_fflags) & RPMFILE_MULTILIB_MASK)
#define RPMSENSE_SENSEMASK   15
#define RPMSENSE_TRIGGER
#define isDependsMULTILIB(_dflags)    ((_dflags) & RPMSENSE_MULTILIB)
#define _ALL_REQUIRES_MASK
#define _notpre(_x)    ((_x) & ~RPMSENSE_PREREQ)
#define _INSTALL_ONLY_MASK
#define _ERASE_ONLY_MASK
#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. More...

typedef enum rpmfileStates_e  rpmfileStates
 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_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_FIRSTFREE_TAG
}
 Tags identify data in package headers. More...

enum  rpmfileStates_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_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)
}
 Dependency Attributes. More...


Functions

rpmRC rpmReadPackageInfo (FD_t fd, Header *signatures, Header *hdr)
 Return package signatures and header from file handle. More...

rpmRC rpmReadPackageHeader (FD_t fd, Header *hdr, int *isSource, int *major, int *minor)
 Return package header and lead info from file handle. More...

int headerNVR (Header h, const char **np, const char **vp, const char **rp)
void headerMergeLegacySigs (Header h, const Header sig)
Header headerRegenSigHeader (const Header h)
void rpmBuildFileList (Header h, const char ***fileListPtr, int *fileCountPtr)
 Retrieve file names from header. More...

int rpmHeaderGetEntry (Header h, int_32 tag, int_32 *type, void **p, int_32 *c)
 Retrieve tag info from header. More...

int rpmPackageGetEntry (void *leadp, Header sigs, Header h, int_32 tag, int_32 *type, void **p, int_32 *c)
 Retrieve tag info from header. More...

const char* const tagName (int tag)
 Return name of tag from value. More...

int tagValue (const char *tagstr)
 Return value of tag from name. More...

void freeFilesystems (void)
 Release storage used by file system usage cache.

int rpmGetFilesystemList (const char ***listptr, int *num)
 Return (cached) file system mount points. More...

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


Variables

const struct headerTagTableEntry rpmTagTable []
 Automatically generated table of tag name/value pairs.

const int rpmTagTableSize = sizeof(rpmTagTable) / sizeof(struct headerTagTableEntry) - 1
 Number of entries in rpmTagTable.

const struct headerSprintfExtension rpmHeaderFormats []
 Table of query format extensions. More...


Detailed Description

Definition in file rpmlib.h.


Define Documentation

#define RPMDBI_ADDED   3
 

Added package headers.

Definition at line 160 of file rpmlib.h.

#define RPMDBI_AVAILABLE   5
 

Available package headers.

Definition at line 162 of file rpmlib.h.

#define RPMDBI_DEPENDS   1
 

Dependency resolution cache.

Definition at line 158 of file rpmlib.h.

#define RPMDBI_LABEL   2
 

Fingerprint search marker.

Definition at line 159 of file rpmlib.h.

#define RPMDBI_PACKAGES   0
 

Pseudo-tags used by the rpmdb iterator API.

Installed package headers.

Definition at line 157 of file rpmlib.h.

#define RPMDBI_REMOVED   4
 

Removed package headers.

Definition at line 161 of file rpmlib.h.

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

Definition at line 345 of file rpmlib.h.

Referenced by processPackageFiles().

#define RPMFILE_MULTILIB_MASK   RPMFILE_MULTILIB(7)
 

Definition at line 346 of file rpmlib.h.

#define RPMFILE_MULTILIB_SHIFT   9
 

Definition at line 344 of file rpmlib.h.

#define RPMLEAD_BINARY   0
 

Definition at line 1209 of file rpmlib.h.

#define RPMLEAD_MAGIC0   0xed
 

Definition at line 1212 of file rpmlib.h.

#define RPMLEAD_MAGIC1   0xab
 

Definition at line 1213 of file rpmlib.h.

#define RPMLEAD_MAGIC2   0xee
 

Definition at line 1214 of file rpmlib.h.

#define RPMLEAD_MAGIC3   0xdb
 

Definition at line 1215 of file rpmlib.h.

#define RPMLEAD_SIZE   96
 

Don't rely on sizeof(struct)

Definition at line 1217 of file rpmlib.h.

#define RPMLEAD_SOURCE   1
 

Definition at line 1210 of file rpmlib.h.

#define RPMSENSE_SENSEMASK   15
 

Definition at line 386 of file rpmlib.h.

#define RPMSENSE_TRIGGER
 

Value:

        (RPMSENSE_TRIGGERIN | RPMSENSE_TRIGGERUN | RPMSENSE_TRIGGERPOSTUN)

Definition at line 389 of file rpmlib.h.

#define RPMTAG_COPYRIGHT   RPMTAG_LICENSE
 

#define RPMTAG_EXTERNAL_TAG   1000000
 

Definition at line 317 of file rpmlib.h.

#define RPMTAG_OBSOLETES   RPMTAG_OBSOLETENAME
 

#define RPMTAG_PROVIDES   RPMTAG_PROVIDENAME
 

#define RPMTAG_SERIAL   RPMTAG_EPOCH
 

#define RPMVAR_INCLUDE   43
 

Definition at line 425 of file rpmlib.h.

#define RPMVAR_MACROFILES   49
 

Definition at line 426 of file rpmlib.h.

#define RPMVAR_NUM   55
 

Definition at line 428 of file rpmlib.h.

#define RPMVAR_OPTFLAGS   3
 

Definition at line 423 of file rpmlib.h.

#define RPMVAR_PROVIDES   38
 

Definition at line 424 of file rpmlib.h.

#define RPMVERIFY_ALL   ~(RPMVERIFY_NONE)
 

Definition at line 1318 of file rpmlib.h.

#define RPM_MACHTABLE_COUNT   4
 

No. of arch/os tables.

Definition at line 461 of file rpmlib.h.

#define XFA_SKIPPING( _a )
 

Value:

    ((_a) == FA_SKIP || (_a) == FA_SKIPNSTATE || (_a) == FA_SKIPNETSHARED || (_a) == FA_SKIPMULTILIB)

Definition at line 909 of file rpmlib.h.

Referenced by dnlInitIterator(), fsmStage(), handleInstInstalledFiles(), handleOverlappedFiles(), rpmRunTransactions(), and skipFiles().

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

Definition at line 394 of file rpmlib.h.

#define _ERASE_ONLY_MASK
 

Value:

    _notpre(RPMSENSE_SCRIPT_PREUN|RPMSENSE_SCRIPT_POSTUN)

Definition at line 411 of file rpmlib.h.

#define _INSTALL_ONLY_MASK
 

Value:

    _notpre(RPMSENSE_SCRIPT_PRE|RPMSENSE_SCRIPT_POST|RPMSENSE_RPMLIB)

Definition at line 409 of file rpmlib.h.

#define _noTransScripts
 

Value:

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

Definition at line 1104 of file rpmlib.h.

#define _noTransTriggers
 

Value:

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

Definition at line 1111 of file rpmlib.h.

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

Definition at line 408 of file rpmlib.h.

Referenced by depMsgs(), and identifyDepend().

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

Definition at line 392 of file rpmlib.h.

Referenced by addReqProv(), alMakeIndex(), checkPackageDeps(), mergeFiles(), and printDepMsg().

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

Definition at line 416 of file rpmlib.h.

Referenced by rpmdepOrder().

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

Definition at line 349 of file rpmlib.h.

Referenced by alFileSatisfiesDepend(), and relocateFileList().

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

Definition at line 415 of file rpmlib.h.

Referenced by rpmdbAdd(), and rpmdepOrder().

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

Definition at line 414 of file rpmlib.h.

Referenced by identifyDepend(), and rpmdepOrder().

#define rpmdbNextIterator( _a )
 

Value:

        XrpmdbNextIterator(_a, __FILE__, __LINE__)

Definition at line 699 of file rpmlib.h.

Referenced by addLostFiles(), checkPackageSet(), dbiFindMatches(), findUpgradePackages(), handleDbResult(), handleInstInstalledFiles(), handleRmvdInstalledFiles(), main(), markReplacedFiles(), psmStage(), rpmErase(), rpmInstall(), rpmRunTransactions(), rpmdbFindByFile(), rpmdbFindFpList(), rpmdbFirst(), rpmdbLength(), rpmdbMINext(), rpmdbRebuild(), rpmdbRemove(), rpmdbSubscript(), rpmdepCheck(), rpmtransAddPackage(), rpmtransRemove(), runImmedTriggers(), runTriggers(), showMatches(), unmarkPackagesAlreadyInstalled(), and unsatisfiedDepend().


Typedef Documentation

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

Prototype for headerFreeData() vector.

Definition at line 852 of file rpmlib.h.

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

Prototype for headerGetEntry() vector.

Definition at line 857 of file rpmlib.h.

typedef struct rpmQVArguments QVA_t
 

Describe query/verify command line request.

typedef enum fileAction_e fileAction
 

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

typedef enum fileTypes_e fileTypes
 

File types.

These are the types of files 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 enum rpmCheckSigFlags_e rpmCheckSigFlags
 

Bit(s) to control rpmCheckSig() operation.

typedef enum rpmEraseInterfaceFlags_e rpmEraseInterfaceFlags
 

Bit(s) to control rpmErase() operation.

typedef enum rpmInstallInterfaceFlags_e rpmInstallInterfaceFlags
 

Bit(s) to control rpmInstall() operation.

typedef struct rpmProblem_s * rpmProblem
 

typedef struct rpmProblemSet_s * rpmProblemSet
 

typedef enum rpmProblemType_e rpmProblemType
 

Enumerate transaction set problem types.

typedef enum rpmQVSources_e rpmQVSources
 

The command line argument will be used to retrieve header(s) ...

typedef enum rpmQueryFlags_e rpmQueryFlags
 

Bit(s) to control rpmQuery() operation, stored in qva_flags.

typedef enum rpmRC_e rpmRC
 

Package read return codes.

typedef struct rpmRelocation_s rpmRelocation
 

typedef enum rpmResignFlags_e rpmResignFlags
 

Bit(s) to control rpmReSign() operation.

typedef enum rpmTag_e rpmTag
 

Tags identify data in package headers.

Note:
tags should not have value 0!

typedef enum rpmVerifyAttrs_e rpmVerifyAttrs
 

Bit(s) for rpmVerifyFile() attributes and result.

typedef enum rpmVerifyFlags_e rpmVerifyFlags
 

Bit(s) to control rpmVerify() operation, stored in qva_flags.

typedef enum rpmVerifySignatureReturn_e rpmVerifySignatureReturn
 

Return codes from verifySignature().

typedef enum rpmfileAttrs_e rpmfileAttrs
 

File Attributes.

typedef enum rpmfileStates_e rpmfileStates
 

File States (when installed).

typedef enum rpmprobFilterFlags_e rpmprobFilterFlags
 

Todo:
Generalize filter mechanism.

typedef enum rpmsenseFlags_e rpmsenseFlags
 

Dependency Attributes.

typedef enum rpmtransFlags_e rpmtransFlags
 

Bit(s) to control rpmRunTransaction() operation.


Enumeration Type Documentation

enum fileAction_e
 

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

Enumeration values:
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 894 of file rpmlib.h.

enum fileTypes_e
<