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

rpmdb/rpmdb.h File Reference

Access RPM indices using Berkeley DB interface(s). More...

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

Include dependency graph for rpmdb.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define RSEGFAULT   { if (_rsegfault > 0) assert(--_rsegfault); }
#define WSEGFAULT   { if (_wsegfault > 0) assert(--_wsegfault); }
#define rpmdbUnlink(_db, _msg)   XrpmdbUnlink(_db, _msg, __FILE__, __LINE__)
#define rpmdbLink(_db, _msg)   XrpmdbLink(_db, _msg, __FILE__, __LINE__)

Typedefs

typedef _dbiIndexItem * dbiIndexItem
typedef _dbiIndexSet * dbiIndexSet
 A single element (i.e.
typedef _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 rpmdbCountPackages (rpmdb db, const char *name)
 Return number of instances of package in rpm database.
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 rpmdbCheckSignals (void)
 Check rpmdb signal handler for trapped signal exit.
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
int _rsegfault
int _wsegfault


Detailed Description

Access RPM indices using Berkeley DB interface(s).

Definition in file rpmdb.h.


Define Documentation

#define rpmdbLink _db,
_msg   )     XrpmdbLink(_db, _msg, __FILE__, __LINE__)
 

Definition at line 911 of file rpmdb.h.

Referenced by db3open(), rpmdbInitIterator(), and rpmdbNew().

#define rpmdbUnlink _db,
_msg   )     XrpmdbUnlink(_db, _msg, __FILE__, __LINE__)
 

Definition at line 893 of file rpmdb.h.

Referenced by rpmdbClose(), and rpmdbFreeIterator().

#define RSEGFAULT   { if (_rsegfault > 0) assert(--_rsegfault); }
 

Definition at line 29 of file rpmdb.h.

Referenced by rpmgiShowMatches().

#define WSEGFAULT   { if (_wsegfault > 0) assert(--_wsegfault); }
 

Definition at line 30 of file rpmdb.h.


Typedef Documentation

typedef struct _dbiIndex* dbiIndex
 

Definition at line 56 of file rpmdb.h.

typedef struct _dbiIndexItem* dbiIndexItem
 

Definition at line 47 of file rpmdb.h.


Function Documentation

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.

Parameters:
db rpm database
rpmtag rpm tag (negative to block)
Returns:
0 on success

Definition at line 910 of file rpmdb.c.

Referenced by rpmgiNext().

int rpmdbCloseDBI rpmdb  db,
int  rpmtag
 

Close a single database index.

Parameters:
db rpm database
rpmtag rpm tag
Returns:
0 on success

Definition at line 928 of file rpmdb.c.

Referenced by rpmtsCheck().

rpmdb XrpmdbLink rpmdb  db,
const char *  msg,
const char *  fn,
unsigned  ln
 

Todo:
Remove debugging entry from the ABI.

Definition at line 1275 of file rpmdb.c.

References _rpmdb_debug.

rpmdb XrpmdbUnlink rpmdb  db,
const char *  msg,
const char *  fn,
unsigned  ln
 

Todo:
Remove debugging entry from the ABI.

Definition at line 1265 of file rpmdb.c.

References _rpmdb_debug.


Variable Documentation

int _rpmdb_debug
 

Definition at line 35 of file rpmdb.c.

int _rsegfault
 

Definition at line 38 of file rpmdb.c.

int _wsegfault
 

Definition at line 41 of file rpmdb.c.


Generated on Sat Oct 1 18:00:37 2011 for rpm by  doxygen 1.4.4