rpm  4.8.1
rpmdb.h
Go to the documentation of this file.
1 #ifndef H_RPMDB
2 #define H_RPMDB
3 
9 #include <rpm/rpmtypes.h>
10 #include <rpm/rpmsw.h>
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 extern int _rpmdb_debug;
17 
21 typedef enum rpmMireMode_e {
26 } rpmMireMode;
27 
28 typedef enum rpmdbOpX_e {
33 } rpmdbOpX;
34 
41 rpmop rpmdbOp(rpmdb db, rpmdbOpX opx);
42 
49 int rpmdbSetChrootDone(rpmdb db, int chrootDone);
50 
57 rpmdb rpmdbUnlink (rpmdb db, const char * msg);
58 
65 rpmdb rpmdbLink (rpmdb db, const char * msg);
66 
75 int rpmdbOpen (const char * prefix, rpmdb * dbp,
76  int mode, int perms);
77 
84 int rpmdbInit(const char * prefix, int perms);
85 
91 int rpmdbVerify(const char * prefix);
92 
99 int rpmdbCloseDBI(rpmdb db, rpmTag rpmtag);
100 
106 int rpmdbClose (rpmdb db);
107 
113 int rpmdbSync (rpmdb db);
114 
120 int rpmdbOpenAll (rpmdb db);
121 
128 int rpmdbCountPackages(rpmdb db, const char * name);
129 
136 
143 
147 
156  const int * hdrNums, int nHdrNums);
157 
168  int * hdrNums, int nHdrNums, int sorted);
169 
179  rpmMireMode mode, const char * pattern);
180 
188 int rpmdbSetIteratorRewrite(rpmdbMatchIterator mi, int rewrite);
189 
196 int rpmdbSetIteratorModified(rpmdbMatchIterator mi, int modified);
197 
206  rpmRC (*hdrchk) (rpmts ts, const void * uh, size_t uc, char ** msg));
207 
217  const void * keyp, size_t keylen);
218 
225 
229 int rpmdbCheckSignals(void);
230 
239 int rpmdbCheckTerminate(int terminate);
240 
247 
257 int rpmdbAdd(rpmdb db, int iid, Header h, rpmts ts,
258  rpmRC (*hdrchk) (rpmts ts, const void *uh, size_t uc, char ** msg));
259 
269 int rpmdbRemove(rpmdb db, int rid, unsigned int hdrNum,
270  rpmts ts,
271  rpmRC (*hdrchk) (rpmts ts, const void *uh, size_t uc, char ** msg));
272 
280 int rpmdbRebuild(const char * prefix, rpmts ts,
281  rpmRC (*hdrchk) (rpmts ts, const void *uh, size_t uc, char ** msg));
282 
283 #ifdef __cplusplus
284 }
285 #endif
286 
287 #endif /* H_RPMDB */
rpmdbMatchIterator rpmdbInitIterator(rpmdb db, rpmTag rpmtag, const void *keyp, size_t keylen)
Return database iterator.
int rpmdbSetChrootDone(rpmdb db, int chrootDone)
Set chrootDone flag, i.e.
int rpmdbRemove(rpmdb db, int rid, unsigned int hdrNum, rpmts ts, rpmRC(*hdrchk)(rpmts ts, const void *uh, size_t uc, char **msg))
Remove package header from rpm database and indices.
int rpmdbOpenAll(rpmdb db)
Open all database indices.
enum rpmMireMode_e rpmMireMode
Tag value pattern match mode.
int rpmdbPruneIterator(rpmdbMatchIterator mi, int *hdrNums, int nHdrNums, int sorted)
Remove items from set of package instances to iterate.
int _rpmdb_debug
int rpmdbRebuild(const char *prefix, rpmts ts, rpmRC(*hdrchk)(rpmts ts, const void *uh, size_t uc, char **msg))
Rebuild database indices from package headers.
int rpmdbSync(rpmdb db)
Sync all database indices.
int rpmdbCheckTerminate(int terminate)
Check rpmdb signal handler for trapped signal and/or requested exit, clean up any open iterators and ...
enum rpmTag_e rpmTag
Tags identify data in package headers.
rpmdb rpmdbLink(rpmdb db, const char *msg)
Reference a database instance.
int rpmdbOpen(const char *prefix, rpmdb *dbp, int mode, int perms)
Open rpm database.
Header rpmdbNextIterator(rpmdbMatchIterator mi)
Return next package header from iteration.
int rpmdbGetIteratorCount(rpmdbMatchIterator mi)
Return number of elements in rpm database iterator.
int rpmdbSetHdrChk(rpmdbMatchIterator mi, rpmts ts, rpmRC(*hdrchk)(rpmts ts, const void *uh, size_t uc, char **msg))
Modify iterator to verify retrieved header blobs.
rpmdbMatchIterator rpmdbFreeIterator(rpmdbMatchIterator mi)
Destroy rpm database iterator.
struct rpmdbMatchIterator_s * rpmdbMatchIterator
Definition: rpmtypes.h:64
int rpmdbSetIteratorModified(rpmdbMatchIterator mi, int modified)
Modify iterator to mark header for lazy write on release.
rpmop rpmdbOp(rpmdb db, rpmdbOpX opx)
Retrieve operation timestamp from rpm database.
rpmdbOpX_e
Definition: rpmdb.h:28
struct rpmdb_s * rpmdb
Definition: rpmtypes.h:63
unsigned int rpmdbGetIteratorFileNum(rpmdbMatchIterator mi)
Cumulative statistics for an operation.
Definition: rpmsw.h:40
int rpmdbSetIteratorRewrite(rpmdbMatchIterator mi, int rewrite)
Prepare iterator for lazy writes.
int rpmdbAdd(rpmdb db, int iid, Header h, rpmts ts, rpmRC(*hdrchk)(rpmts ts, const void *uh, size_t uc, char **msg))
Add package header to rpm database and indices.
enum rpmdbOpX_e rpmdbOpX
int rpmdbCloseDBI(rpmdb db, rpmTag rpmtag)
Close a single database index.
struct rpmts_s * rpmts
The main types involved in transaction manipulation.
Definition: rpmtypes.h:59
int rpmdbClose(rpmdb db)
Close all database indices and free rpmdb.
unsigned int rpmdbGetIteratorOffset(rpmdbMatchIterator mi)
Return header join key for current position of rpm database iterator.
rpmMireMode_e
Tag value pattern match mode.
Definition: rpmdb.h:21
int rpmdbCountPackages(rpmdb db, const char *name)
Return number of instances of package in rpm database.
int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpmTag tag, rpmMireMode mode, const char *pattern)
Add pattern to iterator selector.
int rpmdbAppendIterator(rpmdbMatchIterator mi, const int *hdrNums, int nHdrNums)
Append items to set of package instances to iterate.
rpmdb rpmdbUnlink(rpmdb db, const char *msg)
Unreference a database instance.
int rpmdbVerify(const char *prefix)
Verify database components.
enum rpmRC_e rpmRC
Package read return codes.
int rpmdbCheckSignals(void)
Check for and exit on termination signals.
int rpmdbInit(const char *prefix, int perms)
Initialize database.
struct headerToken_s * Header
RPM header and data retrieval types.
Definition: rpmtypes.h:24