#include <assert.h>
#include <rpmlib.h>
#include <mire.h>
#include "db.h"
#include "rpmsw.h"


Go to the source code of this file.
Defines | |
| #define | rpmdbUnlink(_db, _msg) XrpmdbUnlink(_db, _msg, __FILE__, __LINE__) |
| #define | rpmdbLink(_db, _msg) XrpmdbLink(_db, _msg, __FILE__, __LINE__) |
Typedefs | |
| typedef struct _dbiIndexItem * | dbiIndexItem |
| typedef struct _dbiIndexSet * | dbiIndexSet |
| A single element (i.e. | |
| typedef struct _dbiIndex * | dbiIndex |
Enumerations | |
| enum | rpmdbFlags { RPMDB_FLAG_JUSTCHECK = (1 << 0), RPMDB_FLAG_MINIMAL = (1 << 1), RPMDB_FLAG_CHROOT = (1 << 2) } |
Functions | |
| rpmdb | rpmdbUnlink (rpmdb db, const char *msg) |
| Unreference a database instance. | |
| rpmdb | XrpmdbUnlink (rpmdb db, const char *msg, const char *fn, unsigned ln) |
| rpmdb | rpmdbLink (rpmdb db, const char *msg) |
| Reference a database instance. | |
| rpmdb | XrpmdbLink (rpmdb db, const char *msg, const char *fn, unsigned ln) |
| int | rpmdbOpen (const char *prefix, rpmdb *dbp, int mode, int perms) |
| Open rpm database. | |
| int | rpmdbInit (const char *prefix, int perms) |
| Initialize database. | |
| int | rpmdbVerifyAllDBI (rpmdb db) |
| Verify all database components. | |
| int | rpmdbVerify (const char *prefix) |
| Open and verify all database components. | |
| int | rpmdbBlockDBI (rpmdb db, int rpmtag) |
| Block access to a single database index. | |
| int | rpmdbCloseDBI (rpmdb db, int rpmtag) |
| Close a single database index. | |
| 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 | rpmdbCount (rpmdb db, rpmTag tag, const void *keyp, size_t keylen) |
| Return number of instances of key in a tag index. | |
| int | rpmdbCountPackages (rpmdb db, const char *name) |
| Return number of instances of package in Name index. | |
| unsigned int | rpmdbGetIteratorOffset (rpmdbMatchIterator mi) |
| Return header 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 | rpmdbSetIteratorRewrite (rpmdbMatchIterator mi, int rewrite) |
| Prepare iterator for lazy writes. | |
| int | rpmdbSetIteratorModified (rpmdbMatchIterator mi, int modified) |
| Modify iterator to mark header for lazy write on release. | |
| int | rpmdbSetHdrChk (rpmdbMatchIterator mi, rpmts ts, rpmRC(*hdrchk)(rpmts ts, const void *uh, size_t uc, const char **msg)) |
| Modify iterator to verify retrieved header blobs. | |
| rpmdbMatchIterator | rpmdbInitIterator (rpmdb db, rpmTag rpmtag, const void *keyp, size_t keylen) |
| Return database iterator. | |
| Header | rpmdbNextIterator (rpmdbMatchIterator mi) |
| Return next package header from iteration. | |
| int | rpmdbCheckTerminate (int terminate) |
| Check rpmdb signal handler for trapped signal and/or requested exit. | |
| int | rpmdbCheckSignals (void) |
| Check for and exit on termination signals. | |
| rpmdbMatchIterator | rpmdbFreeIterator (rpmdbMatchIterator mi) |
| Destroy rpm database iterator. | |
| int | rpmdbAdd (rpmdb db, int iid, Header h, rpmts ts, rpmRC(*hdrchk)(rpmts ts, const void *uh, size_t uc, const char **msg)) |
| Add package header to rpm database and indices. | |
| int | rpmdbRemove (rpmdb db, int rid, unsigned int hdrNum, rpmts ts, rpmRC(*hdrchk)(rpmts ts, const void *uh, size_t uc, const char **msg)) |
| Remove package header from rpm database and indices. | |
| int | rpmdbRebuild (const char *prefix, rpmts ts, rpmRC(*hdrchk)(rpmts ts, const void *uh, size_t uc, const char **msg)) |
| Rebuild database indices from package headers. | |
| int | mergesort (void *base, size_t nmemb, size_t size, int(*cmp)(const void *, const void *)) |
| Mergesort, same arguments as qsort(2). | |
Variables | |
| int | _rpmdb_debug |
Definition in file rpmdb.h.
| #define rpmdbLink | ( | _db, | |||
| _msg | ) | XrpmdbLink(_db, _msg, __FILE__, __LINE__) |
Definition at line 895 of file rpmdb.h.
Referenced by db3open(), rpmdbInitIterator(), and rpmdbNew().
| #define rpmdbUnlink | ( | _db, | |||
| _msg | ) | XrpmdbUnlink(_db, _msg, __FILE__, __LINE__) |
| typedef struct _dbiIndexItem* dbiIndexItem |
| int mergesort | ( | void * | base, | |
| size_t | nmemb, | |||
| size_t | size, | |||
| int(*)(const void *, const void *) | cmp | |||
| ) |
Mergesort, same arguments as qsort(2).
Definition at line 208 of file merge.c.
References CCOPY_ELT, CCOPY_LIST, errno, EVAL, ICOPY_ELT, ICOPY_LIST, ISIZE, PSIZE, and setup().
Referenced by rpmdbSortIterator().
| int rpmdbBlockDBI | ( | rpmdb | db, | |
| int | rpmtag | |||
| ) |
Block access to a single database index.
| db | rpm database | |
| rpmtag | rpm tag (negative to block) |
Definition at line 912 of file rpmdb.c.
Referenced by rpmgiNext().
| int rpmdbCloseDBI | ( | rpmdb | db, | |
| int | rpmtag | |||
| ) |
Close a single database index.
| db | rpm database | |
| rpmtag | rpm tag |
Definition at line 930 of file rpmdb.c.
Referenced by rpmtsCheck().
Definition at line 1277 of file rpmdb.c.
References _rpmdb_debug.
Definition at line 1267 of file rpmdb.c.
References _rpmdb_debug.
| int _rpmdb_debug |
1.5.7.1