• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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>
75Functions</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>
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">&#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