<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Ubixos: syscalls.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.3.3 --> <h1>syscalls.h</h1><div class="fragment"><pre>00001 <span class="comment">/**************************************************************************************</span> 00002 <span class="comment"> Copyright (c) 2002 The UbixOS Project</span> 00003 <span class="comment"> All rights reserved.</span> 00004 <span class="comment"></span> 00005 <span class="comment">Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:</span> 00006 <span class="comment"></span> 00007 <span class="comment">Redistributions of source code must retain the above copyright notice, this list of conditions, the following disclaimer and the list of authors.</span> 00008 <span class="comment">Redistributions in binary form must reproduce the above copyright notice, this list of conditions, the following disclaimer and the list of authors</span> 00009 <span class="comment">in the documentation and/or other materials provided with the distribution. Neither the name of the UbixOS Project nor the names of its</span> 00010 <span class="comment">contributors may be used to endorse or promote products derived from this software without specific prior written permission.</span> 00011 <span class="comment"></span> 00012 <span class="comment">THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED</span> 00013 <span class="comment">WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR</span> 00014 <span class="comment">PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,</span> 00015 <span class="comment">INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE</span> 00016 <span class="comment">GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY</span> 00017 <span class="comment">OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</span> 00018 <span class="comment">OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span> 00019 <span class="comment"></span> 00020 <span class="comment"> $Id$</span> 00021 <span class="comment"></span> 00022 <span class="comment">**************************************************************************************/</span> 00023 00024 <span class="preprocessor">#ifndef _SYSCALLS_H</span> 00025 <span class="preprocessor"></span><span class="preprocessor">#define _SYSCALLS_H</span> 00026 <span class="preprocessor"></span> 00027 <span class="preprocessor">#include <ubixos/sched.h></span> 00028 <span class="preprocessor">#include <vfs/file.h></span> 00029 00030 <span class="keywordtype">void</span> sysGetpid(); 00031 <span class="keywordtype">void</span> sysExit(); 00032 <span class="keywordtype">void</span> sysExec(); 00033 <span class="keywordtype">void</span> sysFork(); 00034 <span class="keywordtype">void</span> sysCheckPid(); 00035 <span class="keywordtype">void</span> sysGetFreePage(); 00036 00037 <span class="keywordtype">void</span> sysFwrite(); 00038 <span class="keywordtype">void</span> sysFgetc(); 00039 <span class="keywordtype">void</span> sysFopen(); 00040 <span class="keywordtype">void</span> sysFread(); 00041 <span class="keywordtype">void</span> sysFclose(); 00042 <span class="keywordtype">void</span> sysSchedYield(); 00043 <span class="keywordtype">void</span> sysFseek(); 00044 <span class="keywordtype">void</span> sysMkDir(); 00045 <span class="keywordtype">void</span> sysRmDir(); 00046 <span class="keywordtype">void</span> sysGetUid(); 00047 <span class="keywordtype">void</span> sysGetGid(); 00048 <span class="keywordtype">void</span> sysSetUid(); 00049 <span class="keywordtype">void</span> sysSetGid(); 00050 <span class="keywordtype">void</span> sysSDE(); 00051 <span class="keywordtype">void</span> sysGetDrives(); 00052 <span class="keywordtype">void</span> sysGetCwd(); 00053 <span class="keywordtype">void</span> sysChDir(); 00054 <span class="keywordtype">void</span> sysGetUptime(); 00055 <span class="keywordtype">void</span> sysGetTime(); 00056 <span class="keywordtype">void</span> sysStartSDE(); 00057 <span class="keywordtype">void</span> sysUnlink(); 00058 00059 <span class="keyword">typedef</span> void (*functionPTR)(); 00060 00061 functionPTR systemCalls[] = { 00062 invalidCall, 00063 sysGetpid, 00064 sysExit, 00065 sysExec, 00066 sysFork, 00067 sysFgetc, 00068 sysCheckPid, 00069 sysGetFreePage, 00070 sysFopen, 00071 invalidCall, 00072 sysFclose, 00073 sysSchedYield, 00074 invalidCall, 00075 invalidCall, 00076 invalidCall, 00077 invalidCall, 00078 invalidCall, 00079 invalidCall, 00080 invalidCall, 00081 invalidCall, 00082 sysFopen, 00083 sysFclose, 00084 sysFread, 00085 sysFwrite, 00086 sysMkDir, 00087 sysRmDir, 00088 sysGetCwd, 00089 sysFseek, 00090 sysChDir, 00091 sysMkDir, 00092 sysUnlink, 00093 sysGetUid, 00094 sysGetGid, 00095 sysSetUid, 00096 sysSetGid, 00097 invalidCall, 00098 invalidCall, 00099 invalidCall, 00100 invalidCall, 00101 invalidCall, 00102 sysSDE, 00103 invalidCall, 00104 invalidCall, 00105 invalidCall, 00106 invalidCall, 00107 sysGetDrives, 00108 sysGetUptime, 00109 sysGetTime, 00110 sysStartSDE, 00111 }; 00112 00113 <span class="keywordtype">int</span> totalCalls = <span class="keyword">sizeof</span>(systemCalls)/<span class="keyword">sizeof</span>(functionPTR); 00114 00115 <span class="preprocessor">#endif</span> 00116 <span class="preprocessor"></span> </pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Apr 28 17:49:40 2004 for Ubixos by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.3 </small></address> </body> </html>