Newer
Older
UbixOS / doc / html / atkbd_8c.html
<!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/atkbd.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="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>atkbd.c File Reference</h1><code>#include &lt;<a class="el" href="atkbd_8h-source.html">isa/atkbd.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="video_8h-source.html">sys/video.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="gdt_8h-source.html">sys/gdt.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="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="types_8h-source.html">ubixos/types.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="sched_8h-source.html">ubixos/sched.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="endtask_8h-source.html">ubixos/endtask.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="tty_8h-source.html">ubixos/tty.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="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>

<p>
Include dependency graph for atkbd.c:<p><center><img src="atkbd_8c__incl.png" border="0" usemap="#src/sys/isa/atkbd.c_map" alt=""></center>
<map name="src/sys/isa/atkbd.c_map">
<area href="atkbd_8h.html" shape="rect" coords="222,6,318,32" alt="">
<area href="8259_8h.html" shape="rect" coords="583,56,676,83" alt="">
<area href="types_8h.html" shape="rect" coords="748,386,868,412" alt="">
<area href="video_8h.html" shape="rect" coords="400,158,499,184" alt="">
<area href="idt_8h.html" shape="rect" coords="231,208,308,235" alt="">
<area href="gdt_8h.html" shape="rect" coords="408,259,491,286" alt="">
<area href="io_8h.html" shape="rect" coords="234,310,306,336" alt="">
<area href="kmalloc_8h.html" shape="rect" coords="576,360,683,387" alt="">
<area href="kprintf_8h.html" shape="rect" coords="400,411,499,438" alt="">
<area href="sched_8h.html" shape="rect" coords="388,512,511,539" alt="">
<area href="tty_8h.html" shape="rect" coords="580,462,679,488" alt="">
<area href="endtask_8h.html" shape="rect" coords="202,563,338,590" alt="">
<area href="spinlock_8h.html" shape="rect" coords="560,614,699,640" alt="">
<area href="kpanic_8h.html" shape="rect" coords="206,664,334,691" alt="">
<area href="vitals_8h.html" shape="rect" coords="210,715,330,742" alt="">
</map>

<p>
<a href="atkbd_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="atkbd_8c.html#fc622530815adb3689baa71a13f61d6e">asm</a> (&quot;.globl atkbd_isr       \n&quot;&quot;atkbd_isr:             \n&quot;&quot;  pusha                \n&quot;&quot;  push %ss             \n&quot;&quot;  push %ds             \n&quot;&quot;  push %es             \n&quot;&quot;  push %<a class="el" href="structfs.html">fs</a>             \n&quot;&quot;  push %gs             \n&quot;&quot;  call keyboardHandler \n&quot;&quot;  <a class="el" href="ap-boot_8S.html#ede772866220799485f4da9fc06e759d">mov</a> $0x20,%dx        \n&quot;&quot;  mov $0x20,%ax        \n&quot;&quot;  outb %al,%dx         \n&quot;&quot;  pop %gs              \n&quot;&quot;  pop %fs              \n&quot;&quot;  pop %es              \n&quot;&quot;  pop %ds              \n&quot;&quot;  pop %ss              \n&quot;&quot;  popa                 \n&quot;&quot;  iret                 \n&quot;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="atkbd_8c.html#d67d988f6347d52a6dc9f28992521e37">atkbd_init</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="atkbd_8c.html#55bc6540b1b12c4eb0dd00877a2d68c5">atkbd_scan</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="atkbd_8c.html#9e32494b8c0797b73c41a50c698f0c04">getch</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="atkbd_8c.html#0a638d89ef3b126799ec1503c743a723">keyboardHandler</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="atkbd_8c.html#75680b4d84b721b03a3454677758a21e">setLED</a> ()</td></tr>

<tr><td colspan="2"><br><h2>Variables</h2></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="atkbd_8c.html#50761f7ef363e84e749457be8bf78eeb">atkbdSpinLock</a> = SPIN_LOCK_INITIALIZER</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="atkbd_8c.html#2ddb1c4b7754cef86c195c18c02179bc">controlKeys</a> = 0x0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="atkbd_8c.html#eaa34e9c084c565217b4345bc956757b">keyboardMap</a> [255][8]</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="atkbd_8c.html#2e46ce87b96fbf716a81841212705273">keyMap</a> = 0x0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="atkbd_8c.html#edc2079705488fa79315aa8d6eb336f7">ledStatus</a> = 0x0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="atkbd_8c.html#c6bb52f207cbdd0b9d2cf79efb5863b0">stdinBuffer</a> [512]</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="atkbd_8c.html#c33139c9cf451e903c587a3cc29cca30">stdinSize</a></td></tr>

</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="fc622530815adb3689baa71a13f61d6e"></a><!-- doxytag: member="atkbd.c::asm" ref="fc622530815adb3689baa71a13f61d6e" args="(&quot;.globl atkbd_isr       \n&quot;&quot;atkbd_isr:             \n&quot;&quot;  pusha                \n&quot;&quot;  push %ss             \n&quot;&quot;  push %ds             \n&quot;&quot;  push %es             \n&quot;&quot;  push %fs             \n&quot;&quot;  push %gs             \n&quot;&quot;  call keyboardHandler \n&quot;&quot;  mov $0x20,%dx        \n&quot;&quot;  mov $0x20,%ax        \n&quot;&quot;  outb %al,%dx         \n&quot;&quot;  pop %gs              \n&quot;&quot;  pop %fs              \n&quot;&quot;  pop %es              \n&quot;&quot;  pop %ds              \n&quot;&quot;  pop %ss              \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 atkbd_isr \n&quot;&quot;atkbd_isr: \n&quot;&quot; pusha \n&quot;&quot; push %ss \n&quot;&quot; push %ds \n&quot;&quot; push %es \n&quot;&quot; push %<a class="el" href="structfs.html">fs</a> \n&quot;&quot; push %gs \n&quot;&quot; call keyboardHandler \n&quot;&quot; <a class="el" href="ap-boot_8S.html#ede772866220799485f4da9fc06e759d">mov</a> $&nbsp;</td>
          <td class="paramname"> <em>0x20</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">%dx\n&quot;&quot;<a class="el" href="ap-boot_8S.html#ede772866220799485f4da9fc06e759d">mov</a> $&nbsp;</td>
          <td class="paramname"> <em>0x20</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">%<a class="el" href="ap-boot_8S.html#08d253679ac458c016096d60a93f93b3">ax</a>\n&quot;&quot;outb%&nbsp;</td>
          <td class="paramname"> <em>al</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">%dx\n&quot;&quot;pop%gs\n&quot;&quot;pop%<a class="el" href="structfs.html">fs</a>\n&quot;&quot;pop%es\n&quot;&quot;pop%ds\n&quot;&quot;pop%ss\n&quot;&quot;popa\n&quot;&quot;iret\n&quot;&nbsp;</td>
          <td class="paramname"></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>

</div>
</div><p>
<a class="anchor" name="d67d988f6347d52a6dc9f28992521e37"></a><!-- doxytag: member="atkbd.c::atkbd_init" ref="d67d988f6347d52a6dc9f28992521e37" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int atkbd_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="atkbd_8c-source.html#l00157">157</a> of file <a class="el" href="atkbd_8c-source.html">atkbd.c</a>.
<p>
References <a class="el" href="atkbd_8h.html#583a241acfdbcbe82f25db0f95b0c92d">atkbd_isr()</a>, <a class="el" href="atkbd_8c-source.html#l00203">atkbd_scan()</a>, <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="gdt_8h-source.html#l00048">dPresent</a>, <a class="el" href="8259_8h.html#0ac079c4d770f02e505f4d8569a6960a">irqEnable()</a>, <a class="el" href="kprintf_8c-source.html#l00038">kprintf()</a>, <a class="el" href="8259_8h-source.html#l00042">mVec</a>, <a class="el" href="atkbd_8c-source.html#l00321">setLED()</a>, <a class="el" href="idt_8c-source.html#l00156">setVector()</a>, <a class="el" href="atkbd_8c-source.html#l00050">stdinBuffer</a>, and <a class="el" href="ap-boot_8S-source.html#l00006">x1</a>.
<p>
Here is the call graph for this function:<p><center><img src="atkbd_8c_d67d988f6347d52a6dc9f28992521e37_cgraph.png" border="0" usemap="#atkbd_8c_d67d988f6347d52a6dc9f28992521e37_cgraph_map" alt=""></center>
<map name="atkbd_8c_d67d988f6347d52a6dc9f28992521e37_cgraph_map">
<area href="atkbd_8h.html#583a241acfdbcbe82f25db0f95b0c92d" shape="rect" coords="152,6,235,32" alt="">
<area href="atkbd_8c.html#55bc6540b1b12c4eb0dd00877a2d68c5" shape="rect" coords="144,56,243,83" alt="">
<area href="8259_8h.html#0ac079c4d770f02e505f4d8569a6960a" shape="rect" coords="151,158,236,184" alt="">
<area href="kprint_8h.html#b2761bdf0cca73ad0fb5880895210cd8" shape="rect" coords="160,208,227,235" alt="">
<area href="atkbd_8h.html#75680b4d84b721b03a3454677758a21e" shape="rect" coords="159,107,228,134" alt="">
<area href="idt_8h.html#174a47ed653fc64fff6b5bb1b895c2cf" shape="rect" coords="151,259,236,286" alt="">
<area href="io_8h.html#77b934268de1b3ecdcf3f275413b3108" shape="rect" coords="296,56,389,83" alt="">
<area href="io_8h.html#8acc1a06073db2e7b92ffbd00fbd0cf1" shape="rect" coords="292,107,393,134" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="55bc6540b1b12c4eb0dd00877a2d68c5"></a><!-- doxytag: member="atkbd.c::atkbd_scan" ref="55bc6540b1b12c4eb0dd00877a2d68c5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int atkbd_scan           </td>
          <td>(</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="atkbd_8c-source.html#l00203">203</a> of file <a class="el" href="atkbd_8c-source.html">atkbd.c</a>.
<p>
References <a class="el" href="io_8c-source.html#l00039">inportByte()</a>, and <a class="el" href="io_8c-source.html#l00073">outportByte()</a>.
<p>
Referenced by <a class="el" href="atkbd_8c-source.html#l00157">atkbd_init()</a>, and <a class="el" href="atkbd_8c-source.html#l00216">keyboardHandler()</a>.
<p>
Here is the call graph for this function:<p><center><img src="atkbd_8c_55bc6540b1b12c4eb0dd00877a2d68c5_cgraph.png" border="0" usemap="#atkbd_8c_55bc6540b1b12c4eb0dd00877a2d68c5_cgraph_map" alt=""></center>
<map name="atkbd_8c_55bc6540b1b12c4eb0dd00877a2d68c5_cgraph_map">
<area href="io_8h.html#77b934268de1b3ecdcf3f275413b3108" shape="rect" coords="157,5,251,32" alt="">
<area href="io_8h.html#8acc1a06073db2e7b92ffbd00fbd0cf1" shape="rect" coords="153,56,255,83" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="9e32494b8c0797b73c41a50c698f0c04"></a><!-- doxytag: member="atkbd.c::getch" ref="9e32494b8c0797b73c41a50c698f0c04" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char getch           </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="atkbd_8c-source.html#l00329">329</a> of file <a class="el" href="atkbd_8c-source.html">atkbd.c</a>.
<p>
References <a class="el" href="tty_8h-source.html#l00044">tty_termNode::stdin</a>, <a class="el" href="atkbd_8c-source.html#l00050">stdinBuffer</a>, <a class="el" href="tty_8h-source.html#l00045">tty_termNode::stdinSize</a>, <a class="el" href="atkbd_8c-source.html#l00051">stdinSize</a>, <a class="el" href="tty_8c-source.html#l00039">tty_foreground</a>, and <a class="el" href="ap-boot_8S-source.html#l00006">x1</a>.
<p>
Referenced by <a class="el" href="file_8c-source.html#l00059">sysFgetc()</a>.
</div>
</div><p>
<a class="anchor" name="0a638d89ef3b126799ec1503c743a723"></a><!-- doxytag: member="atkbd.c::keyboardHandler" ref="0a638d89ef3b126799ec1503c743a723" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void keyboardHandler           </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="atkbd_8c-source.html#l00216">216</a> of file <a class="el" href="atkbd_8c-source.html">atkbd.c</a>.
<p>
References <a class="el" href="atkbd_8h-source.html#l00035">altKey</a>, <a class="el" href="atkbd_8c-source.html#l00203">atkbd_scan()</a>, <a class="el" href="atkbd_8c-source.html#l00054">atkbdSpinLock</a>, <a class="el" href="video_8c-source.html#l00040">backSpace()</a>, <a class="el" href="atkbd_8h-source.html#l00034">controlKey</a>, <a class="el" href="atkbd_8c-source.html#l00052">controlKeys</a>, <a class="el" href="vitals_8h-source.html#l00044">vitalsStruct::freePages</a>, <a class="el" href="io_8c-source.html#l00039">inportByte()</a>, <a class="el" href="kpanic_8h-source.html#l00033">K_PANIC</a>, <a class="el" href="atkbd_8c-source.html#l00056">keyboardMap</a>, <a class="el" href="atkbd_8c-source.html#l00048">keyMap</a>, <a class="el" href="kprintf_8c-source.html#l00038">kprintf()</a>, <a class="el" href="atkbd_8h-source.html#l00038">ledCapslock</a>, <a class="el" href="atkbd_8h-source.html#l00036">ledNumlock</a>, <a class="el" href="atkbd_8h-source.html#l00037">ledScrolllock</a>, <a class="el" href="atkbd_8c-source.html#l00049">ledStatus</a>, <a class="el" href="io_8c-source.html#l00073">outportByte()</a>, <a class="el" href="atkbd_8c-source.html#l00321">setLED()</a>, <a class="el" href="atkbd_8h-source.html#l00033">shiftKey</a>, <a class="el" href="spinlock_8c-source.html#l00048">spinTryLock()</a>, <a class="el" href="spinlock_8c-source.html#l00037">spinUnlock()</a>, <a class="el" href="tty_8h-source.html#l00044">tty_termNode::stdin</a>, <a class="el" href="atkbd_8c-source.html#l00050">stdinBuffer</a>, <a class="el" href="tty_8h-source.html#l00045">tty_termNode::stdinSize</a>, <a class="el" href="atkbd_8c-source.html#l00051">stdinSize</a>, <a class="el" href="timer_8S-source.html#l00035">systemVitals</a>, <a class="el" href="tty_8c-source.html#l00087">tty_change()</a>, and <a class="el" href="tty_8c-source.html#l00039">tty_foreground</a>.
<p>
Here is the call graph for this function:<p><center><img src="atkbd_8c_0a638d89ef3b126799ec1503c743a723_cgraph.png" border="0" usemap="#atkbd_8c_0a638d89ef3b126799ec1503c743a723_cgraph_map" alt=""></center>
<map name="atkbd_8c_0a638d89ef3b126799ec1503c743a723_cgraph_map">
<area href="atkbd_8c.html#55bc6540b1b12c4eb0dd00877a2d68c5" shape="rect" coords="193,56,292,83" alt="">
<area href="io_8h.html#77b934268de1b3ecdcf3f275413b3108" shape="rect" coords="347,82,440,108" alt="">
<area href="io_8h.html#8acc1a06073db2e7b92ffbd00fbd0cf1" shape="rect" coords="343,158,444,184" alt="">
<area href="video_8h.html#05d079fd6b2d61320ad423e5c918903c" shape="rect" coords="195,107,291,134" alt="">
<area href="kprint_8h.html#b2761bdf0cca73ad0fb5880895210cd8" shape="rect" coords="505,259,572,286" alt="">
<area href="atkbd_8h.html#75680b4d84b721b03a3454677758a21e" shape="rect" coords="208,158,277,184" alt="">
<area href="spinlock_8h.html#8f9173fadeddafa01754d6cbcc630198" shape="rect" coords="193,360,292,387" alt="">
<area href="spinlock_8h.html#dd996cbbb3b9826dd9c8cf02b66a4c65" shape="rect" coords="195,411,291,438" alt="">
<area href="tty_8h.html#fb200d47095b1f878728403e9346cc33" shape="rect" coords="195,310,291,336" alt="">
<area href="kpanic_8h.html#db9a182aa071791a306163d50d653deb" shape="rect" coords="360,360,427,387" alt="">
<area href="lib_2string_8h.html#e33b18edb618c656b9b795b9fce2316c" shape="rect" coords="353,310,433,336" alt="">
<area href="8259_8h.html#2b9ec30943ddb0a2ef3bd7ccfd2026c0" shape="rect" coords="493,386,584,412" alt="">
<area href="stdarg_8h.html#621577c2df0ad5faa281223c56eeb7a5" shape="rect" coords="503,335,575,362" alt="">
<area href="vsprintf_8c.html#c2f4c669c6f6aa6caa5ab8adb1b07dd0" shape="rect" coords="636,310,711,336" alt="">
<area href="vsprintf_8c.html#3fa7c8ef8597579301cb4b5c59bc6d9a" shape="rect" coords="633,360,713,387" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="75680b4d84b721b03a3454677758a21e"></a><!-- doxytag: member="atkbd.c::setLED" ref="75680b4d84b721b03a3454677758a21e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setLED           </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="atkbd_8c-source.html#l00321">321</a> of file <a class="el" href="atkbd_8c-source.html">atkbd.c</a>.
<p>
References <a class="el" href="io_8c-source.html#l00039">inportByte()</a>, <a class="el" href="atkbd_8c-source.html#l00049">ledStatus</a>, and <a class="el" href="io_8c-source.html#l00073">outportByte()</a>.
<p>
Referenced by <a class="el" href="atkbd_8c-source.html#l00157">atkbd_init()</a>, and <a class="el" href="atkbd_8c-source.html#l00216">keyboardHandler()</a>.
<p>
Here is the call graph for this function:<p><center><img src="atkbd_8c_75680b4d84b721b03a3454677758a21e_cgraph.png" border="0" usemap="#atkbd_8c_75680b4d84b721b03a3454677758a21e_cgraph_map" alt=""></center>
<map name="atkbd_8c_75680b4d84b721b03a3454677758a21e_cgraph_map">
<area href="io_8h.html#77b934268de1b3ecdcf3f275413b3108" shape="rect" coords="128,5,221,32" alt="">
<area href="io_8h.html#8acc1a06073db2e7b92ffbd00fbd0cf1" shape="rect" coords="124,56,225,83" alt="">
</map>

</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="50761f7ef363e84e749457be8bf78eeb"></a><!-- doxytag: member="atkbd.c::atkbdSpinLock" ref="50761f7ef363e84e749457be8bf78eeb" 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="atkbd_8c.html#50761f7ef363e84e749457be8bf78eeb">atkbdSpinLock</a> = SPIN_LOCK_INITIALIZER<code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="atkbd_8c-source.html#l00054">54</a> of file <a class="el" href="atkbd_8c-source.html">atkbd.c</a>.
<p>
Referenced by <a class="el" href="atkbd_8c-source.html#l00216">keyboardHandler()</a>.
</div>
</div><p>
<a class="anchor" name="2ddb1c4b7754cef86c195c18c02179bc"></a><!-- doxytag: member="atkbd.c::controlKeys" ref="2ddb1c4b7754cef86c195c18c02179bc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a> <a class="el" href="atkbd_8c.html#2ddb1c4b7754cef86c195c18c02179bc">controlKeys</a> = 0x0<code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="atkbd_8c-source.html#l00052">52</a> of file <a class="el" href="atkbd_8c-source.html">atkbd.c</a>.
<p>
Referenced by <a class="el" href="atkbd_8c-source.html#l00216">keyboardHandler()</a>.
</div>
</div><p>
<a class="anchor" name="eaa34e9c084c565217b4345bc956757b"></a><!-- doxytag: member="atkbd.c::keyboardMap" ref="eaa34e9c084c565217b4345bc956757b" args="[255][8]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="atkbd_8c.html#eaa34e9c084c565217b4345bc956757b">keyboardMap</a>[255][8]<code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="atkbd_8c-source.html#l00056">56</a> of file <a class="el" href="atkbd_8c-source.html">atkbd.c</a>.
<p>
Referenced by <a class="el" href="atkbd_8c-source.html#l00216">keyboardHandler()</a>.
</div>
</div><p>
<a class="anchor" name="2e46ce87b96fbf716a81841212705273"></a><!-- doxytag: member="atkbd.c::keyMap" ref="2e46ce87b96fbf716a81841212705273" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="atkbd_8c.html#2e46ce87b96fbf716a81841212705273">keyMap</a> = 0x0<code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="atkbd_8c-source.html#l00048">48</a> of file <a class="el" href="atkbd_8c-source.html">atkbd.c</a>.
<p>
Referenced by <a class="el" href="atkbd_8c-source.html#l00216">keyboardHandler()</a>.
</div>
</div><p>
<a class="anchor" name="edc2079705488fa79315aa8d6eb336f7"></a><!-- doxytag: member="atkbd.c::ledStatus" ref="edc2079705488fa79315aa8d6eb336f7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="atkbd_8c.html#edc2079705488fa79315aa8d6eb336f7">ledStatus</a> = 0x0<code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="atkbd_8c-source.html#l00049">49</a> of file <a class="el" href="atkbd_8c-source.html">atkbd.c</a>.
<p>
Referenced by <a class="el" href="atkbd_8c-source.html#l00216">keyboardHandler()</a>, and <a class="el" href="atkbd_8c-source.html#l00321">setLED()</a>.
</div>
</div><p>
<a class="anchor" name="c6bb52f207cbdd0b9d2cf79efb5863b0"></a><!-- doxytag: member="atkbd.c::stdinBuffer" ref="c6bb52f207cbdd0b9d2cf79efb5863b0" args="[512]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char <a class="el" href="atkbd_8c.html#c6bb52f207cbdd0b9d2cf79efb5863b0">stdinBuffer</a>[512]<code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="atkbd_8c-source.html#l00050">50</a> of file <a class="el" href="atkbd_8c-source.html">atkbd.c</a>.
<p>
Referenced by <a class="el" href="atkbd_8c-source.html#l00157">atkbd_init()</a>, <a class="el" href="atkbd_8c-source.html#l00329">getch()</a>, and <a class="el" href="atkbd_8c-source.html#l00216">keyboardHandler()</a>.
</div>
</div><p>
<a class="anchor" name="c33139c9cf451e903c587a3cc29cca30"></a><!-- doxytag: member="atkbd.c::stdinSize" ref="c33139c9cf451e903c587a3cc29cca30" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a> <a class="el" href="atkbd_8c.html#c33139c9cf451e903c587a3cc29cca30">stdinSize</a><code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="atkbd_8c-source.html#l00051">51</a> of file <a class="el" href="atkbd_8c-source.html">atkbd.c</a>.
<p>
Referenced by <a class="el" href="atkbd_8c-source.html#l00329">getch()</a>, and <a class="el" href="atkbd_8c-source.html#l00216">keyboardHandler()</a>.
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 15 11:22:56 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>