Go to the documentation of this file.
11 #include <rpm/rpmtypes.h>
12 #include <rpm/rpmte.h>
13 #include <rpm/rpmps.h>
14 #include <rpm/rpmsw.h>
15 #include <rpm/rpmpgp.h>
16 #include <rpm/rpmfi.h>
17 #include <rpm/rpmcallback.h>
61 #define _noTransScripts \
62 ( RPMTRANS_FLAG_NOPRE | \
63 RPMTRANS_FLAG_NOPOST | \
64 RPMTRANS_FLAG_NOPREUN | \
65 RPMTRANS_FLAG_NOPOSTUN | \
66 RPMTRANS_FLAG_NOPRETRANS | \
67 RPMTRANS_FLAG_NOPOSTTRANS \
70 #define _noTransTriggers \
71 ( RPMTRANS_FLAG_NOTRIGGERPREIN | \
72 RPMTRANS_FLAG_NOTRIGGERIN | \
73 RPMTRANS_FLAG_NOTRIGGERUN | \
74 RPMTRANS_FLAG_NOTRIGGERPOSTUN \
78 #define RPMTRANS_FLAG_NOPAYLOAD 0
79 #define RPMTRANS_FLAG_APPLYONLY 0
80 #define RPMTRANS_FLAG_KEEPOBSOLETE 0
81 #define RPMTRANS_FLAG_DIRSTASH 0
82 #define RPMTRANS_FLAG_REPACKAGE 0
83 #define RPMTRANS_FLAG_PKGCOMMIT 0
84 #define RPMTRANS_FLAG_PKGUNDO 0
85 #define RPMTRANS_FLAG_COMMIT 0
86 #define RPMTRANS_FLAG_UNDO 0
87 #define RPMTRANS_FLAG_REVERSE 0
88 #define RPMTRANS_FLAG_NOSUGGEST 0
89 #define RPMTRANS_FLAG_ADDINDEPS 0
113 #define RPMVSF_MASK_NODIGESTS \
114 ( RPMVSF_NOSHA1HEADER | \
115 RPMVSF_NOSHA256HEADER | \
118 #define _RPMVSF_NODIGESTS RPMVSF_MASK_NODIGESTS
120 #define RPMVSF_MASK_NOSIGNATURES \
121 ( RPMVSF_NODSAHEADER | \
122 RPMVSF_NORSAHEADER | \
125 #define _RPMVSF_NOSIGNATURES RPMVSF_MASK_NOSIGNATURES
127 #define RPMVSF_MASK_NOHEADER \
128 ( RPMVSF_NOSHA1HEADER | \
129 RPMVSF_NOSHA256HEADER | \
130 RPMVSF_NODSAHEADER | \
132 #define _RPMVSF_NOHEADER RPMVSF_MASK_NOHEADER
134 #define RPMVSF_MASK_NOPAYLOAD \
139 #define _RPMVSF_NOPAYLOAD RPMVSF_MASK_NOPAYLOAD
148 #define RPMSIG_VERIFIABLE_TYPE (RPMSIG_DIGEST_TYPE|RPMSIG_SIGNATURE_TYPE)
149 #define RPMSIG_UNVERIFIED_TYPE (1 << 30)
300 const void * keyp,
size_t keylen);
347 int (*solve) (
rpmts ts,
rpmds ds,
const void * data),
348 const void * solveData);
607 const fnpyKey key,
int upgrade,
rpmRC rpmtsImportPubkey(rpmts ts, const unsigned char *pkt, size_t pktlen)
rpmps rpmtsProblems(rpmts ts)
rpm_tid_t rpmtsSetTid(rpmts ts, rpm_tid_t tid)
@ RPMTRANS_FLAG_NOTRIGGERUN
rpm_color_t rpmtsSetColor(rpmts ts, rpm_color_t color)
@ RPMTRANS_FLAG_NOPOSTTRANS
rpmdb rpmtsGetRdb(rpmts ts)
@ RPMTRANS_FLAG_NOFILEDIGEST
@ RPMTRANS_FLAG_NOSCRIPTS
rpm_tid_t rpmtsGetTid(rpmts ts)
int rpmtsSetNotifyCallback(rpmts ts, rpmCallbackFunction notify, rpmCallbackData notifyData)
int rpmtsSetKeyring(rpmts ts, rpmKeyring keyring)
rpmtransFlags rpmtsSetFlags(rpmts ts, rpmtransFlags transFlags)
void * rpmtsNotify(rpmts ts, rpmte te, rpmCallbackType what, rpm_loff_t amount, rpm_loff_t total)
@ RPMTRANS_FLAG_NOPLUGINS
rpmts rpmtsFree(rpmts ts)
rpm_color_t rpmtsColor(rpmts ts)
@ RPMTRANS_FLAG_NOTRIGGERIN
rpm_color_t rpmtsPrefColor(rpmts ts)
rpmts rpmtsLink(rpmts ts)
rpmPlugins rpmtsPlugins(rpmts ts)
struct rpmKeyring_s * rpmKeyring
FD_t rpmtsScriptFd(rpmts ts)
void rpmtsEmpty(rpmts ts)
int rpmtsInitDB(rpmts ts, int dbmode)
int rpmtsAddInstallElement(rpmts ts, Header h, const fnpyKey key, int upgrade, rpmRelocation *relocs)
int rpmtsRebuildDB(rpmts ts)
rpmFlags rpmprobFilterFlags
rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmDbiTagVal rpmtag, const void *keyp, size_t keylen)
int rpmtsAddReinstallElement(rpmts ts, Header h, const fnpyKey key)
void *(* rpmCallbackFunction)(const void *h, const rpmCallbackType what, const rpm_loff_t amount, const rpm_loff_t total, fnpyKey key, rpmCallbackData data)
int rpmtsSetVfyLevel(rpmts ts, int vfylevel)
int rpmtsVerifyDB(rpmts ts)
int rpmtsSetSolveCallback(rpmts ts, int(*solve)(rpmts ts, rpmds ds, const void *data), const void *solveData)
int rpmtsOpenDB(rpmts ts, int dbmode)
@ RPMTRANS_FLAG_BUILD_PROBS
rpmte rpmtsElement(rpmts ts, int ix)
int rpmtsSetDBMode(rpmts ts, int dbmode)
@ RPMTRANS_FLAG_NOTRIGGERS
int rpmtsCloseDB(rpmts ts)
enum rpmCallbackType_e rpmCallbackType
Bit(s) to identify progress callbacks.
rpmVSFlags rpmtsSetVfyFlags(rpmts ts, rpmVSFlags vfyflags)
@ RPMTRANS_FLAG_NOTRIGGERPREIN
@ RPMTRANS_FLAG_NOTRIGGERPOSTUN
rpmtsi rpmtsiFree(rpmtsi tsi)
rpmRC rpmtsImportHeader(rpmtxn txn, Header h, rpmFlags flags)
@ RPMTRANS_FLAG_NOCONFIGS
We pass these around as an array with a sentinel.
const char * rpmtsRootDir(rpmts ts)
rpmVSFlags rpmtsSetVSFlags(rpmts ts, rpmVSFlags vsflags)
rpmKeyring rpmtsGetKeyring(rpmts ts, int autoload)
void rpmtsClean(rpmts ts)
int rpmtsAddEraseElement(rpmts ts, Header h, int dboffset)
int rpmtsRun(rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet)
rpmVSFlags rpmtsVfyFlags(rpmts ts)
int rpmtsNElements(rpmts ts)
@ RPMTRANS_FLAG_NOCONTEXTS
int rpmtsGetDBMode(rpmts ts)
rpmtxn rpmtxnBegin(rpmts ts, rpmtxnFlags flags)
rpmtransFlags rpmtsFlags(rpmts ts)
struct headerToken_s * Header
rpmtsi rpmtsiInit(rpmts ts)
rpmVSFlags rpmtsVSFlags(rpmts ts)
rpmop rpmtsOp(rpmts ts, rpmtsOpX opx)
int rpmtsVfyLevel(rpmts ts)
rpmprobFilterFlags rpmtsFilterFlags(rpmts ts)
const typedef void * fnpyKey
void rpmtsCleanProblems(rpmts ts)
int rpmtsSetRootDir(rpmts ts, const char *rootDir)
struct rpmPlugins_s * rpmPlugins
rpm_color_t rpmtsSetPrefColor(rpmts ts, rpm_color_t color)
void rpmtsSetScriptFd(rpmts ts, FD_t scriptFd)
rpmtxn rpmtxnEnd(rpmtxn txn)
rpmte rpmtsiNext(rpmtsi tsi, rpmElementTypes types)
struct rpmdbMatchIterator_s * rpmdbMatchIterator
@ RPMTRANS_FLAG_NOPRETRANS