# rpmts.h File Reference

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

`#include <sys/types.h>`
`#include <rpm/rpmtypes.h>`
`#include <rpm/rpmps.h>`
`#include <rpm/rpmsw.h>`
`#include <rpm/rpmpgp.h>`
`#include <rpm/rpmfi.h>`
`#include <rpm/rpmcallback.h>`

Include dependency graph for rpmts.h:

Go to the source code of this file.

## Defines

#define | _noTransScripts
#define | _noTransTriggers
#define | _RPMVSF_NODIGESTS
#define | _RPMVSF_NOSIGNATURES
#define | _RPMVSF_NOHEADER
#define | _RPMVSF_NOPAYLOAD

## Typedefs

typedef enum rpmtransFlags_e | rpmtransFlags
| Bit(s) to control rpmtsRun() operation.
typedef enum rpmVSFlags_e | rpmVSFlags
| Bit(s) to control digest and signature verification.
typedef enum rpmtsOpX_e | rpmtsOpX
| Indices for timestamps.

## 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_KEEPOBSOLETE = (1 << 7), RPMTRANS_FLAG_NOCONTEXTS = (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_NOMD5 = (1 << 27),
RPMTRANS_FLAG_NOSUGGEST = (1 << 28), RPMTRANS_FLAG_ADDINDEPS = (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_NOMD5HEADER = (1 << 9), RPMVSF_NODSAHEADER = (1 << 10), RPMVSF_NORSAHEADER = (1 << 11), RPMVSF_NOSHA1 = (1 << 16), RPMVSF_NOMD5 = (1 << 17), RPMVSF_NODSA = (1 << 18), RPMVSF_NORSA = (1 << 19) }
| Bit(s) to control digest and signature verification. More...
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_MAX = 17 }
| Indices for timestamps. More...

## Functions

int | rpmtsCheck (rpmts ts)
| Perform dependency resolution on the transaction set.
int | rpmtsOrder (rpmts ts)
| Determine package order in a transaction set according to dependencies.
int | rpmtsRun (rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet)
| Process all package elements in a transaction set.
rpmts | rpmtsUnlink (rpmts ts, const char *msg)
| Unreference a transaction instance.
rpmts | rpmtsLink (rpmts ts, const char *msg)
| Reference a transaction set instance.
int | rpmtsCloseDB (rpmts ts)
| Close the database used by the transaction.
int | rpmtsOpenDB (rpmts ts, int dbmode)
| Open the database used by the transaction.
int | rpmtsInitDB (rpmts ts, int dbmode)
| Initialize the database used by the transaction.
int | rpmtsGetDBMode (rpmts ts)
| Return the transaction database mode.
int | rpmtsSetDBMode (rpmts ts, int dbmode)
| Set the transaction database mode.
int | rpmtsRebuildDB (rpmts ts)
| Rebuild the database used by the transaction.
int | rpmtsVerifyDB (rpmts ts)
| Verify the database used by the transaction.
rpmdbMatchIterator | rpmtsInitIterator (const rpmts ts, rpmTag rpmtag, const void *keyp, size_t keylen)
| Return transaction database iterator.
rpmRC | rpmtsFindPubkey (rpmts ts, pgpDig dig) RPM_GNUC_DEPRECATED
| Retrieve pubkey from rpm database.
rpmRC | rpmtsImportPubkey (rpmts ts, const unsigned char *pkt, size_t pktlen)
| Import public key packet(s).
rpmKeyring | rpmtsGetKeyring (rpmts ts, int autoload)
| Retrieve handle for keyring used for this transaction set.
int | rpmtsSetKeyring (rpmts ts, rpmKeyring keyring)
| Set keyring to use for this transaction set.
int | rpmtsSetSolveCallback (rpmts ts, int(*solve)(rpmts ts, rpmds ds, const void *data), const void *solveData)
| Set dependency solver callback.
rpmps | rpmtsProblems (rpmts ts)
| Return current transaction set problems.
void | rpmtsCleanProblems (rpmts ts)
| Clean current transaction problem set.
void | rpmtsClean (rpmts ts)
| Free memory needed only for dependency checks and ordering.
void | rpmtsEmpty (rpmts ts)
| Re-create an empty transaction set.
rpmts | rpmtsFree (rpmts ts)
| Destroy transaction set, closing the database as well.
rpmVSFlags | rpmtsVSFlags (rpmts ts)
| Get verify signatures flag(s).
rpmVSFlags | rpmtsSetVSFlags (rpmts ts, rpmVSFlags vsflags)
| Set verify signatures flag(s).
int | rpmtsUnorderedSuccessors (rpmts ts, int first)
| Set index of 1st element of successors.
const char * | rpmtsRootDir (rpmts ts)
| Get transaction rootDir, i.e.
int | rpmtsSetRootDir (rpmts ts, const char *rootDir)
| Set transaction rootDir, i.e.
const char * | rpmtsCurrDir (rpmts ts)
| Get transaction currDir, i.e.
void | rpmtsSetCurrDir (rpmts ts, const char *currDir)
| Set transaction currDir, i.e.
FD_t | rpmtsScriptFd (rpmts ts)
| Get transaction script file handle, i.e.
void | rpmtsSetScriptFd (rpmts ts, FD_t scriptFd)
| Set transaction script file handle, i.e.
int | rpmtsSELinuxEnabled (rpmts ts)
| Get selinuxEnabled flag, i.e.
int | rpmtsChrootDone (rpmts ts)
| Get chrootDone flag, i.e.
int | rpmtsSetChrootDone (rpmts ts, int chrootDone)
| Set chrootDone flag, i.e.
rpm_tid_t | rpmtsGetTid (rpmts ts)
| Get transaction id, i.e.
rpm_tid_t | rpmtsSetTid (rpmts ts, rpm_tid_t tid)
| Set transaction id, i.e.
rpmdb | rpmtsGetRdb (rpmts ts)
| Get transaction set database handle.
int | rpmtsInitDSI (const rpmts ts)
| Initialize disk space info for each and every mounted file systems.
void | rpmtsUpdateDSI (const rpmts ts, dev_t dev, rpm_loff_t fileSize, rpm_loff_t prevSize, rpm_loff_t fixupSize, rpmFileAction action)
| Update disk space info for a file.
void | rpmtsCheckDSIProblems (const rpmts ts, const rpmte te)
| Check a transaction element for disk space problems.
void * | rpmtsNotify (rpmts ts, rpmte te, rpmCallbackType what, rpm_loff_t amount, rpm_loff_t total)
| Perform transaction progress notify callback.
int | rpmtsNElements (rpmts ts)
| Return number of (ordered) transaction set elements.
rpmte | rpmtsElement (rpmts ts, int ix)
| Return (ordered) transaction set element.
rpmprobFilterFlags | rpmtsFilterFlags (rpmts ts)
| Get problem ignore bit mask, i.e.
rpmtransFlags | rpmtsFlags (rpmts ts)
| Get transaction flags, i.e.
rpmtransFlags | rpmtsSetFlags (rpmts ts, rpmtransFlags transFlags)
| Set transaction flags, i.e.
rpmSpec | rpmtsSpec (rpmts ts)
| Get spec control structure from transaction set.
rpmSpec | rpmtsSetSpec (rpmts ts, rpmSpec spec)
| Set a spec control structure in transaction set.
rpmte | rpmtsRelocateElement (rpmts ts)
| Get current relocate transaction element.
rpmte | rpmtsSetRelocateElement (rpmts ts, rpmte relocateElement)
| Set current relocate transaction element.
rpm_color_t | rpmtsColor (rpmts ts)
| Retrieve color bits of transaction set.
rpm_color_t | rpmtsPrefColor (rpmts ts)
| Retrieve prefered file color.
rpm_color_t | rpmtsSetColor (rpmts ts, rpm_color_t color)
| Set color bits of transaction set.
rpmop | rpmtsOp (rpmts ts, rpmtsOpX opx)
| Retrieve operation timestamp from a transaction set.
int | rpmtsSetNotifyCallback (rpmts ts, rpmCallbackFunction notify, rpmCallbackData notifyData)
| Set transaction notify callback function and argument.
rpmts | rpmtsCreate (void)
| Create an empty transaction set.
int | rpmtsAddInstallElement (rpmts ts, Header h, const fnpyKey key, int upgrade, rpmRelocation *relocs)
| Add package to be installed to transaction set.
int | rpmtsAddEraseElement (rpmts ts, Header h, int dboffset)
| Add package to be erased to transaction set.
int | rpmtsGetKeys (rpmts ts, fnpyKey **ep, int *nep)
| Retrieve keys from ordered transaction set.

## Variables

int | _rpmts_debug
int | _rpmts_stats
int | _fps_debug

## Detailed Description

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

Definition in file rpmts.h.

## Define Documentation

#define _noTransScripts

Value:

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

Definition at line 67 of file rpmts.h.

Referenced by main().

#define _noTransTriggers

Value:

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

Definition at line 74 of file rpmts.h.

Referenced by main().

#define _RPMVSF_NODIGESTS

Value:

    ( RPMVSF_NOSHA1HEADER | \
        RPMVSF_NOMD5HEADER |        \
        RPMVSF_NOSHA1 |             \
        RPMVSF_NOMD5 )

Definition at line 101 of file rpmts.h.

Referenced by build(), and main().

#define _RPMVSF_NOHEADER

Value:

    ( RPMVSF_NOSHA1HEADER | \
        RPMVSF_NOMD5HEADER |        \
        RPMVSF_NODSAHEADER |        \
        RPMVSF_NORSAHEADER )

Definition at line 113 of file rpmts.h.

#define _RPMVSF_NOPAYLOAD

Value:

    ( RPMVSF_NOSHA1 |               \
        RPMVSF_NOMD5 |              \
        RPMVSF_NODSA |              \
        RPMVSF_NORSA )

Definition at line 119 of file rpmts.h.

#define _RPMVSF_NOSIGNATURES

Value:

    ( RPMVSF_NODSAHEADER |  \
        RPMVSF_NORSAHEADER |        \
        RPMVSF_NODSA |              \
        RPMVSF_NORSA )

Definition at line 107 of file rpmts.h.

Referenced by build(), and main().

## Variable Documentation

int _fps_debug

int _rpmts_debug

int _rpmts_stats