Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>rpm: Database API.</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">rpm
   &#160;<span id="projectnumber">4.14.3-rc1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#files">Files</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Database API.<div class="ingroups"><a class="el" href="group__io.html">I/O</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Opening &amp; accessing the RPM indices using Berkeley DB (the so called rpmdb)  
<a href="#details">More...</a></p>
<div class="dynheader">
Collaboration diagram for Database API.:</div>
<div class="dyncontent">
<center><table><tr><td><img src="group__rpmdb.png" border="0" alt="" usemap="#group____rpmdb"/>
<map name="group____rpmdb" id="group____rpmdb">
<area shape="rect"  href="group__header.html" title="How to manipulate package headers (which carries all information about a package)." alt="" coords="336,5,435,31"/>
<area shape="rect"  href="group__rpmcli.html" title="Parsing RPM command line arguments." alt="" coords="311,55,460,80"/>
<area shape="rect"  title="Opening &amp; accessing the RPM indices using Berkeley DB (the so called rpmdb)" alt="" coords="95,80,208,105"/>
<area shape="rect"  href="group__signature.html" title="List of signature tags." alt="" coords="312,104,459,129"/>
<area shape="rect"  href="group__rpmrc.html" title="Reading config files and getting some important configuration values." alt="" coords="350,153,421,179"/>
<area shape="rect"  href="group__io.html" title=" " alt="" coords="5,80,45,105"/>
</map>
</td></tr></table></center>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:rpmdb_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpmdb_8h.html">rpmdb.h</a></td></tr>
<tr class="memdesc:rpmdb_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">RPM database API. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:rpmlib_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpmlib_8h.html">rpmlib.h</a></td></tr>
<tr class="memdesc:rpmlib_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">In Memoriam: Steve Taylor <a href="#" onclick="location.href='mai'+'lto:'+'sta'+'yl'+'or@'+'re'+'dha'+'t.'+'com'; return false;">stayl<span style="display: none;">.nosp@m.</span>or@r<span style="display: none;">.nosp@m.</span>edhat<span style="display: none;">.nosp@m.</span>.com</a> was here, now he's not. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gad2812f8713dad6352cad36277875c2c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmsw.html#ga94f0970d0256edb3a66fbf260bbfec6f">rpmop</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#gad2812f8713dad6352cad36277875c2c8">rpmdbOp</a> (<a class="el" href="group__rpmtypes.html#gaaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> db, <a class="el" href="rpmdb_8h.html#a0eb431e400ff038d2f9827f3694a110c">rpmdbOpX</a> opx)</td></tr>
<tr class="memdesc:gad2812f8713dad6352cad36277875c2c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve operation timestamp from rpm database.  <a href="#gad2812f8713dad6352cad36277875c2c8">More...</a><br /></td></tr>
<tr class="separator:gad2812f8713dad6352cad36277875c2c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac046aa1ef6c0d47b3857ff6afd6af3e6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#gac046aa1ef6c0d47b3857ff6afd6af3e6">rpmdbOpenAll</a> (<a class="el" href="group__rpmtypes.html#gaaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> db)</td></tr>
<tr class="memdesc:gac046aa1ef6c0d47b3857ff6afd6af3e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open all database indices.  <a href="#gac046aa1ef6c0d47b3857ff6afd6af3e6">More...</a><br /></td></tr>
<tr class="separator:gac046aa1ef6c0d47b3857ff6afd6af3e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga411b4d901d2f4953f9674c104973d4f8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#ga411b4d901d2f4953f9674c104973d4f8">rpmdbCountPackages</a> (<a class="el" href="group__rpmtypes.html#gaaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> db, const char *name)</td></tr>
<tr class="memdesc:ga411b4d901d2f4953f9674c104973d4f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return number of instances of package in rpm database.  <a href="#ga411b4d901d2f4953f9674c104973d4f8">More...</a><br /></td></tr>
<tr class="separator:ga411b4d901d2f4953f9674c104973d4f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4fefb65ede996aa0edcc80286ca640d1"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#ga4fefb65ede996aa0edcc80286ca640d1">rpmdbGetIteratorOffset</a> (<a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi)</td></tr>
<tr class="memdesc:ga4fefb65ede996aa0edcc80286ca640d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return header join key for current position of rpm database iterator.  <a href="#ga4fefb65ede996aa0edcc80286ca640d1">More...</a><br /></td></tr>
<tr class="separator:ga4fefb65ede996aa0edcc80286ca640d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b2fac12a598a46a3f0780fab05839a0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#ga0b2fac12a598a46a3f0780fab05839a0">rpmdbGetIteratorCount</a> (<a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi)</td></tr>
<tr class="memdesc:ga0b2fac12a598a46a3f0780fab05839a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return number of elements in rpm database iterator.  <a href="#ga0b2fac12a598a46a3f0780fab05839a0">More...</a><br /></td></tr>
<tr class="separator:ga0b2fac12a598a46a3f0780fab05839a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29c0127269b1e724bab21c1242317122"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#ga29c0127269b1e724bab21c1242317122">rpmdbGetIteratorFileNum</a> (<a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi)</td></tr>
<tr class="separator:ga29c0127269b1e724bab21c1242317122"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39c775caec250f5c58cf914da5c29483"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#ga39c775caec250f5c58cf914da5c29483">rpmdbAppendIterator</a> (<a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi, const unsigned int *hdrNums, unsigned int nHdrNums)</td></tr>
<tr class="memdesc:ga39c775caec250f5c58cf914da5c29483"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append items to set of package instances to iterate.  <a href="#ga39c775caec250f5c58cf914da5c29483">More...</a><br /></td></tr>
<tr class="separator:ga39c775caec250f5c58cf914da5c29483"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafc60a6b0e9387d04f73d00db4b0a3f9c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#gafc60a6b0e9387d04f73d00db4b0a3f9c">rpmdbSetIteratorRE</a> (<a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi, <a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a> tag, <a class="el" href="rpmdb_8h.html#a5d484afc8c793389ed9ce400cdf7551f">rpmMireMode</a> mode, const char *pattern)</td></tr>
<tr class="memdesc:gafc60a6b0e9387d04f73d00db4b0a3f9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add pattern to iterator selector.  <a href="#gafc60a6b0e9387d04f73d00db4b0a3f9c">More...</a><br /></td></tr>
<tr class="separator:gafc60a6b0e9387d04f73d00db4b0a3f9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacb4ad7f6238ce9caaa37b7c7dc6cec69"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#gacb4ad7f6238ce9caaa37b7c7dc6cec69">rpmdbSetIteratorRewrite</a> (<a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi, int rewrite)</td></tr>
<tr class="memdesc:gacb4ad7f6238ce9caaa37b7c7dc6cec69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prepare iterator for lazy writes.  <a href="#gacb4ad7f6238ce9caaa37b7c7dc6cec69">More...</a><br /></td></tr>
<tr class="separator:gacb4ad7f6238ce9caaa37b7c7dc6cec69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa21b317118dfc602bbe4636222842e39"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#gaa21b317118dfc602bbe4636222842e39">rpmdbSetIteratorModified</a> (<a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi, int modified)</td></tr>
<tr class="memdesc:gaa21b317118dfc602bbe4636222842e39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modify iterator to mark header for lazy write on release.  <a href="#gaa21b317118dfc602bbe4636222842e39">More...</a><br /></td></tr>
<tr class="separator:gaa21b317118dfc602bbe4636222842e39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8a7c949f2c9716f9d8029090ab67d227"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#ga8a7c949f2c9716f9d8029090ab67d227">rpmdbSetHdrChk</a> (<a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi, <a class="el" href="group__rpmtypes.html#ga1a512138316a227059ca128597dbd464">rpmts</a> ts, <a class="el" href="group__rpmtypes.html#ga06da857c39457bfb6ea9049643fdb706">rpmRC</a>(*hdrchk)(<a class="el" href="group__rpmtypes.html#ga1a512138316a227059ca128597dbd464">rpmts</a> ts, const void *uh, size_t uc, char **msg))</td></tr>
<tr class="memdesc:ga8a7c949f2c9716f9d8029090ab67d227"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modify iterator to verify retrieved header blobs.  <a href="#ga8a7c949f2c9716f9d8029090ab67d227">More...</a><br /></td></tr>
<tr class="separator:ga8a7c949f2c9716f9d8029090ab67d227"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2205e0dda0f97787716747d1c59aa295"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#ga2205e0dda0f97787716747d1c59aa295">rpmdbInitIterator</a> (<a class="el" href="group__rpmtypes.html#gaaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> db, <a class="el" href="group__rpmtypes.html#ga3030f7a34d7fba30b2c3db69e59fb7e4">rpmDbiTagVal</a> rpmtag, const void *keyp, size_t keylen)</td></tr>
<tr class="memdesc:ga2205e0dda0f97787716747d1c59aa295"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return database iterator.  <a href="#ga2205e0dda0f97787716747d1c59aa295">More...</a><br /></td></tr>
<tr class="separator:ga2205e0dda0f97787716747d1c59aa295"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa20413aa4018cf32e700decc7dba83f3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#gaa20413aa4018cf32e700decc7dba83f3">rpmdbNextIterator</a> (<a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi)</td></tr>
<tr class="memdesc:gaa20413aa4018cf32e700decc7dba83f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return next package header from iteration.  <a href="#gaa20413aa4018cf32e700decc7dba83f3">More...</a><br /></td></tr>
<tr class="separator:gaa20413aa4018cf32e700decc7dba83f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7d328106a65ab43bbef20b9897e463a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#ga7d328106a65ab43bbef20b9897e463a4">rpmdbFreeIterator</a> (<a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi)</td></tr>
<tr class="memdesc:ga7d328106a65ab43bbef20b9897e463a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy rpm database iterator.  <a href="#ga7d328106a65ab43bbef20b9897e463a4">More...</a><br /></td></tr>
<tr class="separator:ga7d328106a65ab43bbef20b9897e463a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3905bb930bee118d78d1304218fd00b2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#ga3905bb930bee118d78d1304218fd00b2">rpmdbIndexIteratorInit</a> (<a class="el" href="group__rpmtypes.html#gaaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> db, <a class="el" href="group__rpmtag.html#ga4fe7893ed1468517b082fca8c5523762">rpmDbiTag</a> rpmtag)</td></tr>
<tr class="memdesc:ga3905bb930bee118d78d1304218fd00b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an iterator for an index.  <a href="#ga3905bb930bee118d78d1304218fd00b2">More...</a><br /></td></tr>
<tr class="separator:ga3905bb930bee118d78d1304218fd00b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad6d316f5233ce0a3ea6a3f5a96bb9324"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#gad6d316f5233ce0a3ea6a3f5a96bb9324">rpmdbIndexIteratorNext</a> (<a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a> ii, const void **key, size_t *keylen)</td></tr>
<tr class="memdesc:gad6d316f5233ce0a3ea6a3f5a96bb9324"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the next key - Warning! Keys are not zero terminated! Binary tags may even contain zero bytes.  <a href="#gad6d316f5233ce0a3ea6a3f5a96bb9324">More...</a><br /></td></tr>
<tr class="separator:gad6d316f5233ce0a3ea6a3f5a96bb9324"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga06982e437fb4709c6a3997284c5b57aa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#ga06982e437fb4709c6a3997284c5b57aa">rpmdbIndexIteratorNextTd</a> (<a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a> ii, <a class="el" href="group__rpmtypes.html#ga49f411ddc672b0d8e0fbd9d9f2dcf0ae">rpmtd</a> keytd)</td></tr>
<tr class="memdesc:ga06982e437fb4709c6a3997284c5b57aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the next key into a tag data container.  <a href="#ga06982e437fb4709c6a3997284c5b57aa">More...</a><br /></td></tr>
<tr class="separator:ga06982e437fb4709c6a3997284c5b57aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga23ade545e5fc8803aa4ebaabe3822531"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#ga23ade545e5fc8803aa4ebaabe3822531">rpmdbIndexIteratorNumPkgs</a> (<a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a> ii)</td></tr>
<tr class="memdesc:ga23ade545e5fc8803aa4ebaabe3822531"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of entries for current key.  <a href="#ga23ade545e5fc8803aa4ebaabe3822531">More...</a><br /></td></tr>
<tr class="separator:ga23ade545e5fc8803aa4ebaabe3822531"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf95215187aaf73b48c578af293d7fe90"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#gaf95215187aaf73b48c578af293d7fe90">rpmdbIndexIteratorPkgOffset</a> (<a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a> ii, unsigned int nr)</td></tr>
<tr class="memdesc:gaf95215187aaf73b48c578af293d7fe90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get package offset of entry.  <a href="#gaf95215187aaf73b48c578af293d7fe90">More...</a><br /></td></tr>
<tr class="separator:gaf95215187aaf73b48c578af293d7fe90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga64de9f356bcc320bb46819e4d87efb03"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#ga64de9f356bcc320bb46819e4d87efb03">rpmdbIndexIteratorTagNum</a> (<a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a> ii, unsigned int nr)</td></tr>
<tr class="memdesc:ga64de9f356bcc320bb46819e4d87efb03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get tag number of entry.  <a href="#ga64de9f356bcc320bb46819e4d87efb03">More...</a><br /></td></tr>
<tr class="separator:ga64de9f356bcc320bb46819e4d87efb03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b49f419240c5a354beff76dab3dacfb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#ga5b49f419240c5a354beff76dab3dacfb">rpmdbIndexIteratorFree</a> (<a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a> ii)</td></tr>
<tr class="memdesc:ga5b49f419240c5a354beff76dab3dacfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free index iterator.  <a href="#ga5b49f419240c5a354beff76dab3dacfb">More...</a><br /></td></tr>
<tr class="separator:ga5b49f419240c5a354beff76dab3dacfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1d20322c077eb82a0cb9c82b202acb57"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmdb.html#ga1d20322c077eb82a0cb9c82b202acb57">rpmdbCtrl</a> (<a class="el" href="group__rpmtypes.html#gaaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> db, <a class="el" href="rpmdb_8h.html#a1d92aa88cc1e5c6dc6df032d29b8c963">rpmdbCtrlOp</a> ctrl)</td></tr>
<tr class="memdesc:ga1d20322c077eb82a0cb9c82b202acb57"><td class="mdescLeft">&#160;</td><td class="mdescRight">manipulate the rpm database  <a href="#ga1d20322c077eb82a0cb9c82b202acb57">More...</a><br /></td></tr>
<tr class="separator:ga1d20322c077eb82a0cb9c82b202acb57"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Opening &amp; accessing the RPM indices using Berkeley DB (the so called rpmdb) </p>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga39c775caec250f5c58cf914da5c29483"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga39c775caec250f5c58cf914da5c29483">&#9670;&nbsp;</a></span>rpmdbAppendIterator()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rpmdbAppendIterator </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td>
          <td class="paramname"><em>mi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned int *&#160;</td>
          <td class="paramname"><em>hdrNums</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>nHdrNums</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Append items to set of package instances to iterate. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mi</td><td>rpm database iterator </td></tr>
    <tr><td class="paramname">hdrNums</td><td>array of package instances </td></tr>
    <tr><td class="paramname">nHdrNums</td><td>number of elements in array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, 1 on failure (bad args) </dd></dl>

</div>
</div>
<a id="ga411b4d901d2f4953f9674c104973d4f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga411b4d901d2f4953f9674c104973d4f8">&#9670;&nbsp;</a></span>rpmdbCountPackages()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rpmdbCountPackages </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a>&#160;</td>
          <td class="paramname"><em>db</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return number of instances of package in rpm database. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">db</td><td>rpm database </td></tr>
    <tr><td class="paramname">name</td><td>rpm package name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of instances </dd></dl>

</div>
</div>
<a id="ga1d20322c077eb82a0cb9c82b202acb57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1d20322c077eb82a0cb9c82b202acb57">&#9670;&nbsp;</a></span>rpmdbCtrl()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rpmdbCtrl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a>&#160;</td>
          <td class="paramname"><em>db</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="rpmdb_8h.html#a1d92aa88cc1e5c6dc6df032d29b8c963">rpmdbCtrlOp</a>&#160;</td>
          <td class="paramname"><em>ctrl</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>manipulate the rpm database </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">db</td><td>rpm database </td></tr>
    <tr><td class="paramname">ctrl</td><td>operation </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success; != 0 on error </dd></dl>

</div>
</div>
<a id="ga7d328106a65ab43bbef20b9897e463a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7d328106a65ab43bbef20b9897e463a4">&#9670;&nbsp;</a></span>rpmdbFreeIterator()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> rpmdbFreeIterator </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td>
          <td class="paramname"><em>mi</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destroy rpm database iterator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mi</td><td>rpm database iterator </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>NULL always </dd></dl>

</div>
</div>
<a id="ga0b2fac12a598a46a3f0780fab05839a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0b2fac12a598a46a3f0780fab05839a0">&#9670;&nbsp;</a></span>rpmdbGetIteratorCount()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rpmdbGetIteratorCount </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td>
          <td class="paramname"><em>mi</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return number of elements in rpm database iterator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mi</td><td>rpm database iterator </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of elements </dd></dl>

</div>
</div>
<a id="ga29c0127269b1e724bab21c1242317122"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga29c0127269b1e724bab21c1242317122">&#9670;&nbsp;</a></span>rpmdbGetIteratorFileNum()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int rpmdbGetIteratorFileNum </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td>
          <td class="paramname"><em>mi</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ga4fefb65ede996aa0edcc80286ca640d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4fefb65ede996aa0edcc80286ca640d1">&#9670;&nbsp;</a></span>rpmdbGetIteratorOffset()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int rpmdbGetIteratorOffset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td>
          <td class="paramname"><em>mi</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return header join key for current position of rpm database iterator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mi</td><td>rpm database iterator </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>current header join key </dd></dl>

</div>
</div>
<a id="ga5b49f419240c5a354beff76dab3dacfb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5b49f419240c5a354beff76dab3dacfb">&#9670;&nbsp;</a></span>rpmdbIndexIteratorFree()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a> rpmdbIndexIteratorFree </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a>&#160;</td>
          <td class="paramname"><em>ii</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free index iterator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ii</td><td>index iterator return NULL </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga3905bb930bee118d78d1304218fd00b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3905bb930bee118d78d1304218fd00b2">&#9670;&nbsp;</a></span>rpmdbIndexIteratorInit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a> rpmdbIndexIteratorInit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a>&#160;</td>
          <td class="paramname"><em>db</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__rpmtag.html#ga4fe7893ed1468517b082fca8c5523762">rpmDbiTag</a>&#160;</td>
          <td class="paramname"><em>rpmtag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get an iterator for an index. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">db</td><td>rpm database </td></tr>
    <tr><td class="paramname">rpmtag</td><td>the index to iterate over </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the index iterator </dd></dl>

</div>
</div>
<a id="gad6d316f5233ce0a3ea6a3f5a96bb9324"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad6d316f5233ce0a3ea6a3f5a96bb9324">&#9670;&nbsp;</a></span>rpmdbIndexIteratorNext()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rpmdbIndexIteratorNext </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a>&#160;</td>
          <td class="paramname"><em>ii</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void **&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>keylen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the next key - Warning! Keys are not zero terminated! Binary tags may even contain zero bytes. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ii</td><td>index iterator </td></tr>
    <tr><td class="paramname">key</td><td>address to save the pointer to the key </td></tr>
    <tr><td class="paramname">keylen</td><td>address to save the length of the key to </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success; != 0 on error or end of index </dd></dl>

</div>
</div>
<a id="ga06982e437fb4709c6a3997284c5b57aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga06982e437fb4709c6a3997284c5b57aa">&#9670;&nbsp;</a></span>rpmdbIndexIteratorNextTd()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rpmdbIndexIteratorNextTd </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a>&#160;</td>
          <td class="paramname"><em>ii</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga49f411ddc672b0d8e0fbd9d9f2dcf0ae">rpmtd</a>&#160;</td>
          <td class="paramname"><em>keytd</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the next key into a tag data container. </p>
<p>Caller is responsible for calling <a class="el" href="group__rpmtd.html#ga396c66398076f6d76c58a433cc3a9fa8" title="Free contained data.">rpmtdFreeData()</a> to freeing the data returned in keytd once done with it. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ii</td><td>index iterator </td></tr>
    <tr><td class="paramname">keytd</td><td>tag container to store the key in </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success; != 0 on error or end of index </dd></dl>

</div>
</div>
<a id="ga23ade545e5fc8803aa4ebaabe3822531"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga23ade545e5fc8803aa4ebaabe3822531">&#9670;&nbsp;</a></span>rpmdbIndexIteratorNumPkgs()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int rpmdbIndexIteratorNumPkgs </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a>&#160;</td>
          <td class="paramname"><em>ii</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get number of entries for current key. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ii</td><td>index iterator </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of entries. 0 on error. </dd></dl>

</div>
</div>
<a id="gaf95215187aaf73b48c578af293d7fe90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf95215187aaf73b48c578af293d7fe90">&#9670;&nbsp;</a></span>rpmdbIndexIteratorPkgOffset()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int rpmdbIndexIteratorPkgOffset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a>&#160;</td>
          <td class="paramname"><em>ii</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>nr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get package offset of entry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ii</td><td>index iterator </td></tr>
    <tr><td class="paramname">nr</td><td>number of the entry </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>db offset of pkg </dd></dl>

</div>
</div>
<a id="ga64de9f356bcc320bb46819e4d87efb03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga64de9f356bcc320bb46819e4d87efb03">&#9670;&nbsp;</a></span>rpmdbIndexIteratorTagNum()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int rpmdbIndexIteratorTagNum </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a>&#160;</td>
          <td class="paramname"><em>ii</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>nr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get tag number of entry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ii</td><td>index iterator </td></tr>
    <tr><td class="paramname">nr</td><td>number of the entry </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of tag within the package </dd></dl>

</div>
</div>
<a id="ga2205e0dda0f97787716747d1c59aa295"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2205e0dda0f97787716747d1c59aa295">&#9670;&nbsp;</a></span>rpmdbInitIterator()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> rpmdbInitIterator </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a>&#160;</td>
          <td class="paramname"><em>db</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga3030f7a34d7fba30b2c3db69e59fb7e4">rpmDbiTagVal</a>&#160;</td>
          <td class="paramname"><em>rpmtag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>keyp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>keylen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return database iterator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">db</td><td>rpm database </td></tr>
    <tr><td class="paramname">rpmtag</td><td>database index tag </td></tr>
    <tr><td class="paramname">keyp</td><td>key data (NULL for sequential access) </td></tr>
    <tr><td class="paramname">keylen</td><td>key data length (0 will use strlen(keyp)) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>NULL on failure </dd></dl>

</div>
</div>
<a id="gaa20413aa4018cf32e700decc7dba83f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa20413aa4018cf32e700decc7dba83f3">&#9670;&nbsp;</a></span>rpmdbNextIterator()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> rpmdbNextIterator </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td>
          <td class="paramname"><em>mi</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return next package header from iteration. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mi</td><td>rpm database iterator </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>NULL on end of iteration. </dd></dl>

</div>
</div>
<a id="gad2812f8713dad6352cad36277875c2c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad2812f8713dad6352cad36277875c2c8">&#9670;&nbsp;</a></span>rpmdbOp()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__rpmsw.html#ga94f0970d0256edb3a66fbf260bbfec6f">rpmop</a> rpmdbOp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a>&#160;</td>
          <td class="paramname"><em>db</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="rpmdb_8h.html#a0eb431e400ff038d2f9827f3694a110c">rpmdbOpX</a>&#160;</td>
          <td class="paramname"><em>opx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieve operation timestamp from rpm database. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">db</td><td>rpm database </td></tr>
    <tr><td class="paramname">opx</td><td>operation timestamp index </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to operation timestamp. </dd></dl>

</div>
</div>
<a id="gac046aa1ef6c0d47b3857ff6afd6af3e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac046aa1ef6c0d47b3857ff6afd6af3e6">&#9670;&nbsp;</a></span>rpmdbOpenAll()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rpmdbOpenAll </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a>&#160;</td>
          <td class="paramname"><em>db</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Open all database indices. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">db</td><td>rpm database </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success </dd></dl>

</div>
</div>
<a id="ga8a7c949f2c9716f9d8029090ab67d227"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8a7c949f2c9716f9d8029090ab67d227">&#9670;&nbsp;</a></span>rpmdbSetHdrChk()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rpmdbSetHdrChk </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td>
          <td class="paramname"><em>mi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga1a512138316a227059ca128597dbd464">rpmts</a>&#160;</td>
          <td class="paramname"><em>ts</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga06da857c39457bfb6ea9049643fdb706">rpmRC</a>(*)(<a class="el" href="group__rpmtypes.html#ga1a512138316a227059ca128597dbd464">rpmts</a> ts, const void *uh, size_t uc, char **msg)&#160;</td>
          <td class="paramname"><em>hdrchk</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Modify iterator to verify retrieved header blobs. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mi</td><td>rpm database iterator </td></tr>
    <tr><td class="paramname">ts</td><td>transaction set </td></tr>
    <tr><td class="paramname">(*hdrchk)</td><td><a class="el" href="group__header.html#ga3e07756b155618410a1c3f8ee10d2b14" title="Check header consistency, performing headerGetEntry() the hard way.">headerCheck()</a> vector </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 always </dd></dl>

</div>
</div>
<a id="gaa21b317118dfc602bbe4636222842e39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa21b317118dfc602bbe4636222842e39">&#9670;&nbsp;</a></span>rpmdbSetIteratorModified()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rpmdbSetIteratorModified </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td>
          <td class="paramname"><em>mi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>modified</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Modify iterator to mark header for lazy write on release. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mi</td><td>rpm database iterator </td></tr>
    <tr><td class="paramname">modified</td><td>new value of modified </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>previous value </dd></dl>

</div>
</div>
<a id="gafc60a6b0e9387d04f73d00db4b0a3f9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafc60a6b0e9387d04f73d00db4b0a3f9c">&#9670;&nbsp;</a></span>rpmdbSetIteratorRE()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rpmdbSetIteratorRE </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td>
          <td class="paramname"><em>mi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a>&#160;</td>
          <td class="paramname"><em>tag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="rpmdb_8h.html#a5d484afc8c793389ed9ce400cdf7551f">rpmMireMode</a>&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>pattern</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add pattern to iterator selector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mi</td><td>rpm database iterator </td></tr>
    <tr><td class="paramname">tag</td><td>rpm tag </td></tr>
    <tr><td class="paramname">mode</td><td>type of pattern match </td></tr>
    <tr><td class="paramname">pattern</td><td>pattern to match </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success </dd></dl>

</div>
</div>
<a id="gacb4ad7f6238ce9caaa37b7c7dc6cec69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacb4ad7f6238ce9caaa37b7c7dc6cec69">&#9670;&nbsp;</a></span>rpmdbSetIteratorRewrite()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rpmdbSetIteratorRewrite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td>
          <td class="paramname"><em>mi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rewrite</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Prepare iterator for lazy writes. </p>
<dl class="section note"><dt>Note</dt><dd>Must be called before <a class="el" href="group__rpmdb.html#gaa20413aa4018cf32e700decc7dba83f3" title="Return next package header from iteration.">rpmdbNextIterator()</a> with CDB model database. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mi</td><td>rpm database iterator </td></tr>
    <tr><td class="paramname">rewrite</td><td>new value of rewrite </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>previous value </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>