<!-- HTML header for doxygen 1.8.10-->
<!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.14"/>
<title>Intel&reg; Enhanced Privacy ID SDK: common</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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="epidstyle.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"><a 
                            onclick="storeLink('index.html')"
                            id="projectlink" 
                            class="index.html" 
                            href="index.html">Intel&reg; Enhanced Privacy ID SDK</a>
&#160;<span id="projectnumber">6.0.1</span>
</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('group___epid_common.html','');});
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#groups">Modules</a> &#124;
<a href="#typedef-members">Typedefs</a>  </div>
  <div class="headertitle">
<div class="title">common<div class="ingroups"><a class="el" href="group___epid_module.html">epid&amp;nbsp;</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Common code shared between core sub-components.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
Modules</h2></td></tr>
<tr class="memitem:group___epid_math"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_math.html">math</a></td></tr>
<tr class="memdesc:group___epid_math"><td class="mdescLeft">&#160;</td><td class="mdescRight">Math Primitives and Group Operations. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group___error_codes"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___error_codes.html">errors</a></td></tr>
<tr class="memdesc:group___error_codes"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error reporting interface. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group___file_parser"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___file_parser.html">fileparser</a></td></tr>
<tr class="memdesc:group___file_parser"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parser for issuer material. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group___epid_print"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_print.html">print_utils</a></td></tr>
<tr class="memdesc:group___epid_print"><td class="mdescLeft">&#160;</td><td class="mdescRight">Debug print routines. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group___epid_types"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_types.html">types</a></td></tr>
<tr class="memdesc:group___epid_types"><td class="mdescLeft">&#160;</td><td class="mdescRight">SDK data types. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga6119a2c0323a3fca9e502b24bc378c2c"><td class="memItemLeft" align="right" valign="top">typedef int(__STDCALL *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_common.html#ga6119a2c0323a3fca9e502b24bc378c2c">BitSupplier</a>) (unsigned int *rand_data, int num_bits, void *user_data)</td></tr>
<tr class="memdesc:ga6119a2c0323a3fca9e502b24bc378c2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates random data.  <a href="#ga6119a2c0323a3fca9e502b24bc378c2c">More...</a><br /></td></tr>
<tr class="separator:ga6119a2c0323a3fca9e502b24bc378c2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Common code shared between core sub-components. </p>
<p>Constants, utility functions, and libraries that are used widely in the implementation or definition of APIs and samples. </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga6119a2c0323a3fca9e502b24bc378c2c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6119a2c0323a3fca9e502b24bc378c2c">&#9670;&nbsp;</a></span>BitSupplier</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int(__STDCALL* BitSupplier) (unsigned int *rand_data, int num_bits, void *user_data)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generates random data. </p>
<p>The SDK provides the <a class="el" href="group___epid_common.html#ga6119a2c0323a3fca9e502b24bc378c2c" title="Generates random data. ">BitSupplier</a> as a function prototype so that you will know the requirements for your own implementation of a random number generator.</p>
<p>You need to pass a pointer to your implementation of the random number generator into methods that require it.</p>
<p>For an example of how a BitSupplier is created, see the <code>signmsg</code> example.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">rand_data</td><td>destination buffer for random data generated by BitSupplier. The buffer will receive <code>num_bits</code> of random data. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">num_bits</td><td>specifies the size of the random data, in bits, to be generated. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>user data that will be passed to the random number generator. The usage of this data is specific to the implementation of the BitSupplier. For example, this could be used to pass a pointer to a data structure that maintains state across calls to your BitSupplier.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success and non-zero value on error. </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.10-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">
      &copy; 2016-2017 Intel Corporation
    </li>
  </ul>
</div>
</body>
</html>
