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® 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&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® Enhanced Privacy ID SDK</a> 35  <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&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 <stddef.h></code><br /> 72 <code>#include <stdint.h></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 </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"> </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"> </td></tr> 79 <tr class="memitem:ac74344e39b6d285c6a0258c4554712b0"><td class="memItemLeft" align="right" valign="top">void * </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"> </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"> </td></tr> 82 <tr class="memitem:a2aaa1779f9085d62b27e072271329dd7"><td class="memItemLeft" align="right" valign="top">void const * </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"> </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"> </td></tr> 85 <tr class="memitem:af2841bf57731c82f8164900bf3f52320"><td class="memItemLeft" align="right" valign="top">void * </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"> </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"> </td></tr> 88 <tr class="memitem:a7950febe703ea62457664eadc1e4eed9"><td class="memItemLeft" align="right" valign="top">void const * </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"> </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"> </td></tr> 91 <tr class="memitem:a1fe8ff2aa7f73b807a7f5f5cdd8eba94"><td class="memItemLeft" align="right" valign="top">void * </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"> </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"> </td></tr> 94 <tr class="memitem:a051985a737e59da22d04dfcc5112ec77"><td class="memItemLeft" align="right" valign="top">void const * </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"> </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"> </td></tr> 97 <tr class="memitem:ad0de690fc04ff307fa64575f9033c4d7"><td class="memItemLeft" align="right" valign="top">void * </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"> </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"> </td></tr> 100 <tr class="memitem:a2f5ba336b7da938e92dad848e00ad157"><td class="memItemLeft" align="right" valign="top">void const * </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"> </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"> </td></tr> 103 <tr class="memitem:a57237335a24f8a9b2a151a2141ec5917"><td class="memItemLeft" align="right" valign="top">void * </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"> </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"> </td></tr> 106 <tr class="memitem:ac49c8bd07a7f09aadd08c58c362cf3af"><td class="memItemLeft" align="right" valign="top">void const * </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"> </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"> </td></tr> 109 <tr class="memitem:a81b7bcb69d6ea28ebb3e3520c7d0eeb5"><td class="memItemLeft" align="right" valign="top">void * </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"> </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"> </td></tr> 112 <tr class="memitem:af7f9b8ffdf1bb18bc156a4f80fc32419"><td class="memItemLeft" align="right" valign="top">void const * </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"> </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"> </td></tr> 115 <tr class="memitem:aa53e1c30fa109e586fa90a3a4cf3d0ac"><td class="memItemLeft" align="right" valign="top">void * </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"> </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"> </td></tr> 118 <tr class="memitem:a393c9cf42edef41aa28449a0d321a57e"><td class="memItemLeft" align="right" valign="top">void const * </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"> </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"> </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">◆ </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> * </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 * </td> 141 <td class="paramname"><em>src</em> </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">◆ </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> * </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 * </td> 179 <td class="paramname"><em>src</em> </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">◆ </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> * </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 * </td> 217 <td class="paramname"><em>src</em> </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">◆ </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> * </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 * </td> 255 <td class="paramname"><em>src</em> </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">◆ </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> * </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 * </td> 293 <td class="paramname"><em>src</em> </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">◆ </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> * </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 * </td> 331 <td class="paramname"><em>src</em> </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">◆ </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> * </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 * </td> 369 <td class="paramname"><em>src</em> </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">◆ </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> * </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 * </td> 407 <td class="paramname"><em>src</em> </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">◆ </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> * </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 * </td> 445 <td class="paramname"><em>src</em> </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">◆ </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> * </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 * </td> 483 <td class="paramname"><em>src</em> </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">◆ </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 * </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 </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 * </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 </td> 533 <td class="paramname"><em>src_size</em> </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">◆ </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 * </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 * </td> 577 <td class="paramname"><em>src</em> </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">◆ </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> * </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 </td> 615 <td class="paramname"><em>src</em> </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">◆ </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> * </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 * </td> 653 <td class="paramname"><em>src</em> </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">◆ </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> * </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 * </td> 691 <td class="paramname"><em>src</em> </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 © 2016-2017 Intel Corporation 722 </li> 723 </ul> 724 </div> 725 </body> 726 </html> 727