rpm  4.11.3
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 
19 typedef enum rpmMireMode_e {
24 } rpmMireMode;
25 
26 typedef enum rpmdbOpX_e {
31 } rpmdbOpX;
32 
39 rpmop rpmdbOp(rpmdb db, rpmdbOpX opx);
40 
46 int rpmdbOpenAll (rpmdb db);
47 
54 int rpmdbCountPackages(rpmdb db, const char * name);
55 
62 
69 
73 
82  const int * hdrNums, int nHdrNums);
83 
93  rpmMireMode mode, const char * pattern);
94 
102 int rpmdbSetIteratorRewrite(rpmdbMatchIterator mi, int rewrite);
103 
110 int rpmdbSetIteratorModified(rpmdbMatchIterator mi, int modified);
111 
120  rpmRC (*hdrchk) (rpmts ts, const void * uh, size_t uc, char ** msg));
121 
131  const void * keyp, size_t keylen);
132 
139 
143 int rpmdbCheckSignals(void);
144 
153 int rpmdbCheckTerminate(int terminate);
154 
161 
169 
178 int rpmdbIndexIteratorNext(rpmdbIndexIterator ii, const void ** key, size_t * keylen);
179 
186 
193 unsigned int rpmdbIndexIteratorPkgOffset(rpmdbIndexIterator ii, unsigned int nr);
194 
201 unsigned int rpmdbIndexIteratorTagNum(rpmdbIndexIterator ii, unsigned int nr);
202 
209 
210 
211 #ifdef __cplusplus
212 }
213 #endif
214 
215 #endif /* H_RPMDB */
struct rpmdbMatchIterator_s * rpmdbMatchIterator
Definition: rpmtypes.h:68
int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpmTagVal tag, rpmMireMode mode, const char *pattern)
Add pattern to iterator selector.
unsigned int rpmdbIndexIteratorPkgOffset(rpmdbIndexIterator ii, unsigned int nr)
Get package offset of entry.
int rpmdbAppendIterator(rpmdbMatchIterator mi, const int *hdrNums, int nHdrNums)
Append items to set of package instances to iterate.
enum rpmMireMode_e rpmMireMode
Tag value pattern match mode.
int rpmdbCountPackages(rpmdb db, const char *name)
Return number of instances of package in rpm database.
rpmdbMatchIterator rpmdbFreeIterator(rpmdbMatchIterator mi)
Destroy rpm database iterator.
struct rpmdbIndexIterator_s * rpmdbIndexIterator
Definition: rpmtypes.h:72
struct rpmts_s * rpmts
The main types involved in transaction manipulation.
Definition: rpmtypes.h:63
rpmdbIndexIterator rpmdbIndexIteratorInit(rpmdb db, rpmDbiTag rpmtag)
Get an iterator for an index.
rpmop rpmdbOp(rpmdb db, rpmdbOpX opx)
Retrieve operation timestamp from rpm database.
int rpmdbGetIteratorCount(rpmdbMatchIterator mi)
Return number of elements in rpm database iterator.
int rpmdbIndexIteratorNext(rpmdbIndexIterator ii, const void **key, size_t *keylen)
Get the next key - Warning! Keys are not zero terminated! Binary tags may even contain zero bytes...
struct rpmdb_s * rpmdb
Definition: rpmtypes.h:67
unsigned int rpmdbGetIteratorFileNum(rpmdbMatchIterator mi)
rpmdbOpX_e
Definition: rpmdb.h:26
struct headerToken_s * Header
RPM header and data retrieval types.
Definition: rpmtypes.h:24
rpmdbIndexIterator rpmdbIndexIteratorFree(rpmdbIndexIterator ii)
Free index iterator.
int rpmdbSetIteratorModified(rpmdbMatchIterator mi, int modified)
Modify iterator to mark header for lazy write on release.
int rpmdbCheckSignals(void)
Check for and exit on termination signals.
Cumulative statistics for an operation.
Definition: rpmsw.h:40
unsigned int rpmdbIndexIteratorNumPkgs(rpmdbIndexIterator ii)
Get number of entries for current key.
rpm_tag_t rpmTagVal
Definition: rpmtypes.h:30
enum rpmdbOpX_e rpmdbOpX
static int mode
Definition: rpmdb.c:18
rpm_tag_t rpmDbiTagVal
Definition: rpmtypes.h:31
unsigned int rpmdbIndexIteratorTagNum(rpmdbIndexIterator ii, unsigned int nr)
Get tag number of entry.
rpmMireMode_e
Tag value pattern match mode.
Definition: rpmdb.h:19
int rpmdbOpenAll(rpmdb db)
Open all database indices.
int rpmdbCheckTerminate(int terminate)
Check rpmdb signal handler for trapped signal and/or requested exit, clean up any open iterators and ...
unsigned int rpmdbGetIteratorOffset(rpmdbMatchIterator mi)
Return header join key for current position of 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.
Header rpmdbNextIterator(rpmdbMatchIterator mi)
Return next package header from iteration.
int rpmdbSetIteratorRewrite(rpmdbMatchIterator mi, int rewrite)
Prepare iterator for lazy writes.
rpmdbMatchIterator rpmdbInitIterator(rpmdb db, rpmDbiTagVal rpmtag, const void *keyp, size_t keylen)
Return database iterator.
enum rpmDbiTag_e rpmDbiTag
Rpm database index tags.
enum rpmRC_e rpmRC
Package read return codes.