rpmts.h File Reference
(un)Installing packages: » Transaction Set API.

Structures and prototypes used for an "rpmts" transaction set. More...

`#include <sys/types.h>`
`#include <rpm/rpmtypes.h>`
`#include <rpm/rpmte.h>`
`#include <rpm/rpmps.h>`
`#include <rpm/rpmsw.h>`
`#include <rpm/rpmfi.h>`
`#include <rpm/rpmcallback.h>`
Include dependency graph for rpmts.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Macros

#define | _noTransScripts
#define | _noTransTriggers
#define | RPMTRANS_FLAG_NOPAYLOAD 0
#define | RPMTRANS_FLAG_APPLYONLY 0
#define | RPMTRANS_FLAG_KEEPOBSOLETE 0
#define | RPMTRANS_FLAG_DIRSTASH 0
#define | RPMTRANS_FLAG_REPACKAGE 0
#define | RPMTRANS_FLAG_PKGCOMMIT 0
#define | RPMTRANS_FLAG_PKGUNDO 0
#define | RPMTRANS_FLAG_COMMIT 0
#define | RPMTRANS_FLAG_UNDO 0
#define | RPMTRANS_FLAG_REVERSE 0
#define | RPMTRANS_FLAG_NOSUGGEST 0
#define | RPMTRANS_FLAG_ADDINDEPS 0
#define | RPMVSF_MASK_NODIGESTS
#define | _RPMVSF_NODIGESTS RPMVSF_MASK_NODIGESTS
#define | RPMVSF_MASK_NOSIGNATURES
#define | _RPMVSF_NOSIGNATURES RPMVSF_MASK_NOSIGNATURES
#define | RPMVSF_MASK_NOHEADER
#define | _RPMVSF_NOHEADER RPMVSF_MASK_NOHEADER
#define | RPMVSF_MASK_NOPAYLOAD
#define | _RPMVSF_NOPAYLOAD RPMVSF_MASK_NOPAYLOAD
#define | RPMSIG_VERIFIABLE_TYPE (RPMSIG_DIGEST_TYPE|RPMSIG_SIGNATURE_TYPE)
#define | RPMSIG_UNVERIFIED_TYPE (1 << 30)

## Typedefs

typedef rpmFlags | rpmtransFlags
typedef rpmFlags | rpmVSFlags
typedef enum rpmtsOpX_e | rpmtsOpX
| Indices for timestamps. More...
typedef rpmFlags | rpmtxnFlags
typedef enum rpmtsEvent_e | rpmtsEvent
typedef int(* | rpmtsChangeFunction) (int event, rpmte te, rpmte other, void *data)
| Transaction change callback type. More...

## Enumerations

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_NOPLUGINS = (1 << 7) , RPMTRANS_FLAG_NOCONTEXTS = (1 << 8) , RPMTRANS_FLAG_NOCAPS = (1 << 9) , RPMTRANS_FLAG_NODB = (1 << 10) ,
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_NOPRETRANS = (1 << 24) , RPMTRANS_FLAG_NOPOSTTRANS = (1 << 25) , RPMTRANS_FLAG_NOMD5 = (1 << 27) , RPMTRANS_FLAG_NOFILEDIGEST = (1 << 27) ,
RPMTRANS_FLAG_NOARTIFACTS = (1 << 29) , RPMTRANS_FLAG_NOCONFIGS = (1 << 30) , RPMTRANS_FLAG_DEPLOOPS = (1 << 31)
}

| Bit(s) to control rpmtsRun() operation. More...
enum | rpmVSFlags_e { RPMVSF_DEFAULT = 0 , RPMVSF_NOHDRCHK = (1 << 0) , RPMVSF_NEEDPAYLOAD = (1 << 1) , RPMVSF_NOSHA1HEADER = (1 << 8) , RPMVSF_NOSHA256HEADER = (1 << 9) , RPMVSF_NODSAHEADER = (1 << 10) , RPMVSF_NORSAHEADER = (1 << 11) , RPMVSF_NOPAYLOAD = (1 << 16) , RPMVSF_NOMD5 = (1 << 17) , RPMVSF_NODSA = (1 << 18) , RPMVSF_NORSA = (1 << 19) }
| Bit(s) to control digest and signature verification. More...
enum | { RPMSIG_NONE_TYPE = 0 , RPMSIG_DIGEST_TYPE = (1 << 0) , RPMSIG_SIGNATURE_TYPE = (1 << 1) , RPMSIG_OTHER_TYPE = (1 << 2) }

enum

rpmtsOpX_e {
RPMTS_OP_TOTAL = 0 , RPMTS_OP_CHECK = 1 , RPMTS_OP_ORDER = 2 , RPMTS_OP_FINGERPRINT = 3 ,
RPMTS_OP_INSTALL = 5 , RPMTS_OP_ERASE = 6 , RPMTS_OP_SCRIPTLETS = 7 , RPMTS_OP_COMPRESS = 8 ,
RPMTS_OP_UNCOMPRESS = 9 , RPMTS_OP_DIGEST = 10 , RPMTS_OP_SIGNATURE = 11 , RPMTS_OP_DBADD = 12 ,
RPMTS_OP_DBREMOVE = 13 , RPMTS_OP_DBGET = 14 , RPMTS_OP_DBPUT = 15 , RPMTS_OP_DBDEL = 16 ,
RPMTS_OP_VERIFY = 17 , RPMTS_OP_MAX = 18
}

| Indices for timestamps. More...
enum | rpmtxnFlags_e { RPMTXN_READ = (1 << 0) , RPMTXN_WRITE = (1 << 1) }
enum | rpmtsEvent_e { RPMTS_EVENT_ADD = 1 , RPMTS_EVENT_DEL = 2 }

## Functions

int | rpmtsCheck (rpmts ts)
| Perform dependency resolution on the transaction set. More...
int | rpmtsOrder (rpmts ts)
| Determine package order in a transaction set according to dependencies. More...
int | rpmtsRun (rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet)
| Process all package elements in a transaction set. More...
rpmts | rpmtsLink (rpmts ts)
| Reference a transaction set instance. More...
int | rpmtsCloseDB (rpmts ts)
| Close the database used by the transaction. More...
int | rpmtsOpenDB (rpmts ts, int dbmode)
| Open the database used by the transaction. More...
int | rpmtsInitDB (rpmts ts, int perms)
| Initialize the database used by the transaction. More...
int | rpmtsGetDBMode (rpmts ts)
| Return the transaction database mode. More...
int | rpmtsSetDBMode (rpmts ts, int dbmode)
| Set the transaction database mode. More...
int | rpmtsRebuildDB (rpmts ts)
| Rebuild the database used by the transaction. More...
int | rpmtsVerifyDB (rpmts ts)
| Verify the database used by the transaction. More...
rpmdbMatchIterator | rpmtsInitIterator (const rpmts ts, rpmDbiTagVal rpmtag, const void *keyp, size_t keylen)
| Return transaction database iterator. More...
rpmRC | rpmtsImportHeader (rpmtxn txn, Header h, rpmFlags flags)
| Import a header into the rpmdb. More...
rpmRC | rpmtsImportPubkey (rpmts ts, const unsigned char *pkt, size_t pktlen)
| Import public key packet(s). More...
rpmKeyring | rpmtsGetKeyring (rpmts ts, int autoload)
| Retrieve handle for keyring used for this transaction set. More...
int | rpmtsSetKeyring (rpmts ts, rpmKeyring keyring)
| Set keyring to use for this transaction set. More...
int | rpmtsSetSolveCallback (rpmts ts, int(*solve)(rpmts ts, rpmds ds, const void *data), const void *solveData)
| Set dependency solver callback. More...
rpmps | rpmtsProblems (rpmts ts)
| Return current transaction set problems. More...
void | rpmtsCleanProblems (rpmts ts)
| Clean current transaction problem set. More...
void | rpmtsClean (rpmts ts)
| Free memory needed only for dependency checks and ordering. More...
void | rpmtsEmpty (rpmts ts)
| Re-create an empty transaction set. More...
rpmts | rpmtsFree (rpmts ts)
| Destroy transaction set, closing the database as well. More...
rpmVSFlags | rpmtsVSFlags (rpmts ts)
| Get verify signatures flag(s). More...
rpmVSFlags | rpmtsSetVSFlags (rpmts ts, rpmVSFlags vsflags)
| Set verify signatures flag(s). More...
rpmVSFlags | rpmtsVfyFlags (rpmts ts)
| Get package verify flag(s). More...
rpmVSFlags | rpmtsSetVfyFlags (rpmts ts, rpmVSFlags vfyflags)
| Set package verify flag(s). More...
int | rpmtsVfyLevel (rpmts ts)
| Get enforced package verify level. More...
int | rpmtsSetVfyLevel (rpmts ts, int vfylevel)
| Set enforced package verify level. More...
const char * | rpmtsRootDir (rpmts ts)
| Get transaction rootDir, i.e. More...
int | rpmtsSetRootDir (rpmts ts, const char *rootDir)
| Set transaction rootDir, i.e. More...
FD_t | rpmtsScriptFd (rpmts ts)
| Get transaction script file handle, i.e. More...
void | rpmtsSetScriptFd (rpmts ts, FD_t scriptFd)
| Set transaction script file handle, i.e. More...
rpm_tid_t | rpmtsGetTid (rpmts ts)
| Get transaction id, i.e. More...
rpm_tid_t | rpmtsSetTid (rpmts ts, rpm_tid_t tid)
| Set transaction id, i.e. More...
rpmdb | rpmtsGetRdb (rpmts ts)
| Get transaction set database handle. More...
void * | rpmtsNotify (rpmts ts, rpmte te, rpmCallbackType what, rpm_loff_t amount, rpm_loff_t total)
| Perform transaction progress notify callback. More...
int | rpmtsNElements (rpmts ts)
| Return number of (ordered) transaction set elements. More...
rpmte | rpmtsElement (rpmts ts, int ix)
| Return (ordered) transaction set element. More...
rpmprobFilterFlags | rpmtsFilterFlags (rpmts ts)
| Get problem ignore bit mask, i.e. More...
rpmtransFlags | rpmtsFlags (rpmts ts)
| Get transaction flags, i.e. More...
rpmtransFlags | rpmtsSetFlags (rpmts ts, rpmtransFlags transFlags)
| Set transaction flags, i.e. More...
rpm_color_t | rpmtsColor (rpmts ts)
| Retrieve color bits of transaction set. More...
rpm_color_t | rpmtsPrefColor (rpmts ts)
| Retrieve preferred file color. More...
rpm_color_t | rpmtsSetColor (rpmts ts, rpm_color_t color)
| Set color bits of transaction set. More...
rpm_color_t | rpmtsSetPrefColor (rpmts ts, rpm_color_t color)
| Set preferred file color. More...
rpmop | rpmtsOp (rpmts ts, rpmtsOpX opx)
| Retrieve operation timestamp from a transaction set. More...
rpmPlugins | rpmtsPlugins (rpmts ts)
| Get the plugins associated with a transaction set. More...
int | rpmtsSetNotifyCallback (rpmts ts, rpmCallbackFunction notify, rpmCallbackData notifyData)
| Set transaction notify callback function and argument. More...
int | rpmtsSetNotifyStyle (rpmts ts, int style)
| Set transaction notify callback style. More...
int | rpmtsGetNotifyStyle (rpmts ts)
| Get transaction notify callback style. More...
int | rpmtsSetChangeCallback (rpmts ts, rpmtsChangeFunction notify, void *data)
| Set transaction change callback function and argument. More...
rpmts | rpmtsCreate (void)
| Create an empty transaction set. More...
int | rpmtsAddInstallElement (rpmts ts, Header h, const fnpyKey key, int upgrade, rpmRelocation *relocs)
| Add package to be installed to transaction set. More...
int | rpmtsAddReinstallElement (rpmts ts, Header h, const fnpyKey key)
| Add package to be reinstalled to transaction set. More...
int | rpmtsAddRestoreElement (rpmts ts, Header h)
| Add package to be restored to transaction set. More...
int | rpmtsAddEraseElement (rpmts ts, Header h, int dboffset)
| Add package to be erased to transaction set. More...
rpmtxn | rpmtxnBegin (rpmts ts, rpmtxnFlags flags)
| Create a transaction (lock) handle. More...
rpmtxn | rpmtxnEnd (rpmtxn txn)
| Destroy transaction (lock) handle. More...
rpmtsi | rpmtsiFree (rpmtsi tsi)
| Destroy transaction element iterator. More...
rpmtsi | rpmtsiInit (rpmts ts)
| Create transaction element iterator. More...
rpmte | rpmtsiNext (rpmtsi tsi, rpmElementTypes types)
| Return next transaction element of type. More...

## Variables

int | _rpmts_stats

## Detailed Description

Structures and prototypes used for an "rpmts" transaction set.

Definition in file rpmts.h.

## Macro Definition Documentation

## _noTransScripts

#define _noTransScripts

Value:
( RPMTRANS_FLAG_NOPRE | \
RPMTRANS_FLAG_NOPOST | \
RPMTRANS_FLAG_NOPREUN | \
RPMTRANS_FLAG_NOPOSTUN | \
RPMTRANS_FLAG_NOPRETRANS | \
RPMTRANS_FLAG_NOPOSTTRANS \
)
RPMTRANS_FLAG_NOPRE
@ RPMTRANS_FLAG_NOPRE
Definition: rpmts.h:42

Definition at line 62 of file rpmts.h.

## _noTransTriggers

#define _noTransTriggers

Value:
( RPMTRANS_FLAG_NOTRIGGERPREIN | \
RPMTRANS_FLAG_NOTRIGGERIN | \
RPMTRANS_FLAG_NOTRIGGERUN | \
RPMTRANS_FLAG_NOTRIGGERPOSTUN \
)
RPMTRANS_FLAG_NOTRIGGERPREIN
@ RPMTRANS_FLAG_NOTRIGGERPREIN
Definition: rpmts.h:41

Definition at line 71 of file rpmts.h.

## _RPMVSF_NODIGESTS

#define _RPMVSF_NODIGESTS RPMVSF_MASK_NODIGESTS

Definition at line 119 of file rpmts.h.

## _RPMVSF_NOHEADER

#define _RPMVSF_NOHEADER RPMVSF_MASK_NOHEADER

Definition at line 133 of file rpmts.h.

## _RPMVSF_NOPAYLOAD

#define _RPMVSF_NOPAYLOAD RPMVSF_MASK_NOPAYLOAD

Definition at line 140 of file rpmts.h.

## _RPMVSF_NOSIGNATURES

#define _RPMVSF_NOSIGNATURES RPMVSF_MASK_NOSIGNATURES

Definition at line 126 of file rpmts.h.

## RPMSIG_UNVERIFIED_TYPE

#define RPMSIG_UNVERIFIED_TYPE (1 << 30)

Definition at line 150 of file rpmts.h.

## RPMSIG_VERIFIABLE_TYPE

#define RPMSIG_VERIFIABLE_TYPE (RPMSIG_DIGEST_TYPE|RPMSIG_SIGNATURE_TYPE)

Definition at line 149 of file rpmts.h.

## RPMTRANS_FLAG_ADDINDEPS

#define RPMTRANS_FLAG_ADDINDEPS 0

Definition at line 90 of file rpmts.h.

## RPMTRANS_FLAG_APPLYONLY

#define RPMTRANS_FLAG_APPLYONLY 0

Definition at line 80 of file rpmts.h.

## RPMTRANS_FLAG_COMMIT

#define RPMTRANS_FLAG_COMMIT 0

Definition at line 86 of file rpmts.h.

## RPMTRANS_FLAG_DIRSTASH

#define RPMTRANS_FLAG_DIRSTASH 0

Definition at line 82 of file rpmts.h.

## RPMTRANS_FLAG_KEEPOBSOLETE

#define RPMTRANS_FLAG_KEEPOBSOLETE 0

Definition at line 81 of file rpmts.h.

## RPMTRANS_FLAG_NOPAYLOAD

#define RPMTRANS_FLAG_NOPAYLOAD 0

Definition at line 79 of file rpmts.h.

## RPMTRANS_FLAG_NOSUGGEST

#define RPMTRANS_FLAG_NOSUGGEST 0

Definition at line 89 of file rpmts.h.

## RPMTRANS_FLAG_PKGCOMMIT

#define RPMTRANS_FLAG_PKGCOMMIT 0

Definition at line 84 of file rpmts.h.

## RPMTRANS_FLAG_PKGUNDO

#define RPMTRANS_FLAG_PKGUNDO 0

Definition at line 85 of file rpmts.h.

## RPMTRANS_FLAG_REPACKAGE

#define RPMTRANS_FLAG_REPACKAGE 0

Definition at line 83 of file rpmts.h.

## RPMTRANS_FLAG_REVERSE

#define RPMTRANS_FLAG_REVERSE 0

Definition at line 88 of file rpmts.h.

## RPMTRANS_FLAG_UNDO

#define RPMTRANS_FLAG_UNDO 0

Definition at line 87 of file rpmts.h.

## RPMVSF_MASK_NODIGESTS

#define RPMVSF_MASK_NODIGESTS

Value:
( RPMVSF_NOSHA1HEADER | \
RPMVSF_NOSHA256HEADER | \
RPMVSF_NOPAYLOAD | \
RPMVSF_NOMD5 )
RPMVSF_NOSHA1HEADER
@ RPMVSF_NOSHA1HEADER
Definition: rpmts.h:100

Definition at line 114 of file rpmts.h.

## RPMVSF_MASK_NOHEADER

#define RPMVSF_MASK_NOHEADER

Value:
( RPMVSF_NOSHA1HEADER | \
RPMVSF_NOSHA256HEADER | \
RPMVSF_NODSAHEADER | \
RPMVSF_NORSAHEADER )

Definition at line 128 of file rpmts.h.

## RPMVSF_MASK_NOPAYLOAD

#define RPMVSF_MASK_NOPAYLOAD

Value:
( RPMVSF_NOMD5 | \
RPMVSF_NOPAYLOAD | \
RPMVSF_NODSA | \
RPMVSF_NORSA )
RPMVSF_NOMD5
@ RPMVSF_NOMD5
Definition: rpmts.h:106

Definition at line 135 of file rpmts.h.

## RPMVSF_MASK_NOSIGNATURES

#define RPMVSF_MASK_NOSIGNATURES

Value:
( RPMVSF_NODSAHEADER | \
RPMVSF_NORSAHEADER | \
RPMVSF_NODSA | \
RPMVSF_NORSA )
RPMVSF_NODSAHEADER
@ RPMVSF_NODSAHEADER
Definition: rpmts.h:102

Definition at line 121 of file rpmts.h.

## Typedef Documentation

## rpmtransFlags

typedef rpmFlags rpmtransFlags

Definition at line 60 of file rpmts.h.

## rpmtsEvent

typedef enum rpmtsEvent_e rpmtsEvent

## rpmtxnFlags

typedef rpmFlags rpmtxnFlags

Definition at line 180 of file rpmts.h.

## rpmVSFlags

typedef rpmFlags rpmVSFlags

Definition at line 112 of file rpmts.h.

## Enumeration Type Documentation

## anonymous enum

anonymous enum

Enumerator
RPMSIG_NONE_TYPE |
RPMSIG_DIGEST_TYPE |
RPMSIG_SIGNATURE_TYPE |
RPMSIG_OTHER_TYPE |

Definition at line 142 of file rpmts.h.

## rpmtsEvent_e

enum rpmtsEvent_e

Enumerator
RPMTS_EVENT_ADD |
RPMTS_EVENT_DEL |

Definition at line 182 of file rpmts.h.

## rpmtxnFlags_e

enum rpmtxnFlags_e

Enumerator
RPMTXN_READ |
RPMTXN_WRITE |

Definition at line 176 of file rpmts.h.

## Variable Documentation

## _rpmts_stats

int _rpmts_stats

extern