Files
pcp/man/html/group__KEYHASH.html

405 lines
22 KiB
HTML
Raw Normal View History

2014-02-20 20:09:24 +01:00
<!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"/>
<title>libpcp: KEYHASH</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 style="padding-left: 0.5em;">
<div id="projectname">libpcp
&#160;<span id="projectnumber">0.2.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">KEYHASH</div> </div>
</div><!--header-->
<div class="contents">
<p>Uthashes of secret and public key structures.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga67612ac824c9cd2bf19ef54463aa03d6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__KEYHASH.html#ga67612ac824c9cd2bf19ef54463aa03d6">pcphash_iterate</a>(key)</td></tr>
<tr class="memdesc:ga67612ac824c9cd2bf19ef54463aa03d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterate over the list of secret keys. <a href="#ga67612ac824c9cd2bf19ef54463aa03d6"></a><br/></td></tr>
<tr class="separator:ga67612ac824c9cd2bf19ef54463aa03d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf7bf61c0ae9de0800550e66649cbe74"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__KEYHASH.html#gadf7bf61c0ae9de0800550e66649cbe74">pcphash_iteratepub</a>(key)</td></tr>
<tr class="memdesc:gadf7bf61c0ae9de0800550e66649cbe74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterate over the list of public keys. <a href="#gadf7bf61c0ae9de0800550e66649cbe74"></a><br/></td></tr>
<tr class="separator:gadf7bf61c0ae9de0800550e66649cbe74"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga032631be7ae7bfda7a7d3a6ec6c470e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__KEYHASH.html#ga032631be7ae7bfda7a7d3a6ec6c470e9">pcphash_init</a> ()</td></tr>
<tr class="memdesc:ga032631be7ae7bfda7a7d3a6ec6c470e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the global hashes. <a href="#ga032631be7ae7bfda7a7d3a6ec6c470e9"></a><br/></td></tr>
<tr class="separator:ga032631be7ae7bfda7a7d3a6ec6c470e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6ec2d68ebc58d0291f1a3df489f60137"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__KEYHASH.html#ga6ec2d68ebc58d0291f1a3df489f60137">pcphash_del</a> (void *key, int type)</td></tr>
<tr class="memdesc:ga6ec2d68ebc58d0291f1a3df489f60137"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete an entry from a hash. <a href="#ga6ec2d68ebc58d0291f1a3df489f60137"></a><br/></td></tr>
<tr class="separator:ga6ec2d68ebc58d0291f1a3df489f60137"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29bb3dbb781b383f0ded40ee149b8917"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__KEYHASH.html#ga29bb3dbb781b383f0ded40ee149b8917">pcphash_clean</a> ()</td></tr>
<tr class="memdesc:ga29bb3dbb781b383f0ded40ee149b8917"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees the memory allocated by the hashes. <a href="#ga29bb3dbb781b383f0ded40ee149b8917"></a><br/></td></tr>
<tr class="separator:ga29bb3dbb781b383f0ded40ee149b8917"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga16be3ae351e715ae60801e9bae56a672"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__KEYS.html#gae88eb39995125f3b68b4ce9175b41732">pcp_key_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__KEYHASH.html#ga16be3ae351e715ae60801e9bae56a672">pcphash_keyexists</a> (char *id)</td></tr>
<tr class="memdesc:ga16be3ae351e715ae60801e9bae56a672"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a secret key with a given key-id exists in the hash. <a href="#ga16be3ae351e715ae60801e9bae56a672"></a><br/></td></tr>
<tr class="separator:ga16be3ae351e715ae60801e9bae56a672"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad8bdc1bfa1e646032ff7ceadbec0b2b1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__KEYS.html#ga859c793ca80717fdfc8ebef3e7224746">pcp_pubkey_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__KEYHASH.html#gad8bdc1bfa1e646032ff7ceadbec0b2b1">pcphash_pubkeyexists</a> (char *id)</td></tr>
<tr class="memdesc:gad8bdc1bfa1e646032ff7ceadbec0b2b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a publickey with a given key-id exists in the hash. <a href="#gad8bdc1bfa1e646032ff7ceadbec0b2b1"></a><br/></td></tr>
<tr class="separator:gad8bdc1bfa1e646032ff7ceadbec0b2b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga334bc5afda6c8bfa53d9c73390a4743f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__KEYHASH.html#ga334bc5afda6c8bfa53d9c73390a4743f">pcphash_add</a> (void *key, int type)</td></tr>
<tr class="memdesc:ga334bc5afda6c8bfa53d9c73390a4743f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a key structure to the hash list. <a href="#ga334bc5afda6c8bfa53d9c73390a4743f"></a><br/></td></tr>
<tr class="separator:ga334bc5afda6c8bfa53d9c73390a4743f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf4f54f18a5ad15606ce8a43ea4b1d89"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__KEYHASH.html#gabf4f54f18a5ad15606ce8a43ea4b1d89">pcphash_count</a> ()</td></tr>
<tr class="memdesc:gabf4f54f18a5ad15606ce8a43ea4b1d89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of secret keys in the hash. <a href="#gabf4f54f18a5ad15606ce8a43ea4b1d89"></a><br/></td></tr>
<tr class="separator:gabf4f54f18a5ad15606ce8a43ea4b1d89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gababf062b31ee773f739d1411b2b72317"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__KEYHASH.html#gababf062b31ee773f739d1411b2b72317">pcphash_countpub</a> ()</td></tr>
<tr class="memdesc:gababf062b31ee773f739d1411b2b72317"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of public keys in the hash. <a href="#gababf062b31ee773f739d1411b2b72317"></a><br/></td></tr>
<tr class="separator:gababf062b31ee773f739d1411b2b72317"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga816334866b4b71819101952713f957d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__KEYS.html#gae88eb39995125f3b68b4ce9175b41732">pcp_key_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__KEYHASH.html#ga816334866b4b71819101952713f957d3">pcpkey_hash</a></td></tr>
<tr class="memdesc:ga816334866b4b71819101952713f957d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Global hash for secret keys. <a href="#ga816334866b4b71819101952713f957d3"></a><br/></td></tr>
<tr class="separator:ga816334866b4b71819101952713f957d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2953fd446079220a948693dfab5d6055"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__KEYS.html#ga859c793ca80717fdfc8ebef3e7224746">pcp_pubkey_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__KEYHASH.html#ga2953fd446079220a948693dfab5d6055">pcppubkey_hash</a></td></tr>
<tr class="memdesc:ga2953fd446079220a948693dfab5d6055"><td class="mdescLeft">&#160;</td><td class="mdescRight">Global hash for public keys. <a href="#ga2953fd446079220a948693dfab5d6055"></a><br/></td></tr>
<tr class="separator:ga2953fd446079220a948693dfab5d6055"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf35ca454e8baae8101c5efae0e8f8da0"><td class="memItemLeft" align="right" valign="top">pcp_keysig_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__KEYHASH.html#gaf35ca454e8baae8101c5efae0e8f8da0">pcpkeysig_hash</a></td></tr>
<tr class="memdesc:gaf35ca454e8baae8101c5efae0e8f8da0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Global hash for key signatures. <a href="#gaf35ca454e8baae8101c5efae0e8f8da0"></a><br/></td></tr>
<tr class="separator:gaf35ca454e8baae8101c5efae0e8f8da0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Uthashes of secret and public key structures. </p>
<p>Libpcp uses the <a href="http://troydhanson.github.io/uthash/">uthash</a> system to maintain lists of keys. There's one hash per key type. The hash has the same type as the key structure itself, but is global. </p>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga67612ac824c9cd2bf19ef54463aa03d6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define pcphash_iterate</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">key</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">__k = NULL; \</div>
<div class="line"> HASH_ITER(hh, <a class="code" href="group__KEYHASH.html#ga816334866b4b71819101952713f957d3" title="Global hash for secret keys.">pcpkey_hash</a>, key, __k)</div>
</div><!-- fragment -->
<p>Iterate over the list of secret keys. </p>
<p>Sample use:</p>
<div class="fragment"><div class="line"><a class="code" href="struct__pcp__key__t.html" title="PCP private key structure.">pcp_key_t</a> k = NULL;</div>
<div class="line"><a class="code" href="group__KEYHASH.html#ga67612ac824c9cd2bf19ef54463aa03d6" title="Iterate over the list of secret keys.">pcphash_iterate</a>(k) {</div>
<div class="line"> <a class="code" href="group__KEYS.html#ga8aa66f20f7671d80e75d7b05a7e692c4" title="Dump a secret key structure to stderr.">pcp_dumpkey</a>(k);</div>
<div class="line">}</div>
</div><!-- fragment --><p>Also, don't free() the keyhash or the temporary key pointer yourself. Use <a class="el" href="group__KEYHASH.html#ga29bb3dbb781b383f0ded40ee149b8917" title="Frees the memory allocated by the hashes.">pcphash_clean()</a> instead when done. </p>
<p>Definition at line <a class="el" href="keyhash_8h_source.html#l00064">64</a> of file <a class="el" href="keyhash_8h_source.html">keyhash.h</a>.</p>
</div>
</div>
<a class="anchor" id="gadf7bf61c0ae9de0800550e66649cbe74"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define pcphash_iteratepub</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">key</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">__p = NULL; \</div>
<div class="line"> HASH_ITER(hh, <a class="code" href="group__KEYHASH.html#ga2953fd446079220a948693dfab5d6055" title="Global hash for public keys.">pcppubkey_hash</a>, key, __p)</div>
</div><!-- fragment -->
<p>Iterate over the list of public keys. </p>
<p>Sample use:</p>
<div class="fragment"><div class="line"><a class="code" href="struct__pcp__pubkey__t.html" title="PCP public key structure.">pcp_pubkey_t</a> k = NULL;</div>
<div class="line"><a class="code" href="group__KEYHASH.html#gadf7bf61c0ae9de0800550e66649cbe74" title="Iterate over the list of public keys.">pcphash_iteratepub</a>(k) {</div>
<div class="line"> <a class="code" href="group__KEYS.html#gaf37d43db0d210b3fbeab0929e3a76ebf" title="Dump a public key structure to stderr.">pcp_dumppubkey</a>(k);</div>
<div class="line">}</div>
</div><!-- fragment --><p>Also, don't free() the keyhash or the temporary key pointer yourself. Use <a class="el" href="group__KEYHASH.html#ga29bb3dbb781b383f0ded40ee149b8917" title="Frees the memory allocated by the hashes.">pcphash_clean()</a> instead when done. </p>
<p>Definition at line <a class="el" href="keyhash_8h_source.html#l00083">83</a> of file <a class="el" href="keyhash_8h_source.html">keyhash.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga334bc5afda6c8bfa53d9c73390a4743f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pcphash_add </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a key structure to the hash list. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A pointer to the key structure to delete.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>An integer specifying the key type to delete. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__KEYS.html#ga19da9fe7a497dcd854feff4d29e4472d" title="Internal key types.">_PCP_KEY_TYPES</a>. </dd></dl>
</div>
</div>
<a class="anchor" id="ga29bb3dbb781b383f0ded40ee149b8917"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pcphash_clean </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Frees the memory allocated by the hashes. </p>
<p>Clears and frees memory of all keys in the hash lists and the hashes themselfes. </p>
</div>
</div>
<a class="anchor" id="gabf4f54f18a5ad15606ce8a43ea4b1d89"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pcphash_count </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the number of secret keys in the hash. </p>
<dl class="section return"><dt>Returns</dt><dd>Number of keys. </dd></dl>
</div>
</div>
<a class="anchor" id="gababf062b31ee773f739d1411b2b72317"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pcphash_countpub </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the number of public keys in the hash. </p>
<dl class="section return"><dt>Returns</dt><dd>Number of keys. </dd></dl>
</div>
</div>
<a class="anchor" id="ga6ec2d68ebc58d0291f1a3df489f60137"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pcphash_del </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Delete an entry from a hash. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>A pointer to the key structure to delete.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>An integer specifying the key type to delete. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__KEYS.html#ga19da9fe7a497dcd854feff4d29e4472d" title="Internal key types.">_PCP_KEY_TYPES</a>. </dd></dl>
</div>
</div>
<a class="anchor" id="ga032631be7ae7bfda7a7d3a6ec6c470e9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pcphash_init </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize the global hashes. </p>
</div>
</div>
<a class="anchor" id="ga16be3ae351e715ae60801e9bae56a672"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__KEYS.html#gae88eb39995125f3b68b4ce9175b41732">pcp_key_t</a>* pcphash_keyexists </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if a secret key with a given key-id exists in the hash. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>A string with the key-id (max 17 chars incl 0).</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns a pointer to the matching key or NULL if the id doesn't match. </dd></dl>
</div>
</div>
<a class="anchor" id="gad8bdc1bfa1e646032ff7ceadbec0b2b1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__KEYS.html#ga859c793ca80717fdfc8ebef3e7224746">pcp_pubkey_t</a>* pcphash_pubkeyexists </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if a publickey with a given key-id exists in the hash. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>A string with the key-id (max 17 chars incl 0).</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns a pointer to the matching key or NULL if the id doesn't match. </dd></dl>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="ga816334866b4b71819101952713f957d3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__KEYS.html#gae88eb39995125f3b68b4ce9175b41732">pcp_key_t</a>* pcpkey_hash</td>
</tr>
</table>
</div><div class="memdoc">
<p>Global hash for secret keys. </p>
</div>
</div>
<a class="anchor" id="gaf35ca454e8baae8101c5efae0e8f8da0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">pcp_keysig_t* pcpkeysig_hash</td>
</tr>
</table>
</div><div class="memdoc">
<p>Global hash for key signatures. </p>
</div>
</div>
<a class="anchor" id="ga2953fd446079220a948693dfab5d6055"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__KEYS.html#ga859c793ca80717fdfc8ebef3e7224746">pcp_pubkey_t</a>* pcppubkey_hash</td>
</tr>
</table>
</div><div class="memdoc">
<p>Global hash for public keys. </p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
2014-02-20 21:02:52 +01:00
Generated on Thu Feb 20 2014 20:58:12 for libpcp by &#160;<a href="http://www.doxygen.org/index.html">
2014-02-20 20:09:24 +01:00
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.2
</small></address>
</body>
</html>