rpm: rpmdb.h Source File

rpm 4.13.0

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 {
20 RPMMIRE_DEFAULT = 0,
21 RPMMIRE_STRCMP = 1,
22 RPMMIRE_REGEX = 2,
23 RPMMIRE_GLOB = 3
24 } rpmMireMode;
25
26 typedef enum rpmdbOpX_e {
27 RPMDB_OP_DBGET = 1,
28 RPMDB_OP_DBPUT = 2,
29 RPMDB_OP_DBDEL = 3,
30 RPMDB_OP_MAX = 4
31 } rpmdbOpX;
32
33 typedef enum rpmdbCtrlOp_e {
34 RPMDB_CTRL_LOCK_RO = 1,
35 RPMDB_CTRL_UNLOCK_RO = 2,
36 RPMDB_CTRL_LOCK_RW = 3,
37 RPMDB_CTRL_UNLOCK_RW = 4,
38 RPMDB_CTRL_INDEXSYNC = 5
39 } rpmdbCtrlOp;
40
47 rpmop rpmdbOp(rpmdb db, rpmdbOpX opx);
48
54 int rpmdbOpenAll (rpmdb db);
55
62 int rpmdbCountPackages(rpmdb db, const char * name);
63
69 unsigned int rpmdbGetIteratorOffset(rpmdbMatchIterator mi);
70
76 int rpmdbGetIteratorCount(rpmdbMatchIterator mi);
77
80 unsigned int rpmdbGetIteratorFileNum(rpmdbMatchIterator mi);
81
89 int rpmdbAppendIterator(rpmdbMatchIterator mi,
90 const unsigned int * hdrNums, unsigned int nHdrNums);
91
100 int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpmTagVal tag,
101 rpmMireMode mode, const char * pattern);
102
110 int rpmdbSetIteratorRewrite(rpmdbMatchIterator mi, int rewrite);
111
118 int rpmdbSetIteratorModified(rpmdbMatchIterator mi, int modified);
119
127 int rpmdbSetHdrChk(rpmdbMatchIterator mi, rpmts ts,
128 rpmRC (*hdrchk) (rpmts ts, const void * uh, size_t uc, char ** msg));
129
138 rpmdbMatchIterator rpmdbInitIterator(rpmdb db, rpmDbiTagVal rpmtag,
139 const void * keyp, size_t keylen);
140
146 Header rpmdbNextIterator(rpmdbMatchIterator mi);
147
151 int rpmdbCheckSignals(void);
152
161 int rpmdbCheckTerminate(int terminate);
162
168 rpmdbMatchIterator rpmdbFreeIterator(rpmdbMatchIterator mi);
169
176 rpmdbIndexIterator rpmdbIndexIteratorInit(rpmdb db, rpmDbiTag rpmtag);
177
186 int rpmdbIndexIteratorNext(rpmdbIndexIterator ii, const void ** key, size_t * keylen);
187
196 int rpmdbIndexIteratorNextTd(rpmdbIndexIterator ii, rpmtd keytd);
197
203 unsigned int rpmdbIndexIteratorNumPkgs(rpmdbIndexIterator ii);
204
211 unsigned int rpmdbIndexIteratorPkgOffset(rpmdbIndexIterator ii, unsigned int nr);
212
219 unsigned int rpmdbIndexIteratorTagNum(rpmdbIndexIterator ii, unsigned int nr);
220
226 rpmdbIndexIterator rpmdbIndexIteratorFree(rpmdbIndexIterator ii);
227
234 int rpmdbCtrl(rpmdb db, rpmdbCtrlOp ctrl);
235
236 #ifdef __cplusplus
237 }
238 #endif
239
240 #endif /* H_RPMDB */
RPMDB_OP_DBPUT
Definition: rpmdb.h:28
rpmdbMatchIterator
struct rpmdbMatchIterator_s * rpmdbMatchIterator
Definition: rpmtypes.h:69
rpmdbSetIteratorRE
int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpmTagVal tag, rpmMireMode mode, const char *pattern)
Add pattern to iterator selector.
rpmdbIndexIteratorPkgOffset
unsigned int rpmdbIndexIteratorPkgOffset(rpmdbIndexIterator ii, unsigned int nr)
Get package offset of entry.
rpmMireMode
enum rpmMireMode_e rpmMireMode
Tag value pattern match mode.
RPMMIRE_REGEX
Definition: rpmdb.h:22
RPMMIRE_STRCMP
Definition: rpmdb.h:21
rpmdbCountPackages
int rpmdbCountPackages(rpmdb db, const char *name)
Return number of instances of package in rpm database.
rpmdbFreeIterator
rpmdbMatchIterator rpmdbFreeIterator(rpmdbMatchIterator mi)
Destroy rpm database iterator.
rpmdbIndexIterator
struct rpmdbIndexIterator_s * rpmdbIndexIterator
Definition: rpmtypes.h:74
RPMDB_CTRL_LOCK_RW
Definition: rpmdb.h:36
rpmts
struct rpmts_s * rpmts
The main types involved in transaction manipulation.
Definition: rpmtypes.h:63
rpmdbIndexIteratorNextTd
int rpmdbIndexIteratorNextTd(rpmdbIndexIterator ii, rpmtd keytd)
Get the next key into a tag data container.
rpmdbIndexIteratorInit
rpmdbIndexIterator rpmdbIndexIteratorInit(rpmdb db, rpmDbiTag rpmtag)
Get an iterator for an index.
rpmdbOp
rpmop rpmdbOp(rpmdb db, rpmdbOpX opx)
Retrieve operation timestamp from rpm database.
rpmdbGetIteratorCount
int rpmdbGetIteratorCount(rpmdbMatchIterator mi)
Return number of elements in rpm database iterator.
rpmdbIndexIteratorNext
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...
RPMDB_OP_DBGET
Definition: rpmdb.h:27
rpmdb
struct rpmdb_s * rpmdb
Definition: rpmtypes.h:68
RPMDB_OP_MAX
Definition: rpmdb.h:30
RPMDB_CTRL_UNLOCK_RO
Definition: rpmdb.h:35
rpmdbCtrlOp
enum rpmdbCtrlOp_e rpmdbCtrlOp
RPMDB_CTRL_INDEXSYNC
Definition: rpmdb.h:38
rpmdbGetIteratorFileNum
unsigned int rpmdbGetIteratorFileNum(rpmdbMatchIterator mi)
RPMDB_CTRL_LOCK_RO
Definition: rpmdb.h:34
rpmdbOpX_e
rpmdbOpX_e
Definition: rpmdb.h:26
RPMDB_CTRL_UNLOCK_RW
Definition: rpmdb.h:37
Header
struct headerToken_s * Header
RPM header and data retrieval types.
Definition: rpmtypes.h:24
rpmdbIndexIteratorFree
rpmdbIndexIterator rpmdbIndexIteratorFree(rpmdbIndexIterator ii)
Free index iterator.
rpmdbSetIteratorModified
int rpmdbSetIteratorModified(rpmdbMatchIterator mi, int modified)
Modify iterator to mark header for lazy write on release.
rpmdbCheckSignals
int rpmdbCheckSignals(void)
Check for and exit on termination signals.
rpmop_s
Cumulative statistics for an operation.
Definition: rpmsw.h:40
rpmdbIndexIteratorNumPkgs
unsigned int rpmdbIndexIteratorNumPkgs(rpmdbIndexIterator ii)
Get number of entries for current key.
rpmTagVal
rpm_tag_t rpmTagVal
Definition: rpmtypes.h:30
rpmdbOpX
enum rpmdbOpX_e rpmdbOpX
rpmDbiTagVal
rpm_tag_t rpmDbiTagVal
Definition: rpmtypes.h:31
RPMDB_OP_DBDEL
Definition: rpmdb.h:29
rpmdbIndexIteratorTagNum
unsigned int rpmdbIndexIteratorTagNum(rpmdbIndexIterator ii, unsigned int nr)
Get tag number of entry.
rpmtd_s
Container for rpm tag data (from headers or extensions).
Definition: rpmtd.h:26
RPMMIRE_DEFAULT
Definition: rpmdb.h:20
rpmMireMode_e
rpmMireMode_e
Tag value pattern match mode.
Definition: rpmdb.h:19
rpmdbCtrl
int rpmdbCtrl(rpmdb db, rpmdbCtrlOp ctrl)
manipulate the rpm database
rpmdbOpenAll
int rpmdbOpenAll(rpmdb db)
Open all database indices.
rpmdbCheckTerminate
int rpmdbCheckTerminate(int terminate)
Check rpmdb signal handler for trapped signal and/or requested exit, clean up any open iterators and ...
rpmdbCtrlOp_e
rpmdbCtrlOp_e
Definition: rpmdb.h:33
rpmdbGetIteratorOffset
unsigned int rpmdbGetIteratorOffset(rpmdbMatchIterator mi)
Return header join key for current position of rpm database iterator.
rpmdbSetHdrChk
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.
rpmdbNextIterator
Header rpmdbNextIterator(rpmdbMatchIterator mi)
Return next package header from iteration.
RPMMIRE_GLOB
Definition: rpmdb.h:23
rpmdbSetIteratorRewrite
int rpmdbSetIteratorRewrite(rpmdbMatchIterator mi, int rewrite)
Prepare iterator for lazy writes.
rpmdbInitIterator
rpmdbMatchIterator rpmdbInitIterator(rpmdb db, rpmDbiTagVal rpmtag, const void *keyp, size_t keylen)
Return database iterator.
rpmDbiTag
enum rpmDbiTag_e rpmDbiTag
Rpm database index tags.
rpmdbAppendIterator
int rpmdbAppendIterator(rpmdbMatchIterator mi, const unsigned int *hdrNums, unsigned int nHdrNums)
Append items to set of package instances to iterate.
rpmRC
enum rpmRC_e rpmRC
Package read return codes.