Home | History | Annotate | Download | only in html
      1 <!-- HTML header for doxygen 1.8.10-->
      2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      3 <html xmlns="http://www.w3.org/1999/xhtml">
      4 <head>
      5 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
      6 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
      7 <meta name="generator" content="Doxygen 1.8.14"/>
      8 <title>Intel&reg; Enhanced Privacy ID SDK: epid/member/tiny/math/serialize.h File Reference</title>
      9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
     10 <script type="text/javascript" src="jquery.js"></script>
     11 <script type="text/javascript" src="dynsections.js"></script>
     12 <link href="navtree.css" rel="stylesheet" type="text/css"/>
     13 <script type="text/javascript" src="resize.js"></script>
     14 <script type="text/javascript" src="navtreedata.js"></script>
     15 <script type="text/javascript" src="navtree.js"></script>
     16 <script type="text/javascript">
     17 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
     18   $(document).ready(initResizable);
     19 /* @license-end */</script>
     20 <link href="doxygen.css" rel="stylesheet" type="text/css" />
     21 <link href="epidstyle.css" rel="stylesheet" type="text/css"/>
     22 </head>
     23 <body>
     24 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
     25 <div id="titlearea">
     26 <table cellspacing="0" cellpadding="0">
     27  <tbody>
     28  <tr style="height: 56px;">
     29   <td id="projectalign" style="padding-left: 0.5em;">
     30    <div id="projectname"><a 
     31                             onclick="storeLink('index.html')"
     32                             id="projectlink" 
     33                             class="index.html" 
     34                             href="index.html">Intel&reg; Enhanced Privacy ID SDK</a>
     35 &#160;<span id="projectnumber">6.0.1</span>
     36 </div>
     37   </td>
     38  </tr>
     39  </tbody>
     40 </table>
     41 </div>
     42 <!-- end header part -->
     43 <!-- Generated by Doxygen 1.8.14 -->
     44 </div><!-- top -->
     45 <div id="side-nav" class="ui-resizable side-nav-resizable">
     46   <div id="nav-tree">
     47     <div id="nav-tree-contents">
     48       <div id="nav-sync" class="sync"></div>
     49     </div>
     50   </div>
     51   <div id="splitbar" style="-moz-user-select:none;" 
     52        class="ui-resizable-handle">
     53   </div>
     54 </div>
     55 <script type="text/javascript">
     56 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
     57 $(document).ready(function(){initNavTree('serialize_8h.html','');});
     58 /* @license-end */
     59 </script>
     60 <div id="doc-content">
     61 <div class="header">
     62   <div class="summary">
     63 <a href="#func-members">Functions</a>  </div>
     64   <div class="headertitle">
     65 <div class="title">serialize.h File Reference</div>  </div>
     66 </div><!--header-->
     67 <div class="contents">
     68 
     69 <p>Definition of de/serialize functionality.  
     70 <a href="#details">More...</a></p>
     71 <div class="textblock"><code>#include &lt;stddef.h&gt;</code><br />
     72 <code>#include &lt;stdint.h&gt;</code><br />
     73 </div><table class="memberdecls">
     74 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
     75 Functions</h2></td></tr>
     76 <tr class="memitem:a6789f8e258de2efc616c2f3109b7992b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="serialize_8h.html#a6789f8e258de2efc616c2f3109b7992b">SwapNativeAndPortableLayout</a> (void *dest, size_t dest_size, void const *src, size_t src_size)</td></tr>
     77 <tr class="memdesc:a6789f8e258de2efc616c2f3109b7992b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serialize or deserailize a sequence of math objects.  <a href="#a6789f8e258de2efc616c2f3109b7992b">More...</a><br /></td></tr>
     78 <tr class="separator:a6789f8e258de2efc616c2f3109b7992b"><td class="memSeparator" colspan="2">&#160;</td></tr>
     79 <tr class="memitem:ac74344e39b6d285c6a0258c4554712b0"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="serialize_8h.html#ac74344e39b6d285c6a0258c4554712b0">Uint32Serialize</a> (<a class="el" href="struct_oct_str32.html">OctStr32</a> *dest, uint32_t src)</td></tr>
     80 <tr class="memdesc:ac74344e39b6d285c6a0258c4554712b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a uint32_t to a portable buffer.  <a href="#ac74344e39b6d285c6a0258c4554712b0">More...</a><br /></td></tr>
     81 <tr class="separator:ac74344e39b6d285c6a0258c4554712b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
     82 <tr class="memitem:a2aaa1779f9085d62b27e072271329dd7"><td class="memItemLeft" align="right" valign="top">void const  *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="serialize_8h.html#a2aaa1779f9085d62b27e072271329dd7">Uint32Deserialize</a> (uint32_t *dest, <a class="el" href="struct_oct_str32.html">OctStr32</a> const *src)</td></tr>
     83 <tr class="memdesc:a2aaa1779f9085d62b27e072271329dd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a uint32_t from a portable buffer.  <a href="#a2aaa1779f9085d62b27e072271329dd7">More...</a><br /></td></tr>
     84 <tr class="separator:a2aaa1779f9085d62b27e072271329dd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
     85 <tr class="memitem:af2841bf57731c82f8164900bf3f52320"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="serialize_8h.html#af2841bf57731c82f8164900bf3f52320">VliSerialize</a> (<a class="el" href="struct_big_num_str.html">BigNumStr</a> *dest, <a class="el" href="struct_very_large_int.html">VeryLargeInt</a> const *src)</td></tr>
     86 <tr class="memdesc:af2841bf57731c82f8164900bf3f52320"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a large integer to a portable buffer.  <a href="#af2841bf57731c82f8164900bf3f52320">More...</a><br /></td></tr>
     87 <tr class="separator:af2841bf57731c82f8164900bf3f52320"><td class="memSeparator" colspan="2">&#160;</td></tr>
     88 <tr class="memitem:a7950febe703ea62457664eadc1e4eed9"><td class="memItemLeft" align="right" valign="top">void const  *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="serialize_8h.html#a7950febe703ea62457664eadc1e4eed9">VliDeserialize</a> (<a class="el" href="struct_very_large_int.html">VeryLargeInt</a> *dest, <a class="el" href="struct_big_num_str.html">BigNumStr</a> const *src)</td></tr>
     89 <tr class="memdesc:a7950febe703ea62457664eadc1e4eed9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a large integer from a portable buffer.  <a href="#a7950febe703ea62457664eadc1e4eed9">More...</a><br /></td></tr>
     90 <tr class="separator:a7950febe703ea62457664eadc1e4eed9"><td class="memSeparator" colspan="2">&#160;</td></tr>
     91 <tr class="memitem:a1fe8ff2aa7f73b807a7f5f5cdd8eba94"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="serialize_8h.html#a1fe8ff2aa7f73b807a7f5f5cdd8eba94">FqSerialize</a> (<a class="el" href="struct_fq_elem_str.html">FqElemStr</a> *dest, <a class="el" href="struct_fq_elem.html">FqElem</a> const *src)</td></tr>
     92 <tr class="memdesc:a1fe8ff2aa7f73b807a7f5f5cdd8eba94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write an element of Fq to a portable buffer.  <a href="#a1fe8ff2aa7f73b807a7f5f5cdd8eba94">More...</a><br /></td></tr>
     93 <tr class="separator:a1fe8ff2aa7f73b807a7f5f5cdd8eba94"><td class="memSeparator" colspan="2">&#160;</td></tr>
     94 <tr class="memitem:a051985a737e59da22d04dfcc5112ec77"><td class="memItemLeft" align="right" valign="top">void const  *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="serialize_8h.html#a051985a737e59da22d04dfcc5112ec77">FqDeserialize</a> (<a class="el" href="struct_fq_elem.html">FqElem</a> *dest, <a class="el" href="struct_fq_elem_str.html">FqElemStr</a> const *src)</td></tr>
     95 <tr class="memdesc:a051985a737e59da22d04dfcc5112ec77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read an element of Fq from a portable buffer.  <a href="#a051985a737e59da22d04dfcc5112ec77">More...</a><br /></td></tr>
     96 <tr class="separator:a051985a737e59da22d04dfcc5112ec77"><td class="memSeparator" colspan="2">&#160;</td></tr>
     97 <tr class="memitem:ad0de690fc04ff307fa64575f9033c4d7"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="serialize_8h.html#ad0de690fc04ff307fa64575f9033c4d7">Fq12Serialize</a> (<a class="el" href="struct_fq12_elem_str.html">Fq12ElemStr</a> *dest, <a class="el" href="struct_fq12_elem.html">Fq12Elem</a> const *src)</td></tr>
     98 <tr class="memdesc:ad0de690fc04ff307fa64575f9033c4d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write an element of Fq12 to a portable buffer.  <a href="#ad0de690fc04ff307fa64575f9033c4d7">More...</a><br /></td></tr>
     99 <tr class="separator:ad0de690fc04ff307fa64575f9033c4d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
    100 <tr class="memitem:a2f5ba336b7da938e92dad848e00ad157"><td class="memItemLeft" align="right" valign="top">void const  *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="serialize_8h.html#a2f5ba336b7da938e92dad848e00ad157">Fq12Deserialize</a> (<a class="el" href="struct_fq12_elem.html">Fq12Elem</a> *dest, <a class="el" href="struct_fq12_elem_str.html">Fq12ElemStr</a> const *src)</td></tr>
    101 <tr class="memdesc:a2f5ba336b7da938e92dad848e00ad157"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read an element of Fq12 from a portable buffer.  <a href="#a2f5ba336b7da938e92dad848e00ad157">More...</a><br /></td></tr>
    102 <tr class="separator:a2f5ba336b7da938e92dad848e00ad157"><td class="memSeparator" colspan="2">&#160;</td></tr>
    103 <tr class="memitem:a57237335a24f8a9b2a151a2141ec5917"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="serialize_8h.html#a57237335a24f8a9b2a151a2141ec5917">FpSerialize</a> (<a class="el" href="struct_fp_elem_str.html">FpElemStr</a> *dest, <a class="el" href="struct_fp_elem.html">FpElem</a> const *src)</td></tr>
    104 <tr class="memdesc:a57237335a24f8a9b2a151a2141ec5917"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write an element of Fp to a portable buffer.  <a href="#a57237335a24f8a9b2a151a2141ec5917">More...</a><br /></td></tr>
    105 <tr class="separator:a57237335a24f8a9b2a151a2141ec5917"><td class="memSeparator" colspan="2">&#160;</td></tr>
    106 <tr class="memitem:ac49c8bd07a7f09aadd08c58c362cf3af"><td class="memItemLeft" align="right" valign="top">void const  *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="serialize_8h.html#ac49c8bd07a7f09aadd08c58c362cf3af">FpDeserialize</a> (<a class="el" href="struct_fp_elem.html">FpElem</a> *dest, <a class="el" href="struct_fp_elem_str.html">FpElemStr</a> const *src)</td></tr>
    107 <tr class="memdesc:ac49c8bd07a7f09aadd08c58c362cf3af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read an element of Fp from a portable buffer.  <a href="#ac49c8bd07a7f09aadd08c58c362cf3af">More...</a><br /></td></tr>
    108 <tr class="separator:ac49c8bd07a7f09aadd08c58c362cf3af"><td class="memSeparator" colspan="2">&#160;</td></tr>
    109 <tr class="memitem:a81b7bcb69d6ea28ebb3e3520c7d0eeb5"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="serialize_8h.html#a81b7bcb69d6ea28ebb3e3520c7d0eeb5">EFqSerialize</a> (<a class="el" href="struct_g1_elem_str.html">G1ElemStr</a> *dest, <a class="el" href="struct_ecc_point_fq.html">EccPointFq</a> const *src)</td></tr>
    110 <tr class="memdesc:a81b7bcb69d6ea28ebb3e3520c7d0eeb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a point on EFq to a portable buffer.  <a href="#a81b7bcb69d6ea28ebb3e3520c7d0eeb5">More...</a><br /></td></tr>
    111 <tr class="separator:a81b7bcb69d6ea28ebb3e3520c7d0eeb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
    112 <tr class="memitem:af7f9b8ffdf1bb18bc156a4f80fc32419"><td class="memItemLeft" align="right" valign="top">void const  *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="serialize_8h.html#af7f9b8ffdf1bb18bc156a4f80fc32419">EFqDeserialize</a> (<a class="el" href="struct_ecc_point_fq.html">EccPointFq</a> *dest, <a class="el" href="struct_g1_elem_str.html">G1ElemStr</a> const *src)</td></tr>
    113 <tr class="memdesc:af7f9b8ffdf1bb18bc156a4f80fc32419"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a point on EFq from a portable buffer.  <a href="#af7f9b8ffdf1bb18bc156a4f80fc32419">More...</a><br /></td></tr>
    114 <tr class="separator:af7f9b8ffdf1bb18bc156a4f80fc32419"><td class="memSeparator" colspan="2">&#160;</td></tr>
    115 <tr class="memitem:aa53e1c30fa109e586fa90a3a4cf3d0ac"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="serialize_8h.html#aa53e1c30fa109e586fa90a3a4cf3d0ac">EFq2Serialize</a> (<a class="el" href="struct_g2_elem_str.html">G2ElemStr</a> *dest, <a class="el" href="struct_ecc_point_fq2.html">EccPointFq2</a> const *src)</td></tr>
    116 <tr class="memdesc:aa53e1c30fa109e586fa90a3a4cf3d0ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a point on EFq2 to a portable buffer.  <a href="#aa53e1c30fa109e586fa90a3a4cf3d0ac">More...</a><br /></td></tr>
    117 <tr class="separator:aa53e1c30fa109e586fa90a3a4cf3d0ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
    118 <tr class="memitem:a393c9cf42edef41aa28449a0d321a57e"><td class="memItemLeft" align="right" valign="top">void const  *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="serialize_8h.html#a393c9cf42edef41aa28449a0d321a57e">EFq2Deserialize</a> (<a class="el" href="struct_ecc_point_fq2.html">EccPointFq2</a> *dest, <a class="el" href="struct_g2_elem_str.html">G2ElemStr</a> const *src)</td></tr>
    119 <tr class="memdesc:a393c9cf42edef41aa28449a0d321a57e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a point on EFq2 from a portable buffer.  <a href="#a393c9cf42edef41aa28449a0d321a57e">More...</a><br /></td></tr>
    120 <tr class="separator:a393c9cf42edef41aa28449a0d321a57e"><td class="memSeparator" colspan="2">&#160;</td></tr>
    121 </table>
    122 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
    123 <div class="textblock"><p>Definition of de/serialize functionality. </p>
    124 </div><h2 class="groupheader">Function Documentation</h2>
    125 <a id="a393c9cf42edef41aa28449a0d321a57e"></a>
    126 <h2 class="memtitle"><span class="permalink"><a href="#a393c9cf42edef41aa28449a0d321a57e">&#9670;&nbsp;</a></span>EFq2Deserialize()</h2>
    127 
    128 <div class="memitem">
    129 <div class="memproto">
    130       <table class="memname">
    131         <tr>
    132           <td class="memname">void const* EFq2Deserialize </td>
    133           <td>(</td>
    134           <td class="paramtype"><a class="el" href="struct_ecc_point_fq2.html">EccPointFq2</a> *&#160;</td>
    135           <td class="paramname"><em>dest</em>, </td>
    136         </tr>
    137         <tr>
    138           <td class="paramkey"></td>
    139           <td></td>
    140           <td class="paramtype"><a class="el" href="struct_g2_elem_str.html">G2ElemStr</a> const *&#160;</td>
    141           <td class="paramname"><em>src</em>&#160;</td>
    142         </tr>
    143         <tr>
    144           <td></td>
    145           <td>)</td>
    146           <td></td><td></td>
    147         </tr>
    148       </table>
    149 </div><div class="memdoc">
    150 
    151 <p>Read a point on EFq2 from a portable buffer. </p>
    152 <dl class="params"><dt>Parameters</dt><dd>
    153   <table class="params">
    154     <tr><td class="paramdir">[out]</td><td class="paramname">dest</td><td>target buffer </td></tr>
    155     <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>source data </td></tr>
    156   </table>
    157   </dd>
    158 </dl>
    159 <dl class="section return"><dt>Returns</dt><dd>pointer to next byte after final data read from to src </dd></dl>
    160 
    161 </div>
    162 </div>
    163 <a id="aa53e1c30fa109e586fa90a3a4cf3d0ac"></a>
    164 <h2 class="memtitle"><span class="permalink"><a href="#aa53e1c30fa109e586fa90a3a4cf3d0ac">&#9670;&nbsp;</a></span>EFq2Serialize()</h2>
    165 
    166 <div class="memitem">
    167 <div class="memproto">
    168       <table class="memname">
    169         <tr>
    170           <td class="memname">void* EFq2Serialize </td>
    171           <td>(</td>
    172           <td class="paramtype"><a class="el" href="struct_g2_elem_str.html">G2ElemStr</a> *&#160;</td>
    173           <td class="paramname"><em>dest</em>, </td>
    174         </tr>
    175         <tr>
    176           <td class="paramkey"></td>
    177           <td></td>
    178           <td class="paramtype"><a class="el" href="struct_ecc_point_fq2.html">EccPointFq2</a> const *&#160;</td>
    179           <td class="paramname"><em>src</em>&#160;</td>
    180         </tr>
    181         <tr>
    182           <td></td>
    183           <td>)</td>
    184           <td></td><td></td>
    185         </tr>
    186       </table>
    187 </div><div class="memdoc">
    188 
    189 <p>Write a point on EFq2 to a portable buffer. </p>
    190 <dl class="params"><dt>Parameters</dt><dd>
    191   <table class="params">
    192     <tr><td class="paramdir">[out]</td><td class="paramname">dest</td><td>target buffer </td></tr>
    193     <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>source data </td></tr>
    194   </table>
    195   </dd>
    196 </dl>
    197 <dl class="section return"><dt>Returns</dt><dd>pointer to next byte after final data written to dest </dd></dl>
    198 
    199 </div>
    200 </div>
    201 <a id="af7f9b8ffdf1bb18bc156a4f80fc32419"></a>
    202 <h2 class="memtitle"><span class="permalink"><a href="#af7f9b8ffdf1bb18bc156a4f80fc32419">&#9670;&nbsp;</a></span>EFqDeserialize()</h2>
    203 
    204 <div class="memitem">
    205 <div class="memproto">
    206       <table class="memname">
    207         <tr>
    208           <td class="memname">void const* EFqDeserialize </td>
    209           <td>(</td>
    210           <td class="paramtype"><a class="el" href="struct_ecc_point_fq.html">EccPointFq</a> *&#160;</td>
    211           <td class="paramname"><em>dest</em>, </td>
    212         </tr>
    213         <tr>
    214           <td class="paramkey"></td>
    215           <td></td>
    216           <td class="paramtype"><a class="el" href="struct_g1_elem_str.html">G1ElemStr</a> const *&#160;</td>
    217           <td class="paramname"><em>src</em>&#160;</td>
    218         </tr>
    219         <tr>
    220           <td></td>
    221           <td>)</td>
    222           <td></td><td></td>
    223         </tr>
    224       </table>
    225 </div><div class="memdoc">
    226 
    227 <p>Read a point on EFq from a portable buffer. </p>
    228 <dl class="params"><dt>Parameters</dt><dd>
    229   <table class="params">
    230     <tr><td class="paramdir">[out]</td><td class="paramname">dest</td><td>target buffer </td></tr>
    231     <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>source data </td></tr>
    232   </table>
    233   </dd>
    234 </dl>
    235 <dl class="section return"><dt>Returns</dt><dd>pointer to next byte after final data read from to src </dd></dl>
    236 
    237 </div>
    238 </div>
    239 <a id="a81b7bcb69d6ea28ebb3e3520c7d0eeb5"></a>
    240 <h2 class="memtitle"><span class="permalink"><a href="#a81b7bcb69d6ea28ebb3e3520c7d0eeb5">&#9670;&nbsp;</a></span>EFqSerialize()</h2>
    241 
    242 <div class="memitem">
    243 <div class="memproto">
    244       <table class="memname">
    245         <tr>
    246           <td class="memname">void* EFqSerialize </td>
    247           <td>(</td>
    248           <td class="paramtype"><a class="el" href="struct_g1_elem_str.html">G1ElemStr</a> *&#160;</td>
    249           <td class="paramname"><em>dest</em>, </td>
    250         </tr>
    251         <tr>
    252           <td class="paramkey"></td>
    253           <td></td>
    254           <td class="paramtype"><a class="el" href="struct_ecc_point_fq.html">EccPointFq</a> const *&#160;</td>
    255           <td class="paramname"><em>src</em>&#160;</td>
    256         </tr>
    257         <tr>
    258           <td></td>
    259           <td>)</td>
    260           <td></td><td></td>
    261         </tr>
    262       </table>
    263 </div><div class="memdoc">
    264 
    265 <p>Write a point on EFq to a portable buffer. </p>
    266 <dl class="params"><dt>Parameters</dt><dd>
    267   <table class="params">
    268     <tr><td class="paramdir">[out]</td><td class="paramname">dest</td><td>target buffer </td></tr>
    269     <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>source data </td></tr>
    270   </table>
    271   </dd>
    272 </dl>
    273 <dl class="section return"><dt>Returns</dt><dd>pointer to next byte after final data written to dest </dd></dl>
    274 
    275 </div>
    276 </div>
    277 <a id="ac49c8bd07a7f09aadd08c58c362cf3af"></a>
    278 <h2 class="memtitle"><span class="permalink"><a href="#ac49c8bd07a7f09aadd08c58c362cf3af">&#9670;&nbsp;</a></span>FpDeserialize()</h2>
    279 
    280 <div class="memitem">
    281 <div class="memproto">
    282       <table class="memname">
    283         <tr>
    284           <td class="memname">void const* FpDeserialize </td>
    285           <td>(</td>
    286           <td class="paramtype"><a class="el" href="struct_fp_elem.html">FpElem</a> *&#160;</td>
    287           <td class="paramname"><em>dest</em>, </td>
    288         </tr>
    289         <tr>
    290           <td class="paramkey"></td>
    291           <td></td>
    292           <td class="paramtype"><a class="el" href="struct_fp_elem_str.html">FpElemStr</a> const *&#160;</td>
    293           <td class="paramname"><em>src</em>&#160;</td>
    294         </tr>
    295         <tr>
    296           <td></td>
    297           <td>)</td>
    298           <td></td><td></td>
    299         </tr>
    300       </table>
    301 </div><div class="memdoc">
    302 
    303 <p>Read an element of Fp from a portable buffer. </p>
    304 <dl class="params"><dt>Parameters</dt><dd>
    305   <table class="params">
    306     <tr><td class="paramdir">[out]</td><td class="paramname">dest</td><td>target buffer </td></tr>
    307     <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>source data </td></tr>
    308   </table>
    309   </dd>
    310 </dl>
    311 <dl class="section return"><dt>Returns</dt><dd>pointer to next byte after final data read from to src </dd></dl>
    312 
    313 </div>
    314 </div>
    315 <a id="a57237335a24f8a9b2a151a2141ec5917"></a>
    316 <h2 class="memtitle"><span class="permalink"><a href="#a57237335a24f8a9b2a151a2141ec5917">&#9670;&nbsp;</a></span>FpSerialize()</h2>
    317 
    318 <div class="memitem">
    319 <div class="memproto">
    320       <table class="memname">
    321         <tr>
    322           <td class="memname">void* FpSerialize </td>
    323           <td>(</td>
    324           <td class="paramtype"><a class="el" href="struct_fp_elem_str.html">FpElemStr</a> *&#160;</td>
    325           <td class="paramname"><em>dest</em>, </td>
    326         </tr>
    327         <tr>
    328           <td class="paramkey"></td>
    329           <td></td>
    330           <td class="paramtype"><a class="el" href="struct_fp_elem.html">FpElem</a> const *&#160;</td>
    331           <td class="paramname"><em>src</em>&#160;</td>
    332         </tr>
    333         <tr>
    334           <td></td>
    335           <td>)</td>
    336           <td></td><td></td>
    337         </tr>
    338       </table>
    339 </div><div class="memdoc">
    340 
    341 <p>Write an element of Fp to a portable buffer. </p>
    342 <dl class="params"><dt>Parameters</dt><dd>
    343   <table class="params">
    344     <tr><td class="paramdir">[out]</td><td class="paramname">dest</td><td>target buffer </td></tr>
    345     <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>source data </td></tr>
    346   </table>
    347   </dd>
    348 </dl>
    349 <dl class="section return"><dt>Returns</dt><dd>pointer to next byte after final data written to dest </dd></dl>
    350 
    351 </div>
    352 </div>
    353 <a id="a2f5ba336b7da938e92dad848e00ad157"></a>
    354 <h2 class="memtitle"><span class="permalink"><a href="#a2f5ba336b7da938e92dad848e00ad157">&#9670;&nbsp;</a></span>Fq12Deserialize()</h2>
    355 
    356 <div class="memitem">
    357 <div class="memproto">
    358       <table class="memname">
    359         <tr>
    360           <td class="memname">void const* Fq12Deserialize </td>
    361           <td>(</td>
    362           <td class="paramtype"><a class="el" href="struct_fq12_elem.html">Fq12Elem</a> *&#160;</td>
    363           <td class="paramname"><em>dest</em>, </td>
    364         </tr>
    365         <tr>
    366           <td class="paramkey"></td>
    367           <td></td>
    368           <td class="paramtype"><a class="el" href="struct_fq12_elem_str.html">Fq12ElemStr</a> const *&#160;</td>
    369           <td class="paramname"><em>src</em>&#160;</td>
    370         </tr>
    371         <tr>
    372           <td></td>
    373           <td>)</td>
    374           <td></td><td></td>
    375         </tr>
    376       </table>
    377 </div><div class="memdoc">
    378 
    379 <p>Read an element of Fq12 from a portable buffer. </p>
    380 <dl class="params"><dt>Parameters</dt><dd>
    381   <table class="params">
    382     <tr><td class="paramdir">[out]</td><td class="paramname">dest</td><td>target buffer </td></tr>
    383     <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>source data </td></tr>
    384   </table>
    385   </dd>
    386 </dl>
    387 <dl class="section return"><dt>Returns</dt><dd>pointer to next byte after final data read from to src </dd></dl>
    388 
    389 </div>
    390 </div>
    391 <a id="ad0de690fc04ff307fa64575f9033c4d7"></a>
    392 <h2 class="memtitle"><span class="permalink"><a href="#ad0de690fc04ff307fa64575f9033c4d7">&#9670;&nbsp;</a></span>Fq12Serialize()</h2>
    393 
    394 <div class="memitem">
    395 <div class="memproto">
    396       <table class="memname">
    397         <tr>
    398           <td class="memname">void* Fq12Serialize </td>
    399           <td>(</td>
    400           <td class="paramtype"><a class="el" href="struct_fq12_elem_str.html">Fq12ElemStr</a> *&#160;</td>
    401           <td class="paramname"><em>dest</em>, </td>
    402         </tr>
    403         <tr>
    404           <td class="paramkey"></td>
    405           <td></td>
    406           <td class="paramtype"><a class="el" href="struct_fq12_elem.html">Fq12Elem</a> const *&#160;</td>
    407           <td class="paramname"><em>src</em>&#160;</td>
    408         </tr>
    409         <tr>
    410           <td></td>
    411           <td>)</td>
    412           <td></td><td></td>
    413         </tr>
    414       </table>
    415 </div><div class="memdoc">
    416 
    417 <p>Write an element of Fq12 to a portable buffer. </p>
    418 <dl class="params"><dt>Parameters</dt><dd>
    419   <table class="params">
    420     <tr><td class="paramdir">[out]</td><td class="paramname">dest</td><td>target buffer </td></tr>
    421     <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>source data </td></tr>
    422   </table>
    423   </dd>
    424 </dl>
    425 <dl class="section return"><dt>Returns</dt><dd>pointer to next byte after final data written to dest </dd></dl>
    426 
    427 </div>
    428 </div>
    429 <a id="a051985a737e59da22d04dfcc5112ec77"></a>
    430 <h2 class="memtitle"><span class="permalink"><a href="#a051985a737e59da22d04dfcc5112ec77">&#9670;&nbsp;</a></span>FqDeserialize()</h2>
    431 
    432 <div class="memitem">
    433 <div class="memproto">
    434       <table class="memname">
    435         <tr>
    436           <td class="memname">void const* FqDeserialize </td>
    437           <td>(</td>
    438           <td class="paramtype"><a class="el" href="struct_fq_elem.html">FqElem</a> *&#160;</td>
    439           <td class="paramname"><em>dest</em>, </td>
    440         </tr>
    441         <tr>
    442           <td class="paramkey"></td>
    443           <td></td>
    444           <td class="paramtype"><a class="el" href="struct_fq_elem_str.html">FqElemStr</a> const *&#160;</td>
    445           <td class="paramname"><em>src</em>&#160;</td>
    446         </tr>
    447         <tr>
    448           <td></td>
    449           <td>)</td>
    450           <td></td><td></td>
    451         </tr>
    452       </table>
    453 </div><div class="memdoc">
    454 
    455 <p>Read an element of Fq from a portable buffer. </p>
    456 <dl class="params"><dt>Parameters</dt><dd>
    457   <table class="params">
    458     <tr><td class="paramdir">[out]</td><td class="paramname">dest</td><td>target buffer </td></tr>
    459     <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>source data </td></tr>
    460   </table>
    461   </dd>
    462 </dl>
    463 <dl class="section return"><dt>Returns</dt><dd>pointer to next byte after final data read from to src </dd></dl>
    464 
    465 </div>
    466 </div>
    467 <a id="a1fe8ff2aa7f73b807a7f5f5cdd8eba94"></a>
    468 <h2 class="memtitle"><span class="permalink"><a href="#a1fe8ff2aa7f73b807a7f5f5cdd8eba94">&#9670;&nbsp;</a></span>FqSerialize()</h2>
    469 
    470 <div class="memitem">
    471 <div class="memproto">
    472       <table class="memname">
    473         <tr>
    474           <td class="memname">void* FqSerialize </td>
    475           <td>(</td>
    476           <td class="paramtype"><a class="el" href="struct_fq_elem_str.html">FqElemStr</a> *&#160;</td>
    477           <td class="paramname"><em>dest</em>, </td>
    478         </tr>
    479         <tr>
    480           <td class="paramkey"></td>
    481           <td></td>
    482           <td class="paramtype"><a class="el" href="struct_fq_elem.html">FqElem</a> const *&#160;</td>
    483           <td class="paramname"><em>src</em>&#160;</td>
    484         </tr>
    485         <tr>
    486           <td></td>
    487           <td>)</td>
    488           <td></td><td></td>
    489         </tr>
    490       </table>
    491 </div><div class="memdoc">
    492 
    493 <p>Write an element of Fq to a portable buffer. </p>
    494 <dl class="params"><dt>Parameters</dt><dd>
    495   <table class="params">
    496     <tr><td class="paramdir">[out]</td><td class="paramname">dest</td><td>target buffer </td></tr>
    497     <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>source data </td></tr>
    498   </table>
    499   </dd>
    500 </dl>
    501 <dl class="section return"><dt>Returns</dt><dd>pointer to next byte after final data written to dest </dd></dl>
    502 
    503 </div>
    504 </div>
    505 <a id="a6789f8e258de2efc616c2f3109b7992b"></a>
    506 <h2 class="memtitle"><span class="permalink"><a href="#a6789f8e258de2efc616c2f3109b7992b">&#9670;&nbsp;</a></span>SwapNativeAndPortableLayout()</h2>
    507 
    508 <div class="memitem">
    509 <div class="memproto">
    510       <table class="memname">
    511         <tr>
    512           <td class="memname">void SwapNativeAndPortableLayout </td>
    513           <td>(</td>
    514           <td class="paramtype">void *&#160;</td>
    515           <td class="paramname"><em>dest</em>, </td>
    516         </tr>
    517         <tr>
    518           <td class="paramkey"></td>
    519           <td></td>
    520           <td class="paramtype">size_t&#160;</td>
    521           <td class="paramname"><em>dest_size</em>, </td>
    522         </tr>
    523         <tr>
    524           <td class="paramkey"></td>
    525           <td></td>
    526           <td class="paramtype">void const *&#160;</td>
    527           <td class="paramname"><em>src</em>, </td>
    528         </tr>
    529         <tr>
    530           <td class="paramkey"></td>
    531           <td></td>
    532           <td class="paramtype">size_t&#160;</td>
    533           <td class="paramname"><em>src_size</em>&#160;</td>
    534         </tr>
    535         <tr>
    536           <td></td>
    537           <td>)</td>
    538           <td></td><td></td>
    539         </tr>
    540       </table>
    541 </div><div class="memdoc">
    542 
    543 <p>Serialize or deserailize a sequence of math objects. </p>
    544 <p>Converts layouts between native and portable or between portable and native of the following types: <a class="el" href="struct_very_large_int.html" title="Large integer. ">VeryLargeInt</a> and <a class="el" href="struct_big_num_str.html" title="Serialized BigNum. ">BigNumStr</a>, <a class="el" href="struct_fq_elem.html" title="Element of Fq. ">FqElem</a> and <a class="el" href="struct_fq_elem_str.html" title="a number in [0, q-1] ">FqElemStr</a>, <a class="el" href="struct_fp_elem.html" title="Element of Fp. ">FpElem</a> and <a class="el" href="struct_fp_elem_str.html" title="a number in [0, p-1] ">FpElemStr</a>, <a class="el" href="struct_ecc_point_fq.html" title="Point in EFq. ">EccPointFq</a> and <a class="el" href="struct_g1_elem_str.html" title="Serialized G1 element. ">G1ElemStr</a>, <a class="el" href="struct_fq12_elem.html" title="Element of Fq12. ">Fq12Elem</a> and <a class="el" href="struct_fq12_elem_str.html" title="Serialized Fq2^3^2 element. ">Fq12ElemStr</a>.</p>
    545 <p>If input contain multiple values of supported types all will be converted.</p>
    546 <dl class="section note"><dt>Note</dt><dd>The following types are not supported: <a class="el" href="struct_very_large_int_product.html" title="Used for multiplication. ">VeryLargeIntProduct</a>.</dd>
    547 <dd>
    548 This function have the assumptions that the input structures are packed such that consequent 32 byte fields would have no gap in between.</dd></dl>
    549 <dl class="params"><dt>Parameters</dt><dd>
    550   <table class="params">
    551     <tr><td class="paramdir">[out]</td><td class="paramname">dest</td><td>target buffer </td></tr>
    552     <tr><td class="paramdir">[in]</td><td class="paramname">dest_size</td><td>size of dest buffer </td></tr>
    553     <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>source data </td></tr>
    554     <tr><td class="paramdir">[in]</td><td class="paramname">src_size</td><td>size of src buffer </td></tr>
    555   </table>
    556   </dd>
    557 </dl>
    558 
    559 </div>
    560 </div>
    561 <a id="a2aaa1779f9085d62b27e072271329dd7"></a>
    562 <h2 class="memtitle"><span class="permalink"><a href="#a2aaa1779f9085d62b27e072271329dd7">&#9670;&nbsp;</a></span>Uint32Deserialize()</h2>
    563 
    564 <div class="memitem">
    565 <div class="memproto">
    566       <table class="memname">
    567         <tr>
    568           <td class="memname">void const* Uint32Deserialize </td>
    569           <td>(</td>
    570           <td class="paramtype">uint32_t *&#160;</td>
    571           <td class="paramname"><em>dest</em>, </td>
    572         </tr>
    573         <tr>
    574           <td class="paramkey"></td>
    575           <td></td>
    576           <td class="paramtype"><a class="el" href="struct_oct_str32.html">OctStr32</a> const *&#160;</td>
    577           <td class="paramname"><em>src</em>&#160;</td>
    578         </tr>
    579         <tr>
    580           <td></td>
    581           <td>)</td>
    582           <td></td><td></td>
    583         </tr>
    584       </table>
    585 </div><div class="memdoc">
    586 
    587 <p>Read a uint32_t from a portable buffer. </p>
    588 <dl class="params"><dt>Parameters</dt><dd>
    589   <table class="params">
    590     <tr><td class="paramdir">[out]</td><td class="paramname">dest</td><td>target buffer </td></tr>
    591     <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>source data </td></tr>
    592   </table>
    593   </dd>
    594 </dl>
    595 <dl class="section return"><dt>Returns</dt><dd>pointer to next byte after final data read from to src </dd></dl>
    596 
    597 </div>
    598 </div>
    599 <a id="ac74344e39b6d285c6a0258c4554712b0"></a>
    600 <h2 class="memtitle"><span class="permalink"><a href="#ac74344e39b6d285c6a0258c4554712b0">&#9670;&nbsp;</a></span>Uint32Serialize()</h2>
    601 
    602 <div class="memitem">
    603 <div class="memproto">
    604       <table class="memname">
    605         <tr>
    606           <td class="memname">void* Uint32Serialize </td>
    607           <td>(</td>
    608           <td class="paramtype"><a class="el" href="struct_oct_str32.html">OctStr32</a> *&#160;</td>
    609           <td class="paramname"><em>dest</em>, </td>
    610         </tr>
    611         <tr>
    612           <td class="paramkey"></td>
    613           <td></td>
    614           <td class="paramtype">uint32_t&#160;</td>
    615           <td class="paramname"><em>src</em>&#160;</td>
    616         </tr>
    617         <tr>
    618           <td></td>
    619           <td>)</td>
    620           <td></td><td></td>
    621         </tr>
    622       </table>
    623 </div><div class="memdoc">
    624 
    625 <p>Write a uint32_t to a portable buffer. </p>
    626 <dl class="params"><dt>Parameters</dt><dd>
    627   <table class="params">
    628     <tr><td class="paramdir">[out]</td><td class="paramname">dest</td><td>target buffer </td></tr>
    629     <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>source data </td></tr>
    630   </table>
    631   </dd>
    632 </dl>
    633 <dl class="section return"><dt>Returns</dt><dd>pointer to next byte after final data written to dest </dd></dl>
    634 
    635 </div>
    636 </div>
    637 <a id="a7950febe703ea62457664eadc1e4eed9"></a>
    638 <h2 class="memtitle"><span class="permalink"><a href="#a7950febe703ea62457664eadc1e4eed9">&#9670;&nbsp;</a></span>VliDeserialize()</h2>
    639 
    640 <div class="memitem">
    641 <div class="memproto">
    642       <table class="memname">
    643         <tr>
    644           <td class="memname">void const* VliDeserialize </td>
    645           <td>(</td>
    646           <td class="paramtype"><a class="el" href="struct_very_large_int.html">VeryLargeInt</a> *&#160;</td>
    647           <td class="paramname"><em>dest</em>, </td>
    648         </tr>
    649         <tr>
    650           <td class="paramkey"></td>
    651           <td></td>
    652           <td class="paramtype"><a class="el" href="struct_big_num_str.html">BigNumStr</a> const *&#160;</td>
    653           <td class="paramname"><em>src</em>&#160;</td>
    654         </tr>
    655         <tr>
    656           <td></td>
    657           <td>)</td>
    658           <td></td><td></td>
    659         </tr>
    660       </table>
    661 </div><div class="memdoc">
    662 
    663 <p>Read a large integer from a portable buffer. </p>
    664 <dl class="params"><dt>Parameters</dt><dd>
    665   <table class="params">
    666     <tr><td class="paramdir">[out]</td><td class="paramname">dest</td><td>target buffer </td></tr>
    667     <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>source data </td></tr>
    668   </table>
    669   </dd>
    670 </dl>
    671 <dl class="section return"><dt>Returns</dt><dd>pointer to next byte after final data read from to src </dd></dl>
    672 
    673 </div>
    674 </div>
    675 <a id="af2841bf57731c82f8164900bf3f52320"></a>
    676 <h2 class="memtitle"><span class="permalink"><a href="#af2841bf57731c82f8164900bf3f52320">&#9670;&nbsp;</a></span>VliSerialize()</h2>
    677 
    678 <div class="memitem">
    679 <div class="memproto">
    680       <table class="memname">
    681         <tr>
    682           <td class="memname">void* VliSerialize </td>
    683           <td>(</td>
    684           <td class="paramtype"><a class="el" href="struct_big_num_str.html">BigNumStr</a> *&#160;</td>
    685           <td class="paramname"><em>dest</em>, </td>
    686         </tr>
    687         <tr>
    688           <td class="paramkey"></td>
    689           <td></td>
    690           <td class="paramtype"><a class="el" href="struct_very_large_int.html">VeryLargeInt</a> const *&#160;</td>
    691           <td class="paramname"><em>src</em>&#160;</td>
    692         </tr>
    693         <tr>
    694           <td></td>
    695           <td>)</td>
    696           <td></td><td></td>
    697         </tr>
    698       </table>
    699 </div><div class="memdoc">
    700 
    701 <p>Write a large integer to a portable buffer. </p>
    702 <dl class="params"><dt>Parameters</dt><dd>
    703   <table class="params">
    704     <tr><td class="paramdir">[out]</td><td class="paramname">dest</td><td>target buffer </td></tr>
    705     <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>source data </td></tr>
    706   </table>
    707   </dd>
    708 </dl>
    709 <dl class="section return"><dt>Returns</dt><dd>pointer to next byte after final data written to dest </dd></dl>
    710 
    711 </div>
    712 </div>
    713 </div><!-- contents -->
    714 </div><!-- doc-content -->
    715 <!-- HTML footer for doxygen 1.8.10-->
    716 <!-- start footer part -->
    717 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
    718   <ul>
    719     <li class="navelem"><a class="el" href="dir_12b90d9c027aaf878a834df729679a56.html">epid</a></li><li class="navelem"><a class="el" href="dir_512d3e62841a8535b716ec4cf8b9e950.html">member</a></li><li class="navelem"><a class="el" href="dir_ea12d375fc1eb79df248c0adf953af4f.html">tiny</a></li><li class="navelem"><a class="el" href="dir_5f2fc2cf41db41de2b55e03ffa7a1d16.html">math</a></li><li class="navelem"><a class="el" href="serialize_8h.html">serialize.h</a></li>
    720     <li class="footer">
    721       &copy; 2016-2017 Intel Corporation
    722     </li>
    723   </ul>
    724 </div>
    725 </body>
    726 </html>
    727