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

1.1     ! misho       1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
        !             2: <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
        !             3: <title>libnet: libnet-macros.h File Reference</title>
        !             4: <link href="doxygen.css" rel="stylesheet" type="text/css">
        !             5: </head><body>
        !             6: <!-- Generated by Doxygen 1.3.4 -->
        !             7: <div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a></div>
        !             8: <h1>libnet-macros.h File Reference</h1>libnet macros and symbloc constants  
        !             9: <a href="#_details">More...</a>
        !            10: <p>
        !            11: 
        !            12: <p>
        !            13: <a href="libnet-macros_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
        !            14: <tr><td></td></tr>
        !            15: <tr><td colspan=2><br><h2>Defines</h2></td></tr>
        !            16: <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#a0">LIBNET_DONT_RESOLVE</a>&nbsp;&nbsp;&nbsp;0</td></tr>
        !            17: 
        !            18: <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#a1">LIBNET_RESOLVE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
        !            19: 
        !            20: <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#a2">LIBNET_ON</a>&nbsp;&nbsp;&nbsp;0</td></tr>
        !            21: 
        !            22: <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#a3">LIBNET_OFF</a>&nbsp;&nbsp;&nbsp;1</td></tr>
        !            23: 
        !            24: <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#a4">IN6ADDR_ERROR_INIT</a></td></tr>
        !            25: 
        !            26: <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#a5">LIBNET_PR2</a>&nbsp;&nbsp;&nbsp;0</td></tr>
        !            27: 
        !            28: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a6" doxytag="libnet-macros.h::LIBNET_PR8" ></a>
        !            29: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>LIBNET_PR8</b>&nbsp;&nbsp;&nbsp;1</td></tr>
        !            30: 
        !            31: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a7" doxytag="libnet-macros.h::LIBNET_PR16" ></a>
        !            32: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>LIBNET_PR16</b>&nbsp;&nbsp;&nbsp;2</td></tr>
        !            33: 
        !            34: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a8" doxytag="libnet-macros.h::LIBNET_PRu16" ></a>
        !            35: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>LIBNET_PRu16</b>&nbsp;&nbsp;&nbsp;3</td></tr>
        !            36: 
        !            37: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a9" doxytag="libnet-macros.h::LIBNET_PR32" ></a>
        !            38: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>LIBNET_PR32</b>&nbsp;&nbsp;&nbsp;4</td></tr>
        !            39: 
        !            40: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a10" doxytag="libnet-macros.h::LIBNET_PRu32" ></a>
        !            41: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>LIBNET_PRu32</b>&nbsp;&nbsp;&nbsp;5</td></tr>
        !            42: 
        !            43: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a11" doxytag="libnet-macros.h::LIBNET_PRAND_MAX" ></a>
        !            44: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>LIBNET_PRAND_MAX</b>&nbsp;&nbsp;&nbsp;0xffffffff</td></tr>
        !            45: 
        !            46: <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#a12">LIBNET_MAX_PACKET</a>&nbsp;&nbsp;&nbsp;0xffff</td></tr>
        !            47: 
        !            48: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a13" doxytag="libnet-macros.h::IP_MAXPACKET" ></a>
        !            49: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>IP_MAXPACKET</b>&nbsp;&nbsp;&nbsp;0xffff</td></tr>
        !            50: 
        !            51: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a14" doxytag="libnet-macros.h::ETHER_ADDR_LEN" ></a>
        !            52: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>ETHER_ADDR_LEN</b>&nbsp;&nbsp;&nbsp;0x6</td></tr>
        !            53: 
        !            54: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a15" doxytag="libnet-macros.h::FDDI_ADDR_LEN" ></a>
        !            55: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>FDDI_ADDR_LEN</b>&nbsp;&nbsp;&nbsp;0x6</td></tr>
        !            56: 
        !            57: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a16" doxytag="libnet-macros.h::TOKEN_RING_ADDR_LEN" ></a>
        !            58: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>TOKEN_RING_ADDR_LEN</b>&nbsp;&nbsp;&nbsp;0x6</td></tr>
        !            59: 
        !            60: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a17" doxytag="libnet-macros.h::LIBNET_ORG_CODE_SIZE" ></a>
        !            61: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>LIBNET_ORG_CODE_SIZE</b>&nbsp;&nbsp;&nbsp;0x3</td></tr>
        !            62: 
        !            63: <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#a18">LIBNET_ERRBUF_SIZE</a>&nbsp;&nbsp;&nbsp;0x100</td></tr>
        !            64: 
        !            65: <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#a19">LIBNET_MAXOPTION_SIZE</a>&nbsp;&nbsp;&nbsp;0x28</td></tr>
        !            66: 
        !            67: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a20" doxytag="libnet-macros.h::FIX" ></a>
        !            68: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>FIX</b>(n)&nbsp;&nbsp;&nbsp;(n)</td></tr>
        !            69: 
        !            70: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a21" doxytag="libnet-macros.h::UNFIX" ></a>
        !            71: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>UNFIX</b>(n)&nbsp;&nbsp;&nbsp;(n)</td></tr>
        !            72: 
        !            73: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a22" doxytag="libnet-macros.h::LIBNET_CKSUM_CARRY" ></a>
        !            74: #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>
        !            75: 
        !            76: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a23" doxytag="libnet-macros.h::LIBNET_OSPF_AUTHCPY" ></a>
        !            77: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>LIBNET_OSPF_AUTHCPY</b>(x, y)&nbsp;&nbsp;&nbsp;memcpy((u_int8_t *)x, (u_int8_t *)y, sizeof(y))</td></tr>
        !            78: 
        !            79: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a24" doxytag="libnet-macros.h::LIBNET_OSPF_CKSUMBUF" ></a>
        !            80: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>LIBNET_OSPF_CKSUMBUF</b>(x, y)&nbsp;&nbsp;&nbsp;memcpy((u_int8_t *)x, (u_int8_t *)y, sizeof(y))</td></tr>
        !            81: 
        !            82: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a25" doxytag="libnet-macros.h::LIBNET_NTP_DO_LI_VN_MODE" ></a>
        !            83: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>LIBNET_NTP_DO_LI_VN_MODE</b>(li, vn, md)&nbsp;&nbsp;&nbsp;((u_int8_t)((((li) &lt;&lt; 6) &amp; 0xc0) | (((vn) &lt;&lt; 3) &amp; 0x38) | ((md) &amp; 0x7)))</td></tr>
        !            84: 
        !            85: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a26" doxytag="libnet-macros.h::LIBNET_ISLOOPBACK" ></a>
        !            86: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>LIBNET_ISLOOPBACK</b>(p)&nbsp;&nbsp;&nbsp;(strcmp((p)-&gt;ifr_name, "lo0") == 0)</td></tr>
        !            87: 
        !            88: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a27" doxytag="libnet-macros.h::LIBNET_ISADVMODE" ></a>
        !            89: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>LIBNET_ISADVMODE</b>(x)&nbsp;&nbsp;&nbsp;(x &amp; 0x08)</td></tr>
        !            90: 
        !            91: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a28" doxytag="libnet-macros.h::LIBNET_LABEL_SIZE" ></a>
        !            92: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>LIBNET_LABEL_SIZE</b>&nbsp;&nbsp;&nbsp;64</td></tr>
        !            93: 
        !            94: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a29" doxytag="libnet-macros.h::LIBNET_LABEL_DEFAULT" ></a>
        !            95: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>LIBNET_LABEL_DEFAULT</b>&nbsp;&nbsp;&nbsp;"cardshark"</td></tr>
        !            96: 
        !            97: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a30" doxytag="libnet-macros.h::CQ_LOCK_UNLOCKED" ></a>
        !            98: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>CQ_LOCK_UNLOCKED</b>&nbsp;&nbsp;&nbsp;(u_int)0x00000000</td></tr>
        !            99: 
        !           100: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a31" doxytag="libnet-macros.h::CQ_LOCK_READ" ></a>
        !           101: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>CQ_LOCK_READ</b>&nbsp;&nbsp;&nbsp;(u_int)0x00000001</td></tr>
        !           102: 
        !           103: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a32" doxytag="libnet-macros.h::CQ_LOCK_WRITE" ></a>
        !           104: #define&nbsp;</td><td class="memItemRight" valign=bottom><b>CQ_LOCK_WRITE</b>&nbsp;&nbsp;&nbsp;(u_int)0x00000002</td></tr>
        !           105: 
        !           106: <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#a33">for_each_context_in_cq</a>(l)&nbsp;&nbsp;&nbsp;for (l = libnet_cq_head(); libnet_cq_last(); l = libnet_cq_next())</td></tr>
        !           107: 
        !           108: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a34" doxytag="libnet-macros.h::cq_is_wlocked" ></a>
        !           109: #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>
        !           110: 
        !           111: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a35" doxytag="libnet-macros.h::cq_is_rlocked" ></a>
        !           112: #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>
        !           113: 
        !           114: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a36" doxytag="libnet-macros.h::cq_is_locked" ></a>
        !           115: #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>
        !           116: 
        !           117: <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a37" doxytag="libnet-macros.h::check_cq_lock" ></a>
        !           118: #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>
        !           119: 
        !           120: </table>
        !           121: <hr><a name="_details"></a><h2>Detailed Description</h2>
        !           122: libnet macros and symbloc constants 
        !           123: <p>
        !           124: <hr><h2>Define Documentation</h2>
        !           125: <a class="anchor" name="a33" doxytag="libnet-macros.h::for_each_context_in_cq" ></a><p>
        !           126: <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
        !           127:   <tr>
        !           128:     <td class="mdRow">
        !           129:       <table cellpadding="0" cellspacing="0" border="0">
        !           130:         <tr>
        !           131:           <td class="md" nowrap valign="top"> #define for_each_context_in_cq</td>
        !           132:           <td class="md" valign="top">(&nbsp;</td>
        !           133:           <td class="md" nowrap valign="top">l&nbsp;</td>
        !           134:           <td class="mdname1" valign="top" nowrap>          </td>
        !           135:           <td class="md" valign="top">&nbsp;)&nbsp;</td>
        !           136:           <td class="md" nowrap>&nbsp;&nbsp;&nbsp;for (l = libnet_cq_head(); libnet_cq_last(); l = libnet_cq_next())
        !           137:       </table>
        !           138:     </td>
        !           139:   </tr>
        !           140: </table>
        !           141: <table cellspacing=5 cellpadding=0 border=0>
        !           142:   <tr>
        !           143:     <td>
        !           144:       &nbsp;
        !           145:     </td>
        !           146:     <td>
        !           147: 
        !           148: <p>
        !           149: 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#a108">libnet_cq_head()</a>.     </td>
        !           150:   </tr>
        !           151: </table>
        !           152: <a class="anchor" name="a4" doxytag="libnet-macros.h::IN6ADDR_ERROR_INIT" ></a><p>
        !           153: <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
        !           154:   <tr>
        !           155:     <td class="mdRow">
        !           156:       <table cellpadding="0" cellspacing="0" border="0">
        !           157:         <tr>
        !           158:           <td class="md" nowrap valign="top"> #define IN6ADDR_ERROR_INIT
        !           159:       </table>
        !           160:     </td>
        !           161:   </tr>
        !           162: </table>
        !           163: <table cellspacing=5 cellpadding=0 border=0>
        !           164:   <tr>
        !           165:     <td>
        !           166:       &nbsp;
        !           167:     </td>
        !           168:     <td>
        !           169: 
        !           170: <p>
        !           171: <b>Value:</b><div class="fragment"><pre>{ { { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \
        !           172:                                  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \
        !           173:                                  0xff, 0xff } } }
        !           174: </pre></div>IPv6 error code     </td>
        !           175:   </tr>
        !           176: </table>
        !           177: <a class="anchor" name="a0" doxytag="libnet-macros.h::LIBNET_DONT_RESOLVE" ></a><p>
        !           178: <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
        !           179:   <tr>
        !           180:     <td class="mdRow">
        !           181:       <table cellpadding="0" cellspacing="0" border="0">
        !           182:         <tr>
        !           183:           <td class="md" nowrap valign="top"> #define LIBNET_DONT_RESOLVE&nbsp;&nbsp;&nbsp;0
        !           184:       </table>
        !           185:     </td>
        !           186:   </tr>
        !           187: </table>
        !           188: <table cellspacing=5 cellpadding=0 border=0>
        !           189:   <tr>
        !           190:     <td>
        !           191:       &nbsp;
        !           192:     </td>
        !           193:     <td>
        !           194: 
        !           195: <p>
        !           196: 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.     </td>
        !           197:   </tr>
        !           198: </table>
        !           199: <a class="anchor" name="a18" doxytag="libnet-macros.h::LIBNET_ERRBUF_SIZE" ></a><p>
        !           200: <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
        !           201:   <tr>
        !           202:     <td class="mdRow">
        !           203:       <table cellpadding="0" cellspacing="0" border="0">
        !           204:         <tr>
        !           205:           <td class="md" nowrap valign="top"> #define LIBNET_ERRBUF_SIZE&nbsp;&nbsp;&nbsp;0x100
        !           206:       </table>
        !           207:     </td>
        !           208:   </tr>
        !           209: </table>
        !           210: <table cellspacing=5 cellpadding=0 border=0>
        !           211:   <tr>
        !           212:     <td>
        !           213:       &nbsp;
        !           214:     </td>
        !           215:     <td>
        !           216: 
        !           217: <p>
        !           218: The libnet error buffer is 256 bytes long.     </td>
        !           219:   </tr>
        !           220: </table>
        !           221: <a class="anchor" name="a12" doxytag="libnet-macros.h::LIBNET_MAX_PACKET" ></a><p>
        !           222: <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
        !           223:   <tr>
        !           224:     <td class="mdRow">
        !           225:       <table cellpadding="0" cellspacing="0" border="0">
        !           226:         <tr>
        !           227:           <td class="md" nowrap valign="top"> #define LIBNET_MAX_PACKET&nbsp;&nbsp;&nbsp;0xffff
        !           228:       </table>
        !           229:     </td>
        !           230:   </tr>
        !           231: </table>
        !           232: <table cellspacing=5 cellpadding=0 border=0>
        !           233:   <tr>
        !           234:     <td>
        !           235:       &nbsp;
        !           236:     </td>
        !           237:     <td>
        !           238: 
        !           239: <p>
        !           240: The biggest an IP packet can be -- 65,535 bytes.     </td>
        !           241:   </tr>
        !           242: </table>
        !           243: <a class="anchor" name="a19" doxytag="libnet-macros.h::LIBNET_MAXOPTION_SIZE" ></a><p>
        !           244: <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
        !           245:   <tr>
        !           246:     <td class="mdRow">
        !           247:       <table cellpadding="0" cellspacing="0" border="0">
        !           248:         <tr>
        !           249:           <td class="md" nowrap valign="top"> #define LIBNET_MAXOPTION_SIZE&nbsp;&nbsp;&nbsp;0x28
        !           250:       </table>
        !           251:     </td>
        !           252:   </tr>
        !           253: </table>
        !           254: <table cellspacing=5 cellpadding=0 border=0>
        !           255:   <tr>
        !           256:     <td>
        !           257:       &nbsp;
        !           258:     </td>
        !           259:     <td>
        !           260: 
        !           261: <p>
        !           262: IP and TCP options can be up to 40 bytes long.     </td>
        !           263:   </tr>
        !           264: </table>
        !           265: <a class="anchor" name="a3" doxytag="libnet-macros.h::LIBNET_OFF" ></a><p>
        !           266: <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
        !           267:   <tr>
        !           268:     <td class="mdRow">
        !           269:       <table cellpadding="0" cellspacing="0" border="0">
        !           270:         <tr>
        !           271:           <td class="md" nowrap valign="top"> #define LIBNET_OFF&nbsp;&nbsp;&nbsp;1
        !           272:       </table>
        !           273:     </td>
        !           274:   </tr>
        !           275: </table>
        !           276: <table cellspacing=5 cellpadding=0 border=0>
        !           277:   <tr>
        !           278:     <td>
        !           279:       &nbsp;
        !           280:     </td>
        !           281:     <td>
        !           282: 
        !           283: <p>
        !           284: Used several places, to specify "on" or "one"     </td>
        !           285:   </tr>
        !           286: </table>
        !           287: <a class="anchor" name="a2" doxytag="libnet-macros.h::LIBNET_ON" ></a><p>
        !           288: <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
        !           289:   <tr>
        !           290:     <td class="mdRow">
        !           291:       <table cellpadding="0" cellspacing="0" border="0">
        !           292:         <tr>
        !           293:           <td class="md" nowrap valign="top"> #define LIBNET_ON&nbsp;&nbsp;&nbsp;0
        !           294:       </table>
        !           295:     </td>
        !           296:   </tr>
        !           297: </table>
        !           298: <table cellspacing=5 cellpadding=0 border=0>
        !           299:   <tr>
        !           300:     <td>
        !           301:       &nbsp;
        !           302:     </td>
        !           303:     <td>
        !           304: 
        !           305: <p>
        !           306: Used several places, to specify "on" or "one"     </td>
        !           307:   </tr>
        !           308: </table>
        !           309: <a class="anchor" name="a5" doxytag="libnet-macros.h::LIBNET_PR2" ></a><p>
        !           310: <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
        !           311:   <tr>
        !           312:     <td class="mdRow">
        !           313:       <table cellpadding="0" cellspacing="0" border="0">
        !           314:         <tr>
        !           315:           <td class="md" nowrap valign="top"> #define LIBNET_PR2&nbsp;&nbsp;&nbsp;0
        !           316:       </table>
        !           317:     </td>
        !           318:   </tr>
        !           319: </table>
        !           320: <table cellspacing=5 cellpadding=0 border=0>
        !           321:   <tr>
        !           322:     <td>
        !           323:       &nbsp;
        !           324:     </td>
        !           325:     <td>
        !           326: 
        !           327: <p>
        !           328: Used for <a class="el" href="libnet-functions_8h.html#a12">libnet_get_prand()</a> to specify function disposition     </td>
        !           329:   </tr>
        !           330: </table>
        !           331: <a class="anchor" name="a1" doxytag="libnet-macros.h::LIBNET_RESOLVE" ></a><p>
        !           332: <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
        !           333:   <tr>
        !           334:     <td class="mdRow">
        !           335:       <table cellpadding="0" cellspacing="0" border="0">
        !           336:         <tr>
        !           337:           <td class="md" nowrap valign="top"> #define LIBNET_RESOLVE&nbsp;&nbsp;&nbsp;1
        !           338:       </table>
        !           339:     </td>
        !           340:   </tr>
        !           341: </table>
        !           342: <table cellspacing=5 cellpadding=0 border=0>
        !           343:   <tr>
        !           344:     <td>
        !           345:       &nbsp;
        !           346:     </td>
        !           347:     <td>
        !           348: 
        !           349: <p>
        !           350: 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.     </td>
        !           351:   </tr>
        !           352: </table>
        !           353: <hr size="1"><address style="align: right;"><small>Generated on Wed Mar 10 13:23:38 2004 for libnet by
        !           354: <a href="http://www.doxygen.org/index.html">
        !           355: <img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
        !           356: </a>1.3.4 </small></address>
        !           357: </body>
        !           358: </html>

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