<!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="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.6 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="main.html"><span>Main 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> <div class="contents"> <h1>gf128mul.h File Reference</h1> <p> <code>#include <stdlib.h></code><br> <code>#include <string.h></code><br> <code>#include "<a class="el" href="mode__hdr_8h-source.html">mode_hdr.h</a>"</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 </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#71e85162c7a6927d581e972a49d0d496">GF_BYTE_LEN</a> 16</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#2104f6ab0725d0d84b0fc87c83439da6">tab64k</a>(x) ((<a class="el" href="gf128mul_8h.html#d95743766ddb13c6b2ed7a7cfc0dcfc3">gf_t64k</a>)x)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#68876e788bdc1562febad0527febdc0d">xor_64k</a>(i, a, t, r) xor_block_aligned(r, tab64k(t)[i][a[i]])</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#75a5b58e6e61f3d890856236af267212">tab8k</a>(x) ((<a class="el" href="gf128mul_8h.html#8ee1171a70369c3d03f9d88098b0b1a2">gf_t8k</a>)x)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </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 </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#276c261ec324bfa266b70b66bbea0dcb">tab4k</a>(x) ((<a class="el" href="gf128mul_8h.html#d8d711edfa1d329deae96fe42eb956c0">gf_t4k</a>)x)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#0f078dc94c38dcfd084fb2ec565d9dc8">xor_4k</a>(i, a, t, r) mul_x8(r); xor_block_aligned(r, tab4k(t)[a[i]])</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#8ee14e91ae5d8d557c51f5ad0aceb4f1">tab256</a>(t) ((<a class="el" href="gf128mul_8h.html#3148a7ff3d3687da32bb54ec481afd09">gf_t256</a>)t)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </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 </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(* </td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#d95743766ddb13c6b2ed7a7cfc0dcfc3">gf_t64k</a> )[256][GF_BYTE_LEN >> 2]</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef uint_32t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#8ee1171a70369c3d03f9d88098b0b1a2">gf_t8k</a> )[16][GF_BYTE_LEN >> 2]</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef uint_32t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#d8d711edfa1d329deae96fe42eb956c0">gf_t4k</a> )[GF_BYTE_LEN >> 2]</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef uint_32t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="gf128mul_8h.html#3148a7ff3d3687da32bb54ec481afd09">gf_t256</a> )[GF_BYTE_LEN >> 2]</td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </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 </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 </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 </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 </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 </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 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 </td> <td class="paramname"> </td> <td> ) </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] & 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] >> 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 </td> <td class="paramname"> </td> <td> ) </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 </td> <td class="paramname"> </td> <td> ) </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 </td> <td class="paramname"> </td> <td> ) </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] & 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] >> 4]); \ <span class="keywordflow">for</span>(i = 1; i < <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 </td> <td class="paramname"> </td> <td> ) </td> <td> ((<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 </td> <td class="paramname"> </td> <td> ) </td> <td> ((<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 </td> <td class="paramname"> </td> <td> ) </td> <td> ((<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 </td> <td class="paramname"> </td> <td> ) </td> <td> ((<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 </td> <td class="paramname"> </td> <td> ) </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] & 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] >> 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 </td> <td class="paramname"> </td> <td> ) </td> <td> 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 </td> <td class="paramname"> </td> <td> ) </td> <td> 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 </td> <td class="paramname"> </td> <td> ) </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] & 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] >> 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 >> 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 >> 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 >> 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 >> 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 >> 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 >> 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 >> 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 >> 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 * </td> <td class="paramname"> <em>a</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"> <em>b</em></td><td> </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 </td> <td class="paramname"> <em>g</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>t</em></td><td> </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 </td> <td class="paramname"> <em>g</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>t</em></td><td> </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 </td> <td class="paramname"> <em>g</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>t</em></td><td> </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 </td> <td class="paramname"> <em>g</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>t</em></td><td> </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 Mon Jul 21 14:09:49 2008 for DTN Reference Implementation by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> </body> </html>