Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > e7a04ce669bc4f967de5f90075a16010 > files > 27

libnet-devel-1.1.4-1mdv2010.0.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-functions.h Source File</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-functions.h</h1><a href="libnet-functions_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> *  $Id: libnet-functions.h,v 1.43 2004/11/09 07:05:07 mike Exp $</span>
<a name="l00003"></a>00003 <span class="comment"> *</span>
<a name="l00004"></a>00004 <span class="comment"> *  libnet-functions.h - function prototypes</span>
<a name="l00005"></a>00005 <span class="comment"> *</span>
<a name="l00006"></a>00006 <span class="comment"> *  Copyright (c) 1998 - 2004 Mike D. Schiffman &lt;mike@infonexus.com&gt;</span>
<a name="l00007"></a>00007 <span class="comment"> *  All rights reserved.</span>
<a name="l00008"></a>00008 <span class="comment"> *</span>
<a name="l00009"></a>00009 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
<a name="l00010"></a>00010 <span class="comment"> * modification, are permitted provided that the following conditions</span>
<a name="l00011"></a>00011 <span class="comment"> * are met:</span>
<a name="l00012"></a>00012 <span class="comment"> * 1. Redistributions of source code must retain the above copyright</span>
<a name="l00013"></a>00013 <span class="comment"> *    notice, this list of conditions and the following disclaimer.</span>
<a name="l00014"></a>00014 <span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span>
<a name="l00015"></a>00015 <span class="comment"> *    notice, this list of conditions and the following disclaimer in the</span>
<a name="l00016"></a>00016 <span class="comment"> *    documentation and/or other materials provided with the distribution.</span>
<a name="l00017"></a>00017 <span class="comment"> *</span>
<a name="l00018"></a>00018 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND</span>
<a name="l00019"></a>00019 <span class="comment"> * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span>
<a name="l00020"></a>00020 <span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span>
<a name="l00021"></a>00021 <span class="comment"> * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE</span>
<a name="l00022"></a>00022 <span class="comment"> * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</span>
<a name="l00023"></a>00023 <span class="comment"> * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</span>
<a name="l00024"></a>00024 <span class="comment"> * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</span>
<a name="l00025"></a>00025 <span class="comment"> * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</span>
<a name="l00026"></a>00026 <span class="comment"> * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</span>
<a name="l00027"></a>00027 <span class="comment"> * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</span>
<a name="l00028"></a>00028 <span class="comment"> * SUCH DAMAGE.</span>
<a name="l00029"></a>00029 <span class="comment"> *</span>
<a name="l00030"></a>00030 <span class="comment"> */</span>
<a name="l00031"></a>00031 
<a name="l00032"></a>00032 <span class="preprocessor">#ifndef __LIBNET_FUNCTIONS_H</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#define __LIBNET_FUNCTIONS_H</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span>
<a name="l00063"></a>00063 libnet_t *
<a name="l00064"></a>00064 <a class="code" href="libnet-functions_8h.html#6a879b30d3e1864fd9bad33e195223b5">libnet_init</a>(<span class="keywordtype">int</span> injection_type, <span class="keywordtype">char</span> *device, <span class="keywordtype">char</span> *err_buf);
<a name="l00065"></a>00065 
<a name="l00071"></a>00071 <span class="keywordtype">void</span>
<a name="l00072"></a>00072 <a class="code" href="libnet-functions_8h.html#591804711cffa92582703a5aedbd9b25">libnet_destroy</a>(libnet_t *l);
<a name="l00073"></a>00073 
<a name="l00080"></a>00080 <span class="keywordtype">void</span>
<a name="l00081"></a>00081 <a class="code" href="libnet-functions_8h.html#b84889f7fe57a1801cf03eceac47463e">libnet_clear_packet</a>(libnet_t *l);
<a name="l00082"></a>00082 
<a name="l00089"></a>00089 <span class="keywordtype">void</span>
<a name="l00090"></a>00090 <a class="code" href="libnet-functions_8h.html#886dc359d6add4b0608e8611af7e1b35">libnet_stats</a>(libnet_t *l, <span class="keyword">struct</span> <a class="code" href="libnet-functions_8h.html#886dc359d6add4b0608e8611af7e1b35">libnet_stats</a> *ls);
<a name="l00091"></a>00091 
<a name="l00097"></a>00097 <span class="keywordtype">int</span> 
<a name="l00098"></a>00098 <a class="code" href="libnet-functions_8h.html#b9b137f454b3da05d4ac5fe388c1f2b8">libnet_getfd</a>(libnet_t *l);
<a name="l00099"></a>00099 
<a name="l00106"></a>00106 <span class="keyword">const</span> <span class="keywordtype">char</span> *
<a name="l00107"></a>00107 <a class="code" href="libnet-functions_8h.html#1e68365ece2c976a75bc50e91df40ea0">libnet_getdevice</a>(libnet_t *l);
<a name="l00108"></a>00108 
<a name="l00117"></a>00117 u_int8_t *
<a name="l00118"></a>00118 <a class="code" href="libnet-functions_8h.html#8b784c9899c429dd0f4790a71bdf55a2">libnet_getpbuf</a>(libnet_t *l, libnet_ptag_t ptag);
<a name="l00119"></a>00119 
<a name="l00128"></a>00128 u_int32_t
<a name="l00129"></a>00129 <a class="code" href="libnet-functions_8h.html#095de516e5b119d6e72fff4286157386">libnet_getpbuf_size</a>(libnet_t *l, libnet_ptag_t ptag);
<a name="l00130"></a>00130 
<a name="l00138"></a>00138 <span class="keywordtype">char</span> *
<a name="l00139"></a>00139 <a class="code" href="libnet-functions_8h.html#36c0b24a4926a8f5d9d392836e915f2e">libnet_geterror</a>(libnet_t *l);
<a name="l00140"></a>00140 
<a name="l00147"></a>00147 u_int32_t
<a name="l00148"></a>00148 <a class="code" href="libnet-functions_8h.html#a04f828cf6b7ade20204ec0e3dcbc778">libnet_getpacket_size</a>(libnet_t *l);
<a name="l00149"></a>00149 
<a name="l00155"></a>00155 <span class="keywordtype">int</span>
<a name="l00156"></a>00156 <a class="code" href="libnet-functions_8h.html#69470998be995ec8c5e11ecbb19137f5">libnet_seed_prand</a>(libnet_t *l);
<a name="l00157"></a>00157 
<a name="l00171"></a>00171 u_int32_t
<a name="l00172"></a>00172 <a class="code" href="libnet-functions_8h.html#453d816dc8adffaefc040a1bf5bd9b5f">libnet_get_prand</a>(<span class="keywordtype">int</span> mod);
<a name="l00173"></a>00173 
<a name="l00195"></a>00195 <span class="keywordtype">int</span>
<a name="l00196"></a>00196 <a class="code" href="libnet-functions_8h.html#d36144707ce7994c12ef9d87dc9a2edf">libnet_toggle_checksum</a>(libnet_t *l, libnet_ptag_t ptag, <span class="keywordtype">int</span> mode);
<a name="l00197"></a>00197 
<a name="l00210"></a>00210 <span class="keywordtype">char</span> *
<a name="l00211"></a>00211 <a class="code" href="libnet-functions_8h.html#65cea3a63aac7a17f681ab15fcfd2947">libnet_addr2name4</a>(u_int32_t in, u_int8_t use_name);
<a name="l00212"></a>00212 
<a name="l00226"></a>00226 u_int32_t
<a name="l00227"></a>00227 <a class="code" href="libnet-functions_8h.html#5042e4e9d37d9c1ab566b8d3b97e21a2">libnet_name2addr4</a>(libnet_t *l, <span class="keywordtype">char</span> *host_name, u_int8_t use_name);
<a name="l00228"></a>00228 
<a name="l00229"></a>00229 <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keyword">struct </span>libnet_in6_addr in6addr_error;
<a name="l00230"></a>00230 
<a name="l00244"></a>00244 <span class="keyword">struct </span>libnet_in6_addr
<a name="l00245"></a>00245 <a class="code" href="libnet-functions_8h.html#6f3677b524c46fad4d185be9a3142099">libnet_name2addr6</a>(libnet_t *l, <span class="keywordtype">char</span> *host_name, u_int8_t use_name);
<a name="l00246"></a>00246 
<a name="l00250"></a>00250 <span class="keywordtype">void</span>
<a name="l00251"></a>00251 <a class="code" href="libnet-functions_8h.html#221ab1d86e36a0b1411eebdbea0cd012">libnet_addr2name6_r</a>(<span class="keyword">struct</span> libnet_in6_addr addr, u_int8_t use_name,
<a name="l00252"></a>00252 <span class="keywordtype">char</span> *host_name, <span class="keywordtype">int</span> host_name_len);
<a name="l00253"></a>00253 
<a name="l00269"></a>00269 <span class="keywordtype">int</span>
<a name="l00270"></a>00270 <a class="code" href="libnet-functions_8h.html#aee8e5f54482bf3c9b7c5b101fa8f41f">libnet_plist_chain_new</a>(libnet_t *l, libnet_plist_t **plist, <span class="keywordtype">char</span> *token_list);
<a name="l00271"></a>00271 
<a name="l00283"></a>00283 <span class="keywordtype">int</span>
<a name="l00284"></a>00284 <a class="code" href="libnet-functions_8h.html#05ced873eacf4a000e4ce3a3ab635108">libnet_plist_chain_next_pair</a>(libnet_plist_t *plist, u_int16_t *bport, 
<a name="l00285"></a>00285 u_int16_t *eport); 
<a name="l00286"></a>00286 
<a name="l00293"></a>00293 <span class="keywordtype">int</span>
<a name="l00294"></a>00294 <a class="code" href="libnet-functions_8h.html#39e332daa771627372a01867818b4301">libnet_plist_chain_dump</a>(libnet_plist_t *plist);
<a name="l00295"></a>00295 
<a name="l00304"></a>00304 <span class="keywordtype">char</span> *
<a name="l00305"></a>00305 <a class="code" href="libnet-functions_8h.html#b854695d1306f9af440145fc6767d953">libnet_plist_chain_dump_string</a>(libnet_plist_t *plist);
<a name="l00306"></a>00306 
<a name="l00312"></a>00312 <span class="keywordtype">int</span>
<a name="l00313"></a>00313 <a class="code" href="libnet-functions_8h.html#b5cb1d70164207a7c279a909576058be">libnet_plist_chain_free</a>(libnet_plist_t *plist);
<a name="l00314"></a>00314 
<a name="l00402"></a>00402 libnet_ptag_t
<a name="l00403"></a>00403 <a class="code" href="libnet-functions_8h.html#60a223766dc718c544ec500b0829d39e">libnet_build_802_1q</a>(u_int8_t *dst, u_int8_t *src, u_int16_t tpi,
<a name="l00404"></a>00404 u_int8_t priority, u_int8_t cfi, u_int16_t vlan_id, u_int16_t len_proto,
<a name="l00405"></a>00405 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l00406"></a>00406 
<a name="l00418"></a>00418 libnet_ptag_t
<a name="l00419"></a>00419 <a class="code" href="libnet-functions_8h.html#2e2ba82d84c8af087e53c60cb2cf0f16">libnet_build_802_1x</a>(u_int8_t eap_ver, u_int8_t eap_type, u_int16_t length, 
<a name="l00420"></a>00420 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l00421"></a>00421 
<a name="l00433"></a>00433 libnet_ptag_t
<a name="l00434"></a>00434 <a class="code" href="libnet-functions_8h.html#df241a95102fc267d0a20a1a73f0c5f1">libnet_build_802_2</a>(u_int8_t dsap, u_int8_t ssap, u_int8_t control,
<a name="l00435"></a>00435 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l00436"></a>00436 
<a name="l00450"></a>00450 libnet_ptag_t
<a name="l00451"></a>00451 <a class="code" href="libnet-functions_8h.html#997b6c996b95fbcb09f87a0caf12ffa0">libnet_build_802_2snap</a>(u_int8_t dsap, u_int8_t ssap, u_int8_t control, 
<a name="l00452"></a>00452 u_int8_t *oui, u_int16_t type, u_int8_t *payload, u_int32_t payload_s,
<a name="l00453"></a>00453 libnet_t *l, libnet_ptag_t ptag); 
<a name="l00454"></a>00454 
<a name="l00470"></a>00470 libnet_ptag_t
<a name="l00471"></a>00471 <a class="code" href="libnet-functions_8h.html#55367f2634cf6409bbda8bbf5b834877">libnet_build_802_3</a>(u_int8_t *dst, u_int8_t *src, u_int16_t len, 
<a name="l00472"></a>00472 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l00473"></a>00473 
<a name="l00489"></a>00489 libnet_ptag_t
<a name="l00490"></a>00490 <a class="code" href="libnet-functions_8h.html#b8a60ba5d3c669a1439ace4f91ee52e0">libnet_build_ethernet</a>(u_int8_t *dst, u_int8_t *src, u_int16_t type, 
<a name="l00491"></a>00491 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l00492"></a>00492 
<a name="l00504"></a>00504 libnet_ptag_t
<a name="l00505"></a>00505 <a class="code" href="libnet-functions_8h.html#0ab98b1c67ac61b39b646ecfd93d58e3">libnet_autobuild_ethernet</a>(u_int8_t *dst, u_int16_t type, libnet_t *l);
<a name="l00506"></a>00506 
<a name="l00523"></a>00523 libnet_ptag_t
<a name="l00524"></a>00524 <a class="code" href="libnet-functions_8h.html#2fb726d9841fa180bd79ab0a6362f533">libnet_build_fddi</a>(u_int8_t fc, u_int8_t *dst, u_int8_t *src, u_int8_t dsap,
<a name="l00525"></a>00525 u_int8_t ssap, u_int8_t cf, u_int8_t *oui, u_int16_t type, u_int8_t *payload,
<a name="l00526"></a>00526 u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l00527"></a>00527 
<a name="l00540"></a>00540 libnet_ptag_t
<a name="l00541"></a>00541 <a class="code" href="libnet-functions_8h.html#2a0f9f03a1c43253638ecb07dfc2bb62">libnet_autobuild_fddi</a>(u_int8_t fc, u_int8_t *dst, u_int8_t dsap, u_int8_t ssap,
<a name="l00542"></a>00542 u_int8_t cf, u_int8_t *oui, u_int16_t type, libnet_t *l);
<a name="l00543"></a>00543 
<a name="l00563"></a>00563 libnet_ptag_t
<a name="l00564"></a>00564 <a class="code" href="libnet-functions_8h.html#65c81208185c68937ef97c0203d3d924">libnet_build_arp</a>(u_int16_t hrd, u_int16_t pro, u_int8_t hln, u_int8_t pln,
<a name="l00565"></a>00565 u_int16_t op, u_int8_t *sha, u_int8_t *spa, u_int8_t *tha, u_int8_t *tpa,
<a name="l00566"></a>00566 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l00567"></a>00567 
<a name="l00580"></a>00580 libnet_ptag_t
<a name="l00581"></a>00581 <a class="code" href="libnet-functions_8h.html#c2ac4909b3657c4ac34c80dbc9f91abe">libnet_autobuild_arp</a>(u_int16_t op, u_int8_t *sha, u_int8_t *spa, u_int8_t *tha,
<a name="l00582"></a>00582 u_int8_t *tpa, libnet_t *l);
<a name="l00583"></a>00583 
<a name="l00601"></a>00601 libnet_ptag_t
<a name="l00602"></a>00602 <a class="code" href="libnet-functions_8h.html#24b1a32adad116ddc743482a229af490">libnet_build_tcp</a>(u_int16_t sp, u_int16_t dp, u_int32_t seq, u_int32_t ack,
<a name="l00603"></a>00603 u_int8_t control, u_int16_t win, u_int16_t sum, u_int16_t urg, u_int16_t len, 
<a name="l00604"></a>00604 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l00605"></a>00605 
<a name="l00621"></a>00621 libnet_ptag_t
<a name="l00622"></a>00622 <a class="code" href="libnet-functions_8h.html#316a2d08bdd3199b6b30fa446b48df51">libnet_build_tcp_options</a>(u_int8_t *options, u_int32_t options_s, libnet_t *l,
<a name="l00623"></a>00623 libnet_ptag_t ptag);
<a name="l00624"></a>00624 
<a name="l00637"></a>00637 libnet_ptag_t
<a name="l00638"></a>00638 <a class="code" href="libnet-functions_8h.html#6d3f91d01237eef2f82ffd322ecbc792">libnet_build_udp</a>(u_int16_t sp, u_int16_t dp, u_int16_t len, u_int16_t sum,
<a name="l00639"></a>00639 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l00640"></a>00640 
<a name="l00660"></a>00660 libnet_ptag_t
<a name="l00661"></a>00661 <a class="code" href="libnet-functions_8h.html#e16743df24525d5ab9b4c1ef13e87423">libnet_build_cdp</a>(u_int8_t version, u_int8_t ttl, u_int16_t sum, u_int16_t type,
<a name="l00662"></a>00662 u_int16_t len, u_int8_t *value, u_int8_t *payload, u_int32_t payload_s,
<a name="l00663"></a>00663 libnet_t *l, libnet_ptag_t ptag);
<a name="l00664"></a>00664 
<a name="l00679"></a>00679 libnet_ptag_t
<a name="l00680"></a>00680 <a class="code" href="libnet-functions_8h.html#b80f86d2cbf32126fe5952cc77d7c512">libnet_build_icmpv4_echo</a>(u_int8_t type, u_int8_t code, u_int16_t sum,
<a name="l00681"></a>00681 u_int16_t <span class="keywordtype">id</span>, u_int16_t seq, u_int8_t *payload, u_int32_t payload_s,
<a name="l00682"></a>00682 libnet_t *l, libnet_ptag_t ptag);
<a name="l00683"></a>00683 
<a name="l00699"></a>00699 libnet_ptag_t
<a name="l00700"></a>00700 <a class="code" href="libnet-functions_8h.html#58605cfff0090e3cbf26abd5b7194c16">libnet_build_icmpv4_mask</a>(u_int8_t type, u_int8_t code, u_int16_t sum,
<a name="l00701"></a>00701 u_int16_t <span class="keywordtype">id</span>, u_int16_t seq, u_int32_t mask, u_int8_t *payload,
<a name="l00702"></a>00702 u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l00703"></a>00703 
<a name="l00717"></a>00717 libnet_ptag_t
<a name="l00718"></a>00718 <a class="code" href="libnet-functions_8h.html#d8e682f057f00dc53fe82960d7893b3f">libnet_build_icmpv4_unreach</a>(u_int8_t type, u_int8_t code, u_int16_t sum,
<a name="l00719"></a>00719 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l00720"></a>00720 
<a name="l00735"></a>00735 libnet_ptag_t
<a name="l00736"></a>00736 <a class="code" href="libnet-functions_8h.html#973112121198b7151d21ab7285f6ae34">libnet_build_icmpv4_redirect</a>(u_int8_t type, u_int8_t code, u_int16_t sum,
<a name="l00737"></a>00737 u_int32_t gateway, u_int8_t *payload, u_int32_t payload_s, libnet_t *l,
<a name="l00738"></a>00738 libnet_ptag_t ptag);
<a name="l00739"></a>00739 
<a name="l00754"></a>00754 libnet_ptag_t
<a name="l00755"></a>00755 <a class="code" href="libnet-functions_8h.html#87fd21c0e964dc0e2f8866178240db39">libnet_build_icmpv4_timeexceed</a>(u_int8_t type, u_int8_t code, u_int16_t sum,
<a name="l00756"></a>00756 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l00757"></a>00757 
<a name="l00775"></a>00775 libnet_ptag_t
<a name="l00776"></a>00776 <a class="code" href="libnet-functions_8h.html#512a61266327928df97b010bc3f821b6">libnet_build_icmpv4_timestamp</a>(u_int8_t type, u_int8_t code, u_int16_t sum,
<a name="l00777"></a>00777 u_int16_t <span class="keywordtype">id</span>, u_int16_t seq, n_time otime, n_time rtime, n_time ttime,
<a name="l00778"></a>00778 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l00779"></a>00779 
<a name="l00792"></a>00792 libnet_ptag_t
<a name="l00793"></a>00793 <a class="code" href="libnet-functions_8h.html#d614cefecf7ffbabdf241e707c474575">libnet_build_igmp</a>(u_int8_t type, u_int8_t code, u_int16_t sum, u_int32_t ip,
<a name="l00794"></a>00794 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l00795"></a>00795 
<a name="l00815"></a>00815 libnet_ptag_t 
<a name="l00816"></a>00816 <a class="code" href="libnet-functions_8h.html#ace7ef7ee9dab7064eafc703bbd51c02">libnet_build_ipv4</a>(u_int16_t ip_len, u_int8_t tos, u_int16_t <span class="keywordtype">id</span>, u_int16_t frag,
<a name="l00817"></a>00817 u_int8_t ttl, u_int8_t prot, u_int16_t sum, u_int32_t src, u_int32_t dst,
<a name="l00818"></a>00818 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l00819"></a>00819 
<a name="l00838"></a>00838 libnet_ptag_t 
<a name="l00839"></a>00839 <a class="code" href="libnet-functions_8h.html#f5a9b52bc56903e3c71b3ae155ffc1df">libnet_build_ipv4_options</a>(u_int8_t *options, u_int32_t options_s, libnet_t *l,
<a name="l00840"></a>00840 libnet_ptag_t ptag);
<a name="l00841"></a>00841 
<a name="l00855"></a>00855 libnet_ptag_t
<a name="l00856"></a>00856 <a class="code" href="libnet-functions_8h.html#bcef75c186b4db27f13a29c38b8f40ec">libnet_autobuild_ipv4</a>(u_int16_t len, u_int8_t prot, u_int32_t dst, libnet_t *l);
<a name="l00857"></a>00857 
<a name="l00873"></a>00873 libnet_ptag_t
<a name="l00874"></a>00874 <a class="code" href="libnet-functions_8h.html#844fc0a5b0f5acf57cbe4c9f42a1125c">libnet_build_ipv6</a>(u_int8_t tc, u_int32_t fl, u_int16_t len, u_int8_t nh,
<a name="l00875"></a>00875 u_int8_t hl, <span class="keyword">struct</span> libnet_in6_addr src, <span class="keyword">struct</span> libnet_in6_addr dst, 
<a name="l00876"></a>00876 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l00877"></a>00877 
<a name="l00890"></a>00890 libnet_ptag_t
<a name="l00891"></a>00891 <a class="code" href="libnet-functions_8h.html#6c65244937ef5bc8e84efa5fe54aaac9">libnet_build_ipv6_frag</a>(u_int8_t nh, u_int8_t reserved, u_int16_t frag,
<a name="l00892"></a>00892 u_int32_t <span class="keywordtype">id</span>, u_int8_t *payload, u_int32_t payload_s, libnet_t *l,
<a name="l00893"></a>00893 libnet_ptag_t ptag);
<a name="l00894"></a>00894 
<a name="l00912"></a>00912 libnet_ptag_t
<a name="l00913"></a>00913 <a class="code" href="libnet-functions_8h.html#ccf52055b316417674bfcb76f85d6227">libnet_build_ipv6_routing</a>(u_int8_t nh, u_int8_t len, u_int8_t rtype,
<a name="l00914"></a>00914 u_int8_t segments, u_int8_t *payload, u_int32_t payload_s, libnet_t *l,
<a name="l00915"></a>00915 libnet_ptag_t ptag);
<a name="l00916"></a>00916 
<a name="l00930"></a>00930 libnet_ptag_t
<a name="l00931"></a>00931 <a class="code" href="libnet-functions_8h.html#a5695b5f8419b440d41bbac0aaa34564">libnet_build_ipv6_destopts</a>(u_int8_t nh, u_int8_t len, u_int8_t *payload,
<a name="l00932"></a>00932 u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l00933"></a>00933 
<a name="l00948"></a>00948 libnet_ptag_t
<a name="l00949"></a>00949 <a class="code" href="libnet-functions_8h.html#db7b7870cc626d8d67f723de286034a9">libnet_build_ipv6_hbhopts</a>(u_int8_t nh, u_int8_t len, u_int8_t *payload,
<a name="l00950"></a>00950 u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l00951"></a>00951 
<a name="l00961"></a>00961 libnet_ptag_t
<a name="l00962"></a>00962 <a class="code" href="libnet-functions_8h.html#f21186614be986ab83740275bb984426">libnet_autobuild_ipv6</a>(u_int16_t len, u_int8_t nh, <span class="keyword">struct</span> libnet_in6_addr dst,
<a name="l00963"></a>00963 libnet_t *l, libnet_ptag_t ptag);
<a name="l00964"></a>00964 
<a name="l00982"></a>00982 libnet_ptag_t
<a name="l00983"></a>00983 <a class="code" href="libnet-functions_8h.html#84a2f87c5188f95a73ab04e7bb8eebf3">libnet_build_isl</a>(u_int8_t *dhost, u_int8_t type, u_int8_t user,
<a name="l00984"></a>00984 u_int8_t *shost, u_int16_t len, u_int8_t *snap, u_int16_t vid,
<a name="l00985"></a>00985 u_int16_t portindex, u_int16_t reserved, u_int8_t *payload,
<a name="l00986"></a>00986 u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l00987"></a>00987 
<a name="l00999"></a>00999 libnet_ptag_t
<a name="l01000"></a>01000 <a class="code" href="libnet-functions_8h.html#7080bea55af439f0e74031197bc0924c">libnet_build_ipsec_esp_hdr</a>(u_int32_t spi, u_int32_t seq, u_int32_t iv,
<a name="l01001"></a>01001 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01002"></a>01002 
<a name="l01014"></a>01014 libnet_ptag_t
<a name="l01015"></a>01015 <a class="code" href="libnet-functions_8h.html#47d4aa351486618f993ed6e2652681b1">libnet_build_ipsec_esp_ftr</a>(u_int8_t len, u_int8_t nh, int8_t *auth,
<a name="l01016"></a>01016 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01017"></a>01017 
<a name="l01032"></a>01032 libnet_ptag_t
<a name="l01033"></a>01033 <a class="code" href="libnet-functions_8h.html#ad130b6104956524af16fcb18fa759e9">libnet_build_ipsec_ah</a>(u_int8_t nh, u_int8_t len, u_int16_t res,
<a name="l01034"></a>01034 u_int32_t spi, u_int32_t seq, u_int32_t auth, u_int8_t *payload,
<a name="l01035"></a>01035 u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01036"></a>01036 
<a name="l01053"></a>01053 libnet_ptag_t
<a name="l01054"></a>01054 <a class="code" href="libnet-functions_8h.html#98bc91a6c39910ee6069d789d8dcd3e6">libnet_build_dnsv4</a>(u_int16_t h_len, u_int16_t <span class="keywordtype">id</span>, u_int16_t flags,
<a name="l01055"></a>01055 u_int16_t num_q, u_int16_t num_anws_rr, u_int16_t num_auth_rr,
<a name="l01056"></a>01056 u_int16_t num_addi_rr, u_int8_t *payload, u_int32_t payload_s, libnet_t *l,
<a name="l01057"></a>01057 libnet_ptag_t ptag);
<a name="l01058"></a>01058 
<a name="l01076"></a>01076 libnet_ptag_t
<a name="l01077"></a>01077 <a class="code" href="libnet-functions_8h.html#c9549e65e228cdfa901fca9012f1b52f">libnet_build_rip</a>(u_int8_t cmd, u_int8_t version, u_int16_t rd, u_int16_t af,
<a name="l01078"></a>01078 u_int16_t rt, u_int32_t addr, u_int32_t mask, u_int32_t next_hop,
<a name="l01079"></a>01079 u_int32_t metric, u_int8_t *payload, u_int32_t payload_s, libnet_t *l,
<a name="l01080"></a>01080 libnet_ptag_t ptag);
<a name="l01081"></a>01081 
<a name="l01104"></a>01104 libnet_ptag_t
<a name="l01105"></a>01105 <a class="code" href="libnet-functions_8h.html#33bdb212c766a869a55560d523deb807">libnet_build_rpc_call</a>(u_int32_t rm, u_int32_t xid, u_int32_t prog_num,
<a name="l01106"></a>01106 u_int32_t prog_vers, u_int32_t procedure, u_int32_t cflavor, u_int32_t clength,
<a name="l01107"></a>01107 u_int8_t *cdata, u_int32_t vflavor, u_int32_t vlength, u_int8_t *vdata,
<a name="l01108"></a>01108 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01109"></a>01109 
<a name="l01132"></a>01132 libnet_ptag_t
<a name="l01133"></a>01133 <a class="code" href="libnet-functions_8h.html#0a3c886a4103e0a80aea25d6d326b6bf">libnet_build_stp_conf</a>(u_int16_t <span class="keywordtype">id</span>, u_int8_t version, u_int8_t bpdu_type,
<a name="l01134"></a>01134 u_int8_t flags, u_int8_t *root_id, u_int32_t root_pc, u_int8_t *bridge_id,
<a name="l01135"></a>01135 u_int16_t port_id, u_int16_t message_age, u_int16_t max_age, 
<a name="l01136"></a>01136 u_int16_t hello_time, u_int16_t f_delay, u_int8_t *payload,
<a name="l01137"></a>01137 u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01138"></a>01138 
<a name="l01152"></a>01152 libnet_ptag_t
<a name="l01153"></a>01153 <a class="code" href="libnet-functions_8h.html#0d0bf94c6887aec7702cf9f4190a1e55">libnet_build_stp_tcn</a>(u_int16_t <span class="keywordtype">id</span>, u_int8_t version, u_int8_t bpdu_type,
<a name="l01154"></a>01154 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01155"></a>01155 
<a name="l01173"></a>01173 libnet_ptag_t
<a name="l01174"></a>01174 <a class="code" href="libnet-functions_8h.html#65635fcbae54edb768ed36e8ce3abca6">libnet_build_token_ring</a>(u_int8_t ac, u_int8_t fc, u_int8_t *dst, u_int8_t *src,
<a name="l01175"></a>01175 u_int8_t dsap, u_int8_t ssap, u_int8_t cf, u_int8_t *oui, u_int16_t type,
<a name="l01176"></a>01176 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01177"></a>01177 
<a name="l01191"></a>01191 libnet_ptag_t
<a name="l01192"></a>01192 <a class="code" href="libnet-functions_8h.html#e2962f923beabedfe761dcd97cf41e87">libnet_autobuild_token_ring</a>(u_int8_t ac, u_int8_t fc, u_int8_t *dst, 
<a name="l01193"></a>01193 u_int8_t dsap, u_int8_t ssap, u_int8_t cf, u_int8_t *oui, u_int16_t type,
<a name="l01194"></a>01194 libnet_t *l);
<a name="l01195"></a>01195 
<a name="l01215"></a>01215 libnet_ptag_t
<a name="l01216"></a>01216 <a class="code" href="libnet-functions_8h.html#e94f381e758de9faf26920042a2830e0">libnet_build_vrrp</a>(u_int8_t version, u_int8_t type, u_int8_t vrouter_id,
<a name="l01217"></a>01217 u_int8_t priority, u_int8_t ip_count, u_int8_t auth_type, u_int8_t advert_int,
<a name="l01218"></a>01218 u_int16_t sum, u_int8_t *payload, u_int32_t payload_s, libnet_t *l,
<a name="l01219"></a>01219 libnet_ptag_t ptag);
<a name="l01220"></a>01220 
<a name="l01233"></a>01233 libnet_ptag_t
<a name="l01234"></a>01234 <a class="code" href="libnet-functions_8h.html#2be4c11b7a37ab8ad9d46e1ebf3b53db">libnet_build_mpls</a>(u_int32_t label, u_int8_t experimental, u_int8_t bos,
<a name="l01235"></a>01235 u_int8_t ttl, u_int8_t *payload, u_int32_t payload_s, libnet_t *l,
<a name="l01236"></a>01236 libnet_ptag_t ptag);
<a name="l01237"></a>01237 
<a name="l01265"></a>01265 libnet_ptag_t
<a name="l01266"></a>01266 <a class="code" href="libnet-functions_8h.html#a18676bbed2910988a65ace745226301">libnet_build_ntp</a>(u_int8_t leap_indicator, u_int8_t version, u_int8_t mode,
<a name="l01267"></a>01267 u_int8_t stratum, u_int8_t poll, u_int8_t precision, u_int16_t delay_int,
<a name="l01268"></a>01268 u_int16_t delay_frac, u_int16_t dispersion_int, u_int16_t dispersion_frac,
<a name="l01269"></a>01269 u_int32_t reference_id, u_int32_t ref_ts_int, u_int32_t ref_ts_frac,
<a name="l01270"></a>01270 u_int32_t orig_ts_int, u_int32_t orig_ts_frac, u_int32_t rec_ts_int,
<a name="l01271"></a>01271 u_int32_t rec_ts_frac, u_int32_t xmt_ts_int, u_int32_t xmt_ts_frac,
<a name="l01272"></a>01272 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01273"></a>01273 
<a name="l01287"></a>01287 libnet_ptag_t
<a name="l01288"></a>01288 <a class="code" href="libnet-functions_8h.html#40115f0c696b84e2f4f84c09e72f60dc">libnet_build_ospfv2</a>(u_int16_t len, u_int8_t type, u_int32_t rtr_id,
<a name="l01289"></a>01289 u_int32_t area_id, u_int16_t sum, u_int16_t autype, u_int8_t *payload,
<a name="l01290"></a>01290 u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01291"></a>01291 
<a name="l01306"></a>01306 libnet_ptag_t
<a name="l01307"></a>01307 <a class="code" href="libnet-functions_8h.html#0f0d868bb17ff951305327becaec80e5">libnet_build_ospfv2_hello</a>(u_int32_t netmask, u_int16_t interval, u_int8_t opts,
<a name="l01308"></a>01308 u_int8_t priority, u_int dead_int, u_int32_t des_rtr, u_int32_t bkup_rtr,
<a name="l01309"></a>01309 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01310"></a>01310  
<a name="l01322"></a>01322 libnet_ptag_t
<a name="l01323"></a>01323 <a class="code" href="libnet-functions_8h.html#60b59bb26475cd0892299c4888454b3b">libnet_build_ospfv2_dbd</a>(u_int16_t dgram_len, u_int8_t opts, u_int8_t type,
<a name="l01324"></a>01324 u_int seqnum, u_int8_t *payload, u_int32_t payload_s, libnet_t *l,
<a name="l01325"></a>01325 libnet_ptag_t ptag);
<a name="l01326"></a>01326  
<a name="l01337"></a>01337 libnet_ptag_t
<a name="l01338"></a>01338 <a class="code" href="libnet-functions_8h.html#bd981b21f34c0efcdbd7123f9c6b1ab4">libnet_build_ospfv2_lsr</a>(u_int type, u_int lsid, u_int32_t advrtr,
<a name="l01339"></a>01339 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01340"></a>01340  
<a name="l01349"></a>01349 libnet_ptag_t
<a name="l01350"></a>01350 <a class="code" href="libnet-functions_8h.html#9460b64aba613d6e367a3a6d472ae5e6">libnet_build_ospfv2_lsu</a>(u_int num, u_int8_t *payload, u_int32_t payload_s,
<a name="l01351"></a>01351 libnet_t *l, libnet_ptag_t ptag);
<a name="l01352"></a>01352 
<a name="l01368"></a>01368 libnet_ptag_t
<a name="l01369"></a>01369 <a class="code" href="libnet-functions_8h.html#8884632ef2860b3b292188fcacf54cf8">libnet_build_ospfv2_lsa</a>(u_int16_t age, u_int8_t opts, u_int8_t type,
<a name="l01370"></a>01370 u_int lsid, u_int32_t advrtr, u_int seqnum, u_int16_t sum, u_int16_t len,
<a name="l01371"></a>01371 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01372"></a>01372  
<a name="l01387"></a>01387 libnet_ptag_t
<a name="l01388"></a>01388 <a class="code" href="libnet-functions_8h.html#8f27133661d6c10e3c776cfb7e24b8b6">libnet_build_ospfv2_lsa_rtr</a>(u_int16_t flags, u_int16_t num, u_int <span class="keywordtype">id</span>,
<a name="l01389"></a>01389 u_int data, u_int8_t type, u_int8_t tos, u_int16_t metric, u_int8_t *payload,
<a name="l01390"></a>01390 u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01391"></a>01391  
<a name="l01401"></a>01401 libnet_ptag_t
<a name="l01402"></a>01402 <a class="code" href="libnet-functions_8h.html#ae2ddd904b99753f88073c1525e9a08f">libnet_build_ospfv2_lsa_net</a>(u_int32_t nmask, u_int rtrid, u_int8_t *payload,
<a name="l01403"></a>01403 u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01404"></a>01404  
<a name="l01415"></a>01415 libnet_ptag_t
<a name="l01416"></a>01416 <a class="code" href="libnet-functions_8h.html#b9d76074203ed1e92683a056b6f7b8ba">libnet_build_ospfv2_lsa_sum</a>(u_int32_t nmask, u_int metric, u_int tos,
<a name="l01417"></a>01417 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01418"></a>01418  
<a name="l01430"></a>01430 libnet_ptag_t
<a name="l01431"></a>01431 <a class="code" href="libnet-functions_8h.html#bcecd50e35e742531f59cce0b90b8b79">libnet_build_ospfv2_lsa_as</a>(u_int32_t nmask, u_int metric, u_int32_t fwdaddr,
<a name="l01432"></a>01432 u_int tag, u_int8_t *payload, u_int32_t payload_s, libnet_t *l,
<a name="l01433"></a>01433 libnet_ptag_t ptag);
<a name="l01434"></a>01434 
<a name="l01445"></a>01445 libnet_ptag_t
<a name="l01446"></a>01446 <a class="code" href="libnet-functions_8h.html#cb56eccdd9d924cd3a81affdbef4cf30">libnet_build_data</a>(u_int8_t *payload, u_int32_t payload_s, libnet_t *l,
<a name="l01447"></a>01447 libnet_ptag_t ptag);
<a name="l01448"></a>01448 
<a name="l01470"></a>01470 libnet_ptag_t
<a name="l01471"></a>01471 <a class="code" href="libnet-functions_8h.html#20d397bac4d614e395878f239d26d4dc">libnet_build_dhcpv4</a>(u_int8_t opcode, u_int8_t htype, u_int8_t hlen,
<a name="l01472"></a>01472 u_int8_t hopcount, u_int32_t xid, u_int16_t secs, u_int16_t flags,
<a name="l01473"></a>01473 u_int32_t cip, u_int32_t yip,  u_int32_t sip, u_int32_t gip, u_int8_t *chaddr,
<a name="l01474"></a>01474 u_int8_t *sname, u_int8_t *file, u_int8_t *payload, u_int32_t payload_s, 
<a name="l01475"></a>01475 libnet_t *l, libnet_ptag_t ptag);
<a name="l01476"></a>01476 
<a name="l01498"></a>01498 libnet_ptag_t
<a name="l01499"></a>01499 <a class="code" href="libnet-functions_8h.html#37164c33698bd0c59cd51393a1fdfae6">libnet_build_bootpv4</a>(u_int8_t opcode, u_int8_t htype, u_int8_t hlen,
<a name="l01500"></a>01500 u_int8_t hopcount, u_int32_t xid, u_int16_t secs, u_int16_t flags,
<a name="l01501"></a>01501 u_int32_t cip, u_int32_t yip,  u_int32_t sip, u_int32_t gip, u_int8_t *chaddr,
<a name="l01502"></a>01502 u_int8_t *sname, u_int8_t *file, u_int8_t *payload, u_int32_t payload_s, 
<a name="l01503"></a>01503 libnet_t *l, libnet_ptag_t ptag);
<a name="l01504"></a>01504 
<a name="l01509"></a>01509 u_int32_t
<a name="l01510"></a>01510 <a class="code" href="libnet-functions_8h.html#0af792a7e4bc49bd252b062cd4f35af5">libnet_getgre_length</a>(u_int16_t fv);
<a name="l01511"></a>01511 
<a name="l01534"></a>01534 libnet_ptag_t
<a name="l01535"></a>01535 <a class="code" href="libnet-functions_8h.html#fff121ac7bc157e3df0eb1bd624263c1">libnet_build_gre</a>(u_int16_t fv, u_int16_t type, u_int16_t sum,
<a name="l01536"></a>01536 u_int16_t offset, u_int32_t key, u_int32_t seq, u_int16_t len,
<a name="l01537"></a>01537 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01538"></a>01538 
<a name="l01560"></a>01560 libnet_ptag_t
<a name="l01561"></a>01561 <a class="code" href="libnet-functions_8h.html#e8c54127e49779805cedf46506f564d4">libnet_build_egre</a>(u_int16_t fv, u_int16_t type, u_int16_t sum,
<a name="l01562"></a>01562 u_int16_t offset, u_int32_t key, u_int32_t seq, u_int16_t len,
<a name="l01563"></a>01563 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01564"></a>01564 
<a name="l01576"></a>01576 libnet_ptag_t
<a name="l01577"></a>01577 <a class="code" href="libnet-functions_8h.html#7cca16e4e1b5ca96a1b0a35a2b766710">libnet_build_gre_sre</a>(u_int16_t af, u_int8_t offset, u_int8_t length,
<a name="l01578"></a>01578 u_int8_t *routing, u_int8_t *payload, u_int32_t payload_s, libnet_t *l,
<a name="l01579"></a>01579 libnet_ptag_t ptag);
<a name="l01580"></a>01580 
<a name="l01586"></a>01586 libnet_ptag_t
<a name="l01587"></a>01587 <a class="code" href="libnet-functions_8h.html#578594ad820ae9d82fe3f9ea470f0b27">libnet_build_gre_last_sre</a>(libnet_t *l, libnet_ptag_t ptag);
<a name="l01588"></a>01588 
<a name="l01610"></a>01610 libnet_ptag_t
<a name="l01611"></a>01611 <a class="code" href="libnet-functions_8h.html#5d7fd09f44af695b543beaff7abd2c1c">libnet_build_bgp4_header</a>(u_int8_t marker[LIBNET_BGP4_MARKER_SIZE],
<a name="l01612"></a>01612 u_int16_t len, u_int8_t type, u_int8_t *payload, u_int32_t payload_s,
<a name="l01613"></a>01613 libnet_t *l, libnet_ptag_t ptag);
<a name="l01614"></a>01614 
<a name="l01631"></a>01631 libnet_ptag_t
<a name="l01632"></a>01632 <a class="code" href="libnet-functions_8h.html#9f5e3e137a1290437eb54ead063821f8">libnet_build_bgp4_open</a>(u_int8_t version, u_int16_t src_as, u_int16_t hold_time,
<a name="l01633"></a>01633 u_int32_t bgp_id, u_int8_t opt_len, u_int8_t *payload, u_int32_t payload_s,
<a name="l01634"></a>01634 libnet_t *l, libnet_ptag_t ptag);
<a name="l01635"></a>01635 
<a name="l01651"></a>01651 libnet_ptag_t
<a name="l01652"></a>01652 <a class="code" href="libnet-functions_8h.html#213d5a264ea39a17fc0fc9edb3aac30c">libnet_build_bgp4_update</a>(u_int16_t unfeasible_rt_len, u_int8_t *withdrawn_rt,
<a name="l01653"></a>01653 u_int16_t total_path_attr_len, u_int8_t *path_attributes, u_int16_t info_len,
<a name="l01654"></a>01654 u_int8_t *reachability_info, u_int8_t *payload, u_int32_t payload_s,
<a name="l01655"></a>01655 libnet_t *l, libnet_ptag_t ptag);
<a name="l01656"></a>01656 
<a name="l01669"></a>01669 libnet_ptag_t
<a name="l01670"></a>01670 <a class="code" href="libnet-functions_8h.html#1ba1e13d1fc8cc089ddd7931a6890d2b">libnet_build_bgp4_notification</a>(u_int8_t err_code, u_int8_t err_subcode,
<a name="l01671"></a>01671 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01672"></a>01672 
<a name="l01694"></a>01694 libnet_ptag_t
<a name="l01695"></a>01695 <a class="code" href="libnet-functions_8h.html#d20d81e5ce0cd581ff374242fb30a089">libnet_build_sebek</a>(u_int32_t magic, u_int16_t version, u_int16_t type, 
<a name="l01696"></a>01696 u_int32_t counter, u_int32_t time_sec, u_int32_t time_usec, u_int32_t pid,
<a name="l01697"></a>01697 u_int32_t uid, u_int32_t fd, u_int8_t cmd[SEBEK_CMD_LENGTH], u_int32_t length, 
<a name="l01698"></a>01698 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01699"></a>01699 
<a name="l01719"></a>01719 libnet_ptag_t
<a name="l01720"></a>01720 <a class="code" href="libnet-functions_8h.html#69bf76db8b62ec812cb734965c31eb46">libnet_build_hsrp</a>(u_int8_t version, u_int8_t opcode, u_int8_t state, 
<a name="l01721"></a>01721 u_int8_t hello_time, u_int8_t hold_time, u_int8_t priority, u_int8_t group,
<a name="l01722"></a>01722 u_int8_t reserved, u_int8_t authdata[HSRP_AUTHDATA_LENGTH], u_int32_t virtual_ip,
<a name="l01723"></a>01723 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01724"></a>01724 
<a name="l01739"></a>01739 libnet_ptag_t
<a name="l01740"></a>01740 <a class="code" href="libnet-functions_8h.html#71bc438f807ab7e84d424533e81e1693">libnet_build_link</a>(u_int8_t *dst, u_int8_t *src, u_int8_t *oui, u_int16_t type, 
<a name="l01741"></a>01741 u_int8_t *payload, u_int32_t payload_s, libnet_t *l, libnet_ptag_t ptag);
<a name="l01742"></a>01742 
<a name="l01753"></a>01753 libnet_ptag_t
<a name="l01754"></a>01754 <a class="code" href="libnet-functions_8h.html#3e21b6aaf8a1c690b6dca96c410083ee">libnet_autobuild_link</a>(u_int8_t *dst, u_int8_t *oui, u_int16_t type,
<a name="l01755"></a>01755 libnet_t *l);
<a name="l01756"></a>01756 
<a name="l01769"></a>01769 <span class="keywordtype">int</span>
<a name="l01770"></a>01770 <a class="code" href="libnet-functions_8h.html#53375552efe95906e152152fc170cc0d">libnet_write</a>(libnet_t *l);
<a name="l01771"></a>01771 
<a name="l01781"></a>01781 u_int32_t
<a name="l01782"></a>01782 <a class="code" href="libnet-functions_8h.html#e5143c0ab5dc9e9fa817d865eac428b0">libnet_get_ipaddr4</a>(libnet_t *l);
<a name="l01783"></a>01783 
<a name="l01789"></a>01789 <span class="keyword">struct </span>libnet_in6_addr
<a name="l01790"></a>01790 <a class="code" href="libnet-functions_8h.html#3d7de8968c2087df7a22140d7993e267">libnet_get_ipaddr6</a>(libnet_t *l);
<a name="l01791"></a>01791 
<a name="l01800"></a>01800 <span class="keyword">struct </span>libnet_ether_addr *
<a name="l01801"></a>01801 <a class="code" href="libnet-functions_8h.html#6531e479687de8d195bd1605422735ca">libnet_get_hwaddr</a>(libnet_t *l);
<a name="l01802"></a>01802 
<a name="l01812"></a>01812 u_int8_t *
<a name="l01813"></a>01813 <a class="code" href="libnet-functions_8h.html#66bfbb546b4a9fd49d446870b3b30bb0">libnet_hex_aton</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s, <span class="keywordtype">int</span> *len);
<a name="l01814"></a>01814 
<a name="l01819"></a>01819 <span class="keyword">const</span> <span class="keywordtype">char</span> *
<a name="l01820"></a>01820 <a class="code" href="libnet-functions_8h.html#5264b060183d307688780bf862fae37c">libnet_version</a>(<span class="keywordtype">void</span>);
<a name="l01821"></a>01821 
<a name="l01837"></a>01837 <span class="keywordtype">int</span>
<a name="l01838"></a>01838 <a class="code" href="libnet-functions_8h.html#9040018e0c1b2c795066941c0ebfc015">libnet_adv_cull_packet</a>(libnet_t *l, u_int8_t **packet, u_int32_t *packet_s);
<a name="l01839"></a>01839 
<a name="l01852"></a>01852 <span class="keywordtype">int</span>
<a name="l01853"></a>01853 <a class="code" href="libnet-functions_8h.html#e804d72696e8e050bd0893b1869b3126">libnet_adv_cull_header</a>(libnet_t *l, libnet_ptag_t ptag, u_int8_t **header,
<a name="l01854"></a>01854 u_int32_t *header_s);
<a name="l01855"></a>01855 
<a name="l01869"></a>01869 <span class="keywordtype">int</span>
<a name="l01870"></a>01870 <a class="code" href="libnet-functions_8h.html#f70276132971083dba940f40b1487434">libnet_adv_write_link</a>(libnet_t *l, u_int8_t *packet, u_int32_t packet_s);
<a name="l01871"></a>01871 
<a name="l01885"></a>01885 <span class="keywordtype">int</span>
<a name="l01886"></a>01886 <a class="code" href="libnet-functions_8h.html#fa26941a0155d45914003642c6976ff4">libnet_adv_write_raw_ipv4</a>(libnet_t *l, u_int8_t *packet, u_int32_t packet_s);
<a name="l01887"></a>01887 
<a name="l01894"></a>01894 <span class="keywordtype">void</span>
<a name="l01895"></a>01895 <a class="code" href="libnet-functions_8h.html#b73eb15623b02971e5a45d8bf82fb9e2">libnet_adv_free_packet</a>(libnet_t *l, u_int8_t *packet);
<a name="l01896"></a>01896 
<a name="l01910"></a>01910 <span class="keywordtype">int</span> 
<a name="l01911"></a>01911 <a class="code" href="libnet-functions_8h.html#20887ffe940f1d2c5bcae79a188176c6">libnet_cq_add</a>(libnet_t *l, <span class="keywordtype">char</span> *label);
<a name="l01912"></a>01912 
<a name="l01927"></a>01927 libnet_t *
<a name="l01928"></a>01928 <a class="code" href="libnet-functions_8h.html#29f60504a0fe9b7bf6f5a962063118bb">libnet_cq_remove</a>(libnet_t *l);
<a name="l01929"></a>01929 
<a name="l01941"></a>01941 libnet_t *
<a name="l01942"></a>01942 <a class="code" href="libnet-functions_8h.html#4e972664a0d839eab039f8fb2379987a">libnet_cq_remove_by_label</a>(<span class="keywordtype">char</span> *label);
<a name="l01943"></a>01943  
<a name="l01950"></a>01950 <span class="keyword">const</span> <span class="keywordtype">char</span> *
<a name="l01951"></a>01951 <a class="code" href="libnet-functions_8h.html#bb1341d217de4d9c39ec484951e518b0">libnet_cq_getlabel</a>(libnet_t *l);
<a name="l01952"></a>01952  
<a name="l01959"></a>01959 libnet_t *
<a name="l01960"></a>01960 <a class="code" href="libnet-functions_8h.html#0cd216f0e5563ee06043a8ebfa16fe57">libnet_cq_find_by_label</a>(<span class="keywordtype">char</span> *label);
<a name="l01961"></a>01961   
<a name="l01967"></a>01967 <span class="keywordtype">void</span>
<a name="l01968"></a>01968 <a class="code" href="libnet-functions_8h.html#565d99e292980d5033bef2d186596217">libnet_cq_destroy</a>(<span class="keywordtype">void</span>);
<a name="l01969"></a>01969 
<a name="l01989"></a>01989 libnet_t *
<a name="l01990"></a>01990 <a class="code" href="libnet-functions_8h.html#7e98a045ac6e29ca421507d9a200b5aa">libnet_cq_head</a>(<span class="keywordtype">void</span>);
<a name="l01991"></a>01991 
<a name="l01997"></a>01997 <span class="keywordtype">int</span>
<a name="l01998"></a>01998 <a class="code" href="libnet-functions_8h.html#ab1eb1e3ae64cde579a5a6035d5406c8">libnet_cq_last</a>(<span class="keywordtype">void</span>);
<a name="l01999"></a>01999 
<a name="l02005"></a>02005 libnet_t *
<a name="l02006"></a>02006 <a class="code" href="libnet-functions_8h.html#d312f3182e3e5367db87fc6bab32604d">libnet_cq_next</a>(<span class="keywordtype">void</span>);
<a name="l02007"></a>02007 
<a name="l02013"></a>02013 u_int32_t
<a name="l02014"></a>02014 <a class="code" href="libnet-functions_8h.html#d2d4679155425c02822559bcb0caa275">libnet_cq_size</a>(<span class="keywordtype">void</span>);
<a name="l02015"></a>02015 
<a name="l02019"></a>02019 u_int32_t
<a name="l02020"></a>02020 <a class="code" href="libnet-functions_8h.html#4846c3ce22db19195b235ad11d7c60ce">libnet_cq_end_loop</a>(<span class="keywordtype">void</span>);
<a name="l02021"></a>02021 
<a name="l02027"></a>02027 <span class="keywordtype">void</span>
<a name="l02028"></a>02028 <a class="code" href="libnet-functions_8h.html#3aa6623246e13310dc6f9f9834e7313b">libnet_diag_dump_context</a>(libnet_t *l);
<a name="l02029"></a>02029 
<a name="l02035"></a>02035 <span class="keywordtype">void</span>
<a name="l02036"></a>02036 <a class="code" href="libnet-functions_8h.html#9825c6c69efd6ef24545d59177a333e6">libnet_diag_dump_pblock</a>(libnet_t *l);
<a name="l02037"></a>02037 
<a name="l02044"></a>02044 <span class="keywordtype">char</span> *
<a name="l02045"></a>02045 <a class="code" href="libnet-functions_8h.html#053bcb30c956b858db88b9a551e9360b">libnet_diag_dump_pblock_type</a>(u_int8_t type);
<a name="l02046"></a>02046 
<a name="l02060"></a>02060 <span class="keywordtype">void</span>
<a name="l02061"></a>02061 <a class="code" href="libnet-functions_8h.html#862af1289e6eb7a930e18bf1f3008cd4">libnet_diag_dump_hex</a>(u_int8_t *packet, u_int32_t len, <span class="keywordtype">int</span> swap, FILE *stream);
<a name="l02062"></a>02062 
<a name="l02063"></a>02063 <span class="comment">/*</span>
<a name="l02064"></a>02064 <span class="comment"> * [Internal] </span>
<a name="l02065"></a>02065 <span class="comment"> */</span>
<a name="l02066"></a>02066 <span class="keywordtype">int</span>
<a name="l02067"></a>02067 libnet_write_raw_ipv4(libnet_t *l, u_int8_t *packet, u_int32_t size);
<a name="l02068"></a>02068 
<a name="l02069"></a>02069 <span class="comment">/*</span>
<a name="l02070"></a>02070 <span class="comment"> * [Internal] </span>
<a name="l02071"></a>02071 <span class="comment"> */</span>
<a name="l02072"></a>02072 <span class="keywordtype">int</span>
<a name="l02073"></a>02073 libnet_write_raw_ipv6(libnet_t *l, u_int8_t *packet, u_int32_t size);
<a name="l02074"></a>02074 
<a name="l02075"></a>02075 <span class="comment">/*</span>
<a name="l02076"></a>02076 <span class="comment"> * [Internal] </span>
<a name="l02077"></a>02077 <span class="comment"> */</span>
<a name="l02078"></a>02078 <span class="keywordtype">int</span>
<a name="l02079"></a>02079 libnet_write_link(libnet_t *l, u_int8_t *packet, u_int32_t size);
<a name="l02080"></a>02080 
<a name="l02081"></a>02081 <span class="preprocessor">#if ((__WIN32__) &amp;&amp; !(__CYGWIN__))</span>
<a name="l02082"></a>02082 <span class="preprocessor"></span><span class="comment">/*</span>
<a name="l02083"></a>02083 <span class="comment"> * [Internal] </span>
<a name="l02084"></a>02084 <span class="comment"> */</span>
<a name="l02085"></a>02085 SOCKET
<a name="l02086"></a>02086 libnet_open_raw4(libnet_t *l);
<a name="l02087"></a>02087 <span class="preprocessor">#else</span>
<a name="l02088"></a>02088 <span class="preprocessor"></span><span class="comment">/*</span>
<a name="l02089"></a>02089 <span class="comment"> * [Internal] </span>
<a name="l02090"></a>02090 <span class="comment"> */</span>
<a name="l02091"></a>02091 <span class="keywordtype">int</span>
<a name="l02092"></a>02092 libnet_open_raw4(libnet_t *l);
<a name="l02093"></a>02093 <span class="preprocessor">#endif</span>
<a name="l02094"></a>02094 <span class="preprocessor"></span>
<a name="l02095"></a>02095 <span class="comment">/*</span>
<a name="l02096"></a>02096 <span class="comment"> * [Internal] </span>
<a name="l02097"></a>02097 <span class="comment"> */</span>
<a name="l02098"></a>02098 <span class="keywordtype">int</span>
<a name="l02099"></a>02099 libnet_close_raw4(libnet_t *l);
<a name="l02100"></a>02100 
<a name="l02101"></a>02101 <span class="comment">/*</span>
<a name="l02102"></a>02102 <span class="comment"> * [Internal] </span>
<a name="l02103"></a>02103 <span class="comment"> */</span>
<a name="l02104"></a>02104 <span class="keywordtype">int</span>
<a name="l02105"></a>02105 libnet_open_raw6(libnet_t *l);
<a name="l02106"></a>02106        
<a name="l02107"></a>02107 <span class="comment">/*</span>
<a name="l02108"></a>02108 <span class="comment"> * [Internal] </span>
<a name="l02109"></a>02109 <span class="comment"> */</span>
<a name="l02110"></a>02110 <span class="keywordtype">int</span>
<a name="l02111"></a>02111 libnet_close_raw6(libnet_t *l);
<a name="l02112"></a>02112 
<a name="l02113"></a>02113 <span class="comment">/*</span>
<a name="l02114"></a>02114 <span class="comment"> * [Internal] </span>
<a name="l02115"></a>02115 <span class="comment"> */</span>
<a name="l02116"></a>02116 <span class="keywordtype">int</span>
<a name="l02117"></a>02117 libnet_select_device(libnet_t *l);
<a name="l02118"></a>02118 
<a name="l02119"></a>02119 <span class="comment">/*</span>
<a name="l02120"></a>02120 <span class="comment"> * [Internal] </span>
<a name="l02121"></a>02121 <span class="comment"> */</span>
<a name="l02122"></a>02122 <span class="keywordtype">int</span>
<a name="l02123"></a>02123 libnet_open_link(libnet_t *l);
<a name="l02124"></a>02124 
<a name="l02125"></a>02125 <span class="comment">/*</span>
<a name="l02126"></a>02126 <span class="comment"> * [Internal] </span>
<a name="l02127"></a>02127 <span class="comment"> */</span>
<a name="l02128"></a>02128 <span class="keywordtype">int</span>
<a name="l02129"></a>02129 libnet_close_link(libnet_t *l);
<a name="l02130"></a>02130 
<a name="l02131"></a>02131 <span class="comment">/*</span>
<a name="l02132"></a>02132 <span class="comment"> * [Internal] </span>
<a name="l02133"></a>02133 <span class="comment"> */</span>
<a name="l02134"></a>02134 <span class="keywordtype">int</span>
<a name="l02135"></a>02135 libnet_do_checksum(libnet_t *l, u_int8_t *packet, <span class="keywordtype">int</span> protocol, <span class="keywordtype">int</span> len);
<a name="l02136"></a>02136 
<a name="l02137"></a>02137 <span class="comment">/*</span>
<a name="l02138"></a>02138 <span class="comment"> * [Internal] </span>
<a name="l02139"></a>02139 <span class="comment"> */</span>
<a name="l02140"></a>02140 u_int32_t
<a name="l02141"></a>02141 libnet_compute_crc(u_int8_t *buf, u_int32_t len);
<a name="l02142"></a>02142 
<a name="l02143"></a>02143 <span class="comment">/*</span>
<a name="l02144"></a>02144 <span class="comment"> * [Internal] </span>
<a name="l02145"></a>02145 <span class="comment"> */</span>
<a name="l02146"></a>02146 u_int16_t
<a name="l02147"></a>02147 libnet_ip_check(u_int16_t *addr, <span class="keywordtype">int</span> len);
<a name="l02148"></a>02148 
<a name="l02149"></a>02149 <span class="comment">/*</span>
<a name="l02150"></a>02150 <span class="comment"> * [Internal] </span>
<a name="l02151"></a>02151 <span class="comment"> */</span>
<a name="l02152"></a>02152 <span class="keywordtype">int</span>
<a name="l02153"></a>02153 libnet_in_cksum(u_int16_t *addr, <span class="keywordtype">int</span> len);
<a name="l02154"></a>02154 
<a name="l02155"></a>02155 <span class="comment">/*</span>
<a name="l02156"></a>02156 <span class="comment"> * [Internal] </span>
<a name="l02157"></a>02157 <span class="comment"> * If ptag is 0, function will create a pblock for the protocol unit type,</span>
<a name="l02158"></a>02158 <span class="comment"> * append it to the list and return a pointer to it.  If ptag is not 0,</span>
<a name="l02159"></a>02159 <span class="comment"> * function will search the pblock list for the specified protocol block </span>
<a name="l02160"></a>02160 <span class="comment"> * and return a pointer to it.</span>
<a name="l02161"></a>02161 <span class="comment"> */</span>
<a name="l02162"></a>02162 libnet_pblock_t *
<a name="l02163"></a>02163 libnet_pblock_probe(libnet_t *l, libnet_ptag_t ptag, u_int32_t n, 
<a name="l02164"></a>02164 u_int8_t type);
<a name="l02165"></a>02165 
<a name="l02166"></a>02166 <span class="comment">/*</span>
<a name="l02167"></a>02167 <span class="comment"> * [Internal] </span>
<a name="l02168"></a>02168 <span class="comment"> * Function creates the pblock list if l-&gt;protocol_blocks == NULL or appends</span>
<a name="l02169"></a>02169 <span class="comment"> * an entry to the doubly linked list.</span>
<a name="l02170"></a>02170 <span class="comment"> */</span>
<a name="l02171"></a>02171 libnet_pblock_t *
<a name="l02172"></a>02172 libnet_pblock_new(libnet_t *l, u_int32_t size);
<a name="l02173"></a>02173 
<a name="l02174"></a>02174 <span class="comment">/*</span>
<a name="l02175"></a>02175 <span class="comment"> * [Internal] </span>
<a name="l02176"></a>02176 <span class="comment"> * Function swaps two pblocks in memory.</span>
<a name="l02177"></a>02177 <span class="comment"> */</span>
<a name="l02178"></a>02178 <span class="keywordtype">int</span>
<a name="l02179"></a>02179 libnet_pblock_swap(libnet_t *l, libnet_ptag_t ptag1, libnet_ptag_t ptag2);
<a name="l02180"></a>02180 
<a name="l02181"></a>02181 <span class="comment">/*</span>
<a name="l02182"></a>02182 <span class="comment"> * [Internal] </span>
<a name="l02183"></a>02183 <span class="comment"> * Function inserts a pblock into the doubly linked list.</span>
<a name="l02184"></a>02184 <span class="comment"> */</span>
<a name="l02185"></a>02185 <span class="keywordtype">int</span>
<a name="l02186"></a>02186 libnet_pblock_insert_before(libnet_t *l, libnet_ptag_t ptag1,
<a name="l02187"></a>02187 libnet_ptag_t ptag2);
<a name="l02188"></a>02188 
<a name="l02189"></a>02189 <span class="comment">/*</span>
<a name="l02190"></a>02190 <span class="comment"> * [Internal] </span>
<a name="l02191"></a>02191 <span class="comment"> * Function removes a pblock from context </span>
<a name="l02192"></a>02192 <span class="comment"> */</span>
<a name="l02193"></a>02193 <span class="keywordtype">void</span>
<a name="l02194"></a>02194 libnet_pblock_delete(libnet_t *l, libnet_pblock_t *p);
<a name="l02195"></a>02195 
<a name="l02196"></a>02196 <span class="comment">/*</span>
<a name="l02197"></a>02197 <span class="comment"> * [Internal] </span>
<a name="l02198"></a>02198 <span class="comment"> * Function updates the pblock meta-inforation.  Internally it updates the</span>
<a name="l02199"></a>02199 <span class="comment"> * ptag with a monotonically increasing variable kept in l.  This way each</span>
<a name="l02200"></a>02200 <span class="comment"> * pblock has a succesively increasing ptag identifier.</span>
<a name="l02201"></a>02201 <span class="comment"> */</span>
<a name="l02202"></a>02202 libnet_ptag_t
<a name="l02203"></a>02203 libnet_pblock_update(libnet_t *l, libnet_pblock_t *p, u_int32_t h, 
<a name="l02204"></a>02204 u_int8_t type);
<a name="l02205"></a>02205 
<a name="l02206"></a>02206 
<a name="l02207"></a>02207  <span class="comment">/*</span>
<a name="l02208"></a>02208 <span class="comment">  * [Internal]</span>
<a name="l02209"></a>02209 <span class="comment">  * Checksums are a real pain in the &lt;beep&gt;!!!</span>
<a name="l02210"></a>02210 <span class="comment">  * Function updates referer used to compute the checksum. All</span>
<a name="l02211"></a>02211 <span class="comment">  * pblock need to know where is their referer (ie IP header).</span>
<a name="l02212"></a>02212 <span class="comment">  * So, this function is called each time a new IP header is inserted.</span>
<a name="l02213"></a>02213 <span class="comment">  * It updates the ip_offset field (referer) of each previous pblock.</span>
<a name="l02214"></a>02214 <span class="comment">  */</span>
<a name="l02215"></a>02215 <span class="keywordtype">void</span>
<a name="l02216"></a>02216 libnet_pblock_record_ip_offset(libnet_t *l, libnet_pblock_t *p);
<a name="l02217"></a>02217 
<a name="l02218"></a>02218 <span class="comment">/*</span>
<a name="l02219"></a>02219 <span class="comment"> * [Internal] </span>
<a name="l02220"></a>02220 <span class="comment"> * Function locates a given block by it's ptag. </span>
<a name="l02221"></a>02221 <span class="comment"> */</span>
<a name="l02222"></a>02222 libnet_pblock_t *
<a name="l02223"></a>02223 libnet_pblock_find(libnet_t *l, libnet_ptag_t ptag);
<a name="l02224"></a>02224 
<a name="l02225"></a>02225 <span class="comment">/*</span>
<a name="l02226"></a>02226 <span class="comment"> * [Internal] </span>
<a name="l02227"></a>02227 <span class="comment"> * Function copies protocol block data over.</span>
<a name="l02228"></a>02228 <span class="comment"> */</span>
<a name="l02229"></a>02229 <span class="keywordtype">int</span>
<a name="l02230"></a>02230 libnet_pblock_append(libnet_t *l, libnet_pblock_t *p, u_int8_t *buf,
<a name="l02231"></a>02231 u_int32_t len);
<a name="l02232"></a>02232 
<a name="l02233"></a>02233 <span class="comment">/*</span>
<a name="l02234"></a>02234 <span class="comment"> * [Internal] </span>
<a name="l02235"></a>02235 <span class="comment"> * Function sets pblock flags.</span>
<a name="l02236"></a>02236 <span class="comment"> */</span>
<a name="l02237"></a>02237 <span class="keywordtype">void</span>
<a name="l02238"></a>02238 libnet_pblock_setflags(libnet_pblock_t *p, u_int8_t flags);
<a name="l02239"></a>02239 
<a name="l02240"></a>02240 <span class="comment">/*</span>
<a name="l02241"></a>02241 <span class="comment"> * [Internal] </span>
<a name="l02242"></a>02242 <span class="comment"> * Function returns the protocol number for the protocol block type.  If</span>
<a name="l02243"></a>02243 <span class="comment"> * the type is unknown, the function defaults to returning IPPROTO_IP.</span>
<a name="l02244"></a>02244 <span class="comment"> */</span>
<a name="l02245"></a>02245 <span class="keywordtype">int</span>
<a name="l02246"></a>02246 libnet_pblock_p2p(u_int8_t type);
<a name="l02247"></a>02247 
<a name="l02248"></a>02248 <span class="comment">/*</span>
<a name="l02249"></a>02249 <span class="comment"> * [Internal] </span>
<a name="l02250"></a>02250 <span class="comment"> * Function assembles the packet for subsequent writing.  Function makes two</span>
<a name="l02251"></a>02251 <span class="comment"> * passes through the pblock list:</span>
<a name="l02252"></a>02252 <span class="comment"> */</span>
<a name="l02253"></a>02253 <span class="keywordtype">int</span>
<a name="l02254"></a>02254 libnet_pblock_coalesce(libnet_t *l, u_int8_t **packet, u_int32_t *size);
<a name="l02255"></a>02255 
<a name="l02256"></a>02256 <span class="preprocessor">#if !(__WIN32__)</span>
<a name="l02257"></a>02257 <span class="preprocessor"></span><span class="comment">/*</span>
<a name="l02258"></a>02258 <span class="comment"> * [Internal] </span>
<a name="l02259"></a>02259 <span class="comment"> * By testing if we can retrieve the FLAGS of an iface</span>
<a name="l02260"></a>02260 <span class="comment"> * we can know if it exists or not and if it is up.</span>
<a name="l02261"></a>02261 <span class="comment"> */</span>
<a name="l02262"></a>02262 <span class="keywordtype">int</span>
<a name="l02263"></a>02263 libnet_check_iface(libnet_t *l);
<a name="l02264"></a>02264 <span class="preprocessor">#endif</span>
<a name="l02265"></a>02265 <span class="preprocessor"></span>
<a name="l02266"></a>02266 <span class="preprocessor">#if defined(__WIN32__)</span>
<a name="l02267"></a>02267 <span class="preprocessor"></span><span class="comment">/*</span>
<a name="l02268"></a>02268 <span class="comment"> * [Internal] </span>
<a name="l02269"></a>02269 <span class="comment"> */</span>
<a name="l02270"></a>02270 BYTE *
<a name="l02271"></a>02271 libnet_win32_get_remote_mac(libnet_t *l, DWORD IP);
<a name="l02272"></a>02272 
<a name="l02273"></a>02273 <span class="comment">/*</span>
<a name="l02274"></a>02274 <span class="comment"> * [Internal] </span>
<a name="l02275"></a>02275 <span class="comment"> */</span>
<a name="l02276"></a>02276 <span class="keywordtype">int</span>
<a name="l02277"></a>02277 libnet_close_link_interface(libnet_t *l);
<a name="l02278"></a>02278 
<a name="l02279"></a>02279 <span class="comment">/*</span>
<a name="l02280"></a>02280 <span class="comment"> * [Internal] </span>
<a name="l02281"></a>02281 <span class="comment"> */</span>
<a name="l02282"></a>02282 BYTE * 
<a name="l02283"></a>02283 libnet_win32_read_arp_table(DWORD IP);
<a name="l02284"></a>02284 <span class="preprocessor">#endif</span>
<a name="l02285"></a>02285 <span class="preprocessor"></span><span class="preprocessor">#endif  </span><span class="comment">/* __LIBNET_FUNCTIONS_H */</span>
<a name="l02286"></a>02286 
<a name="l02287"></a>02287 <span class="comment">/* EOF */</span>
</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Tue Jun 9 16:16:39 2009 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>