<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libnet: libnet-macros.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.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libnet <span id="projectnumber">1.1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#define-members">Defines</a> </div>
<div class="headertitle">
<div class="title">libnet-macros.h File Reference</div> </div>
</div>
<div class="contents">
<p>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></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#ac67cb6e9b00fd492cc3a9247e9477d87">LIBNET_DONT_RESOLVE</a>   0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#a6733960f6981f1930b2d1a489df89cc7">LIBNET_RESOLVE</a>   1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#a5ff9536ca9bbe6f73f69bec817962742">LIBNET_ON</a>   0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#af87da67c016a9791d256c2d71bf0b0ac">LIBNET_OFF</a>   1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#a9c76fe8da8e411fe1db9f75583dc1b8a">IN6ADDR_ERROR_INIT</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#a96a6017948aa76e5a5d415c3227348df">LIBNET_PR2</a>   0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6e6269313abecb5d687d57d21b2b49a1"></a><!-- doxytag: member="libnet-macros.h::LIBNET_PR8" ref="a6e6269313abecb5d687d57d21b2b49a1" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>LIBNET_PR8</b>   1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a048203597578d34944b2def3b3f1f7ce"></a><!-- doxytag: member="libnet-macros.h::LIBNET_PR16" ref="a048203597578d34944b2def3b3f1f7ce" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>LIBNET_PR16</b>   2</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8dfe8585239d898a1d4c8dbeac2356ad"></a><!-- doxytag: member="libnet-macros.h::LIBNET_PRu16" ref="a8dfe8585239d898a1d4c8dbeac2356ad" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>LIBNET_PRu16</b>   3</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b4abb739dd6f288b005395d47e1fe02"></a><!-- doxytag: member="libnet-macros.h::LIBNET_PR32" ref="a3b4abb739dd6f288b005395d47e1fe02" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>LIBNET_PR32</b>   4</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6cf838481f5b7726dea022fe92a3770f"></a><!-- doxytag: member="libnet-macros.h::LIBNET_PRu32" ref="a6cf838481f5b7726dea022fe92a3770f" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>LIBNET_PRu32</b>   5</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2cb20e30c5929490777df58e91d16f1f"></a><!-- doxytag: member="libnet-macros.h::LIBNET_PRAND_MAX" ref="a2cb20e30c5929490777df58e91d16f1f" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>LIBNET_PRAND_MAX</b>   0xffffffff</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#ac7301c95aa36d66e8904979650b5189d">LIBNET_MAX_PACKET</a>   0xffff</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1554ef48c7e8f7bd5d6ef2655e59ed07"></a><!-- doxytag: member="libnet-macros.h::IP_MAXPACKET" ref="a1554ef48c7e8f7bd5d6ef2655e59ed07" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>IP_MAXPACKET</b>   0xffff</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf4fcaacb1ad2010711b7c880ec2ed20"></a><!-- doxytag: member="libnet-macros.h::ETHER_ADDR_LEN" ref="abf4fcaacb1ad2010711b7c880ec2ed20" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>ETHER_ADDR_LEN</b>   0x6</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acaac696cbf5938db15328848825b7c7b"></a><!-- doxytag: member="libnet-macros.h::FDDI_ADDR_LEN" ref="acaac696cbf5938db15328848825b7c7b" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>FDDI_ADDR_LEN</b>   0x6</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6786a3f4d3531850fda0b55b0f00663c"></a><!-- doxytag: member="libnet-macros.h::TOKEN_RING_ADDR_LEN" ref="a6786a3f4d3531850fda0b55b0f00663c" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>TOKEN_RING_ADDR_LEN</b>   0x6</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c7276e3c31964435cb1e5bd6e589328"></a><!-- doxytag: member="libnet-macros.h::LIBNET_ORG_CODE_SIZE" ref="a9c7276e3c31964435cb1e5bd6e589328" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>LIBNET_ORG_CODE_SIZE</b>   0x3</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#a2d720375e2ef5a85a62d6069283a5223">LIBNET_ERRBUF_SIZE</a>   0x100</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#ae9cd154f8cb482809ee456b6ac43dea5">LIBNET_MAXOPTION_SIZE</a>   0x28</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1630dbffade7ca1bc66c747c9c2137de"></a><!-- doxytag: member="libnet-macros.h::FIX" ref="a1630dbffade7ca1bc66c747c9c2137de" args="(n)" -->
#define </td><td class="memItemRight" valign="bottom"><b>FIX</b>(n)   (n)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06d48caec858096d138be9e22aa62ecc"></a><!-- doxytag: member="libnet-macros.h::UNFIX" ref="a06d48caec858096d138be9e22aa62ecc" args="(n)" -->
#define </td><td class="memItemRight" valign="bottom"><b>UNFIX</b>(n)   (n)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><b>LIBNET_DO_PAYLOAD</b>(l, p)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec7ad14d1e9038afd97f5a9145ed150f"></a><!-- doxytag: member="libnet-macros.h::LIBNET_CKSUM_CARRY" ref="aec7ad14d1e9038afd97f5a9145ed150f" args="(x)" -->
#define </td><td class="memItemRight" valign="bottom"><b>LIBNET_CKSUM_CARRY</b>(x)   (x = (x >> 16) + (x & 0xffff), (~(x + (x >> 16)) & 0xffff))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a78c38337cc7b1e9ab572ed97d3aaa702"></a><!-- doxytag: member="libnet-macros.h::LIBNET_OSPF_AUTHCPY" ref="a78c38337cc7b1e9ab572ed97d3aaa702" args="(x, y)" -->
#define </td><td class="memItemRight" valign="bottom"><b>LIBNET_OSPF_AUTHCPY</b>(x, y)   memcpy((uint8_t *)x, (uint8_t *)y, sizeof(y))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abba894cfc9afa729b9fae7a7daef128b"></a><!-- doxytag: member="libnet-macros.h::LIBNET_OSPF_CKSUMBUF" ref="abba894cfc9afa729b9fae7a7daef128b" args="(x, y)" -->
#define </td><td class="memItemRight" valign="bottom"><b>LIBNET_OSPF_CKSUMBUF</b>(x, y)   memcpy((uint8_t *)x, (uint8_t *)y, sizeof(y))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a522b76610c4ceadb57b6b839f2fdbf"></a><!-- doxytag: member="libnet-macros.h::LIBNET_NTP_DO_LI_VN_MODE" ref="a9a522b76610c4ceadb57b6b839f2fdbf" args="(li, vn, md)" -->
#define </td><td class="memItemRight" valign="bottom"><b>LIBNET_NTP_DO_LI_VN_MODE</b>(li, vn, md)   ((uint8_t)((((li) << 6) & 0xc0) | (((vn) << 3) & 0x38) | ((md) & 0x7)))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2b3fe6da087ee254d764d9d3aad20116"></a><!-- doxytag: member="libnet-macros.h::LIBNET_ISLOOPBACK" ref="a2b3fe6da087ee254d764d9d3aad20116" args="(p)" -->
#define </td><td class="memItemRight" valign="bottom"><b>LIBNET_ISLOOPBACK</b>(p)   (strcmp((p)->ifr_name, "lo") == 0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aadca40791ffec09cf042012b3c2e0379"></a><!-- doxytag: member="libnet-macros.h::LIBNET_ISADVMODE" ref="aadca40791ffec09cf042012b3c2e0379" args="(x)" -->
#define </td><td class="memItemRight" valign="bottom"><b>LIBNET_ISADVMODE</b>(x)   (x & 0x08)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad353d408faa7236590b8092b8e608b9"></a><!-- doxytag: member="libnet-macros.h::LIBNET_LABEL_SIZE" ref="aad353d408faa7236590b8092b8e608b9" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>LIBNET_LABEL_SIZE</b>   64</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adff66f7e27996597f9f486e546edb4e6"></a><!-- doxytag: member="libnet-macros.h::LIBNET_LABEL_DEFAULT" ref="adff66f7e27996597f9f486e546edb4e6" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>LIBNET_LABEL_DEFAULT</b>   "cardshark"</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa090ca83cdf9f0828900d826d30d8eba"></a><!-- doxytag: member="libnet-macros.h::CQ_LOCK_UNLOCKED" ref="aa090ca83cdf9f0828900d826d30d8eba" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>CQ_LOCK_UNLOCKED</b>   (u_int)0x00000000</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69ad1ac0277dfc2ce9c9b41e9ea83ebc"></a><!-- doxytag: member="libnet-macros.h::CQ_LOCK_READ" ref="a69ad1ac0277dfc2ce9c9b41e9ea83ebc" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>CQ_LOCK_READ</b>   (u_int)0x00000001</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb4a47cde2d621731fd62b709c1dcb21"></a><!-- doxytag: member="libnet-macros.h::CQ_LOCK_WRITE" ref="aeb4a47cde2d621731fd62b709c1dcb21" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>CQ_LOCK_WRITE</b>   (u_int)0x00000002</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#af36eb84eee10c525720134cfadb50a3e">for_each_context_in_cq</a>(l)   for (l = libnet_cq_head(); libnet_cq_last(); l = libnet_cq_next())</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aed7ebccea1f0ea8ccde7adbfb273cd74"></a><!-- doxytag: member="libnet-macros.h::cq_is_wlocked" ref="aed7ebccea1f0ea8ccde7adbfb273cd74" args="()" -->
#define </td><td class="memItemRight" valign="bottom"><b>cq_is_wlocked</b>()   (l_cqd.cq_lock & CQ_LOCK_WRITE)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf62890307cdd947227bc8e261565ed7"></a><!-- doxytag: member="libnet-macros.h::cq_is_rlocked" ref="abf62890307cdd947227bc8e261565ed7" args="()" -->
#define </td><td class="memItemRight" valign="bottom"><b>cq_is_rlocked</b>()   (l_cqd.cq_lock & CQ_LOCK_READ)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab21078806a925321484a28f8b3d46fb3"></a><!-- doxytag: member="libnet-macros.h::cq_is_locked" ref="ab21078806a925321484a28f8b3d46fb3" args="()" -->
#define </td><td class="memItemRight" valign="bottom"><b>cq_is_locked</b>()   (l_cqd.cq_lock & (CQ_LOCK_READ | CQ_LOCK_WRITE))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af2c376014dcb2eb2d229db3d51e4c177"></a><!-- doxytag: member="libnet-macros.h::check_cq_lock" ref="af2c376014dcb2eb2d229db3d51e4c177" args="(x)" -->
#define </td><td class="memItemRight" valign="bottom"><b>check_cq_lock</b>(x)   (l_cqd.cq_lock & x)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>libnet macros and symbolic constants </p>
</div><hr/><h2>Define Documentation</h2>
<a class="anchor" id="af36eb84eee10c525720134cfadb50a3e"></a><!-- doxytag: member="libnet-macros.h::for_each_context_in_cq" ref="af36eb84eee10c525720134cfadb50a3e" 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"> </td>
<td class="paramname">l</td><td>)</td>
<td>   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#a7e98a045ac6e29ca421507d9a200b5aa">libnet_cq_head()</a>. </p>
</div>
</div>
<a class="anchor" id="a9c76fe8da8e411fe1db9f75583dc1b8a"></a><!-- doxytag: member="libnet-macros.h::IN6ADDR_ERROR_INIT" ref="a9c76fe8da8e411fe1db9f75583dc1b8a" 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">
<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><p>IPv6 error code </p>
</div>
</div>
<a class="anchor" id="ac3d8a2eba10526498a21c2c6d41bf846"></a><!-- doxytag: member="libnet-macros.h::LIBNET_DO_PAYLOAD" ref="ac3d8a2eba10526498a21c2c6d41bf846" 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"> </td>
<td class="paramname">l, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">p </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> (payload_s && !payload) \
{ \
snprintf(l->err_buf, <a class="code" href="libnet-macros_8h.html#a2d720375e2ef5a85a62d6069283a5223">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>
<a class="anchor" id="ac67cb6e9b00fd492cc3a9247e9477d87"></a><!-- doxytag: member="libnet-macros.h::LIBNET_DONT_RESOLVE" ref="ac67cb6e9b00fd492cc3a9247e9477d87" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LIBNET_DONT_RESOLVE   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. </p>
</div>
</div>
<a class="anchor" id="a2d720375e2ef5a85a62d6069283a5223"></a><!-- doxytag: member="libnet-macros.h::LIBNET_ERRBUF_SIZE" ref="a2d720375e2ef5a85a62d6069283a5223" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LIBNET_ERRBUF_SIZE   0x100</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The libnet error buffer is 256 bytes long. </p>
</div>
</div>
<a class="anchor" id="ac7301c95aa36d66e8904979650b5189d"></a><!-- doxytag: member="libnet-macros.h::LIBNET_MAX_PACKET" ref="ac7301c95aa36d66e8904979650b5189d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LIBNET_MAX_PACKET   0xffff</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The biggest an IP packet can be -- 65,535 bytes. </p>
</div>
</div>
<a class="anchor" id="ae9cd154f8cb482809ee456b6ac43dea5"></a><!-- doxytag: member="libnet-macros.h::LIBNET_MAXOPTION_SIZE" ref="ae9cd154f8cb482809ee456b6ac43dea5" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LIBNET_MAXOPTION_SIZE   0x28</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>IP and TCP options can be up to 40 bytes long. </p>
</div>
</div>
<a class="anchor" id="af87da67c016a9791d256c2d71bf0b0ac"></a><!-- doxytag: member="libnet-macros.h::LIBNET_OFF" ref="af87da67c016a9791d256c2d71bf0b0ac" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LIBNET_OFF   1</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Used several places, to specify "on" or "one" </p>
</div>
</div>
<a class="anchor" id="a5ff9536ca9bbe6f73f69bec817962742"></a><!-- doxytag: member="libnet-macros.h::LIBNET_ON" ref="a5ff9536ca9bbe6f73f69bec817962742" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LIBNET_ON   0</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Used several places, to specify "on" or "one" </p>
</div>
</div>
<a class="anchor" id="a96a6017948aa76e5a5d415c3227348df"></a><!-- doxytag: member="libnet-macros.h::LIBNET_PR2" ref="a96a6017948aa76e5a5d415c3227348df" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LIBNET_PR2   0</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Used for <a class="el" href="libnet-functions_8h.html#ab74bd339ef6343077dc79bab2063aee3">libnet_get_prand()</a> to specify function disposition </p>
</div>
</div>
<a class="anchor" id="a6733960f6981f1930b2d1a489df89cc7"></a><!-- doxytag: member="libnet-macros.h::LIBNET_RESOLVE" ref="a6733960f6981f1930b2d1a489df89cc7" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LIBNET_RESOLVE   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. </p>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Thu Mar 29 2012 14:19:18 for libnet by 
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>