Sophie

Sophie

distrib > Mageia > 1 > i586 > media > core-release > by-pkgid > f13f6adf1b3d6f8603d9852eed9f77b6 > files > 30

libnet-devel-1.1.5-2.mga1.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>libnet: libnet-macros.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.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li class="current"><a href="files.html"><span>Files</span></a></li>
  </ul>
</div>
<h1>libnet-macros.h File Reference</h1>libnet macros and symbolic constants <a href="#_details">More...</a>
<p>

<p>
<a href="libnet-macros_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="libnet-macros_8h.html#c67cb6e9b00fd492cc3a9247e9477d87">LIBNET_DONT_RESOLVE</a>&nbsp;&nbsp;&nbsp;0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#6733960f6981f1930b2d1a489df89cc7">LIBNET_RESOLVE</a>&nbsp;&nbsp;&nbsp;1</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#5ff9536ca9bbe6f73f69bec817962742">LIBNET_ON</a>&nbsp;&nbsp;&nbsp;0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#f87da67c016a9791d256c2d71bf0b0ac">LIBNET_OFF</a>&nbsp;&nbsp;&nbsp;1</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#9c76fe8da8e411fe1db9f75583dc1b8a">IN6ADDR_ERROR_INIT</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#96a6017948aa76e5a5d415c3227348df">LIBNET_PR2</a>&nbsp;&nbsp;&nbsp;0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6e6269313abecb5d687d57d21b2b49a1"></a><!-- doxytag: member="libnet-macros.h::LIBNET_PR8" ref="6e6269313abecb5d687d57d21b2b49a1" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LIBNET_PR8</b>&nbsp;&nbsp;&nbsp;1</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="048203597578d34944b2def3b3f1f7ce"></a><!-- doxytag: member="libnet-macros.h::LIBNET_PR16" ref="048203597578d34944b2def3b3f1f7ce" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LIBNET_PR16</b>&nbsp;&nbsp;&nbsp;2</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8dfe8585239d898a1d4c8dbeac2356ad"></a><!-- doxytag: member="libnet-macros.h::LIBNET_PRu16" ref="8dfe8585239d898a1d4c8dbeac2356ad" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LIBNET_PRu16</b>&nbsp;&nbsp;&nbsp;3</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3b4abb739dd6f288b005395d47e1fe02"></a><!-- doxytag: member="libnet-macros.h::LIBNET_PR32" ref="3b4abb739dd6f288b005395d47e1fe02" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LIBNET_PR32</b>&nbsp;&nbsp;&nbsp;4</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6cf838481f5b7726dea022fe92a3770f"></a><!-- doxytag: member="libnet-macros.h::LIBNET_PRu32" ref="6cf838481f5b7726dea022fe92a3770f" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LIBNET_PRu32</b>&nbsp;&nbsp;&nbsp;5</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2cb20e30c5929490777df58e91d16f1f"></a><!-- doxytag: member="libnet-macros.h::LIBNET_PRAND_MAX" ref="2cb20e30c5929490777df58e91d16f1f" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LIBNET_PRAND_MAX</b>&nbsp;&nbsp;&nbsp;0xffffffff</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#c7301c95aa36d66e8904979650b5189d">LIBNET_MAX_PACKET</a>&nbsp;&nbsp;&nbsp;0xffff</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1554ef48c7e8f7bd5d6ef2655e59ed07"></a><!-- doxytag: member="libnet-macros.h::IP_MAXPACKET" ref="1554ef48c7e8f7bd5d6ef2655e59ed07" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>IP_MAXPACKET</b>&nbsp;&nbsp;&nbsp;0xffff</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf4fcaacb1ad2010711b7c880ec2ed20"></a><!-- doxytag: member="libnet-macros.h::ETHER_ADDR_LEN" ref="bf4fcaacb1ad2010711b7c880ec2ed20" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>ETHER_ADDR_LEN</b>&nbsp;&nbsp;&nbsp;0x6</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="caac696cbf5938db15328848825b7c7b"></a><!-- doxytag: member="libnet-macros.h::FDDI_ADDR_LEN" ref="caac696cbf5938db15328848825b7c7b" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>FDDI_ADDR_LEN</b>&nbsp;&nbsp;&nbsp;0x6</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6786a3f4d3531850fda0b55b0f00663c"></a><!-- doxytag: member="libnet-macros.h::TOKEN_RING_ADDR_LEN" ref="6786a3f4d3531850fda0b55b0f00663c" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TOKEN_RING_ADDR_LEN</b>&nbsp;&nbsp;&nbsp;0x6</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9c7276e3c31964435cb1e5bd6e589328"></a><!-- doxytag: member="libnet-macros.h::LIBNET_ORG_CODE_SIZE" ref="9c7276e3c31964435cb1e5bd6e589328" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LIBNET_ORG_CODE_SIZE</b>&nbsp;&nbsp;&nbsp;0x3</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#2d720375e2ef5a85a62d6069283a5223">LIBNET_ERRBUF_SIZE</a>&nbsp;&nbsp;&nbsp;0x100</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#e9cd154f8cb482809ee456b6ac43dea5">LIBNET_MAXOPTION_SIZE</a>&nbsp;&nbsp;&nbsp;0x28</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1630dbffade7ca1bc66c747c9c2137de"></a><!-- doxytag: member="libnet-macros.h::FIX" ref="1630dbffade7ca1bc66c747c9c2137de" args="(n)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>FIX</b>(n)&nbsp;&nbsp;&nbsp;(n)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="06d48caec858096d138be9e22aa62ecc"></a><!-- doxytag: member="libnet-macros.h::UNFIX" ref="06d48caec858096d138be9e22aa62ecc" args="(n)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>UNFIX</b>(n)&nbsp;&nbsp;&nbsp;(n)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LIBNET_DO_PAYLOAD</b>(l, p)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ec7ad14d1e9038afd97f5a9145ed150f"></a><!-- doxytag: member="libnet-macros.h::LIBNET_CKSUM_CARRY" ref="ec7ad14d1e9038afd97f5a9145ed150f" args="(x)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LIBNET_CKSUM_CARRY</b>(x)&nbsp;&nbsp;&nbsp;(x = (x &gt;&gt; 16) + (x &amp; 0xffff), (~(x + (x &gt;&gt; 16)) &amp; 0xffff))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="78c38337cc7b1e9ab572ed97d3aaa702"></a><!-- doxytag: member="libnet-macros.h::LIBNET_OSPF_AUTHCPY" ref="78c38337cc7b1e9ab572ed97d3aaa702" args="(x, y)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LIBNET_OSPF_AUTHCPY</b>(x, y)&nbsp;&nbsp;&nbsp;memcpy((uint8_t *)x, (uint8_t *)y, sizeof(y))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bba894cfc9afa729b9fae7a7daef128b"></a><!-- doxytag: member="libnet-macros.h::LIBNET_OSPF_CKSUMBUF" ref="bba894cfc9afa729b9fae7a7daef128b" args="(x, y)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LIBNET_OSPF_CKSUMBUF</b>(x, y)&nbsp;&nbsp;&nbsp;memcpy((uint8_t *)x, (uint8_t *)y, sizeof(y))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9a522b76610c4ceadb57b6b839f2fdbf"></a><!-- doxytag: member="libnet-macros.h::LIBNET_NTP_DO_LI_VN_MODE" ref="9a522b76610c4ceadb57b6b839f2fdbf" args="(li, vn, md)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LIBNET_NTP_DO_LI_VN_MODE</b>(li, vn, md)&nbsp;&nbsp;&nbsp;((uint8_t)((((li) &lt;&lt; 6) &amp; 0xc0) | (((vn) &lt;&lt; 3) &amp; 0x38) | ((md) &amp; 0x7)))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2b3fe6da087ee254d764d9d3aad20116"></a><!-- doxytag: member="libnet-macros.h::LIBNET_ISLOOPBACK" ref="2b3fe6da087ee254d764d9d3aad20116" args="(p)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LIBNET_ISLOOPBACK</b>(p)&nbsp;&nbsp;&nbsp;(strcmp((p)-&gt;ifr_name, &quot;lo0&quot;) == 0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="adca40791ffec09cf042012b3c2e0379"></a><!-- doxytag: member="libnet-macros.h::LIBNET_ISADVMODE" ref="adca40791ffec09cf042012b3c2e0379" args="(x)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LIBNET_ISADVMODE</b>(x)&nbsp;&nbsp;&nbsp;(x &amp; 0x08)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ad353d408faa7236590b8092b8e608b9"></a><!-- doxytag: member="libnet-macros.h::LIBNET_LABEL_SIZE" ref="ad353d408faa7236590b8092b8e608b9" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LIBNET_LABEL_SIZE</b>&nbsp;&nbsp;&nbsp;64</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dff66f7e27996597f9f486e546edb4e6"></a><!-- doxytag: member="libnet-macros.h::LIBNET_LABEL_DEFAULT" ref="dff66f7e27996597f9f486e546edb4e6" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LIBNET_LABEL_DEFAULT</b>&nbsp;&nbsp;&nbsp;&quot;cardshark&quot;</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a090ca83cdf9f0828900d826d30d8eba"></a><!-- doxytag: member="libnet-macros.h::CQ_LOCK_UNLOCKED" ref="a090ca83cdf9f0828900d826d30d8eba" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>CQ_LOCK_UNLOCKED</b>&nbsp;&nbsp;&nbsp;(u_int)0x00000000</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="69ad1ac0277dfc2ce9c9b41e9ea83ebc"></a><!-- doxytag: member="libnet-macros.h::CQ_LOCK_READ" ref="69ad1ac0277dfc2ce9c9b41e9ea83ebc" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>CQ_LOCK_READ</b>&nbsp;&nbsp;&nbsp;(u_int)0x00000001</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eb4a47cde2d621731fd62b709c1dcb21"></a><!-- doxytag: member="libnet-macros.h::CQ_LOCK_WRITE" ref="eb4a47cde2d621731fd62b709c1dcb21" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>CQ_LOCK_WRITE</b>&nbsp;&nbsp;&nbsp;(u_int)0x00000002</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#f36eb84eee10c525720134cfadb50a3e">for_each_context_in_cq</a>(l)&nbsp;&nbsp;&nbsp;for (l = libnet_cq_head(); libnet_cq_last(); l = libnet_cq_next())</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ed7ebccea1f0ea8ccde7adbfb273cd74"></a><!-- doxytag: member="libnet-macros.h::cq_is_wlocked" ref="ed7ebccea1f0ea8ccde7adbfb273cd74" args="()" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>cq_is_wlocked</b>()&nbsp;&nbsp;&nbsp;(l_cqd.cq_lock &amp; CQ_LOCK_WRITE)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf62890307cdd947227bc8e261565ed7"></a><!-- doxytag: member="libnet-macros.h::cq_is_rlocked" ref="bf62890307cdd947227bc8e261565ed7" args="()" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>cq_is_rlocked</b>()&nbsp;&nbsp;&nbsp;(l_cqd.cq_lock &amp; CQ_LOCK_READ)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b21078806a925321484a28f8b3d46fb3"></a><!-- doxytag: member="libnet-macros.h::cq_is_locked" ref="b21078806a925321484a28f8b3d46fb3" args="()" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>cq_is_locked</b>()&nbsp;&nbsp;&nbsp;(l_cqd.cq_lock &amp; (CQ_LOCK_READ | CQ_LOCK_WRITE))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f2c376014dcb2eb2d229db3d51e4c177"></a><!-- doxytag: member="libnet-macros.h::check_cq_lock" ref="f2c376014dcb2eb2d229db3d51e4c177" args="(x)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>check_cq_lock</b>(x)&nbsp;&nbsp;&nbsp;(l_cqd.cq_lock &amp; x)</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
libnet macros and symbolic constants 
<p>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="f36eb84eee10c525720134cfadb50a3e"></a><!-- doxytag: member="libnet-macros.h::for_each_context_in_cq" ref="f36eb84eee10c525720134cfadb50a3e" args="(l)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define for_each_context_in_cq          </td>
          <td>(</td>
          <td class="paramtype">l&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;for (l = libnet_cq_head(); libnet_cq_last(); l = libnet_cq_next())</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Provides an interface to iterate through the context queue of libnet contexts. Before calling this macro, be sure to set the queue using <a class="el" href="libnet-functions_8h.html#7e98a045ac6e29ca421507d9a200b5aa">libnet_cq_head()</a>. 
</div>
</div><p>
<a class="anchor" name="9c76fe8da8e411fe1db9f75583dc1b8a"></a><!-- doxytag: member="libnet-macros.h::IN6ADDR_ERROR_INIT" ref="9c76fe8da8e411fe1db9f75583dc1b8a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IN6ADDR_ERROR_INIT          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment">{ { { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \
                                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \
                                 0xff, 0xff } } }
</pre></div>IPv6 error code 
</div>
</div><p>
<a class="anchor" name="c3d8a2eba10526498a21c2c6d41bf846"></a><!-- doxytag: member="libnet-macros.h::LIBNET_DO_PAYLOAD" ref="c3d8a2eba10526498a21c2c6d41bf846" args="(l, p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIBNET_DO_PAYLOAD          </td>
          <td>(</td>
          <td class="paramtype">l,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">p&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> (payload_s &amp;&amp; !payload)                                                   \
{                                                                            \
    snprintf(l-&gt;err_buf, <a class="code" href="libnet-macros_8h.html#2d720375e2ef5a85a62d6069283a5223">LIBNET_ERRBUF_SIZE</a>,                                 \
            <span class="stringliteral">"%s(): payload inconsistency\n"</span>, __func__);                      \
    <span class="keywordflow">goto</span> bad;                                                                \
}                                                                            \
<span class="keywordflow">if</span> (payload_s)                                                               \
{                                                                            \
    n = libnet_pblock_append(l, p, payload, payload_s);                      \
    <span class="keywordflow">if</span> (n == (uint32_t) - 1)                                                 \
    {                                                                        \
        <span class="keywordflow">goto</span> bad;                                                            \
    }                                                                        \
}                                                                            \
</pre></div>
</div>
</div><p>
<a class="anchor" name="c67cb6e9b00fd492cc3a9247e9477d87"></a><!-- doxytag: member="libnet-macros.h::LIBNET_DONT_RESOLVE" ref="c67cb6e9b00fd492cc3a9247e9477d87" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIBNET_DONT_RESOLVE&nbsp;&nbsp;&nbsp;0          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Used for libnet's name resolution functions, specifies that no DNS lookups should be performed and the IP address should be kept in numeric form. 
</div>
</div><p>
<a class="anchor" name="2d720375e2ef5a85a62d6069283a5223"></a><!-- doxytag: member="libnet-macros.h::LIBNET_ERRBUF_SIZE" ref="2d720375e2ef5a85a62d6069283a5223" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIBNET_ERRBUF_SIZE&nbsp;&nbsp;&nbsp;0x100          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The libnet error buffer is 256 bytes long. 
</div>
</div><p>
<a class="anchor" name="c7301c95aa36d66e8904979650b5189d"></a><!-- doxytag: member="libnet-macros.h::LIBNET_MAX_PACKET" ref="c7301c95aa36d66e8904979650b5189d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIBNET_MAX_PACKET&nbsp;&nbsp;&nbsp;0xffff          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The biggest an IP packet can be -- 65,535 bytes. 
</div>
</div><p>
<a class="anchor" name="e9cd154f8cb482809ee456b6ac43dea5"></a><!-- doxytag: member="libnet-macros.h::LIBNET_MAXOPTION_SIZE" ref="e9cd154f8cb482809ee456b6ac43dea5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIBNET_MAXOPTION_SIZE&nbsp;&nbsp;&nbsp;0x28          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
IP and TCP options can be up to 40 bytes long. 
</div>
</div><p>
<a class="anchor" name="f87da67c016a9791d256c2d71bf0b0ac"></a><!-- doxytag: member="libnet-macros.h::LIBNET_OFF" ref="f87da67c016a9791d256c2d71bf0b0ac" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIBNET_OFF&nbsp;&nbsp;&nbsp;1          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Used several places, to specify "on" or "one" 
</div>
</div><p>
<a class="anchor" name="5ff9536ca9bbe6f73f69bec817962742"></a><!-- doxytag: member="libnet-macros.h::LIBNET_ON" ref="5ff9536ca9bbe6f73f69bec817962742" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIBNET_ON&nbsp;&nbsp;&nbsp;0          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Used several places, to specify "on" or "one" 
</div>
</div><p>
<a class="anchor" name="96a6017948aa76e5a5d415c3227348df"></a><!-- doxytag: member="libnet-macros.h::LIBNET_PR2" ref="96a6017948aa76e5a5d415c3227348df" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIBNET_PR2&nbsp;&nbsp;&nbsp;0          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Used for <a class="el" href="libnet-functions_8h.html#b74bd339ef6343077dc79bab2063aee3">libnet_get_prand()</a> to specify function disposition 
</div>
</div><p>
<a class="anchor" name="6733960f6981f1930b2d1a489df89cc7"></a><!-- doxytag: member="libnet-macros.h::LIBNET_RESOLVE" ref="6733960f6981f1930b2d1a489df89cc7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIBNET_RESOLVE&nbsp;&nbsp;&nbsp;1          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Used for libnet's name resolution functions, specifies that a DNS lookup can be performed if needed to resolve the IP address to a canonical form. 
</div>
</div><p>
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Nov 8 16:48:17 2010 for libnet by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
</body>
</html>