Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 29c369053a983cc5d8c880dc6e0a2237 > files > 1873

libdtn-devel-2.6.0-2mdv2009.1.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>DTN Reference Implementation: gf128mul.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>gf128mul.h File Reference</h1><code>#include &lt;stdlib.h&gt;</code><br>
<code>#include &lt;string.h&gt;</code><br>
<code>#include &quot;<a class="el" href="mode__hdr_8h-source.html">mode_hdr.h</a>&quot;</code><br>

<p>
<a href="gf128mul_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#fd677262edd2184ee87bf19b6a83f45c">TABLES_8K</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#71e85162c7a6927d581e972a49d0d496">GF_BYTE_LEN</a>&nbsp;&nbsp;&nbsp;16</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#2104f6ab0725d0d84b0fc87c83439da6">tab64k</a>(x)&nbsp;&nbsp;&nbsp;((<a class="el" href="gf128mul_8h.html#d95743766ddb13c6b2ed7a7cfc0dcfc3">gf_t64k</a>)x)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#68876e788bdc1562febad0527febdc0d">xor_64k</a>(i, a, t, r)&nbsp;&nbsp;&nbsp;xor_block_aligned(r, tab64k(t)[i][a[i]])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#d291a4bfcc13b47b4eecff850b4eb8ad">gf_mul_64k</a>(a, t, r)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#75a5b58e6e61f3d890856236af267212">tab8k</a>(x)&nbsp;&nbsp;&nbsp;((<a class="el" href="gf128mul_8h.html#8ee1171a70369c3d03f9d88098b0b1a2">gf_t8k</a>)x)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#b2261a2869bb951fe1b93c64d6bd4b94">xor_8k</a>(i, a, t, r)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#b66b38ca0974f188d33c94b9cab410ad">gf_mul_8k</a>(a, t, r)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#276c261ec324bfa266b70b66bbea0dcb">tab4k</a>(x)&nbsp;&nbsp;&nbsp;((<a class="el" href="gf128mul_8h.html#d8d711edfa1d329deae96fe42eb956c0">gf_t4k</a>)x)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#0f078dc94c38dcfd084fb2ec565d9dc8">xor_4k</a>(i, a, t, r)&nbsp;&nbsp;&nbsp;mul_x8(r); xor_block_aligned(r, tab4k(t)[a[i]])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#8967915330f04b2968c33471bf349ca2">gf_mul_4k</a>(a, t, r)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#8ee14e91ae5d8d557c51f5ad0aceb4f1">tab256</a>(t)&nbsp;&nbsp;&nbsp;((<a class="el" href="gf128mul_8h.html#3148a7ff3d3687da32bb54ec481afd09">gf_t256</a>)t)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#d2966f7db7d4ba8a3c482d7e09e4d3ed">xor_256</a>(i, a, t, r)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#d72fd7f2b45e1b4236138f959cd5cee3">gf_mul_256</a>(a, t, r)</td></tr>

<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef uint_32t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#d95743766ddb13c6b2ed7a7cfc0dcfc3">gf_t64k</a> )[256][GF_BYTE_LEN &gt;&gt; 2]</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef uint_32t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#8ee1171a70369c3d03f9d88098b0b1a2">gf_t8k</a> )[16][GF_BYTE_LEN &gt;&gt; 2]</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef uint_32t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#d8d711edfa1d329deae96fe42eb956c0">gf_t4k</a> )[GF_BYTE_LEN &gt;&gt; 2]</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef uint_32t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#3148a7ff3d3687da32bb54ec481afd09">gf_t256</a> )[GF_BYTE_LEN &gt;&gt; 2]</td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#4d596dd0da0ecc262a6ad482262f4c8c">gf_mul</a> (void *a, const void *b)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#741bf0a5a9414cba0e449b60aa0de330">init_64k_table</a> (unsigned char g[], void *t)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#ba357f33a03ac6ab2168767c793f2cff">init_8k_table</a> (unsigned char g[], void *t)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#7e282fa94ff8923ddce24e345feb814c">init_4k_table</a> (unsigned char g[], void *t)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#6e5c2dbe4a3432e5b667df324c7de42e">init_256_table</a> (unsigned char g[], void *t)</td></tr>

<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#5ac31cee258e0700bf2ca6273047d31b">gf_tab</a> [256]</td></tr>

</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="71e85162c7a6927d581e972a49d0d496"></a><!-- doxytag: member="gf128mul.h::GF_BYTE_LEN" ref="71e85162c7a6927d581e972a49d0d496" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GF_BYTE_LEN&nbsp;&nbsp;&nbsp;16          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="gf128mul_8h-source.html#l00104">104</a> of file <a class="el" href="gf128mul_8h-source.html">gf128mul.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d72fd7f2b45e1b4236138f959cd5cee3"></a><!-- doxytag: member="gf128mul.h::gf_mul_256" ref="d72fd7f2b45e1b4236138f959cd5cee3" args="(a, t, r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define gf_mul_256          </td>
          <td>(</td>
          <td class="paramtype">a,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">t,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">r&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> { <span class="keywordtype">int</span> i = 15;                \
    <a class="code" href="mode__hdr_8h.html#0f54ed87500e2f9378f2f7b350791a7d">move_block_aligned</a>(r,<a class="code" href="gf128mul_8h.html#8ee14e91ae5d8d557c51f5ad0aceb4f1">tab256</a>(t)[a[15] &amp; 15]); mul_x4(r); \
    <a class="code" href="mode__hdr_8h.html#27e5e634e05aa9fa2f09e8c1cabe8100">xor_block_aligned</a>(r, <a class="code" href="gf128mul_8h.html#8ee14e91ae5d8d557c51f5ad0aceb4f1">tab256</a>(t)[a[15] &gt;&gt; 4]);            \
    <span class="keywordflow">while</span>(i--)                                              \
    {   <a class="code" href="gf128mul_8h.html#d2966f7db7d4ba8a3c482d7e09e4d3ed">xor_256</a>(i, a, t, r);                                \
    }                                                       \
    <a class="code" href="mode__hdr_8h.html#0f54ed87500e2f9378f2f7b350791a7d">move_block_aligned</a>(a, r);                               \
} <span class="keywordflow">while</span>(0)
</pre></div>
<p>Definition at line <a class="el" href="gf128mul_8h-source.html#l00935">935</a> of file <a class="el" href="gf128mul_8h-source.html">gf128mul.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="8967915330f04b2968c33471bf349ca2"></a><!-- doxytag: member="gf128mul.h::gf_mul_4k" ref="8967915330f04b2968c33471bf349ca2" args="(a, t, r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define gf_mul_4k          </td>
          <td>(</td>
          <td class="paramtype">a,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">t,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">r&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> { <span class="keywordtype">int</span> i = 15; \
    <a class="code" href="mode__hdr_8h.html#0f54ed87500e2f9378f2f7b350791a7d">move_block_aligned</a>(r,<a class="code" href="gf128mul_8h.html#276c261ec324bfa266b70b66bbea0dcb">tab4k</a>(t)[a[15]]);  \
    <span class="keywordflow">while</span>(i--)                              \
    {   <a class="code" href="gf128mul_8h.html#0f078dc94c38dcfd084fb2ec565d9dc8">xor_4k</a>(i, a, t, r);                 \
    }                                       \
    <a class="code" href="mode__hdr_8h.html#0f54ed87500e2f9378f2f7b350791a7d">move_block_aligned</a>(a, r);               \
} <span class="keywordflow">while</span>(0)
</pre></div>
<p>Definition at line <a class="el" href="gf128mul_8h-source.html#l00846">846</a> of file <a class="el" href="gf128mul_8h-source.html">gf128mul.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d291a4bfcc13b47b4eecff850b4eb8ad"></a><!-- doxytag: member="gf128mul.h::gf_mul_64k" ref="d291a4bfcc13b47b4eecff850b4eb8ad" args="(a, t, r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define gf_mul_64k          </td>
          <td>(</td>
          <td class="paramtype">a,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">t,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">r&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                \
    <a class="code" href="mode__hdr_8h.html#0f54ed87500e2f9378f2f7b350791a7d">move_block_aligned</a>(r, <a class="code" href="gf128mul_8h.html#2104f6ab0725d0d84b0fc87c83439da6">tab64k</a>(t)[0][a[0]]);  \
    <a class="code" href="gf128mul_8h.html#68876e788bdc1562febad0527febdc0d">xor_64k</a>( 1, a, t, r);                       \
    <a class="code" href="gf128mul_8h.html#68876e788bdc1562febad0527febdc0d">xor_64k</a>( 2, a, t, r); <a class="code" href="gf128mul_8h.html#68876e788bdc1562febad0527febdc0d">xor_64k</a>( 3, a, t, r); \
    <a class="code" href="gf128mul_8h.html#68876e788bdc1562febad0527febdc0d">xor_64k</a>( 4, a, t, r); <a class="code" href="gf128mul_8h.html#68876e788bdc1562febad0527febdc0d">xor_64k</a>( 5, a, t, r); \
    <a class="code" href="gf128mul_8h.html#68876e788bdc1562febad0527febdc0d">xor_64k</a>( 6, a, t, r); <a class="code" href="gf128mul_8h.html#68876e788bdc1562febad0527febdc0d">xor_64k</a>( 7, a, t, r); \
    <a class="code" href="gf128mul_8h.html#68876e788bdc1562febad0527febdc0d">xor_64k</a>( 8, a, t, r); <a class="code" href="gf128mul_8h.html#68876e788bdc1562febad0527febdc0d">xor_64k</a>( 9, a, t, r); \
    <a class="code" href="gf128mul_8h.html#68876e788bdc1562febad0527febdc0d">xor_64k</a>(10, a, t, r); <a class="code" href="gf128mul_8h.html#68876e788bdc1562febad0527febdc0d">xor_64k</a>(11, a, t, r); \
    <a class="code" href="gf128mul_8h.html#68876e788bdc1562febad0527febdc0d">xor_64k</a>(12, a, t, r); <a class="code" href="gf128mul_8h.html#68876e788bdc1562febad0527febdc0d">xor_64k</a>(13, a, t, r); \
    <a class="code" href="gf128mul_8h.html#68876e788bdc1562febad0527febdc0d">xor_64k</a>(14, a, t, r); <a class="code" href="gf128mul_8h.html#68876e788bdc1562febad0527febdc0d">xor_64k</a>(15, a, t, r); \
    <a class="code" href="mode__hdr_8h.html#0f54ed87500e2f9378f2f7b350791a7d">move_block_aligned</a>(a, r);                   \
} <span class="keywordflow">while</span>(0)
</pre></div>
<p>Definition at line <a class="el" href="gf128mul_8h-source.html#l00672">672</a> of file <a class="el" href="gf128mul_8h-source.html">gf128mul.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="b66b38ca0974f188d33c94b9cab410ad"></a><!-- doxytag: member="gf128mul.h::gf_mul_8k" ref="b66b38ca0974f188d33c94b9cab410ad" args="(a, t, r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define gf_mul_8k          </td>
          <td>(</td>
          <td class="paramtype">a,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">t,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">r&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> { <span class="keywordtype">int</span> i;              \
    memcpy(r, <a class="code" href="gf128mul_8h.html#75a5b58e6e61f3d890856236af267212">tab8k</a>(t)[0][a[0] &amp; 15], <a class="code" href="gf128mul_8h.html#71e85162c7a6927d581e972a49d0d496">GF_BYTE_LEN</a>); \
    <a class="code" href="mode__hdr_8h.html#27e5e634e05aa9fa2f09e8c1cabe8100">xor_block_aligned</a>(r, <a class="code" href="gf128mul_8h.html#75a5b58e6e61f3d890856236af267212">tab8k</a>(t)[1][a[0] &gt;&gt; 4]);   \
    <span class="keywordflow">for</span>(i = 1; i &lt; <a class="code" href="gf128mul_8h.html#71e85162c7a6927d581e972a49d0d496">GF_BYTE_LEN</a>; ++i)                \
    {   <a class="code" href="gf128mul_8h.html#b2261a2869bb951fe1b93c64d6bd4b94">xor_8k</a>(i, a, t, r);                         \
    }                                               \
    memcpy(a, r, GF_BYTE_LEN);                      \
} <span class="keywordflow">while</span>(0)
</pre></div>
<p>Definition at line <a class="el" href="gf128mul_8h-source.html#l00765">765</a> of file <a class="el" href="gf128mul_8h-source.html">gf128mul.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="8ee14e91ae5d8d557c51f5ad0aceb4f1"></a><!-- doxytag: member="gf128mul.h::tab256" ref="8ee14e91ae5d8d557c51f5ad0aceb4f1" args="(t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define tab256          </td>
          <td>(</td>
          <td class="paramtype">t&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;((<a class="el" href="gf128mul_8h.html#3148a7ff3d3687da32bb54ec481afd09">gf_t256</a>)t)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="gf128mul_8h-source.html#l00879">879</a> of file <a class="el" href="gf128mul_8h-source.html">gf128mul.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="276c261ec324bfa266b70b66bbea0dcb"></a><!-- doxytag: member="gf128mul.h::tab4k" ref="276c261ec324bfa266b70b66bbea0dcb" args="(x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define tab4k          </td>
          <td>(</td>
          <td class="paramtype">x&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;((<a class="el" href="gf128mul_8h.html#d8d711edfa1d329deae96fe42eb956c0">gf_t4k</a>)x)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="gf128mul_8h-source.html#l00798">798</a> of file <a class="el" href="gf128mul_8h-source.html">gf128mul.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="2104f6ab0725d0d84b0fc87c83439da6"></a><!-- doxytag: member="gf128mul.h::tab64k" ref="2104f6ab0725d0d84b0fc87c83439da6" args="(x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define tab64k          </td>
          <td>(</td>
          <td class="paramtype">x&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;((<a class="el" href="gf128mul_8h.html#d95743766ddb13c6b2ed7a7cfc0dcfc3">gf_t64k</a>)x)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="gf128mul_8h-source.html#l00636">636</a> of file <a class="el" href="gf128mul_8h-source.html">gf128mul.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="75a5b58e6e61f3d890856236af267212"></a><!-- doxytag: member="gf128mul.h::tab8k" ref="75a5b58e6e61f3d890856236af267212" args="(x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define tab8k          </td>
          <td>(</td>
          <td class="paramtype">x&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;((<a class="el" href="gf128mul_8h.html#8ee1171a70369c3d03f9d88098b0b1a2">gf_t8k</a>)x)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="gf128mul_8h-source.html#l00712">712</a> of file <a class="el" href="gf128mul_8h-source.html">gf128mul.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="fd677262edd2184ee87bf19b6a83f45c"></a><!-- doxytag: member="gf128mul.h::TABLES_8K" ref="fd677262edd2184ee87bf19b6a83f45c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TABLES_8K          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="gf128mul_8h-source.html#l00052">52</a> of file <a class="el" href="gf128mul_8h-source.html">gf128mul.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d2966f7db7d4ba8a3c482d7e09e4d3ed"></a><!-- doxytag: member="gf128mul.h::xor_256" ref="d2966f7db7d4ba8a3c482d7e09e4d3ed" args="(i, a, t, r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define xor_256          </td>
          <td>(</td>
          <td class="paramtype">i,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">a,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">t,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">r&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment">mul_x4(r); <a class="code" href="mode__hdr_8h.html#27e5e634e05aa9fa2f09e8c1cabe8100">xor_block_aligned</a>(r, <a class="code" href="gf128mul_8h.html#8ee14e91ae5d8d557c51f5ad0aceb4f1">tab256</a>(t)[a[i] &amp; 15]);  \
    mul_x4(r); <a class="code" href="mode__hdr_8h.html#27e5e634e05aa9fa2f09e8c1cabe8100">xor_block_aligned</a>(r, <a class="code" href="gf128mul_8h.html#8ee14e91ae5d8d557c51f5ad0aceb4f1">tab256</a>(t)[a[i] &gt;&gt; 4])
</pre></div>
<p>Definition at line <a class="el" href="gf128mul_8h-source.html#l00880">880</a> of file <a class="el" href="gf128mul_8h-source.html">gf128mul.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="0f078dc94c38dcfd084fb2ec565d9dc8"></a><!-- doxytag: member="gf128mul.h::xor_4k" ref="0f078dc94c38dcfd084fb2ec565d9dc8" args="(i, a, t, r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define xor_4k          </td>
          <td>(</td>
          <td class="paramtype">i,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">a,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">t,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">r&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;mul_x8(r); xor_block_aligned(r, tab4k(t)[a[i]])</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="gf128mul_8h-source.html#l00799">799</a> of file <a class="el" href="gf128mul_8h-source.html">gf128mul.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="68876e788bdc1562febad0527febdc0d"></a><!-- doxytag: member="gf128mul.h::xor_64k" ref="68876e788bdc1562febad0527febdc0d" args="(i, a, t, r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define xor_64k          </td>
          <td>(</td>
          <td class="paramtype">i,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">a,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">t,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">r&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;xor_block_aligned(r, tab64k(t)[i][a[i]])</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="gf128mul_8h-source.html#l00637">637</a> of file <a class="el" href="gf128mul_8h-source.html">gf128mul.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="b2261a2869bb951fe1b93c64d6bd4b94"></a><!-- doxytag: member="gf128mul.h::xor_8k" ref="b2261a2869bb951fe1b93c64d6bd4b94" args="(i, a, t, r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define xor_8k          </td>
          <td>(</td>
          <td class="paramtype">i,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">a,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">t,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">r&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="mode__hdr_8h.html#27e5e634e05aa9fa2f09e8c1cabe8100">xor_block_aligned</a>(r, <a class="code" href="gf128mul_8h.html#75a5b58e6e61f3d890856236af267212">tab8k</a>(t)[i + i][a[i] &amp; 15]); \
    <a class="code" href="mode__hdr_8h.html#27e5e634e05aa9fa2f09e8c1cabe8100">xor_block_aligned</a>(r, <a class="code" href="gf128mul_8h.html#75a5b58e6e61f3d890856236af267212">tab8k</a>(t)[i + i + 1][a[i] &gt;&gt; 4])
</pre></div>
<p>Definition at line <a class="el" href="gf128mul_8h-source.html#l00713">713</a> of file <a class="el" href="gf128mul_8h-source.html">gf128mul.h</a>.</p>

</div>
</div><p>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="3148a7ff3d3687da32bb54ec481afd09"></a><!-- doxytag: member="gf128mul.h::gf_t256" ref="3148a7ff3d3687da32bb54ec481afd09" args=")[GF_BYTE_LEN &gt;&gt; 2]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint_32t(* <a class="el" href="gf128mul_8h.html#3148a7ff3d3687da32bb54ec481afd09">gf_t256</a>)[GF_BYTE_LEN &gt;&gt; 2]          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="gf128mul_8h-source.html#l00878">878</a> of file <a class="el" href="gf128mul_8h-source.html">gf128mul.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d8d711edfa1d329deae96fe42eb956c0"></a><!-- doxytag: member="gf128mul.h::gf_t4k" ref="d8d711edfa1d329deae96fe42eb956c0" args=")[GF_BYTE_LEN &gt;&gt; 2]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint_32t(* <a class="el" href="gf128mul_8h.html#d8d711edfa1d329deae96fe42eb956c0">gf_t4k</a>)[GF_BYTE_LEN &gt;&gt; 2]          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="gf128mul_8h-source.html#l00797">797</a> of file <a class="el" href="gf128mul_8h-source.html">gf128mul.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d95743766ddb13c6b2ed7a7cfc0dcfc3"></a><!-- doxytag: member="gf128mul.h::gf_t64k" ref="d95743766ddb13c6b2ed7a7cfc0dcfc3" args=")[256][GF_BYTE_LEN &gt;&gt; 2]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint_32t(* <a class="el" href="gf128mul_8h.html#d95743766ddb13c6b2ed7a7cfc0dcfc3">gf_t64k</a>)[256][GF_BYTE_LEN &gt;&gt; 2]          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="gf128mul_8h-source.html#l00635">635</a> of file <a class="el" href="gf128mul_8h-source.html">gf128mul.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="8ee1171a70369c3d03f9d88098b0b1a2"></a><!-- doxytag: member="gf128mul.h::gf_t8k" ref="8ee1171a70369c3d03f9d88098b0b1a2" args=")[16][GF_BYTE_LEN &gt;&gt; 2]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint_32t(* <a class="el" href="gf128mul_8h.html#8ee1171a70369c3d03f9d88098b0b1a2">gf_t8k</a>)[16][GF_BYTE_LEN &gt;&gt; 2]          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="gf128mul_8h-source.html#l00711">711</a> of file <a class="el" href="gf128mul_8h-source.html">gf128mul.h</a>.</p>

</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="4d596dd0da0ecc262a6ad482262f4c8c"></a><!-- doxytag: member="gf128mul.h::gf_mul" ref="4d596dd0da0ecc262a6ad482262f4c8c" args="(void *a, const void *b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gf_mul           </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="6e5c2dbe4a3432e5b667df324c7de42e"></a><!-- doxytag: member="gf128mul.h::init_256_table" ref="6e5c2dbe4a3432e5b667df324c7de42e" args="(unsigned char g[], void *t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void init_256_table           </td>
          <td>(</td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>g</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>t</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="7e282fa94ff8923ddce24e345feb814c"></a><!-- doxytag: member="gf128mul.h::init_4k_table" ref="7e282fa94ff8923ddce24e345feb814c" args="(unsigned char g[], void *t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void init_4k_table           </td>
          <td>(</td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>g</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>t</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="741bf0a5a9414cba0e449b60aa0de330"></a><!-- doxytag: member="gf128mul.h::init_64k_table" ref="741bf0a5a9414cba0e449b60aa0de330" args="(unsigned char g[], void *t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void init_64k_table           </td>
          <td>(</td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>g</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>t</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="ba357f33a03ac6ab2168767c793f2cff"></a><!-- doxytag: member="gf128mul.h::init_8k_table" ref="ba357f33a03ac6ab2168767c793f2cff" args="(unsigned char g[], void *t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void init_8k_table           </td>
          <td>(</td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>g</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>t</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="5ac31cee258e0700bf2ca6273047d31b"></a><!-- doxytag: member="gf128mul.h::gf_tab" ref="5ac31cee258e0700bf2ca6273047d31b" args="[256]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const unsigned short <a class="el" href="gf128mul_8h.html#5ac31cee258e0700bf2ca6273047d31b">gf_tab</a>[256]          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jan 30 09:27:00 2009 for DTN Reference Implementation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>