<!-- 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</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_x.html','');});
/* @license-end */
</script>
<div id="doc-content">
<div class="contents">
<div class="textblock">Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:</div>

<h3><a id="index_x"></a>- x -</h3><ul>
<li>x
: <a class="el" href="struct_ecc_point_fq2.html#ac1c2f9e66988d12c61bd1ffd4975eb7d">EccPointFq2</a>
, <a class="el" href="struct_ecc_point_fq.html#a50491ef33f641fa3e81d58bdc906b258">EccPointFq</a>
</li>
<li>X
: <a class="el" href="struct_ecc_point_jacobi_fq2.html#aa540cd77c703ba538b245897009076a7">EccPointJacobiFq2</a>
, <a class="el" href="struct_ecc_point_jacobi_fq.html#a281019c17dd470ab6b5a763efc23fa1b">EccPointJacobiFq</a>
</li>
<li>x
: <a class="el" href="struct_ecdsa_public_key.html#a37c51614faf022eec491b4de8f3a13e1">EcdsaPublicKey</a>
, <a class="el" href="struct_ecdsa_signature.html#a64b623605a55a267a36df18f29142d0d">EcdsaSignature</a>
, <a class="el" href="struct_epid11_g2_elem_str.html#af28558484298f4f56377ededf57a4a04">Epid11G2ElemStr</a>
, <a class="el" href="struct_epid_ca_certificate.html#a4f77996f90ed7da1d0503c4236b2c9d1">EpidCaCertificate</a>
, <a class="el" href="struct_g1_elem_str.html#a3b0e658d6e5697763ad9c633c11d4ec4">G1ElemStr</a>
, <a class="el" href="struct_g2_elem_str.html#a145ec5b20a6f4f00b080e11c8680afc3">G2ElemStr</a>
, <a class="el" href="struct_gt_elem_str.html#aeaeb0e9e1c6efd378a475eb9a6c42132">GtElemStr</a>
, <a class="el" href="struct_membership_credential.html#a2c5c0d22999d6917fea5ad6618883bcf">MembershipCredential</a>
, <a class="el" href="struct_priv_key.html#aa805f9e124f05bdb733c85cb93614cbd">PrivKey</a>
</li>
<li>x0
: <a class="el" href="struct_fq2_elem.html#a3e0e0c995074a18ca1e234fd99f90b3d">Fq2Elem</a>
</li>
<li>x1
: <a class="el" href="struct_fq2_elem.html#a4f48b8d7f1d6bac1579c1fad81ef4a02">Fq2Elem</a>
</li>
<li>xi
: <a class="el" href="struct_epid2_params.html#ae1d8f5d6036a82064e91bc137b278e74">Epid2Params</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>
