<!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/include/vfs/file.h 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="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_caf4200c438ae9601464168e21e8e4d8.html">include</a> » <a class="el" href="dir_77bb06880a0e48020cb00f59405a6b13.html">vfs</a></div> <h1>file.h File Reference</h1><code>#include <<a class="el" href="types_8h-source.html">ubixos/types.h</a>></code><br> <code>#include <<a class="el" href="dirCache_8h-source.html">ubixfs/dirCache.h</a>></code><br> <code>#include <<a class="el" href="mount_8h-source.html">vfs/mount.h</a>></code><br> <p> Include dependency graph for file.h:<p><center><img src="file_8h__incl.png" border="0" usemap="#src/sys/include/vfs/file.h_map" alt=""></center> <map name="src/sys/include/vfs/file.h_map"> <area href="types_8h.html" shape="rect" coords="428,56,548,83" alt=""> <area href="dirCache_8h.html" shape="rect" coords="239,56,377,83" alt=""> <area href="mount_8h.html" shape="rect" coords="257,107,359,134" alt=""> <area href="__types_8h.html" shape="rect" coords="599,56,703,83" alt=""> </map> <p> This graph shows which files directly or indirectly include this file:<p><center><img src="file_8h__dep__incl.png" border="0" usemap="#src/sys/include/vfs/file.hdep_map" alt=""></center> <map name="src/sys/include/vfs/file.hdep_map"> <area href="devfs_8h.html" shape="rect" coords="255,6,471,32" alt=""> <area href="kern__descrip_8h.html" shape="rect" coords="237,56,488,83" alt=""> <area href="sched_8h.html" shape="rect" coords="249,158,476,184" alt=""> <area href="syscalls_8h.html" shape="rect" coords="536,107,776,134" alt=""> <area href="syscall_8c.html" shape="rect" coords="824,158,1000,184" alt=""> <area href="file_8c.html" shape="rect" coords="592,208,720,235" alt=""> <area href="vfs_8h.html" shape="rect" coords="271,259,455,286" alt=""> <area href="block_8c.html" shape="rect" coords="280,360,445,387" alt=""> <area href="directory_8c.html" shape="rect" coords="269,411,456,438" alt=""> </map> <p> <a href="file_8h-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>Data Structures</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structdmadat.html">dmadat</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structfileDescriptorStruct.html">fileDescriptorStruct</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structuserFileDescriptorStruct.html">userFileDescriptorStruct</a></td></tr> <tr><td colspan="2"><br><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8h.html#9734470bf89968d142073fd334bf9cb6">DEV_BSHIFT</a> 9</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8h.html#9c8466b6111a11195a5cd2478c648e32">DEV_BSIZE</a> (1<<DEV_BSHIFT)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8h.html#b7ef7deca5409474c504d9c927e97249">SBLOCKSIZE</a> 8192</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8h.html#0d112bae8fd35be772185b6ec6bcbe64">SEEK_SET</a> 0x0</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8h.html#1f8f4eabaf5119f68bfc6ee1ff715952">VBLKSHIFT</a> 12</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8h.html#df63a6145c73332883effc7746beffc2">VBLKSIZE</a> (1 << VBLKSHIFT)</td></tr> <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structfileDescriptorStruct.html">fileDescriptorStruct</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8h.html#29be78c374ab03228909933ebec2f053">fileDescriptor</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structuserFileDescriptorStruct.html">userFileDescriptorStruct</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8h.html#22ca9900413e251296c9d17911cb24f5">userFileDescriptor</a></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8h.html#e9b8c6f1fdfe08ab4ff8f9d1f5abd396">chDir</a> (const char *path)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8h.html#872c22366b4c63f4bdb10cd3b7980b11">fclose</a> (<a class="el" href="structfileDescriptorStruct.html">fileDescriptor</a> *)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8h.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 </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8h.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> * </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8h.html#d6a41ac88a7d46d574e8a675fdde136c">fopen</a> (const char *, const char *)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="types_8h.html#7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8h.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 </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8h.html#80528d8335cd52755f5d6a92e4f08391">fseek</a> (<a class="el" href="structfileDescriptorStruct.html">fileDescriptor</a> *, long, int)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="types_8h.html#7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8h.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 </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8h.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_8h.html#b74b766de391ad3ddbf909b3b04f1ce7">sysFseek</a> (<a class="el" href="structuserFileDescriptorStruct.html">userFileDescriptor</a> *, long, int)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8h.html#28af9471bbdf262321af663e02899a47">unlink</a> (const char *path)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8h.html#07c7ca6ecbd1a00fe6069af958ca34b0">verifyDir</a> (const char *path)</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> * </td><td class="memItemRight" valign="bottom"><a class="el" href="file_8h.html#51ba4d2a5ce81ca407a9446dde21b319">fdTable</a></td></tr> </table> <hr><h2>Define Documentation</h2> <a class="anchor" name="9734470bf89968d142073fd334bf9cb6"></a><!-- doxytag: member="file.h::DEV_BSHIFT" ref="9734470bf89968d142073fd334bf9cb6" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DEV_BSHIFT 9 </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="file_8h-source.html#l00036">36</a> of file <a class="el" href="file_8h-source.html">file.h</a>. </div> </div><p> <a class="anchor" name="9c8466b6111a11195a5cd2478c648e32"></a><!-- doxytag: member="file.h::DEV_BSIZE" ref="9c8466b6111a11195a5cd2478c648e32" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DEV_BSIZE (1<<DEV_BSHIFT) </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="file_8h-source.html#l00037">37</a> of file <a class="el" href="file_8h-source.html">file.h</a>. </div> </div><p> <a class="anchor" name="b7ef7deca5409474c504d9c927e97249"></a><!-- doxytag: member="file.h::SBLOCKSIZE" ref="b7ef7deca5409474c504d9c927e97249" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SBLOCKSIZE 8192 </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="file_8h-source.html#l00035">35</a> of file <a class="el" href="file_8h-source.html">file.h</a>. </div> </div><p> <a class="anchor" name="0d112bae8fd35be772185b6ec6bcbe64"></a><!-- doxytag: member="file.h::SEEK_SET" ref="0d112bae8fd35be772185b6ec6bcbe64" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SEEK_SET 0x0 </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="file_8h-source.html#l00031">31</a> of file <a class="el" href="file_8h-source.html">file.h</a>. </div> </div><p> <a class="anchor" name="1f8f4eabaf5119f68bfc6ee1ff715952"></a><!-- doxytag: member="file.h::VBLKSHIFT" ref="1f8f4eabaf5119f68bfc6ee1ff715952" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VBLKSHIFT 12 </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="file_8h-source.html#l00033">33</a> of file <a class="el" href="file_8h-source.html">file.h</a>. <p> Referenced by <a class="el" href="ufs_8c-source.html#l00077">fsread()</a>. </div> </div><p> <a class="anchor" name="df63a6145c73332883effc7746beffc2"></a><!-- doxytag: member="file.h::VBLKSIZE" ref="df63a6145c73332883effc7746beffc2" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VBLKSIZE (1 << VBLKSHIFT) </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="file_8h-source.html#l00034">34</a> of file <a class="el" href="file_8h-source.html">file.h</a>. <p> Referenced by <a class="el" href="ufs_8c-source.html#l00077">fsread()</a>. </div> </div><p> <hr><h2>Typedef Documentation</h2> <a class="anchor" name="29be78c374ab03228909933ebec2f053"></a><!-- doxytag: member="file.h::fileDescriptor" ref="29be78c374ab03228909933ebec2f053" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structfileDescriptorStruct.html">fileDescriptorStruct</a> <a class="el" href="structfileDescriptorStruct.html">fileDescriptor</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="22ca9900413e251296c9d17911cb24f5"></a><!-- doxytag: member="file.h::userFileDescriptor" ref="22ca9900413e251296c9d17911cb24f5" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structuserFileDescriptorStruct.html">userFileDescriptorStruct</a> <a class="el" href="structuserFileDescriptorStruct.html">userFileDescriptor</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Function Documentation</h2> <a class="anchor" name="e9b8c6f1fdfe08ab4ff8f9d1f5abd396"></a><!-- doxytag: member="file.h::chDir" ref="e9b8c6f1fdfe08ab4ff8f9d1f5abd396" args="(const char *path)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void chDir </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> </div> </div><p> <a class="anchor" name="872c22366b4c63f4bdb10cd3b7980b11"></a><!-- doxytag: member="file.h::fclose" ref="872c22366b4c63f4bdb10cd3b7980b11" args="(fileDescriptor *)" --> <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> * </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#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_8h_872c22366b4c63f4bdb10cd3b7980b11_cgraph.png" border="0" usemap="#file_8h_872c22366b4c63f4bdb10cd3b7980b11_cgraph_map" alt=""></center> <map name="file_8h_872c22366b4c63f4bdb10cd3b7980b11_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.h::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> * </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#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.h::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> * </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#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="d6a41ac88a7d46d574e8a675fdde136c"></a><!-- doxytag: member="file.h::fopen" ref="d6a41ac88a7d46d574e8a675fdde136c" args="(const char *, const char *)" --> <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 * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"></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#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_8h_d6a41ac88a7d46d574e8a675fdde136c_cgraph.png" border="0" usemap="#file_8h_d6a41ac88a7d46d574e8a675fdde136c_cgraph_map" alt=""></center> <map name="file_8h_d6a41ac88a7d46d574e8a675fdde136c_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="3b06878a03209e88c008c77234b89359"></a><!-- doxytag: member="file.h::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 * </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> </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> </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> * </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>, <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="80528d8335cd52755f5d6a92e4f08391"></a><!-- doxytag: member="file.h::fseek" ref="80528d8335cd52755f5d6a92e4f08391" args="(fileDescriptor *, long, int)" --> <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> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">long </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"></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#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.h::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 * </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="structfileDescriptorStruct.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#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.h::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#l00118">strstr()</a>. <p> Here is the call graph for this function:<p><center><img src="file_8h_911a71c3e0e08149a11b2b05a50b3b97_cgraph.png" border="0" usemap="#file_8h_911a71c3e0e08149a11b2b05a50b3b97_cgraph_map" alt=""></center> <map name="file_8h_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="b74b766de391ad3ddbf909b3b04f1ce7"></a><!-- doxytag: member="file.h::sysFseek" ref="b74b766de391ad3ddbf909b3b04f1ce7" args="(userFileDescriptor *, long, int)" --> <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">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">long </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"></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="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="28af9471bbdf262321af663e02899a47"></a><!-- doxytag: member="file.h::unlink" ref="28af9471bbdf262321af663e02899a47" args="(const char *path)" --> <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>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#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_8h_28af9471bbdf262321af663e02899a47_cgraph.png" border="0" usemap="#file_8h_28af9471bbdf262321af663e02899a47_cgraph_map" alt=""></center> <map name="file_8h_28af9471bbdf262321af663e02899a47_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> <a class="anchor" name="07c7ca6ecbd1a00fe6069af958ca34b0"></a><!-- doxytag: member="file.h::verifyDir" ref="07c7ca6ecbd1a00fe6069af958ca34b0" args="(const char *path)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* verifyDir </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> </div> </div><p> <hr><h2>Variable Documentation</h2> <a class="anchor" name="51ba4d2a5ce81ca407a9446dde21b319"></a><!-- doxytag: member="file.h::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> </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> <hr size="1"><address style="align: right;"><small>Generated on Fri Dec 15 11:22:19 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>