<!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
 <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 Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="annotated.html"><span>Data 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 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> <span class="preprocessor">#include "<a class="code" href="system_8h.html">system.h</a>"</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> </div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor">#include <popt.h></span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include <rpm/rpmcli.h></span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor">#include "<a class="code" href="cliutils_8h.html">cliutils.h</a>"</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#include "<a class="code" href="debug_8h.html">debug.h</a>"</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#if !defined(__GLIBC__) && !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> <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> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> </div><div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6"> 12</a></span> <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>  <a class="code" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6a6e71f3470e43602dd881d1cb0ce779a0">MODE_CHECKSIG</a> = (1 << 0),</div><div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6ad3de96dfd77735bff12609801e957068"> 14</a></span>  <a class="code" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6ad3de96dfd77735bff12609801e957068">MODE_IMPORTKEY</a> = (1 << 1),</div><div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6aa18ebfe027af5690e69c8a3aa70624fe"> 15</a></span>  <a class="code" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6aa18ebfe027af5690e69c8a3aa70624fe">MODE_DELKEY</a> = (1 << 2),</div><div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6a89643e161cf5df1984e15c4ce855dd9b"> 16</a></span>  <a class="code" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6a89643e161cf5df1984e15c4ce855dd9b">MODE_LISTKEY</a> = (1 << 3),</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> };</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div><div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="rpmkeys_8c.html#a1ea5d0cb93f22f7d0fdf804bd68c3326"> 19</a></span> <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> <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> </div><div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="rpmkeys_8c.html#a5baf570a3741ad40911ae528d92441ee"> 22</a></span> <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>  { <span class="stringliteral">"checksig"</span>, <span class="charliteral">'K'</span>, (POPT_ARG_VAL|POPT_ARGFLAG_OR), &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>  <a class="code" href="system_8h.html#aca24492e24b07d15df23b4957092a9f3">N_</a>(<span class="stringliteral">"verify package signature(s)"</span>), NULL },</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  { <span class="stringliteral">"import"</span>, <span class="charliteral">'\0'</span>, (POPT_ARG_VAL|POPT_ARGFLAG_OR), &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>  <a class="code" href="system_8h.html#aca24492e24b07d15df23b4957092a9f3">N_</a>(<span class="stringliteral">"import an armored public key"</span>), NULL },</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  { <span class="stringliteral">"test"</span>, <span class="charliteral">'\0'</span>, POPT_ARG_NONE, &<a class="code" href="rpmkeys_8c.html#a1bd3f5fbccb1628eb13dda4cd02633a4">test</a>, 0,</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  <a class="code" href="system_8h.html#aca24492e24b07d15df23b4957092a9f3">N_</a>(<span class="stringliteral">"don't import, but tell if it would work or not"</span>), NULL },</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#if 0</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  { <span class="stringliteral">"delete-key"</span>, <span class="charliteral">'\0'</span>, (POPT_ARG_VAL|POPT_ARGFLAG_OR), &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>  <a class="code" href="system_8h.html#aca24492e24b07d15df23b4957092a9f3">N_</a>(<span class="stringliteral">"list keys from RPM keyring"</span>), NULL },</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  { <span class="stringliteral">"list-keys"</span>, <span class="charliteral">'\0'</span>, (POPT_ARG_VAL|POPT_ARGFLAG_OR), &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>  <a class="code" href="system_8h.html#aca24492e24b07d15df23b4957092a9f3">N_</a>(<span class="stringliteral">"list keys from RPM keyring"</span>), NULL },</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  POPT_TABLEEND</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> };</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="rpmkeys_8c.html#a779c8fb41edee9b03a02a249606b0e76"> 38</a></span> <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>  { NULL, <span class="charliteral">'\0'</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>  <a class="code" href="system_8h.html#aca24492e24b07d15df23b4957092a9f3">N_</a>(<span class="stringliteral">"Keyring options:"</span>), NULL },</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  { NULL, <span class="charliteral">'\0'</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>  <a class="code" href="system_8h.html#aca24492e24b07d15df23b4957092a9f3">N_</a>(<span class="stringliteral">"Common options for all rpm modes and executables:"</span>), NULL },</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  POPT_AUTOALIAS</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  POPT_AUTOHELP</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  POPT_TABLEEND</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> };</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="rpmkeys_8c.html#a0ddf1224851353fc92bfbff6f499fa97"> 49</a></span> <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> {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordtype">int</span> ec = EXIT_FAILURE;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  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>  <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>  <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>  </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">if</span> (argc < 2) {</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <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>  <span class="keywordflow">goto</span> exit;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  }</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  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> </div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">if</span> (mode != <a class="code" href="rpmkeys_8c.html#a811fe196a5d9d37857c2f8adeeaac3c6a89643e161cf5df1984e15c4ce855dd9b">MODE_LISTKEY</a> && args == NULL)</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="cliutils_8c.html#a04b3e702e4cded860c0e1c9bb6f104ed">argerror</a>(<a class="code" href="system_8h.html#a8a97de23397d8af6821824c0234d8c3c">_</a>(<span class="stringliteral">"no arguments given"</span>));</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <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> </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">switch</span> (mode) {</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <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>  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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <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>  <span class="keywordflow">if</span> (test)</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <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>  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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="comment">/* XXX TODO: actually implement these... */</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <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>  <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>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="cliutils_8c.html#a04b3e702e4cded860c0e1c9bb6f104ed">argerror</a>(<a class="code" href="system_8h.html#a8a97de23397d8af6821824c0234d8c3c">_</a>(<span class="stringliteral">"only one major mode may be specified"</span>));</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  }</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span> exit:</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <a class="code" href="rpmts_8h.html#a5315165a6e80a0c71dbe5eb07dd18f58">rpmtsFree</a>(ts);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <a class="code" href="rpmcli_8h.html#a9b4197af25cc216aa3bb7cce5d158dcf">rpmcliFini</a>(optCon);</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">return</span> ec;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> }</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  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>