Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.11"/>
<title>rpm: rpmkeys.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">rpm
   &#160;<span id="projectnumber">4.12.0.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">rpmkeys.c</div>  </div>
</div><!--header-->
<div class="contents">
<a href="rpmkeys_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="system_8h.html">system.h</a>&quot;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="preprocessor">#include &lt;popt.h&gt;</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &lt;rpm/rpmcli.h&gt;</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="cliutils_8h.html">cliutils.h</a>&quot;</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="debug_8h.html">debug.h</a>&quot;</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#if !defined(__GLIBC__) &amp;&amp; !defined(__APPLE__)</span></div><div class="line"><a name="l00009"></a><span class="lineno"><a class="line" href="rpmkeys_8c.html#aa006daaf11f1e2e45a6ababaf463212b">    9</a></span>&#160;<span class="keywordtype">char</span> ** <a class="code" href="rpmkeys_8c.html#aa006daaf11f1e2e45a6ababaf463212b">environ</a> = NULL;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6">   12</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="rpmbuild_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6">modes</a> {</div><div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6a6e71f3470e43602dd881d1cb0ce779a0">   13</a></span>&#160;    <a class="code" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6a6e71f3470e43602dd881d1cb0ce779a0">MODE_CHECKSIG</a>       = (1 &lt;&lt; 0),</div><div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6ad3de96dfd77735bff12609801e957068">   14</a></span>&#160;    <a class="code" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6ad3de96dfd77735bff12609801e957068">MODE_IMPORTKEY</a>      = (1 &lt;&lt; 1),</div><div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6aa18ebfe027af5690e69c8a3aa70624fe">   15</a></span>&#160;    <a class="code" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6aa18ebfe027af5690e69c8a3aa70624fe">MODE_DELKEY</a>         = (1 &lt;&lt; 2),</div><div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6a89643e161cf5df1984e15c4ce855dd9b">   16</a></span>&#160;    <a class="code" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6a89643e161cf5df1984e15c4ce855dd9b">MODE_LISTKEY</a>        = (1 &lt;&lt; 3),</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;};</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="rpmkeys_8c.html#a1ea5d0cb93f22f7d0fdf804bd68c3326">   19</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="rpmkeys_8c.html#a1ea5d0cb93f22f7d0fdf804bd68c3326">mode</a> = 0;</div><div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="rpmkeys_8c.html#a1bd3f5fbccb1628eb13dda4cd02633a4">   20</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="rpmkeys_8c.html#a1bd3f5fbccb1628eb13dda4cd02633a4">test</a> = 0;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="rpmkeys_8c.html#a5baf570a3741ad40911ae528d92441ee">   22</a></span>&#160;<span class="keyword">static</span> <span class="keyword">struct </span>poptOption <a class="code" href="rpmkeys_8c.html#a5baf570a3741ad40911ae528d92441ee">keyOptsTable</a>[] = {</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    { <span class="stringliteral">&quot;checksig&quot;</span>, <span class="charliteral">&#39;K&#39;</span>, (POPT_ARG_VAL|POPT_ARGFLAG_OR), &amp;mode, <a class="code" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6a6e71f3470e43602dd881d1cb0ce779a0">MODE_CHECKSIG</a>,</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;        <a class="code" href="system_8h.html#aca24492e24b07d15df23b4957092a9f3">N_</a>(<span class="stringliteral">&quot;verify package signature(s)&quot;</span>), NULL },</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    { <span class="stringliteral">&quot;import&quot;</span>, <span class="charliteral">&#39;\0&#39;</span>, (POPT_ARG_VAL|POPT_ARGFLAG_OR), &amp;mode, <a class="code" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6ad3de96dfd77735bff12609801e957068">MODE_IMPORTKEY</a>,</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;        <a class="code" href="system_8h.html#aca24492e24b07d15df23b4957092a9f3">N_</a>(<span class="stringliteral">&quot;import an armored public key&quot;</span>), NULL },</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    { <span class="stringliteral">&quot;test&quot;</span>, <span class="charliteral">&#39;\0&#39;</span>, POPT_ARG_NONE, &amp;<a class="code" href="rpmkeys_8c.html#a1bd3f5fbccb1628eb13dda4cd02633a4">test</a>, 0,</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;        <a class="code" href="system_8h.html#aca24492e24b07d15df23b4957092a9f3">N_</a>(<span class="stringliteral">&quot;don&#39;t import, but tell if it would work or not&quot;</span>), NULL },</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#if 0</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    { <span class="stringliteral">&quot;delete-key&quot;</span>, <span class="charliteral">&#39;\0&#39;</span>, (POPT_ARG_VAL|POPT_ARGFLAG_OR), &amp;mode, <a class="code" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6aa18ebfe027af5690e69c8a3aa70624fe">MODE_DELKEY</a>,</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        <a class="code" href="system_8h.html#aca24492e24b07d15df23b4957092a9f3">N_</a>(<span class="stringliteral">&quot;list keys from RPM keyring&quot;</span>), NULL },</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    { <span class="stringliteral">&quot;list-keys&quot;</span>, <span class="charliteral">&#39;\0&#39;</span>, (POPT_ARG_VAL|POPT_ARGFLAG_OR), &amp;mode, <a class="code" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6a89643e161cf5df1984e15c4ce855dd9b">MODE_LISTKEY</a>,</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        <a class="code" href="system_8h.html#aca24492e24b07d15df23b4957092a9f3">N_</a>(<span class="stringliteral">&quot;list keys from RPM keyring&quot;</span>), NULL },</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    POPT_TABLEEND</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;};</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="rpmkeys_8c.html#a779c8fb41edee9b03a02a249606b0e76">   38</a></span>&#160;<span class="keyword">static</span> <span class="keyword">struct </span>poptOption <a class="code" href="rpmkeys_8c.html#a779c8fb41edee9b03a02a249606b0e76">optionsTable</a>[] = {</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    { NULL, <span class="charliteral">&#39;\0&#39;</span>, POPT_ARG_INCLUDE_TABLE, <a class="code" href="rpmkeys_8c.html#a5baf570a3741ad40911ae528d92441ee">keyOptsTable</a>, 0,</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        <a class="code" href="system_8h.html#aca24492e24b07d15df23b4957092a9f3">N_</a>(<span class="stringliteral">&quot;Keyring options:&quot;</span>), NULL },</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    { NULL, <span class="charliteral">&#39;\0&#39;</span>, POPT_ARG_INCLUDE_TABLE, <a class="code" href="rpmcli_8h.html#a60bd8b746df91eb1824a7ad6ffd42cf1">rpmcliAllPoptTable</a>, 0,</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        <a class="code" href="system_8h.html#aca24492e24b07d15df23b4957092a9f3">N_</a>(<span class="stringliteral">&quot;Common options for all rpm modes and executables:&quot;</span>), NULL },</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    POPT_AUTOALIAS</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    POPT_AUTOHELP</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    POPT_TABLEEND</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;};</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="rpmkeys_8c.html#a0ddf1224851353fc92bfbff6f499fa97">   49</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="rpmkeys_8c.html#a0ddf1224851353fc92bfbff6f499fa97">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[])</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;{</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="keywordtype">int</span> ec = EXIT_FAILURE;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    poptContext optCon = <a class="code" href="rpmcli_8h.html#af4d555b4c5efcf319fe643d164775eaf">rpmcliInit</a>(argc, argv, optionsTable);</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <a class="code" href="rpmtypes_8h.html#a1a512138316a227059ca128597dbd464">rpmts</a> ts = <a class="code" href="rpmts_8h.html#ace47f4eaebd8be4f0abbcfb7942b3566">rpmtsCreate</a>();</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <a class="code" href="argv_8h.html#a8fb4667ccebe229131eae0c3655fd79d">ARGV_const_t</a> args = NULL;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    </div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keywordflow">if</span> (argc &lt; 2) {</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;        <a class="code" href="cliutils_8c.html#a4a1ef17fed649a0761310301053e97ed">printUsage</a>(optCon, stderr, 0);</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        <span class="keywordflow">goto</span> exit;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    }</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    args = (<a class="code" href="argv_8h.html#a8fb4667ccebe229131eae0c3655fd79d">ARGV_const_t</a>) poptGetArgs(optCon);</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keywordflow">if</span> (mode != <a class="code" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6a89643e161cf5df1984e15c4ce855dd9b">MODE_LISTKEY</a> &amp;&amp; args == NULL)</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        <a class="code" href="cliutils_8c.html#a04b3e702e4cded860c0e1c9bb6f104ed">argerror</a>(<a class="code" href="system_8h.html#a8a97de23397d8af6821824c0234d8c3c">_</a>(<span class="stringliteral">&quot;no arguments given&quot;</span>));</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <a class="code" href="rpmts_8h.html#a2cc54aa978a49d0b5cefa64095c8ee41">rpmtsSetRootDir</a>(ts, <a class="code" href="rpmcli_8h.html#a4a1b016e2d7aaea6937155c21c87a215">rpmcliRootDir</a>);</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <span class="keywordflow">switch</span> (mode) {</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6a6e71f3470e43602dd881d1cb0ce779a0">MODE_CHECKSIG</a>:</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        ec = <a class="code" href="rpmcli_8h.html#a0b2d1383b10c5aa7ce7155275f035b38">rpmcliVerifySignatures</a>(ts, args);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6ad3de96dfd77735bff12609801e957068">MODE_IMPORTKEY</a>:</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        <span class="keywordflow">if</span> (test)</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;            <a class="code" href="rpmts_8h.html#a6de0f661993ee0829c34dbfadcd9696e">rpmtsSetFlags</a>(ts, (<a class="code" href="rpmts_8h.html#a22eec4db17655dd92ce5715312d153c3">rpmtsFlags</a>(ts)|<a class="code" href="rpmts_8h.html#aca72ece8019aa198fc445bd206caa3f4aae4f59c5196be0e44be7e0f6cd4e8c6e">RPMTRANS_FLAG_TEST</a>));</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        ec = <a class="code" href="rpmcli_8h.html#a6b09ad8eb4f2251a1635199602614db5">rpmcliImportPubkeys</a>(ts, args);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="comment">/* XXX TODO: actually implement these... */</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6aa18ebfe027af5690e69c8a3aa70624fe">MODE_DELKEY</a>:</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6a89643e161cf5df1984e15c4ce855dd9b">MODE_LISTKEY</a>:</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <span class="keywordflow">default</span>:</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        <a class="code" href="cliutils_8c.html#a04b3e702e4cded860c0e1c9bb6f104ed">argerror</a>(<a class="code" href="system_8h.html#a8a97de23397d8af6821824c0234d8c3c">_</a>(<span class="stringliteral">&quot;only one major mode may be specified&quot;</span>));</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    }</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;exit:</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <a class="code" href="rpmts_8h.html#a5315165a6e80a0c71dbe5eb07dd18f58">rpmtsFree</a>(ts);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <a class="code" href="rpmcli_8h.html#a9b4197af25cc216aa3bb7cce5d158dcf">rpmcliFini</a>(optCon);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <span class="keywordflow">return</span> ec;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;}</div><div class="ttc" id="rpmts_8h_html_a2cc54aa978a49d0b5cefa64095c8ee41"><div class="ttname"><a href="rpmts_8h.html#a2cc54aa978a49d0b5cefa64095c8ee41">rpmtsSetRootDir</a></div><div class="ttdeci">int rpmtsSetRootDir(rpmts ts, const char *rootDir)</div><div class="ttdoc">Set transaction rootDir, i.e. </div></div>
<div class="ttc" id="cliutils_8c_html_a4a1ef17fed649a0761310301053e97ed"><div class="ttname"><a href="cliutils_8c.html#a4a1ef17fed649a0761310301053e97ed">printUsage</a></div><div class="ttdeci">void printUsage(poptContext con, FILE *fp, int flags)</div><div class="ttdef"><b>Definition:</b> <a href="cliutils_8c_source.html#l00036">cliutils.c:36</a></div></div>
<div class="ttc" id="rpmkeys_8c_html_a5baf570a3741ad40911ae528d92441ee"><div class="ttname"><a href="rpmkeys_8c.html#a5baf570a3741ad40911ae528d92441ee">keyOptsTable</a></div><div class="ttdeci">static struct poptOption keyOptsTable[]</div><div class="ttdef"><b>Definition:</b> <a href="rpmkeys_8c_source.html#l00022">rpmkeys.c:22</a></div></div>
<div class="ttc" id="debug_8h_html"><div class="ttname"><a href="debug_8h.html">debug.h</a></div></div>
<div class="ttc" id="rpmkeys_8c_html_a811fe196a5d9d37857c2f8adeeaac3c6ad3de96dfd77735bff12609801e957068"><div class="ttname"><a href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6ad3de96dfd77735bff12609801e957068">MODE_IMPORTKEY</a></div><div class="ttdef"><b>Definition:</b> <a href="rpmkeys_8c_source.html#l00014">rpmkeys.c:14</a></div></div>
<div class="ttc" id="rpmkeys_8c_html_a779c8fb41edee9b03a02a249606b0e76"><div class="ttname"><a href="rpmkeys_8c.html#a779c8fb41edee9b03a02a249606b0e76">optionsTable</a></div><div class="ttdeci">static struct poptOption optionsTable[]</div><div class="ttdef"><b>Definition:</b> <a href="rpmkeys_8c_source.html#l00038">rpmkeys.c:38</a></div></div>
<div class="ttc" id="rpmcli_8h_html_af4d555b4c5efcf319fe643d164775eaf"><div class="ttname"><a href="rpmcli_8h.html#af4d555b4c5efcf319fe643d164775eaf">rpmcliInit</a></div><div class="ttdeci">poptContext rpmcliInit(int argc, char *const argv[], struct poptOption *optionsTable)</div><div class="ttdoc">Initialize most everything needed by an rpm CLI executable context. </div></div>
<div class="ttc" id="rpmcli_8h_html_a9b4197af25cc216aa3bb7cce5d158dcf"><div class="ttname"><a href="rpmcli_8h.html#a9b4197af25cc216aa3bb7cce5d158dcf">rpmcliFini</a></div><div class="ttdeci">poptContext rpmcliFini(poptContext optCon)</div><div class="ttdoc">Destroy most everything needed by an rpm CLI executable context. </div></div>
<div class="ttc" id="cliutils_8h_html"><div class="ttname"><a href="cliutils_8h.html">cliutils.h</a></div></div>
<div class="ttc" id="system_8h_html_a8a97de23397d8af6821824c0234d8c3c"><div class="ttname"><a href="system_8h.html#a8a97de23397d8af6821824c0234d8c3c">_</a></div><div class="ttdeci">#define _(Text)</div><div class="ttdef"><b>Definition:</b> <a href="system_8h_source.html#l00110">system.h:110</a></div></div>
<div class="ttc" id="rpmkeys_8c_html_a811fe196a5d9d37857c2f8adeeaac3c6a89643e161cf5df1984e15c4ce855dd9b"><div class="ttname"><a href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6a89643e161cf5df1984e15c4ce855dd9b">MODE_LISTKEY</a></div><div class="ttdef"><b>Definition:</b> <a href="rpmkeys_8c_source.html#l00016">rpmkeys.c:16</a></div></div>
<div class="ttc" id="rpmts_8h_html_a22eec4db17655dd92ce5715312d153c3"><div class="ttname"><a href="rpmts_8h.html#a22eec4db17655dd92ce5715312d153c3">rpmtsFlags</a></div><div class="ttdeci">rpmtransFlags rpmtsFlags(rpmts ts)</div><div class="ttdoc">Get transaction flags, i.e. </div></div>
<div class="ttc" id="cliutils_8c_html_a04b3e702e4cded860c0e1c9bb6f104ed"><div class="ttname"><a href="cliutils_8c.html#a04b3e702e4cded860c0e1c9bb6f104ed">argerror</a></div><div class="ttdeci">void argerror(const char *desc)</div><div class="ttdef"><b>Definition:</b> <a href="cliutils_8c_source.html#l00019">cliutils.c:19</a></div></div>
<div class="ttc" id="rpmkeys_8c_html_a811fe196a5d9d37857c2f8adeeaac3c6aa18ebfe027af5690e69c8a3aa70624fe"><div class="ttname"><a href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6aa18ebfe027af5690e69c8a3aa70624fe">MODE_DELKEY</a></div><div class="ttdef"><b>Definition:</b> <a href="rpmkeys_8c_source.html#l00015">rpmkeys.c:15</a></div></div>
<div class="ttc" id="rpmbuild_8c_html_a811fe196a5d9d37857c2f8adeeaac3c6"><div class="ttname"><a href="rpmbuild_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6">modes</a></div><div class="ttdeci">modes</div><div class="ttdef"><b>Definition:</b> <a href="rpmbuild_8c_source.html#l00204">rpmbuild.c:204</a></div></div>
<div class="ttc" id="rpmkeys_8c_html_a0ddf1224851353fc92bfbff6f499fa97"><div class="ttname"><a href="rpmkeys_8c.html#a0ddf1224851353fc92bfbff6f499fa97">main</a></div><div class="ttdeci">int main(int argc, char *argv[])</div><div class="ttdef"><b>Definition:</b> <a href="rpmkeys_8c_source.html#l00049">rpmkeys.c:49</a></div></div>
<div class="ttc" id="rpmts_8h_html_aca72ece8019aa198fc445bd206caa3f4aae4f59c5196be0e44be7e0f6cd4e8c6e"><div class="ttname"><a href="rpmts_8h.html#aca72ece8019aa198fc445bd206caa3f4aae4f59c5196be0e44be7e0f6cd4e8c6e">RPMTRANS_FLAG_TEST</a></div><div class="ttdef"><b>Definition:</b> <a href="rpmts_8h_source.html#l00030">rpmts.h:30</a></div></div>
<div class="ttc" id="rpmkeys_8c_html_a1ea5d0cb93f22f7d0fdf804bd68c3326"><div class="ttname"><a href="rpmkeys_8c.html#a1ea5d0cb93f22f7d0fdf804bd68c3326">mode</a></div><div class="ttdeci">static int mode</div><div class="ttdef"><b>Definition:</b> <a href="rpmkeys_8c_source.html#l00019">rpmkeys.c:19</a></div></div>
<div class="ttc" id="rpmcli_8h_html_a4a1b016e2d7aaea6937155c21c87a215"><div class="ttname"><a href="rpmcli_8h.html#a4a1b016e2d7aaea6937155c21c87a215">rpmcliRootDir</a></div><div class="ttdeci">const char * rpmcliRootDir</div></div>
<div class="ttc" id="argv_8h_html_a8fb4667ccebe229131eae0c3655fd79d"><div class="ttname"><a href="argv_8h.html#a8fb4667ccebe229131eae0c3655fd79d">ARGV_const_t</a></div><div class="ttdeci">char *const * ARGV_const_t</div><div class="ttdef"><b>Definition:</b> <a href="argv_8h_source.html#l00016">argv.h:16</a></div></div>
<div class="ttc" id="rpmts_8h_html_a5315165a6e80a0c71dbe5eb07dd18f58"><div class="ttname"><a href="rpmts_8h.html#a5315165a6e80a0c71dbe5eb07dd18f58">rpmtsFree</a></div><div class="ttdeci">rpmts rpmtsFree(rpmts ts)</div><div class="ttdoc">Destroy transaction set, closing the database as well. </div></div>
<div class="ttc" id="rpmtypes_8h_html_a1a512138316a227059ca128597dbd464"><div class="ttname"><a href="rpmtypes_8h.html#a1a512138316a227059ca128597dbd464">rpmts</a></div><div class="ttdeci">struct rpmts_s * rpmts</div><div class="ttdoc">The main types involved in transaction manipulation. </div><div class="ttdef"><b>Definition:</b> <a href="rpmtypes_8h_source.html#l00063">rpmtypes.h:63</a></div></div>
<div class="ttc" id="system_8h_html"><div class="ttname"><a href="system_8h.html">system.h</a></div></div>
<div class="ttc" id="rpmkeys_8c_html_a1bd3f5fbccb1628eb13dda4cd02633a4"><div class="ttname"><a href="rpmkeys_8c.html#a1bd3f5fbccb1628eb13dda4cd02633a4">test</a></div><div class="ttdeci">static int test</div><div class="ttdef"><b>Definition:</b> <a href="rpmkeys_8c_source.html#l00020">rpmkeys.c:20</a></div></div>
<div class="ttc" id="rpmkeys_8c_html_a811fe196a5d9d37857c2f8adeeaac3c6a6e71f3470e43602dd881d1cb0ce779a0"><div class="ttname"><a href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6a6e71f3470e43602dd881d1cb0ce779a0">MODE_CHECKSIG</a></div><div class="ttdef"><b>Definition:</b> <a href="rpmkeys_8c_source.html#l00013">rpmkeys.c:13</a></div></div>
<div class="ttc" id="system_8h_html_aca24492e24b07d15df23b4957092a9f3"><div class="ttname"><a href="system_8h.html#aca24492e24b07d15df23b4957092a9f3">N_</a></div><div class="ttdeci">#define N_(Text)</div><div class="ttdef"><b>Definition:</b> <a href="system_8h_source.html#l00113">system.h:113</a></div></div>
<div class="ttc" id="rpmcli_8h_html_a0b2d1383b10c5aa7ce7155275f035b38"><div class="ttname"><a href="rpmcli_8h.html#a0b2d1383b10c5aa7ce7155275f035b38">rpmcliVerifySignatures</a></div><div class="ttdeci">int rpmcliVerifySignatures(rpmts ts, ARGV_const_t argv)</div><div class="ttdoc">Verify package signatures. </div></div>
<div class="ttc" id="rpmts_8h_html_a6de0f661993ee0829c34dbfadcd9696e"><div class="ttname"><a href="rpmts_8h.html#a6de0f661993ee0829c34dbfadcd9696e">rpmtsSetFlags</a></div><div class="ttdeci">rpmtransFlags rpmtsSetFlags(rpmts ts, rpmtransFlags transFlags)</div><div class="ttdoc">Set transaction flags, i.e. </div></div>
<div class="ttc" id="rpmts_8h_html_ace47f4eaebd8be4f0abbcfb7942b3566"><div class="ttname"><a href="rpmts_8h.html#ace47f4eaebd8be4f0abbcfb7942b3566">rpmtsCreate</a></div><div class="ttdeci">rpmts rpmtsCreate(void)</div><div class="ttdoc">Create an empty transaction set. </div></div>
<div class="ttc" id="rpmcli_8h_html_a6b09ad8eb4f2251a1635199602614db5"><div class="ttname"><a href="rpmcli_8h.html#a6b09ad8eb4f2251a1635199602614db5">rpmcliImportPubkeys</a></div><div class="ttdeci">int rpmcliImportPubkeys(rpmts ts, ARGV_const_t argv)</div><div class="ttdoc">Import public key(s) to rpm keyring. </div></div>
<div class="ttc" id="rpmkeys_8c_html_aa006daaf11f1e2e45a6ababaf463212b"><div class="ttname"><a href="rpmkeys_8c.html#aa006daaf11f1e2e45a6ababaf463212b">environ</a></div><div class="ttdeci">char ** environ</div><div class="ttdef"><b>Definition:</b> <a href="rpmkeys_8c_source.html#l00009">rpmkeys.c:9</a></div></div>
<div class="ttc" id="rpmcli_8h_html_a60bd8b746df91eb1824a7ad6ffd42cf1"><div class="ttname"><a href="rpmcli_8h.html#a60bd8b746df91eb1824a7ad6ffd42cf1">rpmcliAllPoptTable</a></div><div class="ttdeci">struct poptOption rpmcliAllPoptTable[]</div><div class="ttdoc">Popt option table for options shared by all modes and executables. </div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>