<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>UbixOS V2: src/sys/net/netif/ethernetif.c File Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.4.7 --> <div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</span></a></li> <li><a href="classes.html"><span>Data Structures</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> <li> <form action="search.php" method="get"> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td><label> <u>S</u>earch for </label></td> <td><input type="text" name="query" value="" size="20" accesskey="s"/></td> </tr> </table> </form> </li> </ul></div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul></div> <div class="nav"> <a class="el" href="dir_897b6a2d7bab147dd1db58381aad3984.html">src</a> » <a class="el" href="dir_832905b1f7f5feaf61a306b40c0ac817.html">sys</a> » <a class="el" href="dir_da977d215fccd664f66e7711fda26f76.html">net</a> » <a class="el" href="dir_becc64c1c5cdfab2e137aa1ca4b91e6b.html">netif</a></div> <h1>ethernetif.c File Reference</h1><code>#include <<a class="el" href="types_8h-source.html">ubixos/types.h</a>></code><br> <code>#include <<a class="el" href="sched_8h-source.html">ubixos/sched.h</a>></code><br> <code>#include <<a class="el" href="kmalloc_8h-source.html">lib/kmalloc.h</a>></code><br> <code>#include <<a class="el" href="kprintf_8h-source.html">lib/kprintf.h</a>></code><br> <code>#include <<a class="el" href="device_8old_8h-source.html">sys/device.old.h</a>></code><br> <code>#include <<a class="el" href="ne2k_8h-source.html">isa/ne2k.h</a>></code><br> <code>#include "<a class="el" href="debug_8h-source.html">net/debug.h</a>"</code><br> <code>#include "<a class="el" href="opt_8h-source.html">net/opt.h</a>"</code><br> <code>#include "<a class="el" href="def_8h-source.html">net/def.h</a>"</code><br> <code>#include "<a class="el" href="mem_8h-source.html">net/mem.h</a>"</code><br> <code>#include "<a class="el" href="pbuf_8h-source.html">net/pbuf.h</a>"</code><br> <code>#include "<a class="el" href="sys_8h-source.html">net/sys.h</a>"</code><br> <code>#include "<a class="el" href="arp_8h-source.html">netif/arp.h</a>"</code><br> <p> <a href="ethernetif_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structethernetif.html">ethernetif</a></td></tr> <tr><td colspan="2"><br><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ethernetif_8c.html#cd9e3df20507d5f895e80477aef74555">IFNAME0</a> 'e'</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ethernetif_8c.html#43b130296861cb255f1ad5b8c3787fd1">IFNAME1</a> 'd'</td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="ethernetif_8c.html#c94d6bae5aaeab8f812a6809ba4a6367">arp_timer</a> (void *arg)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ethernetif_8c.html#64753cb7324510825069062660f10926">ethernetif_init</a> (struct <a class="el" href="structnetif.html">netif</a> *<a class="el" href="structnetif.html">netif</a>)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="ethernetif_8c.html#687c1030eeb3939b9aa8e1a0811c301a">ethernetif_input</a> (struct <a class="el" href="structnetif.html">netif</a> *<a class="el" href="structnetif.html">netif</a>)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="ethernetif_8c.html#eb49a49ab62789d8e32fddf180d52ebf">ethernetif_output</a> (struct <a class="el" href="structnetif.html">netif</a> *<a class="el" href="structnetif.html">netif</a>, struct <a class="el" href="structpbuf.html">pbuf</a> *p, struct <a class="el" href="structip__addr.html">ip_addr</a> *ipaddr)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ethernetif_8c.html#877b1f0a593d5d3c6e1d10624ee7a0fb">ethernetif_thread</a> (void *arg)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="ethernetif_8c.html#e1cb890e22f516c0106d5c6c8e07ab74">ethernetif_thread</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="ethernetif_8c.html#15915c49a70d85ff1c6af793cda34419">low_level_init</a> (struct <a class="el" href="structnetif.html">netif</a> *<a class="el" href="structnetif.html">netif</a>)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static struct <a class="el" href="structpbuf.html">pbuf</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="ethernetif_8c.html#70bd3f580cdc400e75161e9751944836">low_level_input</a> (struct <a class="el" href="structethernetif.html">ethernetif</a> *<a class="el" href="structethernetif.html">ethernetif</a>)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="ethernetif_8c.html#a15293088795817d91d7ecdcfbcb7799">low_level_output</a> (struct <a class="el" href="structethernetif.html">ethernetif</a> *<a class="el" href="structethernetif.html">ethernetif</a>, struct <a class="el" href="structpbuf.html">pbuf</a> *p)</td></tr> <tr><td colspan="2"><br><h2>Variables</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structdevice.html">device</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="ethernetif_8c.html#cf6a82c73e7a9d99293d9ce0b8837faf">dev</a> = 0x0</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static struct <a class="el" href="structeth__addr.html">eth_addr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="ethernetif_8c.html#6aac26114a085a1a287b32941ecd009e">ethbroadcast</a> = {{0xff,0xff,0xff,0xff,0xff,0xff}}</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structnicBuffer.html">nicBuffer</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="ethernetif_8c.html#4a11421d92a3c6d8d9fae9db3bb9f299">tmpBuf</a> = 0x0</td></tr> </table> <hr><h2>Define Documentation</h2> <a class="anchor" name="cd9e3df20507d5f895e80477aef74555"></a><!-- doxytag: member="ethernetif.c::IFNAME0" ref="cd9e3df20507d5f895e80477aef74555" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define IFNAME0 'e' </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ethernetif_8c-source.html#l00062">62</a> of file <a class="el" href="ethernetif_8c-source.html">ethernetif.c</a>. <p> Referenced by <a class="el" href="ethernetif_8c-source.html#l00325">ethernetif_init()</a>. </div> </div><p> <a class="anchor" name="43b130296861cb255f1ad5b8c3787fd1"></a><!-- doxytag: member="ethernetif.c::IFNAME1" ref="43b130296861cb255f1ad5b8c3787fd1" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define IFNAME1 'd' </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ethernetif_8c-source.html#l00063">63</a> of file <a class="el" href="ethernetif_8c-source.html">ethernetif.c</a>. <p> Referenced by <a class="el" href="ethernetif_8c-source.html#l00325">ethernetif_init()</a>. </div> </div><p> <hr><h2>Function Documentation</h2> <a class="anchor" name="c94d6bae5aaeab8f812a6809ba4a6367"></a><!-- doxytag: member="ethernetif.c::arp_timer" ref="c94d6bae5aaeab8f812a6809ba4a6367" args="(void *arg)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static void arp_timer </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"> <em>arg</em> </td> <td> ) </td> <td width="100%"><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ethernetif_8c-source.html#l00309">309</a> of file <a class="el" href="ethernetif_8c-source.html">ethernetif.c</a>. <p> References <a class="el" href="arp_8c-source.html#l00104">arp_tmr()</a>, <a class="el" href="arp_8h-source.html#l00058">ARP_TMR_INTERVAL</a>, <a class="el" href="def_8h-source.html#l00041">NULL</a>, and <a class="el" href="sys_8h.html#eb917c25d96a51e1998478b9e6e78a44">sys_timeout()</a>. <p> Referenced by <a class="el" href="ethernetif_8c-source.html#l00325">ethernetif_init()</a>. </div> </div><p> <a class="anchor" name="64753cb7324510825069062660f10926"></a><!-- doxytag: member="ethernetif.c::ethernetif_init" ref="64753cb7324510825069062660f10926" args="(struct netif *netif)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ethernetif_init </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structnetif.html">netif</a> * </td> <td class="paramname"> <em>netif</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ethernetif_8c-source.html#l00325">325</a> of file <a class="el" href="ethernetif_8c-source.html">ethernetif.c</a>. <p> References <a class="el" href="arp_8c-source.html#l00093">arp_init()</a>, <a class="el" href="ethernetif_8c-source.html#l00309">arp_timer()</a>, <a class="el" href="arp_8h-source.html#l00058">ARP_TMR_INTERVAL</a>, <a class="el" href="ethernetif_8c-source.html#l00186">ethernetif_output()</a>, <a class="el" href="netif_8h-source.html#l00054">netif::hwaddr</a>, <a class="el" href="ethernetif_8c-source.html#l00062">IFNAME0</a>, <a class="el" href="ethernetif_8c-source.html#l00063">IFNAME1</a>, <a class="el" href="structnetif.html#bf9e416b29a3de59c78b141b8eed37cc">netif::linkoutput</a>, <a class="el" href="ethernetif_8c-source.html#l00081">low_level_init()</a>, <a class="el" href="ethernetif_8c-source.html#l00113">low_level_output()</a>, <a class="el" href="mem_8h.html#932aa40d85b14cb7331625e012d12335">mem_malloc()</a>, <a class="el" href="netif_8h-source.html#l00063">netif::name</a>, <a class="el" href="def_8h-source.html#l00041">NULL</a>, <a class="el" href="structnetif.html#b180ab98b90830ed15503822405e5a23">netif::output</a>, <a class="el" href="netif_8h-source.html#l00071">netif::state</a>, and <a class="el" href="sys_8h.html#eb917c25d96a51e1998478b9e6e78a44">sys_timeout()</a>. <p> Referenced by <a class="el" href="init_8c-source.html#l00066">netMainThread()</a>. </div> </div><p> <a class="anchor" name="687c1030eeb3939b9aa8e1a0811c301a"></a><!-- doxytag: member="ethernetif.c::ethernetif_input" ref="687c1030eeb3939b9aa8e1a0811c301a" args="(struct netif *netif)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static void ethernetif_input </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structnetif.html">netif</a> * </td> <td class="paramname"> <em>netif</em> </td> <td> ) </td> <td width="100%"><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ethernetif_8c-source.html#l00275">275</a> of file <a class="el" href="ethernetif_8c-source.html">ethernetif.c</a>. <p> References <a class="el" href="arp_8c-source.html#l00197">arp_arp_input()</a>, <a class="el" href="arp_8c-source.html#l00181">arp_ip_input()</a>, <a class="el" href="ethernetif_8c-source.html#l00068">ethernetif::ethaddr</a>, <a class="el" href="arp_8h-source.html#l00060">ETHTYPE_ARP</a>, <a class="el" href="arp_8h-source.html#l00061">ETHTYPE_IP</a>, <a class="el" href="ipv4_2inet_8h-source.html#l00066">htons</a>, <a class="el" href="structnetif.html#6a3101eb624d17937618618a57e2e570">netif::input</a>, <a class="el" href="ethernetif_8c-source.html#l00142">low_level_input()</a>, <a class="el" href="ethernetif_8c-source.html#l00113">low_level_output()</a>, <a class="el" href="def_8h-source.html#l00041">NULL</a>, <a class="el" href="pbuf_8h-source.html#l00071">pbuf::payload</a>, <a class="el" href="pbuf_8h.html#334112aa2ac402c254d604c0dbbbb746">pbuf_free()</a>, <a class="el" href="pbuf_8h.html#c83243784ae907d307b4ac444282ccc5">pbuf_header()</a>, and <a class="el" href="netif_8h-source.html#l00071">netif::state</a>. <p> Referenced by <a class="el" href="ethernetif_8c-source.html#l00345">ethernetif_thread()</a>. </div> </div><p> <a class="anchor" name="eb49a49ab62789d8e32fddf180d52ebf"></a><!-- doxytag: member="ethernetif.c::ethernetif_output" ref="eb49a49ab62789d8e32fddf180d52ebf" args="(struct netif *netif, struct pbuf *p, struct ip_addr *ipaddr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> ethernetif_output </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structnetif.html">netif</a> * </td> <td class="paramname"> <em>netif</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structpbuf.html">pbuf</a> * </td> <td class="paramname"> <em>p</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structip__addr.html">ip_addr</a> * </td> <td class="paramname"> <em>ipaddr</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ethernetif_8c-source.html#l00186">186</a> of file <a class="el" href="ethernetif_8c-source.html">ethernetif.c</a>. <p> References <a class="el" href="arp_8c-source.html#l00253">arp_lookup()</a>, <a class="el" href="arp_8c-source.html#l00266">arp_query()</a>, <a class="el" href="err_8h-source.html#l00049">ERR_MEM</a>, <a class="el" href="ethernetif_8c-source.html#l00068">ethernetif::ethaddr</a>, <a class="el" href="ethernetif_8c-source.html#l00072">ethbroadcast</a>, <a class="el" href="arp_8h-source.html#l00061">ETHTYPE_IP</a>, <a class="el" href="netif_8h-source.html#l00053">netif::gw</a>, <a class="el" href="ipv4_2inet_8h-source.html#l00066">htons</a>, <a class="el" href="ipv4_2ip__addr_8h-source.html#l00083">ip4_addr2</a>, <a class="el" href="ipv4_2ip__addr_8h-source.html#l00084">ip4_addr3</a>, <a class="el" href="ipv4_2ip__addr_8h-source.html#l00085">ip4_addr4</a>, <a class="el" href="netif_8h-source.html#l00051">netif::ip_addr</a>, <a class="el" href="ipv4_2ip__addr_8h-source.html#l00064">ip_addr_isany</a>, <a class="el" href="ipv4_2ip__addr_8h-source.html#l00066">ip_addr_isbroadcast</a>, <a class="el" href="ipv4_2ip__addr_8h-source.html#l00072">ip_addr_ismulticast</a>, <a class="el" href="ipv4_2ip__addr_8h-source.html#l00058">ip_addr_maskcmp</a>, <a class="el" href="ethernetif_8c-source.html#l00113">low_level_output()</a>, <a class="el" href="netif_8h-source.html#l00052">netif::netmask</a>, <a class="el" href="def_8h-source.html#l00041">NULL</a>, <a class="el" href="pbuf_8h-source.html#l00071">pbuf::payload</a>, <a class="el" href="pbuf_8h.html#bb6c8efa7f7739e71cb286c6dd4a47ef">pbuf_alloc()</a>, <a class="el" href="pbuf_8h.html#831c9a72bda1d3bd4c7b96f5a0e3b891">pbuf_chain()</a>, <a class="el" href="pbuf_8h.html#334112aa2ac402c254d604c0dbbbb746">pbuf_free()</a>, <a class="el" href="pbuf_8h.html#c83243784ae907d307b4ac444282ccc5">pbuf_header()</a>, <a class="el" href="pbuf_8h.html#ee1baa59bb2f85ba575b5a8619ac1ebfb4de441e737330558b609a990cd17346">PBUF_LINK</a>, <a class="el" href="pbuf_8h.html#b3c589840cc5a202e7278f41463f97e7c5e9f28455bca98944a030d4b84ecfab">PBUF_RAM</a>, and <a class="el" href="netif_8h-source.html#l00071">netif::state</a>. <p> Referenced by <a class="el" href="ethernetif_8c-source.html#l00325">ethernetif_init()</a>. </div> </div><p> <a class="anchor" name="877b1f0a593d5d3c6e1d10624ee7a0fb"></a><!-- doxytag: member="ethernetif.c::ethernetif_thread" ref="877b1f0a593d5d3c6e1d10624ee7a0fb" args="(void *arg)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ethernetif_thread </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"> <em>arg</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ethernetif_8c-source.html#l00345">345</a> of file <a class="el" href="ethernetif_8c-source.html">ethernetif.c</a>. <p> References <a class="el" href="ethernetif_8c-source.html#l00275">ethernetif_input()</a>, <a class="el" href="ne2k_8h-source.html#l00053">nicBuffer::length</a>, <a class="el" href="ne2k_8c-source.html#l00353">ne2kFreeBuffer()</a>, <a class="el" href="ne2k_8c-source.html#l00341">ne2kGetBuffer()</a>, and <a class="el" href="ethernetif_8c-source.html#l00065">tmpBuf</a>. </div> </div><p> <a class="anchor" name="e1cb890e22f516c0106d5c6c8e07ab74"></a><!-- doxytag: member="ethernetif.c::ethernetif_thread" ref="e1cb890e22f516c0106d5c6c8e07ab74" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static void ethernetif_thread </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Referenced by <a class="el" href="ethernetif_8c-source.html#l00081">low_level_init()</a>. </div> </div><p> <a class="anchor" name="15915c49a70d85ff1c6af793cda34419"></a><!-- doxytag: member="ethernetif.c::low_level_init" ref="15915c49a70d85ff1c6af793cda34419" args="(struct netif *netif)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static void low_level_init </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structnetif.html">netif</a> * </td> <td class="paramname"> <em>netif</em> </td> <td> ) </td> <td width="100%"><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ethernetif_8c-source.html#l00081">81</a> of file <a class="el" href="ethernetif_8c-source.html">ethernetif.c</a>. <p> References <a class="el" href="ethernetif_8c-source.html#l00078">dev</a>, <a class="el" href="ethernetif_8c-source.html#l00068">ethernetif::ethaddr</a>, <a class="el" href="ethernetif_8c.html#e1cb890e22f516c0106d5c6c8e07ab74">ethernetif_thread()</a>, <a class="el" href="device_8old_8h-source.html#l00031">device::ioAddr</a>, <a class="el" href="device_8old_8h-source.html#l00032">device::irq</a>, <a class="el" href="kmalloc_8c-source.html#l00247">kmalloc()</a>, <a class="el" href="kprintf_8c-source.html#l00038">kprintf()</a>, <a class="el" href="netif_8h-source.html#l00071">netif::state</a>, and <a class="el" href="sys__arch_8c-source.html#l00172">sys_thread_new()</a>. <p> Referenced by <a class="el" href="ethernetif_8c-source.html#l00325">ethernetif_init()</a>. </div> </div><p> <a class="anchor" name="70bd3f580cdc400e75161e9751944836"></a><!-- doxytag: member="ethernetif.c::low_level_input" ref="70bd3f580cdc400e75161e9751944836" args="(struct ethernetif *ethernetif)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static struct <a class="el" href="structpbuf.html">pbuf</a>* low_level_input </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structethernetif.html">ethernetif</a> * </td> <td class="paramname"> <em>ethernetif</em> </td> <td> ) </td> <td width="100%"><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ethernetif_8c-source.html#l00142">142</a> of file <a class="el" href="ethernetif_8c-source.html">ethernetif.c</a>. <p> References <a class="el" href="bcopy_8c-source.html#l00070">bcopy()</a>, <a class="el" href="ne2k_8h-source.html#l00054">nicBuffer::buffer</a>, <a class="el" href="pbuf_8h-source.html#l00076">pbuf::len</a>, <a class="el" href="ne2k_8h-source.html#l00053">nicBuffer::length</a>, <a class="el" href="pbuf_8h-source.html#l00067">pbuf::next</a>, <a class="el" href="def_8h-source.html#l00041">NULL</a>, <a class="el" href="pbuf_8h-source.html#l00071">pbuf::payload</a>, <a class="el" href="pbuf_8h.html#bb6c8efa7f7739e71cb286c6dd4a47ef">pbuf_alloc()</a>, <a class="el" href="pbuf_8h.html#ee1baa59bb2f85ba575b5a8619ac1ebfb4de441e737330558b609a990cd17346">PBUF_LINK</a>, <a class="el" href="pbuf_8h.html#b3c589840cc5a202e7278f41463f97e7e969347127387b9b59a23ccd24b76d21">PBUF_POOL</a>, and <a class="el" href="ethernetif_8c-source.html#l00065">tmpBuf</a>. <p> Referenced by <a class="el" href="ethernetif_8c-source.html#l00275">ethernetif_input()</a>. </div> </div><p> <a class="anchor" name="a15293088795817d91d7ecdcfbcb7799"></a><!-- doxytag: member="ethernetif.c::low_level_output" ref="a15293088795817d91d7ecdcfbcb7799" args="(struct ethernetif *ethernetif, struct pbuf *p)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> low_level_output </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structethernetif.html">ethernetif</a> * </td> <td class="paramname"> <em>ethernetif</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structpbuf.html">pbuf</a> * </td> <td class="paramname"> <em>p</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ethernetif_8c-source.html#l00113">113</a> of file <a class="el" href="ethernetif_8c-source.html">ethernetif.c</a>. <p> References <a class="el" href="bcopy_8c-source.html#l00070">bcopy()</a>, <a class="el" href="ethernetif_8c-source.html#l00078">dev</a>, <a class="el" href="err_8h-source.html#l00048">ERR_OK</a>, <a class="el" href="device_8old_8h-source.html#l00031">device::ioAddr</a>, <a class="el" href="device_8old_8h-source.html#l00032">device::irq</a>, <a class="el" href="pbuf_8h-source.html#l00076">pbuf::len</a>, <a class="el" href="pbuf_8h-source.html#l00067">pbuf::next</a>, <a class="el" href="def_8h-source.html#l00041">NULL</a>, <a class="el" href="pbuf_8h-source.html#l00071">pbuf::payload</a>, <a class="el" href="ne2k_8c-source.html#l00115">PCtoNIC()</a>, and <a class="el" href="pbuf_8h-source.html#l00074">pbuf::tot_len</a>. <p> Referenced by <a class="el" href="ethernetif_8c-source.html#l00325">ethernetif_init()</a>, <a class="el" href="ethernetif_8c-source.html#l00275">ethernetif_input()</a>, and <a class="el" href="ethernetif_8c-source.html#l00186">ethernetif_output()</a>. </div> </div><p> <hr><h2>Variable Documentation</h2> <a class="anchor" name="cf6a82c73e7a9d99293d9ce0b8837faf"></a><!-- doxytag: member="ethernetif.c::dev" ref="cf6a82c73e7a9d99293d9ce0b8837faf" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structdevice.html">device</a>* <a class="el" href="ethernetif_8c.html#cf6a82c73e7a9d99293d9ce0b8837faf">dev</a> = 0x0 </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ethernetif_8c-source.html#l00078">78</a> of file <a class="el" href="ethernetif_8c-source.html">ethernetif.c</a>. <p> Referenced by <a class="el" href="ne2k_8c-source.html#l00297">dp_pkt2user()</a>, <a class="el" href="ne2k_8c-source.html#l00223">dp_recv()</a>, <a class="el" href="fdc_8c-source.html#l00058">fdcInit2()</a>, <a class="el" href="ne2k_8c-source.html#l00279">getblock()</a>, <a class="el" href="hd_8c-source.html#l00145">hdInit()</a>, <a class="el" href="ethernetif_8c-source.html#l00081">low_level_init()</a>, <a class="el" href="ethernetif_8c-source.html#l00113">low_level_output()</a>, <a class="el" href="ne2k_8c-source.html#l00164">NICtoPC()</a>, <a class="el" href="pci_8c-source.html#l00292">pci_init()</a>, and <a class="el" href="ne2k_8c-source.html#l00115">PCtoNIC()</a>. </div> </div><p> <a class="anchor" name="6aac26114a085a1a287b32941ecd009e"></a><!-- doxytag: member="ethernetif.c::ethbroadcast" ref="6aac26114a085a1a287b32941ecd009e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structeth__addr.html">eth_addr</a> <a class="el" href="ethernetif_8c.html#6aac26114a085a1a287b32941ecd009e">ethbroadcast</a> = {{0xff,0xff,0xff,0xff,0xff,0xff}}<code> [static]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ethernetif_8c-source.html#l00072">72</a> of file <a class="el" href="ethernetif_8c-source.html">ethernetif.c</a>. <p> Referenced by <a class="el" href="ethernetif_8c-source.html#l00186">ethernetif_output()</a>. </div> </div><p> <a class="anchor" name="4a11421d92a3c6d8d9fae9db3bb9f299"></a><!-- doxytag: member="ethernetif.c::tmpBuf" ref="4a11421d92a3c6d8d9fae9db3bb9f299" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structnicBuffer.html">nicBuffer</a>* <a class="el" href="ethernetif_8c.html#4a11421d92a3c6d8d9fae9db3bb9f299">tmpBuf</a> = 0x0 </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ethernetif_8c-source.html#l00065">65</a> of file <a class="el" href="ethernetif_8c-source.html">ethernetif.c</a>. <p> Referenced by <a class="el" href="ne2k_8c-source.html#l00297">dp_pkt2user()</a>, <a class="el" href="ethernetif_8c-source.html#l00345">ethernetif_thread()</a>, <a class="el" href="ethernetif_8c-source.html#l00142">low_level_input()</a>, <a class="el" href="ne2k_8c-source.html#l00313">ne2kAllocBuffer()</a>, and <a class="el" href="ne2k_8c-source.html#l00341">ne2kGetBuffer()</a>. </div> </div><p> <hr size="1"><address style="align: right;"><small>Generated on Tue Dec 12 08:52:16 2006 for UbixOS V2 by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address> </body> </html>