<!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 Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="classes.html"><span>Data Structures</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> <li> <form action="search.php" method="get"> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td><label> <u>S</u>earch for </label></td> <td><input type="text" name="query" value="" size="20" accesskey="s"/></td> </tr> </table> </form> </li> </ul></div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul></div> <div class="nav"> <a class="el" href="dir_897b6a2d7bab147dd1db58381aad3984.html">src</a> » <a class="el" href="dir_832905b1f7f5feaf61a306b40c0ac817.html">sys</a> » <a class="el" href="dir_366cae809cefebd9796e1be555536f38.html">vfs</a></div> <h1>file.c File Reference</h1><code>#include <<a class="el" href="include_2vfs_2vfs_8h-source.html">vfs/vfs.h</a>></code><br> <code>#include <<a class="el" href="include_2vfs_2file_8h-source.html">vfs/file.h</a>></code><br> <code>#include <<a class="el" href="sched_8h-source.html">ubixos/sched.h</a>></code><br> <code>#include <<a class="el" href="vitals_8h-source.html">ubixos/vitals.h</a>></code><br> <code>#include <<a class="el" href="kpanic_8h-source.html">ubixos/kpanic.h</a>></code><br> <code>#include <<a class="el" href="spinlock_8h-source.html">ubixos/spinlock.h</a>></code><br> <code>#include <<a class="el" href="kmalloc_8h-source.html">lib/kmalloc.h</a>></code><br> <code>#include <<a class="el" href="lib_2string_8h-source.html">lib/string.h</a>></code><br> <code>#include <<a class="el" href="paging_8h-source.html">vmm/paging.h</a>></code><br> <code>#include <<a class="el" href="kprintf_8h-source.html">lib/kprintf.h</a>></code><br> <code>#include <<a class="el" href="assert_8h-source.html">assert.h</a>></code><br> <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 </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#789959682f4ac8df2d89ea6450efda8b">fclose</a> (<a class="el" href="structfileDescriptor.html">fileDescriptor</a> *fd)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#6745ded7e707449e4f248d86dc76da4f">feof</a> (<a class="el" href="structfileDescriptor.html">fileDescriptor</a> *fd)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#dfedd6c658c329d13d5a90a7462f5979">fgetc</a> (<a class="el" href="structfileDescriptor.html">fileDescriptor</a> *fd)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structfileDescriptor.html">fileDescriptor</a> * </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#c49e133f264f7aa16d63ba1f404be8ac">fputc</a> (int ch, <a class="el" href="structfileDescriptor.html">fileDescriptor</a> *fd)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="include_2ubixos_2types_8h.html#7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#7ebe562131c18878316e5e0d9a6b8660">fread</a> (void *ptr, int size, int nmemb, <a class="el" href="structfileDescriptor.html">fileDescriptor</a> *fd)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8c.html#9e0ce64b32581a1d0337031d9ca07dfb">fseek</a> (<a class="el" href="structfileDescriptor.html">fileDescriptor</a> *tmpFd, long offset, int whence)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="include_2ubixos_2types_8h.html#7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </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="structfileDescriptor.html">fileDescriptor</a> *fd)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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="structfileDescriptor.html">fileDescriptor</a> * </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> </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="structfileDescriptor.html">fileDescriptor</a> * </td> <td class="paramname"> <em>fd</em> </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#l00396">396</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_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="ubixfsv2_2file_8h-source.html#l00008">fileDescriptor::next</a>, <a class="el" href="def_8h-source.html#l00041">NULL</a>, <a class="el" href="vitals_8h-source.html#l00039">vitalsStruct::openFiles</a>, <a class="el" href="ubixfsv2_2file_8h-source.html#l00007">fileDescriptor::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="ramdrive_8cpp-source.html#l00095">dev_ramDestroy()</a>, <a class="el" href="ramdrive_8cpp-source.html#l00066">dev_ramDrive()</a>, <a class="el" href="exec_8c-source.html#l00142">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="btree_8cpp-source.html#l00696">bTree::Save()</a>, <a class="el" href="exec_8c-source.html#l00333">sysExec()</a>, <a class="el" href="file_8c-source.html#l00157">sysFclose()</a>, <a class="el" href="file_8c-source.html#l00434">sysMkDir()</a>, and <a class="el" href="systemtask_8c-source.html#l00048">systemTask()</a>. </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="structfileDescriptor.html">fileDescriptor</a> * </td> <td class="paramname"> <em>fd</em> </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#l00213">213</a> of file <a class="el" href="file_8c-source.html">file.c</a>. <p> References <a class="el" href="include_2vfs_2vfs_8h-source.html#l00043">fdEof</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="structfileDescriptor.html">fileDescriptor</a> * </td> <td class="paramname"> <em>fd</em> </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#l00244">244</a> of file <a class="el" href="file_8c-source.html">file.c</a>. <p> References <a class="el" href="ubixfsv2_2file_8h-source.html#l00010">fileDescriptor::offset</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="structfileDescriptor.html">fileDescriptor</a>* fopen </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>file</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>flags</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="file_8c-source.html#l00267">267</a> of file <a class="el" href="file_8c-source.html">file.c</a>. <p> References <a class="el" href="include_2vfs_2vfs_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="include_2vfs_2vfs_8h-source.html#l00049">fileAppend</a>, <a class="el" href="include_2vfs_2vfs_8h-source.html#l00048">fileBinary</a>, <a class="el" href="include_2vfs_2vfs_8h-source.html#l00046">fileRead</a>, <a class="el" href="include_2vfs_2vfs_8h-source.html#l00047">fileWrite</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="ubixfsv2_2file_8h-source.html#l00008">fileDescriptor::next</a>, <a class="el" href="def_8h-source.html#l00041">NULL</a>, <a class="el" href="ubixfsv2_2file_8h-source.html#l00010">fileDescriptor::offset</a>, <a class="el" href="vitals_8h-source.html#l00039">vitalsStruct::openFiles</a>, <a class="el" href="ubixfsv2_2file_8h-source.html#l00007">fileDescriptor::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="string_8c-source.html#l00140">strstr()</a>, <a class="el" href="strtok_8c-source.html#l00074">strtok()</a>, <a class="el" href="timer_8S-source.html#l00035">systemVitals</a>, and <a class="el" href="mount_8c-source.html#l00132">vfs_findMount()</a>. <p> Referenced by <a class="el" href="ramdrive_8cpp-source.html#l00095">dev_ramDestroy()</a>, <a class="el" href="ramdrive_8cpp-source.html#l00066">dev_ramDrive()</a>, <a class="el" href="vfs_8cpp-source.html#l00004">DiskFS::DiskFS()</a>, <a class="el" href="exec_8c-source.html#l00142">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="btree_8cpp-source.html#l00696">bTree::Save()</a>, <a class="el" href="exec_8c-source.html#l00333">sysExec()</a>, <a class="el" href="file_8c-source.html#l00122">sysFopen()</a>, <a class="el" href="file_8c-source.html#l00434">sysMkDir()</a>, and <a class="el" href="tcpdump_8c-source.html#l00047">tcpdump_init()</a>. </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 </td> <td class="paramname"> <em>ch</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structfileDescriptor.html">fileDescriptor</a> * </td> <td class="paramname"> <em>fd</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="file_8c-source.html#l00227">227</a> of file <a class="el" href="file_8c-source.html">file.c</a>. <p> References <a class="el" href="ubixfsv2_2file_8h-source.html#l00010">fileDescriptor::offset</a>. </div> </div><p> <a class="anchor" name="7ebe562131c18878316e5e0d9a6b8660"></a><!-- doxytag: member="file.c::fread" ref="7ebe562131c18878316e5e0d9a6b8660" 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="include_2ubixos_2types_8h.html#7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> fread </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"> <em>ptr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>nmemb</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structfileDescriptor.html">fileDescriptor</a> * </td> <td class="paramname"> <em>fd</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="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>, and <a class="el" href="ubixfsv2_2file_8h-source.html#l00010">fileDescriptor::offset</a>. <p> Referenced by <a class="el" href="ramdrive_8cpp-source.html#l00066">dev_ramDrive()</a>, <a class="el" href="exec_8c-source.html#l00142">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="vfs_8cpp-source.html#l00017">DiskFS::read()</a>, <a class="el" href="exec_8c-source.html#l00333">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="structfileDescriptor.html">fileDescriptor</a> * </td> <td class="paramname"> <em>tmpFd</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">long </td> <td class="paramname"> <em>offset</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>whence</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="file_8c-source.html#l00201">201</a> of file <a class="el" href="file_8c-source.html">file.c</a>. <p> References <a class="el" href="ubixfsv2_2file_8h-source.html#l00010">fileDescriptor::offset</a>. <p> Referenced by <a class="el" href="exec_8c-source.html#l00142">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="vfs_8cpp-source.html#l00017">DiskFS::read()</a>, <a class="el" href="exec_8c-source.html#l00333">sysExec()</a>, and <a class="el" href="vfs_8cpp-source.html#l00009">DiskFS::write()</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="include_2ubixos_2types_8h.html#7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> fwrite </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"> <em>ptr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>nmemb</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structfileDescriptor.html">fileDescriptor</a> * </td> <td class="paramname"> <em>fd</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="file_8c-source.html#l00193">193</a> of file <a class="el" href="file_8c-source.html">file.c</a>. <p> References <a class="el" href="ubixfsv2_2file_8h-source.html#l00010">fileDescriptor::offset</a>. <p> Referenced by <a class="el" href="ramdrive_8cpp-source.html#l00095">dev_ramDestroy()</a>, <a class="el" href="btree_8cpp-source.html#l00696">bTree::Save()</a>, <a class="el" href="file_8c-source.html#l00049">sysFwrite()</a>, and <a class="el" href="vfs_8cpp-source.html#l00009">DiskFS::write()</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 * </td> <td class="paramname"> <em>path</em> </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#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#l00140">strstr()</a>. </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> * </td> <td class="paramname"> <em>userFd</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>status</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="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#l00396">fclose()</a>, <a class="el" href="include_2vfs_2file_8h-source.html#l00068">userFileDescriptorStruct::fd</a>, and <a class="el" href="def_8h-source.html#l00041">NULL</a>. </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 * </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> * </td> <td class="paramname"> <em>userFd</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="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="include_2vfs_2file_8h-source.html#l00068">userFileDescriptorStruct::fd</a>, <a class="el" href="file_8c-source.html#l00244">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>. </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 * </td> <td class="paramname"> <em>file</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </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> * </td> <td class="paramname"> <em>userFd</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="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="include_2vfs_2file_8h-source.html#l00068">userFileDescriptorStruct::fd</a>, <a class="el" href="include_2vfs_2file_8h-source.html#l00069">userFileDescriptorStruct::fdSize</a>, <a class="el" href="file_8c-source.html#l00267">fopen()</a>, <a class="el" href="kprintf_8c-source.html#l00038">kprintf()</a>, <a class="el" href="def_8h-source.html#l00041">NULL</a>, and <a class="el" href="include_2vfs_2file_8h-source.html#l00053">fileDescriptorStruct::size</a>. </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 * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">long </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> * </td> <td class="paramname"> <em>userFd</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="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="include_2vfs_2file_8h-source.html#l00068">userFileDescriptorStruct::fd</a>, <a class="el" href="file_8c-source.html#l00178">fread()</a>, and <a class="el" href="def_8h-source.html#l00041">NULL</a>. </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> * </td> <td class="paramname"> <em>userFd</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">long </td> <td class="paramname"> <em>offset</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>whence</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="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="include_2vfs_2file_8h-source.html#l00068">userFileDescriptorStruct::fd</a>, <a class="el" href="def_8h-source.html#l00041">NULL</a>, and <a class="el" href="include_2vfs_2file_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 * </td> <td class="paramname"> <em>ptr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </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> * </td> <td class="paramname"> <em>userFd</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="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="include_2vfs_2file_8h-source.html#l00068">userFileDescriptorStruct::fd</a>, <a class="el" href="file_8c-source.html#l00193">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>. </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 * </td> <td class="paramname"> <em>path</em> </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#l00434">434</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#l00396">fclose()</a>, <a class="el" href="file_8c-source.html#l00267">fopen()</a>, <a class="el" href="kprintf_8c-source.html#l00038">kprintf()</a>, <a class="el" href="def_8h-source.html#l00041">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#l00140">strstr()</a>, and <a class="el" href="strtok_8c-source.html#l00074">strtok()</a>. </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> ) </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 * </td> <td class="paramname"> <em>path</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>retVal</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="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#l00478">unlink()</a>. </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 * </td> <td class="paramname"> <em>node</em> </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#l00478">478</a> of file <a class="el" href="file_8c-source.html">file.c</a>. <p> References <a class="el" href="mount_8h-source.html#l00039">vfs_mountPoint::fs</a>, <a class="el" href="mount_8h-source.html#l00044">vfs_mountPoint::mountPoint</a>, <a class="el" href="def_8h-source.html#l00041">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>. </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="structfileDescriptor.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#l00396">fclose()</a>, and <a class="el" href="file_8c-source.html#l00267">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#l00396">fclose()</a>, and <a class="el" href="file_8c-source.html#l00267">fopen()</a>. </div> </div><p> <hr size="1"><address style="align: right;"><small>Generated on Tue Dec 5 23:35:02 2006 for UbixOS V2 by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address> </body> </html>