<!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  <span id="projectnumber">4.14.2.1</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&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> | <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 & 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="328,5,423,31"/> <area shape="rect" href="group__rpmcli.html" title="Parsing RPM command line arguments." alt="" coords="304,55,447,80"/> <area shape="rect" title="Opening & accessing the RPM indices using Berkeley DB (the so called rpmdb)" alt="" coords="96,80,203,105"/> <area shape="rect" href="group__signature.html" title="List of signature tags." alt="" coords="305,104,445,129"/> <area shape="rect" href="group__rpmrc.html" title="Reading config files and getting some important configuration values." alt="" coords="339,153,412,179"/> <area shape="rect" href="group__io.html" title=" " alt="" coords="5,80,47,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  </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"> </td><td class="mdescRight">RPM database API. <br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:rpmlib_8h"><td class="memItemLeft" align="right" valign="top">file  </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"> </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"> </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> </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"> </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"> </td></tr> <tr class="memitem:gac046aa1ef6c0d47b3857ff6afd6af3e6"><td class="memItemLeft" align="right" valign="top">int </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"> </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"> </td></tr> <tr class="memitem:ga411b4d901d2f4953f9674c104973d4f8"><td class="memItemLeft" align="right" valign="top">int </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"> </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"> </td></tr> <tr class="memitem:ga4fefb65ede996aa0edcc80286ca640d1"><td class="memItemLeft" align="right" valign="top">unsigned int </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"> </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"> </td></tr> <tr class="memitem:ga0b2fac12a598a46a3f0780fab05839a0"><td class="memItemLeft" align="right" valign="top">int </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"> </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"> </td></tr> <tr class="memitem:ga29c0127269b1e724bab21c1242317122"><td class="memItemLeft" align="right" valign="top">unsigned int </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"> </td></tr> <tr class="memitem:ga39c775caec250f5c58cf914da5c29483"><td class="memItemLeft" align="right" valign="top">int </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"> </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"> </td></tr> <tr class="memitem:gafc60a6b0e9387d04f73d00db4b0a3f9c"><td class="memItemLeft" align="right" valign="top">int </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"> </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"> </td></tr> <tr class="memitem:gacb4ad7f6238ce9caaa37b7c7dc6cec69"><td class="memItemLeft" align="right" valign="top">int </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"> </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"> </td></tr> <tr class="memitem:gaa21b317118dfc602bbe4636222842e39"><td class="memItemLeft" align="right" valign="top">int </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"> </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"> </td></tr> <tr class="memitem:ga8a7c949f2c9716f9d8029090ab67d227"><td class="memItemLeft" align="right" valign="top">int </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"> </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"> </td></tr> <tr class="memitem:ga2205e0dda0f97787716747d1c59aa295"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> </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"> </td><td class="mdescRight">Return database iterator. <a href="#ga2205e0dda0f97787716747d1c59aa295">More...</a><br /></td></tr> <tr class="separator:ga2205e0dda0f97787716747d1c59aa295"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa20413aa4018cf32e700decc7dba83f3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> </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"> </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"> </td></tr> <tr class="memitem:ga7d328106a65ab43bbef20b9897e463a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> </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"> </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"> </td></tr> <tr class="memitem:ga3905bb930bee118d78d1304218fd00b2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a> </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"> </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"> </td></tr> <tr class="memitem:gad6d316f5233ce0a3ea6a3f5a96bb9324"><td class="memItemLeft" align="right" valign="top">int </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"> </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"> </td></tr> <tr class="memitem:ga06982e437fb4709c6a3997284c5b57aa"><td class="memItemLeft" align="right" valign="top">int </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"> </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"> </td></tr> <tr class="memitem:ga23ade545e5fc8803aa4ebaabe3822531"><td class="memItemLeft" align="right" valign="top">unsigned int </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"> </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"> </td></tr> <tr class="memitem:gaf95215187aaf73b48c578af293d7fe90"><td class="memItemLeft" align="right" valign="top">unsigned int </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"> </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"> </td></tr> <tr class="memitem:ga64de9f356bcc320bb46819e4d87efb03"><td class="memItemLeft" align="right" valign="top">unsigned int </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"> </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"> </td></tr> <tr class="memitem:ga5b49f419240c5a354beff76dab3dacfb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a> </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"> </td><td class="mdescRight">Free index iterator. <a href="#ga5b49f419240c5a354beff76dab3dacfb">More...</a><br /></td></tr> <tr class="separator:ga5b49f419240c5a354beff76dab3dacfb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga1d20322c077eb82a0cb9c82b202acb57"><td class="memItemLeft" align="right" valign="top">int </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"> </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"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>Opening & 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">◆ </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> </td> <td class="paramname"><em>mi</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned int * </td> <td class="paramname"><em>hdrNums</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>nHdrNums</em> </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">◆ </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> </td> <td class="paramname"><em>db</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>name</em> </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">◆ </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> </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> </td> <td class="paramname"><em>ctrl</em> </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">◆ </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> </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">◆ </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> </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">◆ </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> </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">◆ </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> </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">◆ </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> </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">◆ </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> </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> </td> <td class="paramname"><em>rpmtag</em> </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">◆ </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> </td> <td class="paramname"><em>ii</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void ** </td> <td class="paramname"><em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t * </td> <td class="paramname"><em>keylen</em> </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">◆ </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> </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> </td> <td class="paramname"><em>keytd</em> </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">◆ </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> </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">◆ </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> </td> <td class="paramname"><em>ii</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>nr</em> </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">◆ </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> </td> <td class="paramname"><em>ii</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>nr</em> </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">◆ </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> </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> </td> <td class="paramname"><em>rpmtag</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"><em>keyp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>keylen</em> </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">◆ </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> </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">◆ </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> </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> </td> <td class="paramname"><em>opx</em> </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">◆ </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> </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">◆ </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> </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> </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) </td> <td class="paramname"><em>hdrchk</em> </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">◆ </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> </td> <td class="paramname"><em>mi</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>modified</em> </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">◆ </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> </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> </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> </td> <td class="paramname"><em>mode</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>pattern</em> </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">◆ </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> </td> <td class="paramname"><em>mi</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>rewrite</em> </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  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.15 </small></address> </body> </html>