Opening & accessing the RPM database.
More...
|
| rpmop | rpmdbOp (rpmdb db, rpmdbOpX opx) |
| |
| int | rpmdbOpenAll (rpmdb db) |
| |
| int | rpmdbCountPackages (rpmdb db, const char *name) |
| |
| unsigned int | rpmdbGetIteratorOffset (rpmdbMatchIterator mi) |
| |
| int | rpmdbGetIteratorCount (rpmdbMatchIterator mi) |
| |
| unsigned int | rpmdbGetIteratorFileNum (rpmdbMatchIterator mi) |
| |
| int | rpmdbAppendIterator (rpmdbMatchIterator mi, const unsigned int *hdrNums, unsigned int nHdrNums) |
| |
| int | rpmdbSetIteratorRE (rpmdbMatchIterator mi, rpmTagVal tag, rpmMireMode mode, const char *pattern) |
| |
| int | rpmdbSetIteratorRewrite (rpmdbMatchIterator mi, int rewrite) |
| |
| int | rpmdbSetIteratorModified (rpmdbMatchIterator mi, int modified) |
| |
| int | rpmdbSetHdrChk (rpmdbMatchIterator mi, rpmts ts, rpmRC(*hdrchk)(rpmts ts, const void *uh, size_t uc, char **msg)) |
| |
| rpmdbMatchIterator | rpmdbInitIterator (rpmdb db, rpmDbiTagVal rpmtag, const void *keyp, size_t keylen) |
| |
| Header | rpmdbNextIterator (rpmdbMatchIterator mi) |
| |
| rpmdbMatchIterator | rpmdbFreeIterator (rpmdbMatchIterator mi) |
| |
| rpmdbIndexIterator | rpmdbIndexKeyIteratorInit (rpmdb db, rpmDbiTag rpmtag) |
| |
| rpmdbIndexIterator | rpmdbIndexIteratorInit (rpmdb db, rpmDbiTag rpmtag) |
| |
| int | rpmdbIndexIteratorNext (rpmdbIndexIterator ii, const void **key, size_t *keylen) |
| |
| int | rpmdbIndexIteratorNextTd (rpmdbIndexIterator ii, rpmtd keytd) |
| |
| unsigned int | rpmdbIndexIteratorNumPkgs (rpmdbIndexIterator ii) |
| |
| unsigned int | rpmdbIndexIteratorPkgOffset (rpmdbIndexIterator ii, unsigned int nr) |
| |
| unsigned int | rpmdbIndexIteratorTagNum (rpmdbIndexIterator ii, unsigned int nr) |
| |
| rpmdbIndexIterator | rpmdbIndexIteratorFree (rpmdbIndexIterator ii) |
| |
| int | rpmdbCtrl (rpmdb db, rpmdbCtrlOp ctrl) |
| |
| char * | rpmdbCookie (rpmdb db) |
| |
| int | rpmdbStat (const char *prefix, struct stat *statbuf) |
| |
| int | rpmdbFStat (rpmdb db, struct stat *statbuf) |
| |
Opening & accessing the RPM database.
◆ rpmdbAppendIterator()
| int rpmdbAppendIterator |
( |
rpmdbMatchIterator | mi, |
|
|
const unsigned int * | hdrNums, |
|
|
unsigned int | nHdrNums ) |
Append items to set of package instances to iterate.
- Parameters
-
| mi | rpm database iterator |
| hdrNums | array of package instances |
| nHdrNums | number of elements in array |
- Returns
- 0 on success, 1 on failure (bad args)
◆ rpmdbCookie()
| char * rpmdbCookie |
( |
rpmdb | db | ) |
|
Retrieve rpm database changed-cookie. Useful for eg. determining cache validity.
- Parameters
-
- Returns
- cookie string (malloced), or NULL on error
◆ rpmdbCountPackages()
| int rpmdbCountPackages |
( |
rpmdb | db, |
|
|
const char * | name ) |
Return number of instances of package in rpm database.
- Parameters
-
| db | rpm database |
| name | rpm package name |
- Returns
- number of instances
◆ rpmdbCtrl()
| int rpmdbCtrl |
( |
rpmdb | db, |
|
|
rpmdbCtrlOp | ctrl ) |
manipulate the rpm database
- Parameters
-
| db | rpm database |
| ctrl | operation |
- Returns
- 0 on success; != 0 on error
◆ rpmdbFreeIterator()
| rpmdbMatchIterator rpmdbFreeIterator |
( |
rpmdbMatchIterator | mi | ) |
|
Destroy rpm database iterator.
- Parameters
-
- Returns
- NULL always
◆ rpmdbFStat()
| int rpmdbFStat |
( |
rpmdb | db, |
|
|
struct stat * | statbuf ) |
Perform stat() on an open rpm database
- Parameters
-
| db | rpm database |
| [out] | statbuf | returned data from stat() |
- Returns
- 0 on success, -1 on error
◆ rpmdbGetIteratorCount()
| int rpmdbGetIteratorCount |
( |
rpmdbMatchIterator | mi | ) |
|
Return number of elements in rpm database iterator.
- Parameters
-
- Returns
- number of elements
◆ rpmdbGetIteratorFileNum()
| unsigned int rpmdbGetIteratorFileNum |
( |
rpmdbMatchIterator | mi | ) |
|
Return index to the array of elements (eg files) being iterated.
- Parameters
-
- Returns
- array index
◆ rpmdbGetIteratorOffset()
| unsigned int rpmdbGetIteratorOffset |
( |
rpmdbMatchIterator | mi | ) |
|
Return header join key for current position of rpm database iterator.
- Parameters
-
- Returns
- current header join key
◆ rpmdbIndexIteratorFree()
| rpmdbIndexIterator rpmdbIndexIteratorFree |
( |
rpmdbIndexIterator | ii | ) |
|
Free index iterator
- Parameters
-
| ii | index iterator return NULL |
◆ rpmdbIndexIteratorInit()
| rpmdbIndexIterator rpmdbIndexIteratorInit |
( |
rpmdb | db, |
|
|
rpmDbiTag | rpmtag ) |
Get an iterator for an index
- Parameters
-
| db | rpm database |
| rpmtag | the index to iterate over |
- Returns
- the index 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
- Parameters
-
| ii | index iterator |
| key | address to save the pointer to the key |
| keylen | address to save the length of the key to |
- Returns
- 0 on success; != 0 on error or end of index
◆ rpmdbIndexIteratorNextTd()
| int rpmdbIndexIteratorNextTd |
( |
rpmdbIndexIterator | ii, |
|
|
rpmtd | keytd ) |
Get the next key into a tag data container. Caller is responsible for calling rpmtdFreeData() to freeing the data returned in keytd once done with it.
- Parameters
-
| ii | index iterator |
| keytd | tag container to store the key in |
- Returns
- 0 on success; != 0 on error or end of index
◆ rpmdbIndexIteratorNumPkgs()
| unsigned int rpmdbIndexIteratorNumPkgs |
( |
rpmdbIndexIterator | ii | ) |
|
Get number of entries for current key
- Parameters
-
- Returns
- number of entries. 0 on error.
◆ rpmdbIndexIteratorPkgOffset()
| unsigned int rpmdbIndexIteratorPkgOffset |
( |
rpmdbIndexIterator | ii, |
|
|
unsigned int | nr ) |
Get package offset of entry
- Parameters
-
| ii | index iterator |
| nr | number of the entry |
- Returns
- db offset of pkg
◆ rpmdbIndexIteratorTagNum()
| unsigned int rpmdbIndexIteratorTagNum |
( |
rpmdbIndexIterator | ii, |
|
|
unsigned int | nr ) |
Get tag number of entry
- Parameters
-
| ii | index iterator |
| nr | number of the entry |
- Returns
- number of tag within the package
◆ rpmdbIndexKeyIteratorInit()
| rpmdbIndexIterator rpmdbIndexKeyIteratorInit |
( |
rpmdb | db, |
|
|
rpmDbiTag | rpmtag ) |
Get an iterator for index keys
- Parameters
-
| db | rpm database |
| rpmtag | the index to iterate over |
- Returns
- the index iterator
◆ rpmdbInitIterator()
| rpmdbMatchIterator rpmdbInitIterator |
( |
rpmdb | db, |
|
|
rpmDbiTagVal | rpmtag, |
|
|
const void * | keyp, |
|
|
size_t | keylen ) |
Return database iterator.
- Parameters
-
| db | rpm database |
| rpmtag | database index tag |
| keyp | key data (NULL for sequential access) |
| keylen | key data length (0 will use strlen(keyp)) |
- Returns
- NULL on failure
◆ rpmdbNextIterator()
| Header rpmdbNextIterator |
( |
rpmdbMatchIterator | mi | ) |
|
Return next package header from iteration.
- Parameters
-
- Returns
- NULL on end of iteration.
◆ rpmdbOp()
| rpmop rpmdbOp |
( |
rpmdb | db, |
|
|
rpmdbOpX | opx ) |
Retrieve operation timestamp from rpm database.
- Parameters
-
| db | rpm database |
| opx | operation timestamp index |
- Returns
- pointer to operation timestamp.
◆ rpmdbOpenAll()
| int rpmdbOpenAll |
( |
rpmdb | db | ) |
|
Open all database indices.
- Parameters
-
- Returns
- 0 on success
◆ rpmdbSetHdrChk()
| int rpmdbSetHdrChk |
( |
rpmdbMatchIterator | mi, |
|
|
rpmts | ts, |
|
|
rpmRC(*)(rpmts ts, const void *uh, size_t uc, char **msg) | hdrchk ) |
Modify iterator to verify retrieved header blobs.
- Parameters
-
| mi | rpm database iterator |
| ts | transaction set |
| (*hdrchk) | headerCheck() vector |
- Returns
- 0 always
◆ rpmdbSetIteratorModified()
| int rpmdbSetIteratorModified |
( |
rpmdbMatchIterator | mi, |
|
|
int | modified ) |
Modify iterator to mark header for lazy write on release.
- Parameters
-
| mi | rpm database iterator |
| modified | new value of modified |
- Returns
- previous value
◆ rpmdbSetIteratorRE()
| int rpmdbSetIteratorRE |
( |
rpmdbMatchIterator | mi, |
|
|
rpmTagVal | tag, |
|
|
rpmMireMode | mode, |
|
|
const char * | pattern ) |
Add pattern to iterator selector.
- Parameters
-
| mi | rpm database iterator |
| tag | rpm tag |
| mode | type of pattern match |
| pattern | pattern to match |
- Returns
- 0 on success
◆ rpmdbSetIteratorRewrite()
| int rpmdbSetIteratorRewrite |
( |
rpmdbMatchIterator | mi, |
|
|
int | rewrite ) |
Prepare iterator for lazy writes.
- Note
- Must be called before rpmdbNextIterator() with CDB model database.
- Parameters
-
| mi | rpm database iterator |
| rewrite | new value of rewrite |
- Returns
- previous value
◆ rpmdbStat()
| int rpmdbStat |
( |
const char * | prefix, |
|
|
struct stat * | statbuf ) |
Perform stat() on rpm database
- Parameters
-
| prefix | prefix or NULL for / |
| [out] | statbuf | returned data from stat() |
- Returns
- 0 on success, -1 on error