Newer
Older
UbixOS / doc / html / file_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/vfs/file.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_366cae809cefebd9796e1be555536f38.html">vfs</a></div>
<h1>file.c File Reference</h1><code>#include &lt;<a class="el" href="vfs_8h-source.html">vfs/vfs.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="file_8h-source.html">vfs/file.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="vitals_8h-source.html">ubixos/vitals.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="spinlock_8h-source.html">ubixos/spinlock.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="lib_2string_8h-source.html">lib/string.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="paging_8h-source.html">vmm/paging.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="assert_8h-source.html">assert.h</a>&gt;</code><br>

<p>
Include dependency graph for file.c:<p><center><img src="file_8c__incl.png" border="0" usemap="#src/sys/vfs/file.c_map" alt=""></center>
<map name="src/sys/vfs/file.c_map">
<area href="vfs_8h.html" shape="rect" coords="395,57,472,84" alt="">
<area href="file_8h.html" shape="rect" coords="544,108,624,135" alt="">
<area href="sched_8h.html" shape="rect" coords="372,159,495,185" alt="">
<area href="vitals_8h.html" shape="rect" coords="193,57,313,84" alt="">
<area href="kpanic_8h.html" shape="rect" coords="189,209,317,236" alt="">
<area href="spinlock_8h.html" shape="rect" coords="184,260,323,287" alt="">
<area href="kmalloc_8h.html" shape="rect" coords="200,311,307,337" alt="">
<area href="lib_2string_8h.html" shape="rect" coords="207,361,300,388" alt="">
<area href="paging_8h.html" shape="rect" coords="193,412,313,439" alt="">
<area href="kprintf_8h.html" shape="rect" coords="204,463,303,489" alt="">
<area href="assert_8h.html" shape="rect" coords="216,513,291,540" alt="">
</map>

<p>
<a href="file_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">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#789959682f4ac8df2d89ea6450efda8b">fclose</a> (<a class="el" href="structfileDescriptorStruct.html">fileDescriptor</a> *fd)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#6745ded7e707449e4f248d86dc76da4f">feof</a> (<a class="el" href="structfileDescriptorStruct.html">fileDescriptor</a> *fd)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#dfedd6c658c329d13d5a90a7462f5979">fgetc</a> (<a class="el" href="structfileDescriptorStruct.html">fileDescriptor</a> *fd)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structfileDescriptorStruct.html">fileDescriptor</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#3c11b2679cf37c72b05eaab50c282e72">fopen</a> (const char *<a class="el" href="structfile.html">file</a>, const char *flags)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#c49e133f264f7aa16d63ba1f404be8ac">fputc</a> (int ch, <a class="el" href="structfileDescriptorStruct.html">fileDescriptor</a> *fd)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="types_8h.html#7619b847aeded8a6d14cbfa212b2cdfb">size_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#3b06878a03209e88c008c77234b89359">fread</a> (void *ptr, <a class="el" href="types_8h.html#7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> size, <a class="el" href="types_8h.html#7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> nmemb, <a class="el" href="structfileDescriptorStruct.html">fileDescriptor</a> *fd)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#9e0ce64b32581a1d0337031d9ca07dfb">fseek</a> (<a class="el" href="structfileDescriptorStruct.html">fileDescriptor</a> *tmpFd, long offset, int whence)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="types_8h.html#7619b847aeded8a6d14cbfa212b2cdfb">size_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#ca6c1e5b57dc9f5d8551b41ea98bfbb7">fwrite</a> (void *ptr, int size, int nmemb, <a class="el" href="structfileDescriptorStruct.html">fileDescriptor</a> *fd)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#911a71c3e0e08149a11b2b05a50b3b97">sysChDir</a> (const char *path)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#79ea7e7d939ab058bf2b53fdbfee42c6">sysFclose</a> (<a class="el" href="structuserFileDescriptorStruct.html">userFileDescriptor</a> *userFd, int *<a class="el" href="fdc_8c.html#e2746d1bf47d4f690105d083b966fa82">status</a>)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#04b3a6449e24cc27188e1f4b9a9d8225">sysFgetc</a> (int *ptr, <a class="el" href="structuserFileDescriptorStruct.html">userFileDescriptor</a> *userFd)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#11af8c48fc1b1a08d97e8082d553c143">sysFopen</a> (const char *<a class="el" href="structfile.html">file</a>, char *flags, <a class="el" href="structuserFileDescriptorStruct.html">userFileDescriptor</a> *userFd)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#58d31e6659ae90bb9a1a78e238110b08">sysFread</a> (void *data, long size, <a class="el" href="structuserFileDescriptorStruct.html">userFileDescriptor</a> *userFd)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#6ff1131020b7a50805dc848fcd9c03b2">sysFseek</a> (<a class="el" href="structuserFileDescriptorStruct.html">userFileDescriptor</a> *userFd, long offset, int whence)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#1a17e9753f6c9d2b34c35a2b2e7d240e">sysFwrite</a> (char *ptr, int size, <a class="el" href="structuserFileDescriptorStruct.html">userFileDescriptor</a> *userFd)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#81e426f86ee3d066c32986948fe3f6fd">sysMkDir</a> (const char *path)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#6db05e27ce2d54b4d2b5202c2d4282df">sysRmDir</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#331ab84f654750a2e7b3856f47be376f">sysUnlink</a> (const char *path, int *retVal)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#da4d877b19c34ce3137e0c35dab6e947">unlink</a> (const char *node)</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="structfileDescriptorStruct.html">fileDescriptor</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#51ba4d2a5ce81ca407a9446dde21b319">fdTable</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="file_8c.html#fa65d289bbbb969e9cffdb3620112989">fdTable_lock</a> = SPIN_LOCK_INITIALIZER</td></tr>

</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="789959682f4ac8df2d89ea6450efda8b"></a><!-- doxytag: member="file.c::fclose" ref="789959682f4ac8df2d89ea6450efda8b" args="(fileDescriptor *fd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int fclose           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structfileDescriptorStruct.html">fileDescriptor</a> *&nbsp;</td>
          <td class="paramname"> <em>fd</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="file_8c-source.html#l00398">398</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
<p>
References <a class="el" href="assert_8h-source.html#l00064">assert</a>, <a class="el" href="file_8h-source.html#l00057">fileDescriptorStruct::buffer</a>, <a class="el" href="file_8c-source.html#l00045">fdTable</a>, <a class="el" href="file_8c-source.html#l00042">fdTable_lock</a>, <a class="el" href="kmalloc_8c-source.html#l00351">kfree()</a>, <a class="el" href="file_8h-source.html#l00048">fileDescriptorStruct::next</a>, <a class="el" href="types_8h-source.html#l00036">NULL</a>, <a class="el" href="vitals_8h-source.html#l00039">vitalsStruct::openFiles</a>, <a class="el" href="file_8h-source.html#l00047">fileDescriptorStruct::prev</a>, <a class="el" href="spinlock_8c-source.html#l00056">spinLock()</a>, <a class="el" href="spinlock_8c-source.html#l00037">spinUnlock()</a>, <a class="el" href="timer_8S-source.html#l00035">systemVitals</a>, and <a class="el" href="ap-boot_8S-source.html#l00006">x1</a>.
<p>
Referenced by <a class="el" href="elf_8c-source.html#l00111">elf_loadfile()</a>, <a class="el" href="exec_8c-source.html#l00143">execFile()</a>, <a class="el" href="kmod_8c-source.html#l00075">kmod_load()</a>, <a class="el" href="ld_8c-source.html#l00042">ldEnable()</a>, <a class="el" href="exec_8c-source.html#l00552">sys_exec()</a>, <a class="el" href="exec_8c-source.html#l00334">sysExec()</a>, <a class="el" href="file_8c-source.html#l00157">sysFclose()</a>, <a class="el" href="file_8c-source.html#l00436">sysMkDir()</a>, and <a class="el" href="systemtask_8c-source.html#l00048">systemTask()</a>.
<p>
Here is the call graph for this function:<p><center><img src="file_8c_789959682f4ac8df2d89ea6450efda8b_cgraph.png" border="0" usemap="#file_8c_789959682f4ac8df2d89ea6450efda8b_cgraph_map" alt=""></center>
<map name="file_8c_789959682f4ac8df2d89ea6450efda8b_cgraph_map">
<area href="kmalloc_8h.html#aa9ed6886459604cf73ccdbf6410e487" shape="rect" coords="115,158,171,184" alt="">
<area href="spinlock_8h.html#2cd9a4502680fb8e7f0fe6b029e558b1" shape="rect" coords="240,208,320,235" alt="">
<area href="spinlock_8h.html#dd996cbbb3b9826dd9c8cf02b66a4c65" shape="rect" coords="232,259,328,286" alt="">
<area href="kmalloc_8c.html#eb1c3f1ef8eb9063c2e5c4af488dd2d0" shape="rect" coords="219,56,341,83" alt="">
<area href="kprint_8h.html#b2761bdf0cca73ad0fb5880895210cd8" shape="rect" coords="551,107,617,134" alt="">
<area href="lib_2string_8h.html#ce4b911463887af5e748326323e99a23" shape="rect" coords="241,158,319,184" alt="">
<area href="kpanic_8h.html#db9a182aa071791a306163d50d653deb" shape="rect" coords="407,56,473,83" alt="">
<area href="8259_8h.html#2b9ec30943ddb0a2ef3bd7ccfd2026c0" shape="rect" coords="539,6,629,32" alt="">
<area href="stdarg_8h.html#621577c2df0ad5faa281223c56eeb7a5" shape="rect" coords="548,56,620,83" alt="">
<area href="vsprintf_8c.html#c2f4c669c6f6aa6caa5ab8adb1b07dd0" shape="rect" coords="713,70,788,96" alt="">
<area href="vsprintf_8c.html#3fa7c8ef8597579301cb4b5c59bc6d9a" shape="rect" coords="711,19,791,46" alt="">
<area href="sched_8h.html#08933fe6d593a1c78b9080359f15a0b7" shape="rect" coords="389,183,491,210" alt="">
<area href="spinlock_8h.html#8f9173fadeddafa01754d6cbcc630198" shape="rect" coords="701,234,800,260" alt="">
<area href="sched_8h.html#549a0c1cc47933fa045b200690965cbd" shape="rect" coords="553,183,615,210" alt="">
<area href="sched_8h.html#e969273d772018d111e1f0344eb550f8" shape="rect" coords="677,183,824,210" alt="">
<area href="sched_8h.html#086cc0adc0b6a3860ceeeb5bc5ea94ea" shape="rect" coords="681,132,820,159" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="6745ded7e707449e4f248d86dc76da4f"></a><!-- doxytag: member="file.c::feof" ref="6745ded7e707449e4f248d86dc76da4f" args="(fileDescriptor *fd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int feof           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structfileDescriptorStruct.html">fileDescriptor</a> *&nbsp;</td>
          <td class="paramname"> <em>fd</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="file_8c-source.html#l00220">220</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
<p>
References <a class="el" href="vfs_8h-source.html#l00043">fdEof</a>, and <a class="el" href="file_8h-source.html#l00050">fileDescriptorStruct::status</a>.
</div>
</div><p>
<a class="anchor" name="dfedd6c658c329d13d5a90a7462f5979"></a><!-- doxytag: member="file.c::fgetc" ref="dfedd6c658c329d13d5a90a7462f5979" args="(fileDescriptor *fd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int fgetc           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structfileDescriptorStruct.html">fileDescriptor</a> *&nbsp;</td>
          <td class="paramname"> <em>fd</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="file_8c-source.html#l00251">251</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
<p>
References <a class="el" href="mount_8h-source.html#l00038">vfs_mountPoint::fs</a>, <a class="el" href="file_8h-source.html#l00049">fileDescriptorStruct::mp</a>, <a class="el" href="file_8h-source.html#l00052">fileDescriptorStruct::offset</a>, and <a class="el" href="structfileSystem.html#c5639f8b5425e84b0e25b183f18dbb7a">fileSystem::vfsRead</a>.
<p>
Referenced by <a class="el" href="file_8c-source.html#l00059">sysFgetc()</a>.
</div>
</div><p>
<a class="anchor" name="3c11b2679cf37c72b05eaab50c282e72"></a><!-- doxytag: member="file.c::fopen" ref="3c11b2679cf37c72b05eaab50c282e72" args="(const char *file, const char *flags)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structfileDescriptorStruct.html">fileDescriptor</a>* fopen           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>flags</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="file_8c-source.html#l00274">274</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
<p>
References <a class="el" href="file_8h-source.html#l00057">fileDescriptorStruct::buffer</a>, <a class="el" href="vfs_8h-source.html#l00041">fdOpen</a>, <a class="el" href="file_8c-source.html#l00045">fdTable</a>, <a class="el" href="file_8c-source.html#l00042">fdTable_lock</a>, <a class="el" href="vfs_8h-source.html#l00049">fileAppend</a>, <a class="el" href="vfs_8h-source.html#l00048">fileBinary</a>, <a class="el" href="file_8h-source.html#l00056">fileDescriptorStruct::fileName</a>, <a class="el" href="vfs_8h-source.html#l00046">fileRead</a>, <a class="el" href="vfs_8h-source.html#l00047">fileWrite</a>, <a class="el" href="mount_8h-source.html#l00038">vfs_mountPoint::fs</a>, <a class="el" href="kmalloc_8c-source.html#l00351">kfree()</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="file_8h-source.html#l00051">fileDescriptorStruct::mode</a>, <a class="el" href="file_8h-source.html#l00049">fileDescriptorStruct::mp</a>, <a class="el" href="file_8h-source.html#l00048">fileDescriptorStruct::next</a>, <a class="el" href="types_8h-source.html#l00036">NULL</a>, <a class="el" href="file_8h-source.html#l00052">fileDescriptorStruct::offset</a>, <a class="el" href="vitals_8h-source.html#l00039">vitalsStruct::openFiles</a>, <a class="el" href="file_8h-source.html#l00047">fileDescriptorStruct::prev</a>, <a class="el" href="spinlock_8c-source.html#l00056">spinLock()</a>, <a class="el" href="spinlock_8c-source.html#l00037">spinUnlock()</a>, <a class="el" href="kprintf_8c-source.html#l00051">sprintf()</a>, <a class="el" href="file_8h-source.html#l00050">fileDescriptorStruct::status</a>, <a class="el" href="strcpy_8S-source.html#l00003">strcpy</a>, <a class="el" href="string_8c-source.html#l00118">strstr()</a>, <a class="el" href="strtok_8c-source.html#l00074">strtok()</a>, <a class="el" href="timer_8S-source.html#l00035">systemVitals</a>, <a class="el" href="mount_8c-source.html#l00132">vfs_findMount()</a>, and <a class="el" href="structfileSystem.html#0fdae1689e7c9d514c635f790b11635d">fileSystem::vfsOpenFile</a>.
<p>
Referenced by <a class="el" href="elf_8c-source.html#l00111">elf_loadfile()</a>, <a class="el" href="exec_8c-source.html#l00143">execFile()</a>, <a class="el" href="kmod_8c-source.html#l00075">kmod_load()</a>, <a class="el" href="ld_8c-source.html#l00042">ldEnable()</a>, <a class="el" href="exec_8c-source.html#l00552">sys_exec()</a>, <a class="el" href="vfs_8c-source.html#l00148">sys_open()</a>, <a class="el" href="exec_8c-source.html#l00334">sysExec()</a>, <a class="el" href="file_8c-source.html#l00122">sysFopen()</a>, and <a class="el" href="file_8c-source.html#l00436">sysMkDir()</a>.
<p>
Here is the call graph for this function:<p><center><img src="file_8c_3c11b2679cf37c72b05eaab50c282e72_cgraph.png" border="0" usemap="#file_8c_3c11b2679cf37c72b05eaab50c282e72_cgraph_map" alt=""></center>
<map name="file_8c_3c11b2679cf37c72b05eaab50c282e72_cgraph_map">
<area href="kmalloc_8h.html#aa9ed6886459604cf73ccdbf6410e487" shape="rect" coords="146,508,202,535" alt="">
<area href="kprint_8h.html#b2761bdf0cca73ad0fb5880895210cd8" shape="rect" coords="703,533,770,560" alt="">
<area href="spinlock_8h.html#2cd9a4502680fb8e7f0fe6b029e558b1" shape="rect" coords="696,331,776,357" alt="">
<area href="spinlock_8h.html#dd996cbbb3b9826dd9c8cf02b66a4c65" shape="rect" coords="688,128,784,155" alt="">
<area href="kmalloc_8h.html#150eab2ac4ce4553e21ca10e7f441762" shape="rect" coords="136,356,211,383" alt="">
<area href="lib_2string_8h.html#c38cd16373d98782e1465bd3d5aba470" shape="rect" coords="142,736,206,763" alt="">
<area href="lib_2string_8h.html#dcec9a82a6a276e8edb0fd4fc26fe8f2" shape="rect" coords="146,787,202,813" alt="">
<area href="lib_2string_8h.html#9af7251f0c1b875e0e34b8e2b94dda39" shape="rect" coords="143,837,204,864" alt="">
<area href="mount_8h.html#a8cc926aa9badb781158b6738b1b0f2d" shape="rect" coords="115,888,232,915" alt="">
<area href="kmalloc_8c.html#eb1c3f1ef8eb9063c2e5c4af488dd2d0" shape="rect" coords="280,381,403,408" alt="">
<area href="lib_2string_8h.html#ce4b911463887af5e748326323e99a23" shape="rect" coords="507,432,584,459" alt="">
<area href="kpanic_8h.html#db9a182aa071791a306163d50d653deb" shape="rect" coords="512,381,579,408" alt="">
<area href="sched_8h.html#08933fe6d593a1c78b9080359f15a0b7" shape="rect" coords="832,305,934,332" alt="">
<area href="spinlock_8h.html#8f9173fadeddafa01754d6cbcc630198" shape="rect" coords="834,356,932,383" alt="">
<area href="kmalloc_8c.html#f6c4ea5cb961c72548d92ff65d7e33a4" shape="rect" coords="282,280,402,307" alt="">
<area href="paging_8h.html#541f0b43826a40b9e978f5479080bb0e" shape="rect" coords="451,229,640,256" alt="">
<area href="lib_2string_8h.html#db3227f852046ace07342303d3e87c78" shape="rect" coords="303,787,380,813" alt="">
<area href="lib_2string_8h.html#1fd91a5c8419dbcadcf759283511b6d5" shape="rect" coords="306,837,378,864" alt="">
<area href="lib_2string_8h.html#6f3dcb20ff11ff9db5904c3cfb61a38c" shape="rect" coords="308,888,375,915" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="c49e133f264f7aa16d63ba1f404be8ac"></a><!-- doxytag: member="file.c::fputc" ref="c49e133f264f7aa16d63ba1f404be8ac" args="(int ch, fileDescriptor *fd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int fputc           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ch</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structfileDescriptorStruct.html">fileDescriptor</a> *&nbsp;</td>
          <td class="paramname"> <em>fd</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="file_8c-source.html#l00234">234</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
<p>
References <a class="el" href="mount_8h-source.html#l00038">vfs_mountPoint::fs</a>, <a class="el" href="file_8h-source.html#l00049">fileDescriptorStruct::mp</a>, <a class="el" href="file_8h-source.html#l00052">fileDescriptorStruct::offset</a>, and <a class="el" href="structfileSystem.html#0a4a469c38583399be85b1b9d63875c3">fileSystem::vfsWrite</a>.
</div>
</div><p>
<a class="anchor" name="3b06878a03209e88c008c77234b89359"></a><!-- doxytag: member="file.c::fread" ref="3b06878a03209e88c008c77234b89359" args="(void *ptr, size_t size, size_t nmemb, fileDescriptor *fd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="types_8h.html#7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> fread           </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="types_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"><a class="el" href="types_8h.html#7619b847aeded8a6d14cbfa212b2cdfb">size_t</a>&nbsp;</td>
          <td class="paramname"> <em>nmemb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structfileDescriptorStruct.html">fileDescriptor</a> *&nbsp;</td>
          <td class="paramname"> <em>fd</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="file_8c-source.html#l00178">178</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
<p>
References <a class="el" href="assert_8h-source.html#l00064">assert</a>, <a class="el" href="mount_8h-source.html#l00038">vfs_mountPoint::fs</a>, <a class="el" href="file_8h-source.html#l00049">fileDescriptorStruct::mp</a>, <a class="el" href="file_8h-source.html#l00052">fileDescriptorStruct::offset</a>, and <a class="el" href="structfileSystem.html#c5639f8b5425e84b0e25b183f18dbb7a">fileSystem::vfsRead</a>.
<p>
Referenced by <a class="el" href="elf_8c-source.html#l00111">elf_loadfile()</a>, <a class="el" href="exec_8c-source.html#l00143">execFile()</a>, <a class="el" href="kmod_8c-source.html#l00075">kmod_load()</a>, <a class="el" href="ld_8c-source.html#l00042">ldEnable()</a>, <a class="el" href="gen__calls_8c-source.html#l00125">read()</a>, <a class="el" href="exec_8c-source.html#l00552">sys_exec()</a>, <a class="el" href="exec_8c-source.html#l00334">sysExec()</a>, and <a class="el" href="file_8c-source.html#l00140">sysFread()</a>.
</div>
</div><p>
<a class="anchor" name="9e0ce64b32581a1d0337031d9ca07dfb"></a><!-- doxytag: member="file.c::fseek" ref="9e0ce64b32581a1d0337031d9ca07dfb" args="(fileDescriptor *tmpFd, long offset, int whence)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int fseek           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structfileDescriptorStruct.html">fileDescriptor</a> *&nbsp;</td>
          <td class="paramname"> <em>tmpFd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>whence</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="file_8c-source.html#l00208">208</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
<p>
References <a class="el" href="file_8h-source.html#l00052">fileDescriptorStruct::offset</a>.
<p>
Referenced by <a class="el" href="elf_8c-source.html#l00111">elf_loadfile()</a>, <a class="el" href="exec_8c-source.html#l00143">execFile()</a>, <a class="el" href="kmod_8c-source.html#l00075">kmod_load()</a>, <a class="el" href="ld_8c-source.html#l00042">ldEnable()</a>, <a class="el" href="exec_8c-source.html#l00552">sys_exec()</a>, and <a class="el" href="exec_8c-source.html#l00334">sysExec()</a>.
</div>
</div><p>
<a class="anchor" name="ca6c1e5b57dc9f5d8551b41ea98bfbb7"></a><!-- doxytag: member="file.c::fwrite" ref="ca6c1e5b57dc9f5d8551b41ea98bfbb7" args="(void *ptr, int size, int nmemb, fileDescriptor *fd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="types_8h.html#7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> fwrite           </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>nmemb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structfileDescriptorStruct.html">fileDescriptor</a> *&nbsp;</td>
          <td class="paramname"> <em>fd</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="file_8c-source.html#l00200">200</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
<p>
References <a class="el" href="mount_8h-source.html#l00038">vfs_mountPoint::fs</a>, <a class="el" href="file_8h-source.html#l00049">fileDescriptorStruct::mp</a>, <a class="el" href="file_8h-source.html#l00052">fileDescriptorStruct::offset</a>, and <a class="el" href="structfileSystem.html#0a4a469c38583399be85b1b9d63875c3">fileSystem::vfsWrite</a>.
<p>
Referenced by <a class="el" href="file_8c-source.html#l00049">sysFwrite()</a>.
</div>
</div><p>
<a class="anchor" name="911a71c3e0e08149a11b2b05a50b3b97"></a><!-- doxytag: member="file.c::sysChDir" ref="911a71c3e0e08149a11b2b05a50b3b97" args="(const char *path)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sysChDir           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>path</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="file_8c-source.html#l00102">102</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
<p>
References <a class="el" href="sched_8c-source.html#l00051">_current</a>, <a class="el" href="sched_8h-source.html#l00051">osInfo::cwd</a>, <a class="el" href="sched_8h-source.html#l00060">taskStruct::oInfo</a>, <a class="el" href="kprintf_8c-source.html#l00051">sprintf()</a>, and <a class="el" href="string_8c-source.html#l00118">strstr()</a>.
<p>
Here is the call graph for this function:<p><center><img src="file_8c_911a71c3e0e08149a11b2b05a50b3b97_cgraph.png" border="0" usemap="#file_8c_911a71c3e0e08149a11b2b05a50b3b97_cgraph_map" alt=""></center>
<map name="file_8c_911a71c3e0e08149a11b2b05a50b3b97_cgraph_map">
<area href="lib_2string_8h.html#c38cd16373d98782e1465bd3d5aba470" shape="rect" coords="137,5,201,32" alt="">
<area href="lib_2string_8h.html#dcec9a82a6a276e8edb0fd4fc26fe8f2" shape="rect" coords="141,56,197,83" alt="">
<area href="lib_2string_8h.html#db3227f852046ace07342303d3e87c78" shape="rect" coords="251,56,328,83" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="79ea7e7d939ab058bf2b53fdbfee42c6"></a><!-- doxytag: member="file.c::sysFclose" ref="79ea7e7d939ab058bf2b53fdbfee42c6" args="(userFileDescriptor *userFd, int *status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sysFclose           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structuserFileDescriptorStruct.html">userFileDescriptor</a> *&nbsp;</td>
          <td class="paramname"> <em>userFd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>status</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="file_8c-source.html#l00157">157</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
<p>
References <a class="el" href="file_8c-source.html#l00398">fclose()</a>, <a class="el" href="file_8h-source.html#l00068">userFileDescriptorStruct::fd</a>, and <a class="el" href="types_8h-source.html#l00036">NULL</a>.
<p>
Here is the call graph for this function:<p><center><img src="file_8c_79ea7e7d939ab058bf2b53fdbfee42c6_cgraph.png" border="0" usemap="#file_8c_79ea7e7d939ab058bf2b53fdbfee42c6_cgraph_map" alt=""></center>
<map name="file_8c_79ea7e7d939ab058bf2b53fdbfee42c6_cgraph_map">
<area href="file_8h.html#872c22366b4c63f4bdb10cd3b7980b11" shape="rect" coords="141,208,203,235" alt="">
<area href="kmalloc_8h.html#aa9ed6886459604cf73ccdbf6410e487" shape="rect" coords="251,158,307,184" alt="">
<area href="spinlock_8h.html#2cd9a4502680fb8e7f0fe6b029e558b1" shape="rect" coords="376,208,456,235" alt="">
<area href="spinlock_8h.html#dd996cbbb3b9826dd9c8cf02b66a4c65" shape="rect" coords="368,259,464,286" alt="">
<area href="kmalloc_8c.html#eb1c3f1ef8eb9063c2e5c4af488dd2d0" shape="rect" coords="355,56,477,83" alt="">
<area href="kprint_8h.html#b2761bdf0cca73ad0fb5880895210cd8" shape="rect" coords="687,107,753,134" alt="">
<area href="lib_2string_8h.html#ce4b911463887af5e748326323e99a23" shape="rect" coords="377,158,455,184" alt="">
<area href="kpanic_8h.html#db9a182aa071791a306163d50d653deb" shape="rect" coords="543,56,609,83" alt="">
<area href="8259_8h.html#2b9ec30943ddb0a2ef3bd7ccfd2026c0" shape="rect" coords="675,6,765,32" alt="">
<area href="stdarg_8h.html#621577c2df0ad5faa281223c56eeb7a5" shape="rect" coords="684,56,756,83" alt="">
<area href="vsprintf_8c.html#c2f4c669c6f6aa6caa5ab8adb1b07dd0" shape="rect" coords="849,70,924,96" alt="">
<area href="vsprintf_8c.html#3fa7c8ef8597579301cb4b5c59bc6d9a" shape="rect" coords="847,19,927,46" alt="">
<area href="sched_8h.html#08933fe6d593a1c78b9080359f15a0b7" shape="rect" coords="525,183,627,210" alt="">
<area href="spinlock_8h.html#8f9173fadeddafa01754d6cbcc630198" shape="rect" coords="837,234,936,260" alt="">
<area href="sched_8h.html#549a0c1cc47933fa045b200690965cbd" shape="rect" coords="689,183,751,210" alt="">
<area href="sched_8h.html#e969273d772018d111e1f0344eb550f8" shape="rect" coords="813,183,960,210" alt="">
<area href="sched_8h.html#086cc0adc0b6a3860ceeeb5bc5ea94ea" shape="rect" coords="817,132,956,159" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="04b3a6449e24cc27188e1f4b9a9d8225"></a><!-- doxytag: member="file.c::sysFgetc" ref="04b3a6449e24cc27188e1f4b9a9d8225" args="(int *ptr, userFileDescriptor *userFd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sysFgetc           </td>
          <td>(</td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structuserFileDescriptorStruct.html">userFileDescriptor</a> *&nbsp;</td>
          <td class="paramname"> <em>userFd</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="file_8c-source.html#l00059">59</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
<p>
References <a class="el" href="sched_8c-source.html#l00051">_current</a>, <a class="el" href="file_8h-source.html#l00068">userFileDescriptorStruct::fd</a>, <a class="el" href="file_8c-source.html#l00251">fgetc()</a>, <a class="el" href="atkbd_8c-source.html#l00329">getch()</a>, <a class="el" href="sched_8c-source.html#l00259">sched_yield()</a>, <a class="el" href="sched_8h-source.html#l00066">taskStruct::term</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="file_8c_04b3a6449e24cc27188e1f4b9a9d8225_cgraph.png" border="0" usemap="#file_8c_04b3a6449e24cc27188e1f4b9a9d8225_cgraph_map" alt=""></center>
<map name="file_8c_04b3a6449e24cc27188e1f4b9a9d8225_cgraph_map">
<area href="file_8h.html#dfedd6c658c329d13d5a90a7462f5979" shape="rect" coords="159,5,215,32" alt="">
<area href="atkbd_8c.html#9e32494b8c0797b73c41a50c698f0c04" shape="rect" coords="157,56,216,83" alt="">
<area href="sched_8h.html#08933fe6d593a1c78b9080359f15a0b7" shape="rect" coords="136,107,237,133" alt="">
<area href="sched_8h.html#549a0c1cc47933fa045b200690965cbd" shape="rect" coords="287,107,348,133" alt="">
<area href="sched_8h.html#e969273d772018d111e1f0344eb550f8" shape="rect" coords="397,56,544,83" alt="">
<area href="sched_8h.html#086cc0adc0b6a3860ceeeb5bc5ea94ea" shape="rect" coords="401,107,540,133" alt="">
<area href="spinlock_8h.html#8f9173fadeddafa01754d6cbcc630198" shape="rect" coords="421,157,520,184" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="11af8c48fc1b1a08d97e8082d553c143"></a><!-- doxytag: member="file.c::sysFopen" ref="11af8c48fc1b1a08d97e8082d553c143" args="(const char *file, char *flags, userFileDescriptor *userFd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sysFopen           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structuserFileDescriptorStruct.html">userFileDescriptor</a> *&nbsp;</td>
          <td class="paramname"> <em>userFd</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="file_8c-source.html#l00122">122</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
<p>
References <a class="el" href="file_8h-source.html#l00068">userFileDescriptorStruct::fd</a>, <a class="el" href="file_8h-source.html#l00069">userFileDescriptorStruct::fdSize</a>, <a class="el" href="file_8c-source.html#l00274">fopen()</a>, <a class="el" href="kprintf_8c-source.html#l00038">kprintf()</a>, <a class="el" href="types_8h-source.html#l00036">NULL</a>, and <a class="el" href="file_8h-source.html#l00053">fileDescriptorStruct::size</a>.
<p>
Here is the call graph for this function:<p><center><img src="file_8c_11af8c48fc1b1a08d97e8082d553c143_cgraph.png" border="0" usemap="#file_8c_11af8c48fc1b1a08d97e8082d553c143_cgraph_map" alt=""></center>
<map name="file_8c_11af8c48fc1b1a08d97e8082d553c143_cgraph_map">
<area href="file_8h.html#d6a41ac88a7d46d574e8a675fdde136c" shape="rect" coords="139,348,200,375" alt="">
<area href="kprint_8h.html#b2761bdf0cca73ad0fb5880895210cd8" shape="rect" coords="441,157,508,184" alt="">
<area href="kmalloc_8h.html#aa9ed6886459604cf73ccdbf6410e487" shape="rect" coords="279,284,335,311" alt="">
<area href="spinlock_8h.html#2cd9a4502680fb8e7f0fe6b029e558b1" shape="rect" coords="592,259,672,285" alt="">
<area href="spinlock_8h.html#dd996cbbb3b9826dd9c8cf02b66a4c65" shape="rect" coords="584,512,680,539" alt="">
<area href="kmalloc_8h.html#150eab2ac4ce4553e21ca10e7f441762" shape="rect" coords="269,385,344,412" alt="">
<area href="lib_2string_8h.html#c38cd16373d98782e1465bd3d5aba470" shape="rect" coords="275,588,339,615" alt="">
<area href="lib_2string_8h.html#dcec9a82a6a276e8edb0fd4fc26fe8f2" shape="rect" coords="279,639,335,665" alt="">
<area href="lib_2string_8h.html#9af7251f0c1b875e0e34b8e2b94dda39" shape="rect" coords="276,689,337,716" alt="">
<area href="mount_8h.html#a8cc926aa9badb781158b6738b1b0f2d" shape="rect" coords="248,56,365,83" alt="">
<area href="kmalloc_8c.html#eb1c3f1ef8eb9063c2e5c4af488dd2d0" shape="rect" coords="413,360,536,387" alt="">
<area href="lib_2string_8h.html#ce4b911463887af5e748326323e99a23" shape="rect" coords="593,411,671,437" alt="">
<area href="kmalloc_8c.html#f6c4ea5cb961c72548d92ff65d7e33a4" shape="rect" coords="415,461,535,488" alt="">
<area href="lib_2string_8h.html#db3227f852046ace07342303d3e87c78" shape="rect" coords="436,639,513,665" alt="">
<area href="lib_2string_8h.html#1fd91a5c8419dbcadcf759283511b6d5" shape="rect" coords="439,689,511,716" alt="">
<area href="lib_2string_8h.html#6f3dcb20ff11ff9db5904c3cfb61a38c" shape="rect" coords="441,56,508,83" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="58d31e6659ae90bb9a1a78e238110b08"></a><!-- doxytag: member="file.c::sysFread" ref="58d31e6659ae90bb9a1a78e238110b08" args="(void *data, long size, userFileDescriptor *userFd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sysFread           </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structuserFileDescriptorStruct.html">userFileDescriptor</a> *&nbsp;</td>
          <td class="paramname"> <em>userFd</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="file_8c-source.html#l00140">140</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
<p>
References <a class="el" href="file_8h-source.html#l00068">userFileDescriptorStruct::fd</a>, <a class="el" href="file_8c-source.html#l00178">fread()</a>, and <a class="el" href="types_8h-source.html#l00036">NULL</a>.
<p>
Here is the call graph for this function:<p><center><img src="file_8c_58d31e6659ae90bb9a1a78e238110b08_cgraph.png" border="0" usemap="#file_8c_58d31e6659ae90bb9a1a78e238110b08_cgraph_map" alt=""></center>
<map name="file_8c_58d31e6659ae90bb9a1a78e238110b08_cgraph_map">
<area href="file_8h.html#3b06878a03209e88c008c77234b89359" shape="rect" coords="137,5,193,32" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="6ff1131020b7a50805dc848fcd9c03b2"></a><!-- doxytag: member="file.c::sysFseek" ref="6ff1131020b7a50805dc848fcd9c03b2" args="(userFileDescriptor *userFd, long offset, int whence)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sysFseek           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structuserFileDescriptorStruct.html">userFileDescriptor</a> *&nbsp;</td>
          <td class="paramname"> <em>userFd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>whence</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="file_8c-source.html#l00092">92</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
<p>
References <a class="el" href="file_8h-source.html#l00068">userFileDescriptorStruct::fd</a>, <a class="el" href="types_8h-source.html#l00036">NULL</a>, and <a class="el" href="file_8h-source.html#l00052">fileDescriptorStruct::offset</a>.
</div>
</div><p>
<a class="anchor" name="1a17e9753f6c9d2b34c35a2b2e7d240e"></a><!-- doxytag: member="file.c::sysFwrite" ref="1a17e9753f6c9d2b34c35a2b2e7d240e" args="(char *ptr, int size, userFileDescriptor *userFd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sysFwrite           </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structuserFileDescriptorStruct.html">userFileDescriptor</a> *&nbsp;</td>
          <td class="paramname"> <em>userFd</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="file_8c-source.html#l00049">49</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
<p>
References <a class="el" href="sched_8c-source.html#l00051">_current</a>, <a class="el" href="file_8h-source.html#l00068">userFileDescriptorStruct::fd</a>, <a class="el" href="file_8c-source.html#l00200">fwrite()</a>, <a class="el" href="sched_8h-source.html#l00066">taskStruct::term</a>, and <a class="el" href="tty_8c-source.html#l00118">tty_print()</a>.
<p>
Here is the call graph for this function:<p><center><img src="file_8c_1a17e9753f6c9d2b34c35a2b2e7d240e_cgraph.png" border="0" usemap="#file_8c_1a17e9753f6c9d2b34c35a2b2e7d240e_cgraph_map" alt=""></center>
<map name="file_8c_1a17e9753f6c9d2b34c35a2b2e7d240e_cgraph_map">
<area href="file_8h.html#ca6c1e5b57dc9f5d8551b41ea98bfbb7" shape="rect" coords="149,31,208,57" alt="">
<area href="tty_8h.html#d96f57a7c113d3cfa76ee5fed6de33c0" shape="rect" coords="140,81,217,108" alt="">
<area href="io_8h.html#8acc1a06073db2e7b92ffbd00fbd0cf1" shape="rect" coords="268,31,369,57" alt="">
<area href="spinlock_8h.html#2cd9a4502680fb8e7f0fe6b029e558b1" shape="rect" coords="279,81,359,108" alt="">
<area href="spinlock_8h.html#dd996cbbb3b9826dd9c8cf02b66a4c65" shape="rect" coords="271,132,367,159" alt="">
<area href="sched_8h.html#08933fe6d593a1c78b9080359f15a0b7" shape="rect" coords="419,56,520,83" alt="">
<area href="spinlock_8h.html#8f9173fadeddafa01754d6cbcc630198" shape="rect" coords="704,107,803,133" alt="">
<area href="sched_8h.html#549a0c1cc47933fa045b200690965cbd" shape="rect" coords="569,56,631,83" alt="">
<area href="sched_8h.html#e969273d772018d111e1f0344eb550f8" shape="rect" coords="680,5,827,32" alt="">
<area href="sched_8h.html#086cc0adc0b6a3860ceeeb5bc5ea94ea" shape="rect" coords="684,56,823,83" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="81e426f86ee3d066c32986948fe3f6fd"></a><!-- doxytag: member="file.c::sysMkDir" ref="81e426f86ee3d066c32986948fe3f6fd" args="(const char *path)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sysMkDir           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>path</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="file_8c-source.html#l00436">436</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
<p>
References <a class="el" href="sched_8c-source.html#l00051">_current</a>, <a class="el" href="sched_8h-source.html#l00051">osInfo::cwd</a>, <a class="el" href="file_8c-source.html#l00398">fclose()</a>, <a class="el" href="file_8c-source.html#l00274">fopen()</a>, <a class="el" href="mount_8h-source.html#l00038">vfs_mountPoint::fs</a>, <a class="el" href="kprintf_8c-source.html#l00038">kprintf()</a>, <a class="el" href="file_8h-source.html#l00049">fileDescriptorStruct::mp</a>, <a class="el" href="types_8h-source.html#l00036">NULL</a>, <a class="el" href="sched_8h-source.html#l00060">taskStruct::oInfo</a>, <a class="el" href="kprintf_8c-source.html#l00051">sprintf()</a>, <a class="el" href="string_8c-source.html#l00118">strstr()</a>, <a class="el" href="strtok_8c-source.html#l00074">strtok()</a>, and <a class="el" href="structfileSystem.html#20da59647c97bc603d6d447984f335d7">fileSystem::vfsMakeDir</a>.
<p>
Here is the call graph for this function:<p><center><img src="file_8c_81e426f86ee3d066c32986948fe3f6fd_cgraph.png" border="0" usemap="#file_8c_81e426f86ee3d066c32986948fe3f6fd_cgraph_map" alt=""></center>
<map name="file_8c_81e426f86ee3d066c32986948fe3f6fd_cgraph_map">
<area href="file_8h.html#872c22366b4c63f4bdb10cd3b7980b11" shape="rect" coords="136,536,198,563" alt="">
<area href="kprint_8h.html#b2761bdf0cca73ad0fb5880895210cd8" shape="rect" coords="439,244,506,271" alt="">
<area href="file_8h.html#d6a41ac88a7d46d574e8a675fdde136c" shape="rect" coords="136,612,198,639" alt="">
<area href="lib_2string_8h.html#c38cd16373d98782e1465bd3d5aba470" shape="rect" coords="272,700,336,727" alt="">
<area href="lib_2string_8h.html#dcec9a82a6a276e8edb0fd4fc26fe8f2" shape="rect" coords="276,751,332,777" alt="">
<area href="lib_2string_8h.html#9af7251f0c1b875e0e34b8e2b94dda39" shape="rect" coords="274,801,335,828" alt="">
<area href="kmalloc_8h.html#aa9ed6886459604cf73ccdbf6410e487" shape="rect" coords="276,345,332,372" alt="">
<area href="spinlock_8h.html#2cd9a4502680fb8e7f0fe6b029e558b1" shape="rect" coords="590,143,670,169" alt="">
<area href="spinlock_8h.html#dd996cbbb3b9826dd9c8cf02b66a4c65" shape="rect" coords="582,497,678,524" alt="">
<area href="kmalloc_8c.html#eb1c3f1ef8eb9063c2e5c4af488dd2d0" shape="rect" coords="411,447,534,473" alt="">
<area href="lib_2string_8h.html#ce4b911463887af5e748326323e99a23" shape="rect" coords="591,269,668,296" alt="">
<area href="kmalloc_8h.html#150eab2ac4ce4553e21ca10e7f441762" shape="rect" coords="267,447,342,473" alt="">
<area href="mount_8h.html#a8cc926aa9badb781158b6738b1b0f2d" shape="rect" coords="246,599,363,625" alt="">
<area href="kmalloc_8c.html#f6c4ea5cb961c72548d92ff65d7e33a4" shape="rect" coords="412,345,532,372" alt="">
<area href="lib_2string_8h.html#db3227f852046ace07342303d3e87c78" shape="rect" coords="434,751,511,777" alt="">
<area href="lib_2string_8h.html#1fd91a5c8419dbcadcf759283511b6d5" shape="rect" coords="436,801,508,828" alt="">
<area href="lib_2string_8h.html#6f3dcb20ff11ff9db5904c3cfb61a38c" shape="rect" coords="439,599,506,625" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="6db05e27ce2d54b4d2b5202c2d4282df"></a><!-- doxytag: member="file.c::sysRmDir" ref="6db05e27ce2d54b4d2b5202c2d4282df" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sysRmDir           </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="file_8c-source.html#l00088">88</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
</div>
</div><p>
<a class="anchor" name="331ab84f654750a2e7b3856f47be376f"></a><!-- doxytag: member="file.c::sysUnlink" ref="331ab84f654750a2e7b3856f47be376f" args="(const char *path, int *retVal)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sysUnlink           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>retVal</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="file_8c-source.html#l00111">111</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
<p>
References <a class="el" href="file_8c-source.html#l00480">unlink()</a>.
<p>
Here is the call graph for this function:<p><center><img src="file_8c_331ab84f654750a2e7b3856f47be376f_cgraph.png" border="0" usemap="#file_8c_331ab84f654750a2e7b3856f47be376f_cgraph_map" alt=""></center>
<map name="file_8c_331ab84f654750a2e7b3856f47be376f_cgraph_map">
<area href="file_8h.html#28af9471bbdf262321af663e02899a47" shape="rect" coords="142,31,206,57" alt="">
<area href="lib_2string_8h.html#9af7251f0c1b875e0e34b8e2b94dda39" shape="rect" coords="282,5,343,32" alt="">
<area href="mount_8h.html#a8cc926aa9badb781158b6738b1b0f2d" shape="rect" coords="254,56,371,83" alt="">
<area href="lib_2string_8h.html#1fd91a5c8419dbcadcf759283511b6d5" shape="rect" coords="420,5,492,32" alt="">
<area href="lib_2string_8h.html#6f3dcb20ff11ff9db5904c3cfb61a38c" shape="rect" coords="423,56,490,83" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="da4d877b19c34ce3137e0c35dab6e947"></a><!-- doxytag: member="file.c::unlink" ref="da4d877b19c34ce3137e0c35dab6e947" args="(const char *node)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int unlink           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>node</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="file_8c-source.html#l00480">480</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
<p>
References <a class="el" href="mount_8h-source.html#l00038">vfs_mountPoint::fs</a>, <a class="el" href="mount_8h-source.html#l00043">vfs_mountPoint::mountPoint</a>, <a class="el" href="types_8h-source.html#l00036">NULL</a>, <a class="el" href="strtok_8c-source.html#l00074">strtok()</a>, <a class="el" href="mount_8c-source.html#l00132">vfs_findMount()</a>, and <a class="el" href="structfileSystem.html#215822943f3048f49e56579c11ca55d7">fileSystem::vfsUnlink</a>.
<p>
Referenced by <a class="el" href="file_8c-source.html#l00111">sysUnlink()</a>.
<p>
Here is the call graph for this function:<p><center><img src="file_8c_da4d877b19c34ce3137e0c35dab6e947_cgraph.png" border="0" usemap="#file_8c_da4d877b19c34ce3137e0c35dab6e947_cgraph_map" alt=""></center>
<map name="file_8c_da4d877b19c34ce3137e0c35dab6e947_cgraph_map">
<area href="lib_2string_8h.html#9af7251f0c1b875e0e34b8e2b94dda39" shape="rect" coords="146,5,207,32" alt="">
<area href="mount_8h.html#a8cc926aa9badb781158b6738b1b0f2d" shape="rect" coords="118,56,235,83" alt="">
<area href="lib_2string_8h.html#1fd91a5c8419dbcadcf759283511b6d5" shape="rect" coords="284,5,356,32" alt="">
<area href="lib_2string_8h.html#6f3dcb20ff11ff9db5904c3cfb61a38c" shape="rect" coords="287,56,354,83" alt="">
</map>

</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="51ba4d2a5ce81ca407a9446dde21b319"></a><!-- doxytag: member="file.c::fdTable" ref="51ba4d2a5ce81ca407a9446dde21b319" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structfileDescriptorStruct.html">fileDescriptor</a>* <a class="el" href="file_8c.html#51ba4d2a5ce81ca407a9446dde21b319">fdTable</a> = 0x0          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="file_8c-source.html#l00045">45</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
<p>
Referenced by <a class="el" href="file_8c-source.html#l00398">fclose()</a>, and <a class="el" href="file_8c-source.html#l00274">fopen()</a>.
</div>
</div><p>
<a class="anchor" name="fa65d289bbbb969e9cffdb3620112989"></a><!-- doxytag: member="file.c::fdTable_lock" ref="fa65d289bbbb969e9cffdb3620112989" 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="file_8c.html#fa65d289bbbb969e9cffdb3620112989">fdTable_lock</a> = SPIN_LOCK_INITIALIZER<code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="file_8c-source.html#l00042">42</a> of file <a class="el" href="file_8c-source.html">file.c</a>.
<p>
Referenced by <a class="el" href="file_8c-source.html#l00398">fclose()</a>, and <a class="el" href="file_8c-source.html#l00274">fopen()</a>.
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 15 11:26:12 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>