<!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/isa/ne2k.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="namespaces.html"><span>Namespaces</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_2f8fc94d4f17c865dd63167e45dee9cf.html">isa</a></div> <h1>ne2k.c File Reference</h1><code>#include <<a class="el" href="ne2k_8h-source.html">isa/ne2k.h</a>></code><br> <code>#include <<a class="el" href="8259_8h-source.html">isa/8259.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="io_8h-source.html">sys/io.h</a>></code><br> <code>#include <<a class="el" href="idt_8h-source.html">sys/idt.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="string_8h-source.html">string.h</a>></code><br> <code>#include <<a class="el" href="kpanic_8h-source.html">ubixos/kpanic.h</a>></code><br> <code>#include <<a class="el" href="vitals_8h-source.html">ubixos/vitals.h</a>></code><br> <code>#include <<a class="el" href="spinlock_8h-source.html">ubixos/spinlock.h</a>></code><br> <code>#include <<a class="el" href="assert_8h-source.html">assert.h</a>></code><br> <p> <a href="ne2k_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>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="ne2k_8c.html#d2f71b50095121367bb6b0ed3181e89c">asm</a> (".globl ne2kISR \n""ne2kISR: \n"" pusha \n"" call ne2kHandler \n"" popa \n"" iret \n")</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="ne2k_8c.html#20e9fce07d30c847b2f794191f55e5ea">dp_pkt2user</a> (struct <a class="el" href="structdevice.html">device</a> *<a class="el" href="ethernetif_8c.html#cf6a82c73e7a9d99293d9ce0b8837faf">dev</a>, int page, int length)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="ne2k_8c.html#93484a1eaa8e1b265202c6cccfed65f3">dp_recv</a> (struct <a class="el" href="structdevice.html">device</a> *)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="ne2k_8c.html#82ba0a2f0d1c6dc1381e5c15118bb5ef">getblock</a> (struct <a class="el" href="structdevice.html">device</a> *<a class="el" href="ethernetif_8c.html#cf6a82c73e7a9d99293d9ce0b8837faf">dev</a>, int page, <a class="el" href="include_2ubixos_2types_8h.html#7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> offset, <a class="el" href="include_2ubixos_2types_8h.html#7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> size, void *dst)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="ne2k_8c.html#033e069050ace667acb10ed9ffc8ac6c">ne2k_init</a> ()</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="ne2k_8c.html#dae239918a8091c31abf996cee262c92">ne2kAllocBuffer</a> (int length)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ne2k_8c.html#deb7b37e43d9b5203408374d8d8ce586">ne2kFreeBuffer</a> (struct <a class="el" href="structnicBuffer.html">nicBuffer</a> *<a class="el" href="structbuf.html">buf</a>)</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="ne2k_8c.html#954f14d0270247855900254097728c57">ne2kGetBuffer</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ne2k_8c.html#1e664af4b82fdc7971db793f0e9b3ebd">ne2kHandler</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="ne2k_8c.html#45a65b2b7a15b7e7c46fd8831528c8d0">NICtoPC</a> (struct <a class="el" href="structdevice.html">device</a> *<a class="el" href="ethernetif_8c.html#cf6a82c73e7a9d99293d9ce0b8837faf">dev</a>, void *packet, int length, int nic_addr)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="ne2k_8c.html#f6446fd497eb16b637ebed77c7a0aeaf">PCtoNIC</a> (struct <a class="el" href="structdevice.html">device</a> *<a class="el" href="ethernetif_8c.html#cf6a82c73e7a9d99293d9ce0b8837faf">dev</a>, void *packet, int length)</td></tr> <tr><td colspan="2"><br><h2>Variables</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static struct <a class="el" href="structdevice.html">device</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="ne2k_8c.html#eebda15be7c1218c6072e6e0f057ff14">mDev</a> = 0x0</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="spinlock_8h.html#a240e9404b4ede1e0d714610080d1176">spinLock_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="ne2k_8c.html#764e2356e3d80b20b7f2466d32ebf9f2">ne2k_spinLock</a> = SPIN_LOCK_INITIALIZER</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static struct <a class="el" href="structnicBuffer.html">nicBuffer</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="ne2k_8c.html#35dea25bdf37bb1ee0edd26d50fdc3c2">ne2kBuffer</a> = 0x0</td></tr> </table> <hr><h2>Function Documentation</h2> <a class="anchor" name="d2f71b50095121367bb6b0ed3181e89c"></a><!-- doxytag: member="ne2k.c::asm" ref="d2f71b50095121367bb6b0ed3181e89c" args="(".globl ne2kISR \n""ne2kISR: \n"" pusha \n"" call ne2kHandler \n"" popa \n"" iret \n")" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">asm </td> <td>(</td> <td class="paramtype">".globl ne2kISR \n""ne2kISR: \n"" pusha \n"" call ne2kHandler \n"" popa \n"" iret \n" </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="20e9fce07d30c847b2f794191f55e5ea"></a><!-- doxytag: member="ne2k.c::dp_pkt2user" ref="20e9fce07d30c847b2f794191f55e5ea" args="(struct device *dev, int page, int length)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static int dp_pkt2user </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structdevice.html">device</a> * </td> <td class="paramname"> <em>dev</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>page</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>length</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="ne2k_8c-source.html#l00297">297</a> of file <a class="el" href="ne2k_8c-source.html">ne2k.c</a>. <p> References <a class="el" href="ne2k_8h-source.html#l00054">nicBuffer::buffer</a>, <a class="el" href="ethernetif_8c-source.html#l00078">dev</a>, <a class="el" href="ne2k_8h-source.html#l00154">DP_PAGESIZE</a>, <a class="el" href="kprintf_8c-source.html#l00038">kprintf()</a>, <a class="el" href="ne2k_8c-source.html#l00313">ne2kAllocBuffer()</a>, <a class="el" href="ne2k_8c-source.html#l00164">NICtoPC()</a>, <a class="el" href="ne2k_8h-source.html#l00061">OK</a>, <a class="el" href="ne2k_8h-source.html#l00065">stopPage</a>, and <a class="el" href="ethernetif_8c-source.html#l00065">tmpBuf</a>. <p> Referenced by <a class="el" href="ne2k_8c-source.html#l00223">dp_recv()</a>. </div> </div><p> <a class="anchor" name="93484a1eaa8e1b265202c6cccfed65f3"></a><!-- doxytag: member="ne2k.c::dp_recv" ref="93484a1eaa8e1b265202c6cccfed65f3" args="(struct device *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static int dp_recv </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structdevice.html">device</a> * </td> <td class="paramname"> </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="ne2k_8c-source.html#l00223">223</a> of file <a class="el" href="ne2k_8c-source.html">ne2k.c</a>. <p> References <a class="el" href="ethernetif_8c-source.html#l00078">dev</a>, <a class="el" href="ne2k_8c-source.html#l00297">dp_pkt2user()</a>, <a class="el" href="ne2k_8c-source.html#l00279">getblock()</a>, <a class="el" href="io_8c-source.html#l00039">inportByte()</a>, <a class="el" href="device_8old_8h-source.html#l00031">device::ioAddr</a>, <a class="el" href="kpanic_8c-source.html#l00044">kpanic()</a>, <a class="el" href="kprintf_8c-source.html#l00038">kprintf()</a>, <a class="el" href="ne2k_8h-source.html#l00071">NE_BNRY</a>, <a class="el" href="ne2k_8h-source.html#l00068">NE_CMD</a>, <a class="el" href="ne2k_8h-source.html#l00074">NE_CURRENT</a>, <a class="el" href="ne2k_8h-source.html#l00061">OK</a>, <a class="el" href="io_8c-source.html#l00073">outportByte()</a>, <a class="el" href="ne2k_8h-source.html#l00057">RSR_FO</a>, <a class="el" href="ne2k_8h-source.html#l00058">RSR_PRX</a>, <a class="el" href="ne2k_8h-source.html#l00064">startPage</a>, and <a class="el" href="ne2k_8h-source.html#l00065">stopPage</a>. <p> Referenced by <a class="el" href="ne2k_8c-source.html#l00191">ne2kHandler()</a>. </div> </div><p> <a class="anchor" name="82ba0a2f0d1c6dc1381e5c15118bb5ef"></a><!-- doxytag: member="ne2k.c::getblock" ref="82ba0a2f0d1c6dc1381e5c15118bb5ef" args="(struct device *dev, int page, size_t offset, size_t size, void *dst)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static void getblock </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structdevice.html">device</a> * </td> <td class="paramname"> <em>dev</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>page</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="include_2ubixos_2types_8h.html#7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </td> <td class="paramname"> <em>offset</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="include_2ubixos_2types_8h.html#7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </td> <td class="paramname"> <em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>dst</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="ne2k_8c-source.html#l00279">279</a> of file <a class="el" href="ne2k_8c-source.html">ne2k.c</a>. <p> References <a class="el" href="ethernetif_8c-source.html#l00078">dev</a>, <a class="el" href="ne2k_8h-source.html#l00154">DP_PAGESIZE</a>, <a class="el" href="ne2k_8h-source.html#l00097">E8390_RREAD</a>, <a class="el" href="ne2k_8h-source.html#l00096">E8390_START</a>, <a class="el" href="ne2k_8h-source.html#l00108">EN0_ISR</a>, <a class="el" href="ne2k_8h-source.html#l00111">EN0_RSARHI</a>, <a class="el" href="ne2k_8h-source.html#l00110">EN0_RSARLO</a>, <a class="el" href="io_8c-source.html#l00056">inportWord()</a>, <a class="el" href="device_8old_8h-source.html#l00031">device::ioAddr</a>, <a class="el" href="ne2k_8h-source.html#l00068">NE_CMD</a>, <a class="el" href="ne2k_8h-source.html#l00132">NE_DATAPORT</a>, <a class="el" href="ne2k_8h-source.html#l00075">NE_RBCR0</a>, <a class="el" href="ne2k_8h-source.html#l00076">NE_RBCR1</a>, and <a class="el" href="io_8c-source.html#l00073">outportByte()</a>. <p> Referenced by <a class="el" href="ne2k_8c-source.html#l00223">dp_recv()</a>. </div> </div><p> <a class="anchor" name="033e069050ace667acb10ed9ffc8ac6c"></a><!-- doxytag: member="ne2k.c::ne2k_init" ref="033e069050ace667acb10ed9ffc8ac6c" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int ne2k_init </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ne2k_8c-source.html#l00070">70</a> of file <a class="el" href="ne2k_8c-source.html">ne2k.c</a>. <p> References <a class="el" href="gdt_8h-source.html#l00047">dDpl0</a>, <a class="el" href="gdt_8h-source.html#l00037">dInt</a>, <a class="el" href="ne2k_8h-source.html#l00149">DP_CNTR0</a>, <a class="el" href="ne2k_8h-source.html#l00150">DP_CNTR1</a>, <a class="el" href="ne2k_8h-source.html#l00151">DP_CNTR2</a>, <a class="el" href="ne2k_8h-source.html#l00139">DP_CURR</a>, <a class="el" href="ne2k_8h-source.html#l00140">DP_MAR0</a>, <a class="el" href="ne2k_8h-source.html#l00141">DP_MAR1</a>, <a class="el" href="ne2k_8h-source.html#l00142">DP_MAR2</a>, <a class="el" href="ne2k_8h-source.html#l00143">DP_MAR3</a>, <a class="el" href="ne2k_8h-source.html#l00144">DP_MAR4</a>, <a class="el" href="ne2k_8h-source.html#l00145">DP_MAR5</a>, <a class="el" href="ne2k_8h-source.html#l00146">DP_MAR6</a>, <a class="el" href="ne2k_8h-source.html#l00147">DP_MAR7</a>, <a class="el" href="gdt_8h-source.html#l00048">dPresent</a>, <a class="el" href="io_8c-source.html#l00039">inportByte()</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="8259_8c-source.html#l00075">irqEnable()</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="ne2k_8c-source.html#l00051">mDev</a>, <a class="el" href="8259_8h-source.html#l00042">mVec</a>, <a class="el" href="ne2k_8h.html#a1d4735355686cbdc2d6bf145c413db3">ne2kISR()</a>, <a class="el" href="ne2k_8h-source.html#l00071">NE_BNRY</a>, <a class="el" href="ne2k_8h-source.html#l00068">NE_CMD</a>, <a class="el" href="ne2k_8h-source.html#l00079">NE_DCR</a>, <a class="el" href="ne2k_8h-source.html#l00080">NE_IMR</a>, <a class="el" href="ne2k_8h-source.html#l00073">NE_ISR</a>, <a class="el" href="ne2k_8h-source.html#l00069">NE_PSTART</a>, <a class="el" href="ne2k_8h-source.html#l00070">NE_PSTOP</a>, <a class="el" href="ne2k_8h-source.html#l00075">NE_RBCR0</a>, <a class="el" href="ne2k_8h-source.html#l00076">NE_RBCR1</a>, <a class="el" href="ne2k_8h-source.html#l00077">NE_RCR</a>, <a class="el" href="ne2k_8h-source.html#l00078">NE_TCR</a>, <a class="el" href="io_8c-source.html#l00073">outportByte()</a>, <a class="el" href="idt_8c-source.html#l00156">setVector()</a>, <a class="el" href="ne2k_8h-source.html#l00064">startPage</a>, <a class="el" href="ne2k_8h-source.html#l00065">stopPage</a>, and <a class="el" href="start_8S-source.html#l00051">x20</a>. </div> </div><p> <a class="anchor" name="dae239918a8091c31abf996cee262c92"></a><!-- doxytag: member="ne2k.c::ne2kAllocBuffer" ref="dae239918a8091c31abf996cee262c92" args="(int length)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structnicBuffer.html">nicBuffer</a>* ne2kAllocBuffer </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>length</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ne2k_8c-source.html#l00313">313</a> of file <a class="el" href="ne2k_8c-source.html">ne2k.c</a>. <p> References <a class="el" href="ne2k_8h-source.html#l00054">nicBuffer::buffer</a>, <a class="el" href="kmalloc_8c-source.html#l00247">kmalloc()</a>, <a class="el" href="ne2k_8h-source.html#l00053">nicBuffer::length</a>, <a class="el" href="ne2k_8c-source.html#l00044">ne2k_spinLock</a>, <a class="el" href="ne2k_8c-source.html#l00050">ne2kBuffer</a>, <a class="el" href="ne2k_8h-source.html#l00052">nicBuffer::next</a>, <a class="el" href="spinlock_8c-source.html#l00056">spinLock()</a>, <a class="el" href="spinlock_8c-source.html#l00037">spinUnlock()</a>, and <a class="el" href="ethernetif_8c-source.html#l00065">tmpBuf</a>. <p> Referenced by <a class="el" href="ne2k_8c-source.html#l00297">dp_pkt2user()</a>. </div> </div><p> <a class="anchor" name="deb7b37e43d9b5203408374d8d8ce586"></a><!-- doxytag: member="ne2k.c::ne2kFreeBuffer" ref="deb7b37e43d9b5203408374d8d8ce586" args="(struct nicBuffer *buf)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ne2kFreeBuffer </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structnicBuffer.html">nicBuffer</a> * </td> <td class="paramname"> <em>buf</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ne2k_8c-source.html#l00353">353</a> of file <a class="el" href="ne2k_8c-source.html">ne2k.c</a>. <p> References <a class="el" href="ne2k_8h-source.html#l00054">nicBuffer::buffer</a>, and <a class="el" href="kmalloc_8c-source.html#l00351">kfree()</a>. <p> Referenced by <a class="el" href="ethernetif_8c-source.html#l00345">ethernetif_thread()</a>. </div> </div><p> <a class="anchor" name="954f14d0270247855900254097728c57"></a><!-- doxytag: member="ne2k.c::ne2kGetBuffer" ref="954f14d0270247855900254097728c57" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structnicBuffer.html">nicBuffer</a>* ne2kGetBuffer </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ne2k_8c-source.html#l00341">341</a> of file <a class="el" href="ne2k_8c-source.html">ne2k.c</a>. <p> References <a class="el" href="ne2k_8c-source.html#l00044">ne2k_spinLock</a>, <a class="el" href="ne2k_8c-source.html#l00050">ne2kBuffer</a>, <a class="el" href="ne2k_8h-source.html#l00052">nicBuffer::next</a>, <a class="el" href="ethernetif_8c-source.html#l00065">tmpBuf</a>, and <a class="el" href="ap-boot_8S-source.html#l00006">x1</a>. <p> Referenced by <a class="el" href="ethernetif_8c-source.html#l00345">ethernetif_thread()</a>. </div> </div><p> <a class="anchor" name="1e664af4b82fdc7971db793f0e9b3ebd"></a><!-- doxytag: member="ne2k.c::ne2kHandler" ref="1e664af4b82fdc7971db793f0e9b3ebd" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ne2kHandler </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ne2k_8c-source.html#l00191">191</a> of file <a class="el" href="ne2k_8c-source.html">ne2k.c</a>. <p> References <a class="el" href="ne2k_8c-source.html#l00223">dp_recv()</a>, <a class="el" href="8259_8h-source.html#l00039">eoi</a>, <a class="el" href="io_8c-source.html#l00039">inportByte()</a>, <a class="el" href="device_8old_8h-source.html#l00031">device::ioAddr</a>, <a class="el" href="8259_8c-source.html#l00093">irqDisable()</a>, <a class="el" href="8259_8c-source.html#l00075">irqEnable()</a>, <a class="el" href="kprintf_8c-source.html#l00038">kprintf()</a>, <a class="el" href="ne2k_8c-source.html#l00051">mDev</a>, <a class="el" href="8259_8h-source.html#l00035">mPic</a>, <a class="el" href="ne2k_8h-source.html#l00080">NE_IMR</a>, <a class="el" href="ne2k_8h-source.html#l00073">NE_ISR</a>, <a class="el" href="ne2k_8h-source.html#l00072">NE_TPSR</a>, <a class="el" href="io_8c-source.html#l00073">outportByte()</a>, <a class="el" href="8259_8h-source.html#l00037">sPic</a>, and <a class="el" href="fdc_8c-source.html#l00054">status</a>. </div> </div><p> <a class="anchor" name="45a65b2b7a15b7e7c46fd8831528c8d0"></a><!-- doxytag: member="ne2k.c::NICtoPC" ref="45a65b2b7a15b7e7c46fd8831528c8d0" args="(struct device *dev, void *packet, int length, int nic_addr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int NICtoPC </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structdevice.html">device</a> * </td> <td class="paramname"> <em>dev</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>packet</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>nic_addr</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ne2k_8c-source.html#l00164">164</a> of file <a class="el" href="ne2k_8c-source.html">ne2k.c</a>. <p> References <a class="el" href="assert_8h-source.html#l00064">assert</a>, <a class="el" href="ethernetif_8c-source.html#l00078">dev</a>, <a class="el" href="ne2k_8h-source.html#l00108">EN0_ISR</a>, <a class="el" href="ne2k_8h-source.html#l00107">EN0_RCNTHI</a>, <a class="el" href="ne2k_8h-source.html#l00106">EN0_RCNTLO</a>, <a class="el" href="ne2k_8h-source.html#l00111">EN0_RSARHI</a>, <a class="el" href="ne2k_8h-source.html#l00110">EN0_RSARLO</a>, <a class="el" href="io_8c-source.html#l00056">inportWord()</a>, <a class="el" href="device_8old_8h-source.html#l00031">device::ioAddr</a>, <a class="el" href="ne2k_8h-source.html#l00132">NE_DATAPORT</a>, and <a class="el" href="io_8c-source.html#l00073">outportByte()</a>. <p> Referenced by <a class="el" href="ne2k_8c-source.html#l00297">dp_pkt2user()</a>. </div> </div><p> <a class="anchor" name="f6446fd497eb16b637ebed77c7a0aeaf"></a><!-- doxytag: member="ne2k.c::PCtoNIC" ref="f6446fd497eb16b637ebed77c7a0aeaf" args="(struct device *dev, void *packet, int length)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int PCtoNIC </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structdevice.html">device</a> * </td> <td class="paramname"> <em>dev</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>packet</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>length</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ne2k_8c-source.html#l00115">115</a> of file <a class="el" href="ne2k_8c-source.html">ne2k.c</a>. <p> References <a class="el" href="assert_8h-source.html#l00064">assert</a>, <a class="el" href="ethernetif_8c-source.html#l00078">dev</a>, <a class="el" href="ne2k_8h-source.html#l00098">E8390_RWRITE</a>, <a class="el" href="ne2k_8h-source.html#l00096">E8390_START</a>, <a class="el" href="ne2k_8h-source.html#l00108">EN0_ISR</a>, <a class="el" href="ne2k_8h-source.html#l00107">EN0_RCNTHI</a>, <a class="el" href="ne2k_8h-source.html#l00106">EN0_RCNTLO</a>, <a class="el" href="ne2k_8h-source.html#l00111">EN0_RSARHI</a>, <a class="el" href="ne2k_8h-source.html#l00110">EN0_RSARLO</a>, <a class="el" href="io_8c-source.html#l00039">inportByte()</a>, <a class="el" href="device_8old_8h-source.html#l00031">device::ioAddr</a>, <a class="el" href="kpanic_8c-source.html#l00044">kpanic()</a>, <a class="el" href="ne2k_8h-source.html#l00132">NE_DATAPORT</a>, <a class="el" href="io_8c-source.html#l00073">outportByte()</a>, and <a class="el" href="io_8c-source.html#l00104">outportWord()</a>. <p> Referenced by <a class="el" href="ethernetif_8c-source.html#l00113">low_level_output()</a>. </div> </div><p> <hr><h2>Variable Documentation</h2> <a class="anchor" name="eebda15be7c1218c6072e6e0f057ff14"></a><!-- doxytag: member="ne2k.c::mDev" ref="eebda15be7c1218c6072e6e0f057ff14" 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="ne2k_8c.html#eebda15be7c1218c6072e6e0f057ff14">mDev</a> = 0x0<code> [static]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ne2k_8c-source.html#l00051">51</a> of file <a class="el" href="ne2k_8c-source.html">ne2k.c</a>. <p> Referenced by <a class="el" href="ne2k_8c-source.html#l00070">ne2k_init()</a>, and <a class="el" href="ne2k_8c-source.html#l00191">ne2kHandler()</a>. </div> </div><p> <a class="anchor" name="764e2356e3d80b20b7f2466d32ebf9f2"></a><!-- doxytag: member="ne2k.c::ne2k_spinLock" ref="764e2356e3d80b20b7f2466d32ebf9f2" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="spinlock_8h.html#a240e9404b4ede1e0d714610080d1176">spinLock_t</a> <a class="el" href="ne2k_8c.html#764e2356e3d80b20b7f2466d32ebf9f2">ne2k_spinLock</a> = SPIN_LOCK_INITIALIZER<code> [static]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ne2k_8c-source.html#l00044">44</a> of file <a class="el" href="ne2k_8c-source.html">ne2k.c</a>. <p> Referenced by <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> <a class="anchor" name="35dea25bdf37bb1ee0edd26d50fdc3c2"></a><!-- doxytag: member="ne2k.c::ne2kBuffer" ref="35dea25bdf37bb1ee0edd26d50fdc3c2" 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="ne2k_8c.html#35dea25bdf37bb1ee0edd26d50fdc3c2">ne2kBuffer</a> = 0x0<code> [static]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="ne2k_8c-source.html#l00050">50</a> of file <a class="el" href="ne2k_8c-source.html">ne2k.c</a>. <p> Referenced by <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 5 23:35:01 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>