Annotation of embedaddon/libnet/doc/html/libnet-macros_8h.html, revision 1.1.1.2

1.1.1.2 ! misho       1: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        !             2: <html xmlns="http://www.w3.org/1999/xhtml">
        !             3: <head>
        !             4: <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
1.1       misho       5: <title>libnet: libnet-macros.h File Reference</title>
1.1.1.2 ! misho       6: <link href="tabs.css" rel="stylesheet" type="text/css"/>
        !             7: <link href="doxygen.css" rel="stylesheet" type="text/css"/>
        !             8: </head>
        !             9: <body>
        !            10: <!-- Generated by Doxygen 1.7.4 -->
        !            11: <div id="top">
        !            12: <div id="titlearea">
        !            13: <table cellspacing="0" cellpadding="0">
        !            14:  <tbody>
        !            15:  <tr style="height: 56px;">
        !            16:   <td style="padding-left: 0.5em;">
        !            17:    <div id="projectname">libnet&#160;<span id="projectnumber">1.1</span></div>
        !            18:   </td>
        !            19:  </tr>
        !            20:  </tbody>
        !            21: </table>
        !            22: </div>
        !            23:   <div id="navrow1" class="tabs">
        !            24:     <ul class="tablist">
        !            25:       <li><a href="index.html"><span>Main&#160;Page</span></a></li>
        !            26:       <li class="current"><a href="files.html"><span>Files</span></a></li>
        !            27:     </ul>
        !            28:   </div>
        !            29:   <div id="navrow2" class="tabs2">
        !            30:     <ul class="tablist">
        !            31:       <li><a href="files.html"><span>File&#160;List</span></a></li>
        !            32:       <li><a href="globals.html"><span>Globals</span></a></li>
        !            33:     </ul>
        !            34:   </div>
        !            35: </div>
        !            36: <div class="header">
        !            37:   <div class="summary">
        !            38: <a href="#define-members">Defines</a>  </div>
        !            39:   <div class="headertitle">
        !            40: <div class="title">libnet-macros.h File Reference</div>  </div>
        !            41: </div>
        !            42: <div class="contents">
        !            43: 
        !            44: <p>libnet macros and symbolic constants  
        !            45: <a href="#details">More...</a></p>
        !            46: 
        !            47: <p><a href="libnet-macros_8h_source.html">Go to the source code of this file.</a></p>
        !            48: <table class="memberdecls">
        !            49: <tr><td colspan="2"><h2><a name="define-members"></a>
        !            50: Defines</h2></td></tr>
        !            51: <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#ac67cb6e9b00fd492cc3a9247e9477d87">LIBNET_DONT_RESOLVE</a>&#160;&#160;&#160;0</td></tr>
        !            52: <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#a6733960f6981f1930b2d1a489df89cc7">LIBNET_RESOLVE</a>&#160;&#160;&#160;1</td></tr>
        !            53: <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#a5ff9536ca9bbe6f73f69bec817962742">LIBNET_ON</a>&#160;&#160;&#160;0</td></tr>
        !            54: <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#af87da67c016a9791d256c2d71bf0b0ac">LIBNET_OFF</a>&#160;&#160;&#160;1</td></tr>
        !            55: <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#a9c76fe8da8e411fe1db9f75583dc1b8a">IN6ADDR_ERROR_INIT</a></td></tr>
        !            56: <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#a96a6017948aa76e5a5d415c3227348df">LIBNET_PR2</a>&#160;&#160;&#160;0</td></tr>
        !            57: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6e6269313abecb5d687d57d21b2b49a1"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_PR8" ref="a6e6269313abecb5d687d57d21b2b49a1" args="" -->
        !            58: #define&#160;</td><td class="memItemRight" valign="bottom"><b>LIBNET_PR8</b>&#160;&#160;&#160;1</td></tr>
        !            59: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a048203597578d34944b2def3b3f1f7ce"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_PR16" ref="a048203597578d34944b2def3b3f1f7ce" args="" -->
        !            60: #define&#160;</td><td class="memItemRight" valign="bottom"><b>LIBNET_PR16</b>&#160;&#160;&#160;2</td></tr>
        !            61: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8dfe8585239d898a1d4c8dbeac2356ad"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_PRu16" ref="a8dfe8585239d898a1d4c8dbeac2356ad" args="" -->
        !            62: #define&#160;</td><td class="memItemRight" valign="bottom"><b>LIBNET_PRu16</b>&#160;&#160;&#160;3</td></tr>
        !            63: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b4abb739dd6f288b005395d47e1fe02"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_PR32" ref="a3b4abb739dd6f288b005395d47e1fe02" args="" -->
        !            64: #define&#160;</td><td class="memItemRight" valign="bottom"><b>LIBNET_PR32</b>&#160;&#160;&#160;4</td></tr>
        !            65: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6cf838481f5b7726dea022fe92a3770f"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_PRu32" ref="a6cf838481f5b7726dea022fe92a3770f" args="" -->
        !            66: #define&#160;</td><td class="memItemRight" valign="bottom"><b>LIBNET_PRu32</b>&#160;&#160;&#160;5</td></tr>
        !            67: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2cb20e30c5929490777df58e91d16f1f"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_PRAND_MAX" ref="a2cb20e30c5929490777df58e91d16f1f" args="" -->
        !            68: #define&#160;</td><td class="memItemRight" valign="bottom"><b>LIBNET_PRAND_MAX</b>&#160;&#160;&#160;0xffffffff</td></tr>
        !            69: <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#ac7301c95aa36d66e8904979650b5189d">LIBNET_MAX_PACKET</a>&#160;&#160;&#160;0xffff</td></tr>
        !            70: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1554ef48c7e8f7bd5d6ef2655e59ed07"></a><!-- doxytag: member="libnet&#45;macros.h::IP_MAXPACKET" ref="a1554ef48c7e8f7bd5d6ef2655e59ed07" args="" -->
        !            71: #define&#160;</td><td class="memItemRight" valign="bottom"><b>IP_MAXPACKET</b>&#160;&#160;&#160;0xffff</td></tr>
        !            72: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf4fcaacb1ad2010711b7c880ec2ed20"></a><!-- doxytag: member="libnet&#45;macros.h::ETHER_ADDR_LEN" ref="abf4fcaacb1ad2010711b7c880ec2ed20" args="" -->
        !            73: #define&#160;</td><td class="memItemRight" valign="bottom"><b>ETHER_ADDR_LEN</b>&#160;&#160;&#160;0x6</td></tr>
        !            74: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acaac696cbf5938db15328848825b7c7b"></a><!-- doxytag: member="libnet&#45;macros.h::FDDI_ADDR_LEN" ref="acaac696cbf5938db15328848825b7c7b" args="" -->
        !            75: #define&#160;</td><td class="memItemRight" valign="bottom"><b>FDDI_ADDR_LEN</b>&#160;&#160;&#160;0x6</td></tr>
        !            76: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6786a3f4d3531850fda0b55b0f00663c"></a><!-- doxytag: member="libnet&#45;macros.h::TOKEN_RING_ADDR_LEN" ref="a6786a3f4d3531850fda0b55b0f00663c" args="" -->
        !            77: #define&#160;</td><td class="memItemRight" valign="bottom"><b>TOKEN_RING_ADDR_LEN</b>&#160;&#160;&#160;0x6</td></tr>
        !            78: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c7276e3c31964435cb1e5bd6e589328"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_ORG_CODE_SIZE" ref="a9c7276e3c31964435cb1e5bd6e589328" args="" -->
        !            79: #define&#160;</td><td class="memItemRight" valign="bottom"><b>LIBNET_ORG_CODE_SIZE</b>&#160;&#160;&#160;0x3</td></tr>
        !            80: <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#a2d720375e2ef5a85a62d6069283a5223">LIBNET_ERRBUF_SIZE</a>&#160;&#160;&#160;0x100</td></tr>
        !            81: <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#ae9cd154f8cb482809ee456b6ac43dea5">LIBNET_MAXOPTION_SIZE</a>&#160;&#160;&#160;0x28</td></tr>
        !            82: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1630dbffade7ca1bc66c747c9c2137de"></a><!-- doxytag: member="libnet&#45;macros.h::FIX" ref="a1630dbffade7ca1bc66c747c9c2137de" args="(n)" -->
        !            83: #define&#160;</td><td class="memItemRight" valign="bottom"><b>FIX</b>(n)&#160;&#160;&#160;(n)</td></tr>
        !            84: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06d48caec858096d138be9e22aa62ecc"></a><!-- doxytag: member="libnet&#45;macros.h::UNFIX" ref="a06d48caec858096d138be9e22aa62ecc" args="(n)" -->
        !            85: #define&#160;</td><td class="memItemRight" valign="bottom"><b>UNFIX</b>(n)&#160;&#160;&#160;(n)</td></tr>
        !            86: <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>LIBNET_DO_PAYLOAD</b>(l, p)</td></tr>
        !            87: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec7ad14d1e9038afd97f5a9145ed150f"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_CKSUM_CARRY" ref="aec7ad14d1e9038afd97f5a9145ed150f" args="(x)" -->
        !            88: #define&#160;</td><td class="memItemRight" valign="bottom"><b>LIBNET_CKSUM_CARRY</b>(x)&#160;&#160;&#160;(x = (x &gt;&gt; 16) + (x &amp; 0xffff), (~(x + (x &gt;&gt; 16)) &amp; 0xffff))</td></tr>
        !            89: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a78c38337cc7b1e9ab572ed97d3aaa702"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_OSPF_AUTHCPY" ref="a78c38337cc7b1e9ab572ed97d3aaa702" args="(x, y)" -->
        !            90: #define&#160;</td><td class="memItemRight" valign="bottom"><b>LIBNET_OSPF_AUTHCPY</b>(x, y)&#160;&#160;&#160;memcpy((uint8_t *)x, (uint8_t *)y, sizeof(y))</td></tr>
        !            91: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abba894cfc9afa729b9fae7a7daef128b"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_OSPF_CKSUMBUF" ref="abba894cfc9afa729b9fae7a7daef128b" args="(x, y)" -->
        !            92: #define&#160;</td><td class="memItemRight" valign="bottom"><b>LIBNET_OSPF_CKSUMBUF</b>(x, y)&#160;&#160;&#160;memcpy((uint8_t *)x, (uint8_t *)y, sizeof(y))</td></tr>
        !            93: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a522b76610c4ceadb57b6b839f2fdbf"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_NTP_DO_LI_VN_MODE" ref="a9a522b76610c4ceadb57b6b839f2fdbf" args="(li, vn, md)" -->
        !            94: #define&#160;</td><td class="memItemRight" valign="bottom"><b>LIBNET_NTP_DO_LI_VN_MODE</b>(li, vn, md)&#160;&#160;&#160;((uint8_t)((((li) &lt;&lt; 6) &amp; 0xc0) | (((vn) &lt;&lt; 3) &amp; 0x38) | ((md) &amp; 0x7)))</td></tr>
        !            95: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2b3fe6da087ee254d764d9d3aad20116"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_ISLOOPBACK" ref="a2b3fe6da087ee254d764d9d3aad20116" args="(p)" -->
        !            96: #define&#160;</td><td class="memItemRight" valign="bottom"><b>LIBNET_ISLOOPBACK</b>(p)&#160;&#160;&#160;(strcmp((p)-&gt;ifr_name, &quot;lo&quot;) == 0)</td></tr>
        !            97: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aadca40791ffec09cf042012b3c2e0379"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_ISADVMODE" ref="aadca40791ffec09cf042012b3c2e0379" args="(x)" -->
        !            98: #define&#160;</td><td class="memItemRight" valign="bottom"><b>LIBNET_ISADVMODE</b>(x)&#160;&#160;&#160;(x &amp; 0x08)</td></tr>
        !            99: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad353d408faa7236590b8092b8e608b9"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_LABEL_SIZE" ref="aad353d408faa7236590b8092b8e608b9" args="" -->
        !           100: #define&#160;</td><td class="memItemRight" valign="bottom"><b>LIBNET_LABEL_SIZE</b>&#160;&#160;&#160;64</td></tr>
        !           101: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adff66f7e27996597f9f486e546edb4e6"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_LABEL_DEFAULT" ref="adff66f7e27996597f9f486e546edb4e6" args="" -->
        !           102: #define&#160;</td><td class="memItemRight" valign="bottom"><b>LIBNET_LABEL_DEFAULT</b>&#160;&#160;&#160;&quot;cardshark&quot;</td></tr>
        !           103: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa090ca83cdf9f0828900d826d30d8eba"></a><!-- doxytag: member="libnet&#45;macros.h::CQ_LOCK_UNLOCKED" ref="aa090ca83cdf9f0828900d826d30d8eba" args="" -->
        !           104: #define&#160;</td><td class="memItemRight" valign="bottom"><b>CQ_LOCK_UNLOCKED</b>&#160;&#160;&#160;(u_int)0x00000000</td></tr>
        !           105: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69ad1ac0277dfc2ce9c9b41e9ea83ebc"></a><!-- doxytag: member="libnet&#45;macros.h::CQ_LOCK_READ" ref="a69ad1ac0277dfc2ce9c9b41e9ea83ebc" args="" -->
        !           106: #define&#160;</td><td class="memItemRight" valign="bottom"><b>CQ_LOCK_READ</b>&#160;&#160;&#160;(u_int)0x00000001</td></tr>
        !           107: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb4a47cde2d621731fd62b709c1dcb21"></a><!-- doxytag: member="libnet&#45;macros.h::CQ_LOCK_WRITE" ref="aeb4a47cde2d621731fd62b709c1dcb21" args="" -->
        !           108: #define&#160;</td><td class="memItemRight" valign="bottom"><b>CQ_LOCK_WRITE</b>&#160;&#160;&#160;(u_int)0x00000002</td></tr>
        !           109: <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libnet-macros_8h.html#af36eb84eee10c525720134cfadb50a3e">for_each_context_in_cq</a>(l)&#160;&#160;&#160;for (l = libnet_cq_head(); libnet_cq_last(); l = libnet_cq_next())</td></tr>
        !           110: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aed7ebccea1f0ea8ccde7adbfb273cd74"></a><!-- doxytag: member="libnet&#45;macros.h::cq_is_wlocked" ref="aed7ebccea1f0ea8ccde7adbfb273cd74" args="()" -->
        !           111: #define&#160;</td><td class="memItemRight" valign="bottom"><b>cq_is_wlocked</b>()&#160;&#160;&#160;(l_cqd.cq_lock &amp; CQ_LOCK_WRITE)</td></tr>
        !           112: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf62890307cdd947227bc8e261565ed7"></a><!-- doxytag: member="libnet&#45;macros.h::cq_is_rlocked" ref="abf62890307cdd947227bc8e261565ed7" args="()" -->
        !           113: #define&#160;</td><td class="memItemRight" valign="bottom"><b>cq_is_rlocked</b>()&#160;&#160;&#160;(l_cqd.cq_lock &amp; CQ_LOCK_READ)</td></tr>
        !           114: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab21078806a925321484a28f8b3d46fb3"></a><!-- doxytag: member="libnet&#45;macros.h::cq_is_locked" ref="ab21078806a925321484a28f8b3d46fb3" args="()" -->
        !           115: #define&#160;</td><td class="memItemRight" valign="bottom"><b>cq_is_locked</b>()&#160;&#160;&#160;(l_cqd.cq_lock &amp; (CQ_LOCK_READ | CQ_LOCK_WRITE))</td></tr>
        !           116: <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af2c376014dcb2eb2d229db3d51e4c177"></a><!-- doxytag: member="libnet&#45;macros.h::check_cq_lock" ref="af2c376014dcb2eb2d229db3d51e4c177" args="(x)" -->
        !           117: #define&#160;</td><td class="memItemRight" valign="bottom"><b>check_cq_lock</b>(x)&#160;&#160;&#160;(l_cqd.cq_lock &amp; x)</td></tr>
        !           118: </table>
        !           119: <hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
        !           120: <div class="textblock"><p>libnet macros and symbolic constants </p>
        !           121: </div><hr/><h2>Define Documentation</h2>
        !           122: <a class="anchor" id="af36eb84eee10c525720134cfadb50a3e"></a><!-- doxytag: member="libnet&#45;macros.h::for_each_context_in_cq" ref="af36eb84eee10c525720134cfadb50a3e" args="(l)" -->
        !           123: <div class="memitem">
        !           124: <div class="memproto">
        !           125:       <table class="memname">
        !           126:         <tr>
        !           127:           <td class="memname">#define for_each_context_in_cq</td>
        !           128:           <td>(</td>
        !           129:           <td class="paramtype">&#160;</td>
        !           130:           <td class="paramname">l</td><td>)</td>
        !           131:           <td>&#160;&#160;&#160;for (l = libnet_cq_head(); libnet_cq_last(); l = libnet_cq_next())</td>
        !           132:         </tr>
1.1       misho     133:       </table>
1.1.1.2 ! misho     134: </div>
        !           135: <div class="memdoc">
        !           136: <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>
        !           137: 
        !           138: </div>
        !           139: </div>
        !           140: <a class="anchor" id="a9c76fe8da8e411fe1db9f75583dc1b8a"></a><!-- doxytag: member="libnet&#45;macros.h::IN6ADDR_ERROR_INIT" ref="a9c76fe8da8e411fe1db9f75583dc1b8a" args="" -->
        !           141: <div class="memitem">
        !           142: <div class="memproto">
        !           143:       <table class="memname">
1.1       misho     144:         <tr>
1.1.1.2 ! misho     145:           <td class="memname">#define IN6ADDR_ERROR_INIT</td>
        !           146:         </tr>
1.1       misho     147:       </table>
1.1.1.2 ! misho     148: </div>
        !           149: <div class="memdoc">
        !           150: <b>Value:</b><div class="fragment"><pre class="fragment">{ { { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \
1.1       misho     151:                                  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \
                    152:                                  0xff, 0xff } } }
1.1.1.2 ! misho     153: </pre></div><p>IPv6 error code </p>
        !           154: 
        !           155: </div>
        !           156: </div>
        !           157: <a class="anchor" id="ac3d8a2eba10526498a21c2c6d41bf846"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_DO_PAYLOAD" ref="ac3d8a2eba10526498a21c2c6d41bf846" args="(l, p)" -->
        !           158: <div class="memitem">
        !           159: <div class="memproto">
        !           160:       <table class="memname">
1.1       misho     161:         <tr>
1.1.1.2 ! misho     162:           <td class="memname">#define LIBNET_DO_PAYLOAD</td>
        !           163:           <td>(</td>
        !           164:           <td class="paramtype">&#160;</td>
        !           165:           <td class="paramname">l, </td>
        !           166:         </tr>
        !           167:         <tr>
        !           168:           <td class="paramkey"></td>
        !           169:           <td></td>
        !           170:           <td class="paramtype">&#160;</td>
        !           171:           <td class="paramname">p&#160;</td>
        !           172:         </tr>
        !           173:         <tr>
        !           174:           <td></td>
        !           175:           <td>)</td>
        !           176:           <td></td><td></td>
        !           177:         </tr>
1.1       misho     178:       </table>
1.1.1.2 ! misho     179: </div>
        !           180: <div class="memdoc">
        !           181: <b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> (payload_s &amp;&amp; !payload)                                                   \
        !           182: {                                                                            \
        !           183:     snprintf(l-&gt;err_buf, <a class="code" href="libnet-macros_8h.html#a2d720375e2ef5a85a62d6069283a5223">LIBNET_ERRBUF_SIZE</a>,                                 \
        !           184:             <span class="stringliteral">&quot;%s(): payload inconsistency\n&quot;</span>, __func__);                      \
        !           185:     <span class="keywordflow">goto</span> bad;                                                                \
        !           186: }                                                                            \
        !           187: <span class="keywordflow">if</span> (payload_s)                                                               \
        !           188: {                                                                            \
        !           189:     n = libnet_pblock_append(l, p, payload, payload_s);                      \
        !           190:     <span class="keywordflow">if</span> (n == (uint32_t) - 1)                                                 \
        !           191:     {                                                                        \
        !           192:         <span class="keywordflow">goto</span> bad;                                                            \
        !           193:     }                                                                        \
        !           194: }                                                                            \
        !           195: </pre></div>
        !           196: </div>
        !           197: </div>
        !           198: <a class="anchor" id="ac67cb6e9b00fd492cc3a9247e9477d87"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_DONT_RESOLVE" ref="ac67cb6e9b00fd492cc3a9247e9477d87" args="" -->
        !           199: <div class="memitem">
        !           200: <div class="memproto">
        !           201:       <table class="memname">
1.1       misho     202:         <tr>
1.1.1.2 ! misho     203:           <td class="memname">#define LIBNET_DONT_RESOLVE&#160;&#160;&#160;0</td>
        !           204:         </tr>
1.1       misho     205:       </table>
1.1.1.2 ! misho     206: </div>
        !           207: <div class="memdoc">
        !           208: <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>
        !           209: 
        !           210: </div>
        !           211: </div>
        !           212: <a class="anchor" id="a2d720375e2ef5a85a62d6069283a5223"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_ERRBUF_SIZE" ref="a2d720375e2ef5a85a62d6069283a5223" args="" -->
        !           213: <div class="memitem">
        !           214: <div class="memproto">
        !           215:       <table class="memname">
1.1       misho     216:         <tr>
1.1.1.2 ! misho     217:           <td class="memname">#define LIBNET_ERRBUF_SIZE&#160;&#160;&#160;0x100</td>
        !           218:         </tr>
1.1       misho     219:       </table>
1.1.1.2 ! misho     220: </div>
        !           221: <div class="memdoc">
        !           222: <p>The libnet error buffer is 256 bytes long. </p>
        !           223: 
        !           224: </div>
        !           225: </div>
        !           226: <a class="anchor" id="ac7301c95aa36d66e8904979650b5189d"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_MAX_PACKET" ref="ac7301c95aa36d66e8904979650b5189d" args="" -->
        !           227: <div class="memitem">
        !           228: <div class="memproto">
        !           229:       <table class="memname">
1.1       misho     230:         <tr>
1.1.1.2 ! misho     231:           <td class="memname">#define LIBNET_MAX_PACKET&#160;&#160;&#160;0xffff</td>
        !           232:         </tr>
1.1       misho     233:       </table>
1.1.1.2 ! misho     234: </div>
        !           235: <div class="memdoc">
        !           236: <p>The biggest an IP packet can be -- 65,535 bytes. </p>
        !           237: 
        !           238: </div>
        !           239: </div>
        !           240: <a class="anchor" id="ae9cd154f8cb482809ee456b6ac43dea5"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_MAXOPTION_SIZE" ref="ae9cd154f8cb482809ee456b6ac43dea5" args="" -->
        !           241: <div class="memitem">
        !           242: <div class="memproto">
        !           243:       <table class="memname">
1.1       misho     244:         <tr>
1.1.1.2 ! misho     245:           <td class="memname">#define LIBNET_MAXOPTION_SIZE&#160;&#160;&#160;0x28</td>
        !           246:         </tr>
1.1       misho     247:       </table>
1.1.1.2 ! misho     248: </div>
        !           249: <div class="memdoc">
        !           250: <p>IP and TCP options can be up to 40 bytes long. </p>
        !           251: 
        !           252: </div>
        !           253: </div>
        !           254: <a class="anchor" id="af87da67c016a9791d256c2d71bf0b0ac"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_OFF" ref="af87da67c016a9791d256c2d71bf0b0ac" args="" -->
        !           255: <div class="memitem">
        !           256: <div class="memproto">
        !           257:       <table class="memname">
1.1       misho     258:         <tr>
1.1.1.2 ! misho     259:           <td class="memname">#define LIBNET_OFF&#160;&#160;&#160;1</td>
        !           260:         </tr>
1.1       misho     261:       </table>
1.1.1.2 ! misho     262: </div>
        !           263: <div class="memdoc">
        !           264: <p>Used several places, to specify "on" or "one" </p>
        !           265: 
        !           266: </div>
        !           267: </div>
        !           268: <a class="anchor" id="a5ff9536ca9bbe6f73f69bec817962742"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_ON" ref="a5ff9536ca9bbe6f73f69bec817962742" args="" -->
        !           269: <div class="memitem">
        !           270: <div class="memproto">
        !           271:       <table class="memname">
1.1       misho     272:         <tr>
1.1.1.2 ! misho     273:           <td class="memname">#define LIBNET_ON&#160;&#160;&#160;0</td>
        !           274:         </tr>
1.1       misho     275:       </table>
1.1.1.2 ! misho     276: </div>
        !           277: <div class="memdoc">
        !           278: <p>Used several places, to specify "on" or "one" </p>
        !           279: 
        !           280: </div>
        !           281: </div>
        !           282: <a class="anchor" id="a96a6017948aa76e5a5d415c3227348df"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_PR2" ref="a96a6017948aa76e5a5d415c3227348df" args="" -->
        !           283: <div class="memitem">
        !           284: <div class="memproto">
        !           285:       <table class="memname">
1.1       misho     286:         <tr>
1.1.1.2 ! misho     287:           <td class="memname">#define LIBNET_PR2&#160;&#160;&#160;0</td>
        !           288:         </tr>
1.1       misho     289:       </table>
1.1.1.2 ! misho     290: </div>
        !           291: <div class="memdoc">
        !           292: <p>Used for <a class="el" href="libnet-functions_8h.html#ab74bd339ef6343077dc79bab2063aee3">libnet_get_prand()</a> to specify function disposition </p>
        !           293: 
        !           294: </div>
        !           295: </div>
        !           296: <a class="anchor" id="a6733960f6981f1930b2d1a489df89cc7"></a><!-- doxytag: member="libnet&#45;macros.h::LIBNET_RESOLVE" ref="a6733960f6981f1930b2d1a489df89cc7" args="" -->
        !           297: <div class="memitem">
        !           298: <div class="memproto">
        !           299:       <table class="memname">
        !           300:         <tr>
        !           301:           <td class="memname">#define LIBNET_RESOLVE&#160;&#160;&#160;1</td>
        !           302:         </tr>
        !           303:       </table>
        !           304: </div>
        !           305: <div class="memdoc">
        !           306: <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>
        !           307: 
        !           308: </div>
        !           309: </div>
        !           310: </div>
        !           311: <hr class="footer"/><address class="footer"><small>Generated on Thu Mar 29 2012 14:19:18 for libnet by&#160;
1.1       misho     312: <a href="http://www.doxygen.org/index.html">
1.1.1.2 ! misho     313: <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
1.1       misho     314: </body>
                    315: </html>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>