Newer
Older
ubix2 / doc / html / ne2k_8c.html
@reddawg reddawg on 5 Dec 2006 30 KB More syscalls implimented
<!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&nbsp;Page</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li><a href="classes.html"><span>Data&nbsp;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>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</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&nbsp;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>&nbsp;&raquo&nbsp;<a class="el" href="dir_832905b1f7f5feaf61a306b40c0ac817.html">sys</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_2f8fc94d4f17c865dd63167e45dee9cf.html">isa</a></div>
<h1>ne2k.c File Reference</h1><code>#include &lt;<a class="el" href="ne2k_8h-source.html">isa/ne2k.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="8259_8h-source.html">isa/8259.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="device_8old_8h-source.html">sys/device.old.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="io_8h-source.html">sys/io.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="idt_8h-source.html">sys/idt.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="kmalloc_8h-source.html">lib/kmalloc.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="kprintf_8h-source.html">lib/kprintf.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="string_8h-source.html">string.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="kpanic_8h-source.html">ubixos/kpanic.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="vitals_8h-source.html">ubixos/vitals.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="spinlock_8h-source.html">ubixos/spinlock.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="assert_8h-source.html">assert.h</a>&gt;</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">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ne2k_8c.html#d2f71b50095121367bb6b0ed3181e89c">asm</a> (&quot;.globl ne2kISR         \n&quot;&quot;ne2kISR:               \n&quot;&quot;  pusha                \n&quot;&quot;  call ne2kHandler     \n&quot;&quot;  popa                 \n&quot;&quot;  iret                 \n&quot;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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> *&nbsp;</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&nbsp;</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> *&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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> *&nbsp;</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>&nbsp;</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> *&nbsp;</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="(&quot;.globl ne2kISR         \n&quot;&quot;ne2kISR:               \n&quot;&quot;  pusha                \n&quot;&quot;  call ne2kHandler     \n&quot;&quot;  popa                 \n&quot;&quot;  iret                 \n&quot;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">asm           </td>
          <td>(</td>
          <td class="paramtype">&quot;.globl ne2kISR \n&quot;&quot;ne2kISR: \n&quot;&quot; pusha \n&quot;&quot; call ne2kHandler \n&quot;&quot; popa \n&quot;&quot; iret \n&quot;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>dev</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>page</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</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> *&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>dev</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</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>&nbsp;</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>&nbsp;</td>
          <td class="paramname"> <em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>dst</em></td><td>&nbsp;</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>&nbsp;)&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>length</em>          </td>
          <td>&nbsp;)&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>buf</em>          </td>
          <td>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>dev</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>nic_addr</em></td><td>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>dev</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</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&nbsp;
<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>