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> 75Functions</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> 548This 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