<!-- 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: Data Fields - Variables</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('functions_vars_g.html','');});
/* @license-end */
</script>
<div id="doc-content">
<div class="contents">
&#160;

<h3><a id="index_g"></a>- g -</h3><ul>
<li>g
: <a class="el" href="struct_pairing_state.html#a0e19d5e16a81645aca678e04b88758da">PairingState</a>
</li>
<li>g1
: <a class="el" href="struct_epid11_params.html#a835e70da717cd5b0c94e242a6418a287">Epid11Params</a>
, <a class="el" href="struct_epid2_params.html#a4c5195b4fa9393a07a121336202531ad">Epid2Params</a>
</li>
<li>g2
: <a class="el" href="struct_epid11_params.html#a1c6bbc4e066449d9c329f88cb653ef7c">Epid11Params</a>
, <a class="el" href="struct_epid2_params.html#a609b0aac17fca34fe39bee29676a9618">Epid2Params</a>
</li>
<li>g3
: <a class="el" href="struct_epid11_params.html#a7eb9a1371d7187ae81bccfa8d5595033">Epid11Params</a>
</li>
<li>gamma
: <a class="el" href="struct_i_priv_key.html#a6d484175317aef09fb959c3ca55fc70a">IPrivKey</a>
</li>
<li>gid
: <a class="el" href="struct_compressed_priv_key.html#ac6689899f1d9a6a8c5e4915563679840">CompressedPrivKey</a>
, <a class="el" href="struct_epid11_group_pub_key.html#a964344b3c595bdd585bb9b5d9d0ea762">Epid11GroupPubKey</a>
, <a class="el" href="struct_epid11_group_rl.html#a97f165c59bc447e3ca3c2148a096710f">Epid11GroupRl</a>
, <a class="el" href="struct_epid11_priv_rl.html#aa8945d81e30674b52a6d0900b64feb3c">Epid11PrivRl</a>
, <a class="el" href="struct_epid11_sig_rl.html#ad45b0e3e1be59649150dd34c104000ac">Epid11SigRl</a>
, <a class="el" href="struct_epid11_verifier_precomp.html#a03138e937f4488bdbc52ed473dc313da">Epid11VerifierPrecomp</a>
, <a class="el" href="struct_group_pub_key.html#ae8e77ab4d5eb3c8e566c24a64cce56ee">GroupPubKey</a>
, <a class="el" href="struct_group_rl.html#a51022e172ab8b945efc69f1e63170107">GroupRl</a>
, <a class="el" href="struct_i_priv_key.html#ad400a4237b6d50855538fd40580eb1bb">IPrivKey</a>
, <a class="el" href="struct_membership_credential.html#afbff64ec55888c7e2a658eabb5e16671">MembershipCredential</a>
, <a class="el" href="struct_priv_key.html#ab416dcb4366427c24b44c2a02e4ae7c8">PrivKey</a>
, <a class="el" href="struct_priv_rl.html#af7317529b8e55476bd06b66ed8131d64">PrivRl</a>
, <a class="el" href="struct_sig_rl.html#a12757d30fcccd310716433948e0b603e">SigRl</a>
, <a class="el" href="struct_verifier_precomp.html#afc3e29a325c95c62bb192d5f8cdd5c1c">VerifierPrecomp</a>
, <a class="el" href="struct_verifier_rl.html#ab85c4666d16145ff16443e84468d2d7d">VerifierRl</a>
</li>
</ul>
</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>
