Imported Upstream version 4.14.1
[platform/upstream/rpm.git] / doc / librpm / html / group__rpmdb.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.13"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>rpm: Database API.</title>
9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
10 <script type="text/javascript" src="jquery.js"></script>
11 <script type="text/javascript" src="dynsections.js"></script>
12 <link href="doxygen.css" rel="stylesheet" type="text/css" />
13 </head>
14 <body>
15 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
16 <div id="titlearea">
17 <table cellspacing="0" cellpadding="0">
18  <tbody>
19  <tr style="height: 56px;">
20   <td id="projectalign" style="padding-left: 0.5em;">
21    <div id="projectname">rpm
22    &#160;<span id="projectnumber">4.14.1</span>
23    </div>
24   </td>
25  </tr>
26  </tbody>
27 </table>
28 </div>
29 <!-- end header part -->
30 <!-- Generated by Doxygen 1.8.13 -->
31 <script type="text/javascript" src="menudata.js"></script>
32 <script type="text/javascript" src="menu.js"></script>
33 <script type="text/javascript">
34 $(function() {
35   initMenu('',false,false,'search.php','Search');
36 });
37 </script>
38 <div id="main-nav"></div>
39 </div><!-- top -->
40 <div class="header">
41   <div class="summary">
42 <a href="#files">Files</a> &#124;
43 <a href="#func-members">Functions</a>  </div>
44   <div class="headertitle">
45 <div class="title">Database API.<div class="ingroups"><a class="el" href="group__io.html">I/O</a></div></div>  </div>
46 </div><!--header-->
47 <div class="contents">
48
49 <p>Opening &amp; accessing the RPM indices using Berkeley DB (the so called rpmdb)  
50 <a href="#details">More...</a></p>
51 <div class="dynheader">
52 Collaboration diagram for Database API.:</div>
53 <div class="dyncontent">
54 <center><table><tr><td><img src="group__rpmdb.png" border="0" alt="" usemap="#group____rpmdb"/>
55 <map name="group____rpmdb" id="group____rpmdb">
56 <area shape="rect" id="node1" href="group__header.html" title="How to manipulate package headers (which carries all information about a package). " alt="" coords="336,5,435,32"/>
57 <area shape="rect" id="node2" href="group__rpmcli.html" title="Parsing RPM command line arguments. " alt="" coords="311,56,460,83"/>
58 <area shape="rect" id="node4" href="group__signature.html" title="List of signature tags. " alt="" coords="312,107,459,133"/>
59 <area shape="rect" id="node5" href="group__rpmrc.html" title="Reading config files and getting some important configuration values. " alt="" coords="350,157,421,184"/>
60 <area shape="rect" id="node6" href="group__io.html" title="I/O" alt="" coords="5,81,45,108"/>
61 </map>
62 </td></tr></table></center>
63 </div>
64 <table class="memberdecls">
65 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
66 Files</h2></td></tr>
67 <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>
68 <tr class="memdesc:rpmdb_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">RPM database API. <br /></td></tr>
69 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
70 <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>
71 <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>
72 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
73 </table><table class="memberdecls">
74 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
75 Functions</h2></td></tr>
76 <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>
77 <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>
78 <tr class="separator:gad2812f8713dad6352cad36277875c2c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
79 <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>
80 <tr class="memdesc:gac046aa1ef6c0d47b3857ff6afd6af3e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open all database indices.  <a href="#gac046aa1ef6c0d47b3857ff6afd6af3e6">More...</a><br /></td></tr>
81 <tr class="separator:gac046aa1ef6c0d47b3857ff6afd6af3e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
82 <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>
83 <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>
84 <tr class="separator:ga411b4d901d2f4953f9674c104973d4f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
85 <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>
86 <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>
87 <tr class="separator:ga4fefb65ede996aa0edcc80286ca640d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
88 <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>
89 <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>
90 <tr class="separator:ga0b2fac12a598a46a3f0780fab05839a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
91 <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>
92 <tr class="separator:ga29c0127269b1e724bab21c1242317122"><td class="memSeparator" colspan="2">&#160;</td></tr>
93 <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>
94 <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>
95 <tr class="separator:ga39c775caec250f5c58cf914da5c29483"><td class="memSeparator" colspan="2">&#160;</td></tr>
96 <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>
97 <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>
98 <tr class="separator:gafc60a6b0e9387d04f73d00db4b0a3f9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
99 <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>
100 <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>
101 <tr class="separator:gacb4ad7f6238ce9caaa37b7c7dc6cec69"><td class="memSeparator" colspan="2">&#160;</td></tr>
102 <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>
103 <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>
104 <tr class="separator:gaa21b317118dfc602bbe4636222842e39"><td class="memSeparator" colspan="2">&#160;</td></tr>
105 <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>
106 <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>
107 <tr class="separator:ga8a7c949f2c9716f9d8029090ab67d227"><td class="memSeparator" colspan="2">&#160;</td></tr>
108 <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>
109 <tr class="memdesc:ga2205e0dda0f97787716747d1c59aa295"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return database iterator.  <a href="#ga2205e0dda0f97787716747d1c59aa295">More...</a><br /></td></tr>
110 <tr class="separator:ga2205e0dda0f97787716747d1c59aa295"><td class="memSeparator" colspan="2">&#160;</td></tr>
111 <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>
112 <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>
113 <tr class="separator:gaa20413aa4018cf32e700decc7dba83f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
114 <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>
115 <tr class="memdesc:ga7d328106a65ab43bbef20b9897e463a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy rpm database iterator.  <a href="#ga7d328106a65ab43bbef20b9897e463a4">More...</a><br /></td></tr>
116 <tr class="separator:ga7d328106a65ab43bbef20b9897e463a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
117 <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>
118 <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>
119 <tr class="separator:ga3905bb930bee118d78d1304218fd00b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
120 <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>
121 <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>
122 <tr class="separator:gad6d316f5233ce0a3ea6a3f5a96bb9324"><td class="memSeparator" colspan="2">&#160;</td></tr>
123 <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>
124 <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>
125 <tr class="separator:ga06982e437fb4709c6a3997284c5b57aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
126 <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>
127 <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>
128 <tr class="separator:ga23ade545e5fc8803aa4ebaabe3822531"><td class="memSeparator" colspan="2">&#160;</td></tr>
129 <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>
130 <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>
131 <tr class="separator:gaf95215187aaf73b48c578af293d7fe90"><td class="memSeparator" colspan="2">&#160;</td></tr>
132 <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>
133 <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>
134 <tr class="separator:ga64de9f356bcc320bb46819e4d87efb03"><td class="memSeparator" colspan="2">&#160;</td></tr>
135 <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>
136 <tr class="memdesc:ga5b49f419240c5a354beff76dab3dacfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free index iterator.  <a href="#ga5b49f419240c5a354beff76dab3dacfb">More...</a><br /></td></tr>
137 <tr class="separator:ga5b49f419240c5a354beff76dab3dacfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
138 <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>
139 <tr class="memdesc:ga1d20322c077eb82a0cb9c82b202acb57"><td class="mdescLeft">&#160;</td><td class="mdescRight">manipulate the rpm database  <a href="#ga1d20322c077eb82a0cb9c82b202acb57">More...</a><br /></td></tr>
140 <tr class="separator:ga1d20322c077eb82a0cb9c82b202acb57"><td class="memSeparator" colspan="2">&#160;</td></tr>
141 </table>
142 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
143 <p>Opening &amp; accessing the RPM indices using Berkeley DB (the so called rpmdb) </p>
144 <h2 class="groupheader">Function Documentation</h2>
145 <a id="ga39c775caec250f5c58cf914da5c29483"></a>
146 <h2 class="memtitle"><span class="permalink"><a href="#ga39c775caec250f5c58cf914da5c29483">&#9670;&nbsp;</a></span>rpmdbAppendIterator()</h2>
147
148 <div class="memitem">
149 <div class="memproto">
150       <table class="memname">
151         <tr>
152           <td class="memname">int rpmdbAppendIterator </td>
153           <td>(</td>
154           <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td>
155           <td class="paramname"><em>mi</em>, </td>
156         </tr>
157         <tr>
158           <td class="paramkey"></td>
159           <td></td>
160           <td class="paramtype">const unsigned int *&#160;</td>
161           <td class="paramname"><em>hdrNums</em>, </td>
162         </tr>
163         <tr>
164           <td class="paramkey"></td>
165           <td></td>
166           <td class="paramtype">unsigned int&#160;</td>
167           <td class="paramname"><em>nHdrNums</em>&#160;</td>
168         </tr>
169         <tr>
170           <td></td>
171           <td>)</td>
172           <td></td><td></td>
173         </tr>
174       </table>
175 </div><div class="memdoc">
176
177 <p>Append items to set of package instances to iterate. </p>
178 <dl class="params"><dt>Parameters</dt><dd>
179   <table class="params">
180     <tr><td class="paramname">mi</td><td>rpm database iterator </td></tr>
181     <tr><td class="paramname">hdrNums</td><td>array of package instances </td></tr>
182     <tr><td class="paramname">nHdrNums</td><td>number of elements in array </td></tr>
183   </table>
184   </dd>
185 </dl>
186 <dl class="section return"><dt>Returns</dt><dd>0 on success, 1 on failure (bad args) </dd></dl>
187
188 </div>
189 </div>
190 <a id="ga411b4d901d2f4953f9674c104973d4f8"></a>
191 <h2 class="memtitle"><span class="permalink"><a href="#ga411b4d901d2f4953f9674c104973d4f8">&#9670;&nbsp;</a></span>rpmdbCountPackages()</h2>
192
193 <div class="memitem">
194 <div class="memproto">
195       <table class="memname">
196         <tr>
197           <td class="memname">int rpmdbCountPackages </td>
198           <td>(</td>
199           <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a>&#160;</td>
200           <td class="paramname"><em>db</em>, </td>
201         </tr>
202         <tr>
203           <td class="paramkey"></td>
204           <td></td>
205           <td class="paramtype">const char *&#160;</td>
206           <td class="paramname"><em>name</em>&#160;</td>
207         </tr>
208         <tr>
209           <td></td>
210           <td>)</td>
211           <td></td><td></td>
212         </tr>
213       </table>
214 </div><div class="memdoc">
215
216 <p>Return number of instances of package in rpm database. </p>
217 <dl class="params"><dt>Parameters</dt><dd>
218   <table class="params">
219     <tr><td class="paramname">db</td><td>rpm database </td></tr>
220     <tr><td class="paramname">name</td><td>rpm package name </td></tr>
221   </table>
222   </dd>
223 </dl>
224 <dl class="section return"><dt>Returns</dt><dd>number of instances </dd></dl>
225
226 </div>
227 </div>
228 <a id="ga1d20322c077eb82a0cb9c82b202acb57"></a>
229 <h2 class="memtitle"><span class="permalink"><a href="#ga1d20322c077eb82a0cb9c82b202acb57">&#9670;&nbsp;</a></span>rpmdbCtrl()</h2>
230
231 <div class="memitem">
232 <div class="memproto">
233       <table class="memname">
234         <tr>
235           <td class="memname">int rpmdbCtrl </td>
236           <td>(</td>
237           <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a>&#160;</td>
238           <td class="paramname"><em>db</em>, </td>
239         </tr>
240         <tr>
241           <td class="paramkey"></td>
242           <td></td>
243           <td class="paramtype"><a class="el" href="rpmdb_8h.html#a1d92aa88cc1e5c6dc6df032d29b8c963">rpmdbCtrlOp</a>&#160;</td>
244           <td class="paramname"><em>ctrl</em>&#160;</td>
245         </tr>
246         <tr>
247           <td></td>
248           <td>)</td>
249           <td></td><td></td>
250         </tr>
251       </table>
252 </div><div class="memdoc">
253
254 <p>manipulate the rpm database </p>
255 <dl class="params"><dt>Parameters</dt><dd>
256   <table class="params">
257     <tr><td class="paramname">db</td><td>rpm database </td></tr>
258     <tr><td class="paramname">ctrl</td><td>operation </td></tr>
259   </table>
260   </dd>
261 </dl>
262 <dl class="section return"><dt>Returns</dt><dd>0 on success; != 0 on error </dd></dl>
263
264 </div>
265 </div>
266 <a id="ga7d328106a65ab43bbef20b9897e463a4"></a>
267 <h2 class="memtitle"><span class="permalink"><a href="#ga7d328106a65ab43bbef20b9897e463a4">&#9670;&nbsp;</a></span>rpmdbFreeIterator()</h2>
268
269 <div class="memitem">
270 <div class="memproto">
271       <table class="memname">
272         <tr>
273           <td class="memname"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> rpmdbFreeIterator </td>
274           <td>(</td>
275           <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td>
276           <td class="paramname"><em>mi</em></td><td>)</td>
277           <td></td>
278         </tr>
279       </table>
280 </div><div class="memdoc">
281
282 <p>Destroy rpm database iterator. </p>
283 <dl class="params"><dt>Parameters</dt><dd>
284   <table class="params">
285     <tr><td class="paramname">mi</td><td>rpm database iterator </td></tr>
286   </table>
287   </dd>
288 </dl>
289 <dl class="section return"><dt>Returns</dt><dd>NULL always </dd></dl>
290
291 </div>
292 </div>
293 <a id="ga0b2fac12a598a46a3f0780fab05839a0"></a>
294 <h2 class="memtitle"><span class="permalink"><a href="#ga0b2fac12a598a46a3f0780fab05839a0">&#9670;&nbsp;</a></span>rpmdbGetIteratorCount()</h2>
295
296 <div class="memitem">
297 <div class="memproto">
298       <table class="memname">
299         <tr>
300           <td class="memname">int rpmdbGetIteratorCount </td>
301           <td>(</td>
302           <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td>
303           <td class="paramname"><em>mi</em></td><td>)</td>
304           <td></td>
305         </tr>
306       </table>
307 </div><div class="memdoc">
308
309 <p>Return number of elements in rpm database iterator. </p>
310 <dl class="params"><dt>Parameters</dt><dd>
311   <table class="params">
312     <tr><td class="paramname">mi</td><td>rpm database iterator </td></tr>
313   </table>
314   </dd>
315 </dl>
316 <dl class="section return"><dt>Returns</dt><dd>number of elements </dd></dl>
317
318 </div>
319 </div>
320 <a id="ga29c0127269b1e724bab21c1242317122"></a>
321 <h2 class="memtitle"><span class="permalink"><a href="#ga29c0127269b1e724bab21c1242317122">&#9670;&nbsp;</a></span>rpmdbGetIteratorFileNum()</h2>
322
323 <div class="memitem">
324 <div class="memproto">
325       <table class="memname">
326         <tr>
327           <td class="memname">unsigned int rpmdbGetIteratorFileNum </td>
328           <td>(</td>
329           <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td>
330           <td class="paramname"><em>mi</em></td><td>)</td>
331           <td></td>
332         </tr>
333       </table>
334 </div><div class="memdoc">
335
336 </div>
337 </div>
338 <a id="ga4fefb65ede996aa0edcc80286ca640d1"></a>
339 <h2 class="memtitle"><span class="permalink"><a href="#ga4fefb65ede996aa0edcc80286ca640d1">&#9670;&nbsp;</a></span>rpmdbGetIteratorOffset()</h2>
340
341 <div class="memitem">
342 <div class="memproto">
343       <table class="memname">
344         <tr>
345           <td class="memname">unsigned int rpmdbGetIteratorOffset </td>
346           <td>(</td>
347           <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td>
348           <td class="paramname"><em>mi</em></td><td>)</td>
349           <td></td>
350         </tr>
351       </table>
352 </div><div class="memdoc">
353
354 <p>Return header join key for current position of rpm database iterator. </p>
355 <dl class="params"><dt>Parameters</dt><dd>
356   <table class="params">
357     <tr><td class="paramname">mi</td><td>rpm database iterator </td></tr>
358   </table>
359   </dd>
360 </dl>
361 <dl class="section return"><dt>Returns</dt><dd>current header join key </dd></dl>
362
363 </div>
364 </div>
365 <a id="ga5b49f419240c5a354beff76dab3dacfb"></a>
366 <h2 class="memtitle"><span class="permalink"><a href="#ga5b49f419240c5a354beff76dab3dacfb">&#9670;&nbsp;</a></span>rpmdbIndexIteratorFree()</h2>
367
368 <div class="memitem">
369 <div class="memproto">
370       <table class="memname">
371         <tr>
372           <td class="memname"><a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a> rpmdbIndexIteratorFree </td>
373           <td>(</td>
374           <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a>&#160;</td>
375           <td class="paramname"><em>ii</em></td><td>)</td>
376           <td></td>
377         </tr>
378       </table>
379 </div><div class="memdoc">
380
381 <p>Free index iterator. </p>
382 <dl class="params"><dt>Parameters</dt><dd>
383   <table class="params">
384     <tr><td class="paramname">ii</td><td>index iterator return NULL </td></tr>
385   </table>
386   </dd>
387 </dl>
388
389 </div>
390 </div>
391 <a id="ga3905bb930bee118d78d1304218fd00b2"></a>
392 <h2 class="memtitle"><span class="permalink"><a href="#ga3905bb930bee118d78d1304218fd00b2">&#9670;&nbsp;</a></span>rpmdbIndexIteratorInit()</h2>
393
394 <div class="memitem">
395 <div class="memproto">
396       <table class="memname">
397         <tr>
398           <td class="memname"><a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a> rpmdbIndexIteratorInit </td>
399           <td>(</td>
400           <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a>&#160;</td>
401           <td class="paramname"><em>db</em>, </td>
402         </tr>
403         <tr>
404           <td class="paramkey"></td>
405           <td></td>
406           <td class="paramtype"><a class="el" href="group__rpmtag.html#ga4fe7893ed1468517b082fca8c5523762">rpmDbiTag</a>&#160;</td>
407           <td class="paramname"><em>rpmtag</em>&#160;</td>
408         </tr>
409         <tr>
410           <td></td>
411           <td>)</td>
412           <td></td><td></td>
413         </tr>
414       </table>
415 </div><div class="memdoc">
416
417 <p>Get an iterator for an index. </p>
418 <dl class="params"><dt>Parameters</dt><dd>
419   <table class="params">
420     <tr><td class="paramname">db</td><td>rpm database </td></tr>
421     <tr><td class="paramname">rpmtag</td><td>the index to iterate over </td></tr>
422   </table>
423   </dd>
424 </dl>
425 <dl class="section return"><dt>Returns</dt><dd>the index iterator </dd></dl>
426
427 </div>
428 </div>
429 <a id="gad6d316f5233ce0a3ea6a3f5a96bb9324"></a>
430 <h2 class="memtitle"><span class="permalink"><a href="#gad6d316f5233ce0a3ea6a3f5a96bb9324">&#9670;&nbsp;</a></span>rpmdbIndexIteratorNext()</h2>
431
432 <div class="memitem">
433 <div class="memproto">
434       <table class="memname">
435         <tr>
436           <td class="memname">int rpmdbIndexIteratorNext </td>
437           <td>(</td>
438           <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a>&#160;</td>
439           <td class="paramname"><em>ii</em>, </td>
440         </tr>
441         <tr>
442           <td class="paramkey"></td>
443           <td></td>
444           <td class="paramtype">const void **&#160;</td>
445           <td class="paramname"><em>key</em>, </td>
446         </tr>
447         <tr>
448           <td class="paramkey"></td>
449           <td></td>
450           <td class="paramtype">size_t *&#160;</td>
451           <td class="paramname"><em>keylen</em>&#160;</td>
452         </tr>
453         <tr>
454           <td></td>
455           <td>)</td>
456           <td></td><td></td>
457         </tr>
458       </table>
459 </div><div class="memdoc">
460
461 <p>Get the next key - Warning! Keys are not zero terminated! Binary tags may even contain zero bytes. </p>
462 <dl class="params"><dt>Parameters</dt><dd>
463   <table class="params">
464     <tr><td class="paramname">ii</td><td>index iterator </td></tr>
465     <tr><td class="paramname">key</td><td>address to save the pointer to the key </td></tr>
466     <tr><td class="paramname">keylen</td><td>address to save the length of the key to </td></tr>
467   </table>
468   </dd>
469 </dl>
470 <dl class="section return"><dt>Returns</dt><dd>0 on success; != 0 on error or end of index </dd></dl>
471
472 </div>
473 </div>
474 <a id="ga06982e437fb4709c6a3997284c5b57aa"></a>
475 <h2 class="memtitle"><span class="permalink"><a href="#ga06982e437fb4709c6a3997284c5b57aa">&#9670;&nbsp;</a></span>rpmdbIndexIteratorNextTd()</h2>
476
477 <div class="memitem">
478 <div class="memproto">
479       <table class="memname">
480         <tr>
481           <td class="memname">int rpmdbIndexIteratorNextTd </td>
482           <td>(</td>
483           <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a>&#160;</td>
484           <td class="paramname"><em>ii</em>, </td>
485         </tr>
486         <tr>
487           <td class="paramkey"></td>
488           <td></td>
489           <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga49f411ddc672b0d8e0fbd9d9f2dcf0ae">rpmtd</a>&#160;</td>
490           <td class="paramname"><em>keytd</em>&#160;</td>
491         </tr>
492         <tr>
493           <td></td>
494           <td>)</td>
495           <td></td><td></td>
496         </tr>
497       </table>
498 </div><div class="memdoc">
499
500 <p>Get the next key into a tag data container. </p>
501 <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>
502   <table class="params">
503     <tr><td class="paramname">ii</td><td>index iterator </td></tr>
504     <tr><td class="paramname">keytd</td><td>tag container to store the key in </td></tr>
505   </table>
506   </dd>
507 </dl>
508 <dl class="section return"><dt>Returns</dt><dd>0 on success; != 0 on error or end of index </dd></dl>
509
510 </div>
511 </div>
512 <a id="ga23ade545e5fc8803aa4ebaabe3822531"></a>
513 <h2 class="memtitle"><span class="permalink"><a href="#ga23ade545e5fc8803aa4ebaabe3822531">&#9670;&nbsp;</a></span>rpmdbIndexIteratorNumPkgs()</h2>
514
515 <div class="memitem">
516 <div class="memproto">
517       <table class="memname">
518         <tr>
519           <td class="memname">unsigned int rpmdbIndexIteratorNumPkgs </td>
520           <td>(</td>
521           <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a>&#160;</td>
522           <td class="paramname"><em>ii</em></td><td>)</td>
523           <td></td>
524         </tr>
525       </table>
526 </div><div class="memdoc">
527
528 <p>Get number of entries for current key. </p>
529 <dl class="params"><dt>Parameters</dt><dd>
530   <table class="params">
531     <tr><td class="paramname">ii</td><td>index iterator </td></tr>
532   </table>
533   </dd>
534 </dl>
535 <dl class="section return"><dt>Returns</dt><dd>number of entries. 0 on error. </dd></dl>
536
537 </div>
538 </div>
539 <a id="gaf95215187aaf73b48c578af293d7fe90"></a>
540 <h2 class="memtitle"><span class="permalink"><a href="#gaf95215187aaf73b48c578af293d7fe90">&#9670;&nbsp;</a></span>rpmdbIndexIteratorPkgOffset()</h2>
541
542 <div class="memitem">
543 <div class="memproto">
544       <table class="memname">
545         <tr>
546           <td class="memname">unsigned int rpmdbIndexIteratorPkgOffset </td>
547           <td>(</td>
548           <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a>&#160;</td>
549           <td class="paramname"><em>ii</em>, </td>
550         </tr>
551         <tr>
552           <td class="paramkey"></td>
553           <td></td>
554           <td class="paramtype">unsigned int&#160;</td>
555           <td class="paramname"><em>nr</em>&#160;</td>
556         </tr>
557         <tr>
558           <td></td>
559           <td>)</td>
560           <td></td><td></td>
561         </tr>
562       </table>
563 </div><div class="memdoc">
564
565 <p>Get package offset of entry. </p>
566 <dl class="params"><dt>Parameters</dt><dd>
567   <table class="params">
568     <tr><td class="paramname">ii</td><td>index iterator </td></tr>
569     <tr><td class="paramname">nr</td><td>number of the entry </td></tr>
570   </table>
571   </dd>
572 </dl>
573 <dl class="section return"><dt>Returns</dt><dd>db offset of pkg </dd></dl>
574
575 </div>
576 </div>
577 <a id="ga64de9f356bcc320bb46819e4d87efb03"></a>
578 <h2 class="memtitle"><span class="permalink"><a href="#ga64de9f356bcc320bb46819e4d87efb03">&#9670;&nbsp;</a></span>rpmdbIndexIteratorTagNum()</h2>
579
580 <div class="memitem">
581 <div class="memproto">
582       <table class="memname">
583         <tr>
584           <td class="memname">unsigned int rpmdbIndexIteratorTagNum </td>
585           <td>(</td>
586           <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaac172e64fa3c3d9506db83fcc73cc13e">rpmdbIndexIterator</a>&#160;</td>
587           <td class="paramname"><em>ii</em>, </td>
588         </tr>
589         <tr>
590           <td class="paramkey"></td>
591           <td></td>
592           <td class="paramtype">unsigned int&#160;</td>
593           <td class="paramname"><em>nr</em>&#160;</td>
594         </tr>
595         <tr>
596           <td></td>
597           <td>)</td>
598           <td></td><td></td>
599         </tr>
600       </table>
601 </div><div class="memdoc">
602
603 <p>Get tag number of entry. </p>
604 <dl class="params"><dt>Parameters</dt><dd>
605   <table class="params">
606     <tr><td class="paramname">ii</td><td>index iterator </td></tr>
607     <tr><td class="paramname">nr</td><td>number of the entry </td></tr>
608   </table>
609   </dd>
610 </dl>
611 <dl class="section return"><dt>Returns</dt><dd>number of tag within the package </dd></dl>
612
613 </div>
614 </div>
615 <a id="ga2205e0dda0f97787716747d1c59aa295"></a>
616 <h2 class="memtitle"><span class="permalink"><a href="#ga2205e0dda0f97787716747d1c59aa295">&#9670;&nbsp;</a></span>rpmdbInitIterator()</h2>
617
618 <div class="memitem">
619 <div class="memproto">
620       <table class="memname">
621         <tr>
622           <td class="memname"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> rpmdbInitIterator </td>
623           <td>(</td>
624           <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a>&#160;</td>
625           <td class="paramname"><em>db</em>, </td>
626         </tr>
627         <tr>
628           <td class="paramkey"></td>
629           <td></td>
630           <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga3030f7a34d7fba30b2c3db69e59fb7e4">rpmDbiTagVal</a>&#160;</td>
631           <td class="paramname"><em>rpmtag</em>, </td>
632         </tr>
633         <tr>
634           <td class="paramkey"></td>
635           <td></td>
636           <td class="paramtype">const void *&#160;</td>
637           <td class="paramname"><em>keyp</em>, </td>
638         </tr>
639         <tr>
640           <td class="paramkey"></td>
641           <td></td>
642           <td class="paramtype">size_t&#160;</td>
643           <td class="paramname"><em>keylen</em>&#160;</td>
644         </tr>
645         <tr>
646           <td></td>
647           <td>)</td>
648           <td></td><td></td>
649         </tr>
650       </table>
651 </div><div class="memdoc">
652
653 <p>Return database iterator. </p>
654 <dl class="params"><dt>Parameters</dt><dd>
655   <table class="params">
656     <tr><td class="paramname">db</td><td>rpm database </td></tr>
657     <tr><td class="paramname">rpmtag</td><td>database index tag </td></tr>
658     <tr><td class="paramname">keyp</td><td>key data (NULL for sequential access) </td></tr>
659     <tr><td class="paramname">keylen</td><td>key data length (0 will use strlen(keyp)) </td></tr>
660   </table>
661   </dd>
662 </dl>
663 <dl class="section return"><dt>Returns</dt><dd>NULL on failure </dd></dl>
664
665 </div>
666 </div>
667 <a id="gaa20413aa4018cf32e700decc7dba83f3"></a>
668 <h2 class="memtitle"><span class="permalink"><a href="#gaa20413aa4018cf32e700decc7dba83f3">&#9670;&nbsp;</a></span>rpmdbNextIterator()</h2>
669
670 <div class="memitem">
671 <div class="memproto">
672       <table class="memname">
673         <tr>
674           <td class="memname"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> rpmdbNextIterator </td>
675           <td>(</td>
676           <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td>
677           <td class="paramname"><em>mi</em></td><td>)</td>
678           <td></td>
679         </tr>
680       </table>
681 </div><div class="memdoc">
682
683 <p>Return next package header from iteration. </p>
684 <dl class="params"><dt>Parameters</dt><dd>
685   <table class="params">
686     <tr><td class="paramname">mi</td><td>rpm database iterator </td></tr>
687   </table>
688   </dd>
689 </dl>
690 <dl class="section return"><dt>Returns</dt><dd>NULL on end of iteration. </dd></dl>
691
692 </div>
693 </div>
694 <a id="gad2812f8713dad6352cad36277875c2c8"></a>
695 <h2 class="memtitle"><span class="permalink"><a href="#gad2812f8713dad6352cad36277875c2c8">&#9670;&nbsp;</a></span>rpmdbOp()</h2>
696
697 <div class="memitem">
698 <div class="memproto">
699       <table class="memname">
700         <tr>
701           <td class="memname"><a class="el" href="group__rpmsw.html#ga94f0970d0256edb3a66fbf260bbfec6f">rpmop</a> rpmdbOp </td>
702           <td>(</td>
703           <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a>&#160;</td>
704           <td class="paramname"><em>db</em>, </td>
705         </tr>
706         <tr>
707           <td class="paramkey"></td>
708           <td></td>
709           <td class="paramtype"><a class="el" href="rpmdb_8h.html#a0eb431e400ff038d2f9827f3694a110c">rpmdbOpX</a>&#160;</td>
710           <td class="paramname"><em>opx</em>&#160;</td>
711         </tr>
712         <tr>
713           <td></td>
714           <td>)</td>
715           <td></td><td></td>
716         </tr>
717       </table>
718 </div><div class="memdoc">
719
720 <p>Retrieve operation timestamp from rpm database. </p>
721 <dl class="params"><dt>Parameters</dt><dd>
722   <table class="params">
723     <tr><td class="paramname">db</td><td>rpm database </td></tr>
724     <tr><td class="paramname">opx</td><td>operation timestamp index </td></tr>
725   </table>
726   </dd>
727 </dl>
728 <dl class="section return"><dt>Returns</dt><dd>pointer to operation timestamp. </dd></dl>
729
730 </div>
731 </div>
732 <a id="gac046aa1ef6c0d47b3857ff6afd6af3e6"></a>
733 <h2 class="memtitle"><span class="permalink"><a href="#gac046aa1ef6c0d47b3857ff6afd6af3e6">&#9670;&nbsp;</a></span>rpmdbOpenAll()</h2>
734
735 <div class="memitem">
736 <div class="memproto">
737       <table class="memname">
738         <tr>
739           <td class="memname">int rpmdbOpenAll </td>
740           <td>(</td>
741           <td class="paramtype"><a class="el" href="group__rpmtypes.html#gaaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a>&#160;</td>
742           <td class="paramname"><em>db</em></td><td>)</td>
743           <td></td>
744         </tr>
745       </table>
746 </div><div class="memdoc">
747
748 <p>Open all database indices. </p>
749 <dl class="params"><dt>Parameters</dt><dd>
750   <table class="params">
751     <tr><td class="paramname">db</td><td>rpm database </td></tr>
752   </table>
753   </dd>
754 </dl>
755 <dl class="section return"><dt>Returns</dt><dd>0 on success </dd></dl>
756
757 </div>
758 </div>
759 <a id="ga8a7c949f2c9716f9d8029090ab67d227"></a>
760 <h2 class="memtitle"><span class="permalink"><a href="#ga8a7c949f2c9716f9d8029090ab67d227">&#9670;&nbsp;</a></span>rpmdbSetHdrChk()</h2>
761
762 <div class="memitem">
763 <div class="memproto">
764       <table class="memname">
765         <tr>
766           <td class="memname">int rpmdbSetHdrChk </td>
767           <td>(</td>
768           <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td>
769           <td class="paramname"><em>mi</em>, </td>
770         </tr>
771         <tr>
772           <td class="paramkey"></td>
773           <td></td>
774           <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga1a512138316a227059ca128597dbd464">rpmts</a>&#160;</td>
775           <td class="paramname"><em>ts</em>, </td>
776         </tr>
777         <tr>
778           <td class="paramkey"></td>
779           <td></td>
780           <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>
781           <td class="paramname"><em>hdrchk</em>&#160;</td>
782         </tr>
783         <tr>
784           <td></td>
785           <td>)</td>
786           <td></td><td></td>
787         </tr>
788       </table>
789 </div><div class="memdoc">
790
791 <p>Modify iterator to verify retrieved header blobs. </p>
792 <dl class="params"><dt>Parameters</dt><dd>
793   <table class="params">
794     <tr><td class="paramname">mi</td><td>rpm database iterator </td></tr>
795     <tr><td class="paramname">ts</td><td>transaction set </td></tr>
796     <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>
797   </table>
798   </dd>
799 </dl>
800 <dl class="section return"><dt>Returns</dt><dd>0 always </dd></dl>
801
802 </div>
803 </div>
804 <a id="gaa21b317118dfc602bbe4636222842e39"></a>
805 <h2 class="memtitle"><span class="permalink"><a href="#gaa21b317118dfc602bbe4636222842e39">&#9670;&nbsp;</a></span>rpmdbSetIteratorModified()</h2>
806
807 <div class="memitem">
808 <div class="memproto">
809       <table class="memname">
810         <tr>
811           <td class="memname">int rpmdbSetIteratorModified </td>
812           <td>(</td>
813           <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td>
814           <td class="paramname"><em>mi</em>, </td>
815         </tr>
816         <tr>
817           <td class="paramkey"></td>
818           <td></td>
819           <td class="paramtype">int&#160;</td>
820           <td class="paramname"><em>modified</em>&#160;</td>
821         </tr>
822         <tr>
823           <td></td>
824           <td>)</td>
825           <td></td><td></td>
826         </tr>
827       </table>
828 </div><div class="memdoc">
829
830 <p>Modify iterator to mark header for lazy write on release. </p>
831 <dl class="params"><dt>Parameters</dt><dd>
832   <table class="params">
833     <tr><td class="paramname">mi</td><td>rpm database iterator </td></tr>
834     <tr><td class="paramname">modified</td><td>new value of modified </td></tr>
835   </table>
836   </dd>
837 </dl>
838 <dl class="section return"><dt>Returns</dt><dd>previous value </dd></dl>
839
840 </div>
841 </div>
842 <a id="gafc60a6b0e9387d04f73d00db4b0a3f9c"></a>
843 <h2 class="memtitle"><span class="permalink"><a href="#gafc60a6b0e9387d04f73d00db4b0a3f9c">&#9670;&nbsp;</a></span>rpmdbSetIteratorRE()</h2>
844
845 <div class="memitem">
846 <div class="memproto">
847       <table class="memname">
848         <tr>
849           <td class="memname">int rpmdbSetIteratorRE </td>
850           <td>(</td>
851           <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td>
852           <td class="paramname"><em>mi</em>, </td>
853         </tr>
854         <tr>
855           <td class="paramkey"></td>
856           <td></td>
857           <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a>&#160;</td>
858           <td class="paramname"><em>tag</em>, </td>
859         </tr>
860         <tr>
861           <td class="paramkey"></td>
862           <td></td>
863           <td class="paramtype"><a class="el" href="rpmdb_8h.html#a5d484afc8c793389ed9ce400cdf7551f">rpmMireMode</a>&#160;</td>
864           <td class="paramname"><em>mode</em>, </td>
865         </tr>
866         <tr>
867           <td class="paramkey"></td>
868           <td></td>
869           <td class="paramtype">const char *&#160;</td>
870           <td class="paramname"><em>pattern</em>&#160;</td>
871         </tr>
872         <tr>
873           <td></td>
874           <td>)</td>
875           <td></td><td></td>
876         </tr>
877       </table>
878 </div><div class="memdoc">
879
880 <p>Add pattern to iterator selector. </p>
881 <dl class="params"><dt>Parameters</dt><dd>
882   <table class="params">
883     <tr><td class="paramname">mi</td><td>rpm database iterator </td></tr>
884     <tr><td class="paramname">tag</td><td>rpm tag </td></tr>
885     <tr><td class="paramname">mode</td><td>type of pattern match </td></tr>
886     <tr><td class="paramname">pattern</td><td>pattern to match </td></tr>
887   </table>
888   </dd>
889 </dl>
890 <dl class="section return"><dt>Returns</dt><dd>0 on success </dd></dl>
891
892 </div>
893 </div>
894 <a id="gacb4ad7f6238ce9caaa37b7c7dc6cec69"></a>
895 <h2 class="memtitle"><span class="permalink"><a href="#gacb4ad7f6238ce9caaa37b7c7dc6cec69">&#9670;&nbsp;</a></span>rpmdbSetIteratorRewrite()</h2>
896
897 <div class="memitem">
898 <div class="memproto">
899       <table class="memname">
900         <tr>
901           <td class="memname">int rpmdbSetIteratorRewrite </td>
902           <td>(</td>
903           <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a>&#160;</td>
904           <td class="paramname"><em>mi</em>, </td>
905         </tr>
906         <tr>
907           <td class="paramkey"></td>
908           <td></td>
909           <td class="paramtype">int&#160;</td>
910           <td class="paramname"><em>rewrite</em>&#160;</td>
911         </tr>
912         <tr>
913           <td></td>
914           <td>)</td>
915           <td></td><td></td>
916         </tr>
917       </table>
918 </div><div class="memdoc">
919
920 <p>Prepare iterator for lazy writes. </p>
921 <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>
922 <dl class="params"><dt>Parameters</dt><dd>
923   <table class="params">
924     <tr><td class="paramname">mi</td><td>rpm database iterator </td></tr>
925     <tr><td class="paramname">rewrite</td><td>new value of rewrite </td></tr>
926   </table>
927   </dd>
928 </dl>
929 <dl class="section return"><dt>Returns</dt><dd>previous value </dd></dl>
930
931 </div>
932 </div>
933 </div><!-- contents -->
934 <!-- start footer part -->
935 <hr class="footer"/><address class="footer"><small>
936 Generated by &#160;<a href="http://www.doxygen.org/index.html">
937 <img class="footer" src="doxygen.png" alt="doxygen"/>
938 </a> 1.8.13
939 </small></address>
940 </body>
941 </html>