00001 /***************************************************************************************** 00002 Copyright (c) 2002-2004 The UbixOS Project 00003 All rights reserved. 00004 00005 Redistribution and use in source and binary forms, with or without modification, are 00006 permitted provided that the following conditions are met: 00007 00008 Redistributions of source code must retain the above copyright notice, this list of 00009 conditions, the following disclaimer and the list of authors. Redistributions in binary 00010 form must reproduce the above copyright notice, this list of conditions, the following 00011 disclaimer and the list of authors in the documentation and/or other materials provided 00012 with the distribution. Neither the name of the UbixOS Project nor the names of its 00013 contributors may be used to endorse or promote products derived from this software 00014 without specific prior written permission. 00015 00016 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 00017 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 00018 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 00019 THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00020 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 00021 OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 00022 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR 00023 TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 00024 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00025 00026 $Id: syscalls_8h-source.html 88 2016-01-12 00:11:29Z reddawg $ 00027 00028 *****************************************************************************************/ 00029 00030 #ifndef _SYSCALLS_H 00031 #define _SYSCALLS_H 00032 00033 #include <ubixos/sched.h> 00034 #include <vfs/file.h> 00035 00036 void sysAuth(); 00037 void sysPasswd(); 00038 void sysAddModule(); 00039 void sysRmModule(); 00040 void sysGetpid(); 00041 void sysExit(); 00042 void sysExec(); 00043 void sysFork(); 00044 void sysCheckPid(); 00045 void sysGetFreePage(); 00046 00047 void sysFwrite(); 00048 void sysFgetc(); 00049 void sysFopen(); 00050 void sysFread(); 00051 void sysFclose(); 00052 void sysSchedYield(); 00053 void sysFseek(); 00054 void sysMkDir(); 00055 void sysRmDir(); 00056 void sysGetUid(); 00057 void sysGetGid(); 00058 void sysSetUid(); 00059 void sysSetGid(); 00060 void sysSDE(); 00061 void sysGetDrives(); 00062 void sysGetCwd(); 00063 void sysChDir(); 00064 void sysGetUptime(); 00065 void sysGetTime(); 00066 void sysStartSDE(); 00067 void sysUnlink(); 00068 void sysMpiCreateMbox(); 00069 void sysMpiDestroyMbox(); 00070 void sysMpiPostMessage(); 00071 void sysMpiFetchMessage(); 00072 void sysMpiSpam(); 00073 00074 typedef void (*functionPTR)(); 00075 00076 functionPTR systemCalls[] = { 00077 invalidCall, 00078 sysGetpid, 00079 sysExit, 00080 sysExec, 00081 sysFork, 00082 sysFgetc, 00083 sysCheckPid, 00084 sysGetFreePage, 00085 sysFopen, 00086 invalidCall, 00087 sysFclose, 00088 sysSchedYield, 00089 invalidCall, 00090 invalidCall, 00091 invalidCall, 00092 invalidCall, 00093 invalidCall, 00094 invalidCall, 00095 invalidCall, 00096 invalidCall, 00097 sysFopen, 00098 sysFclose, 00099 sysFread, 00100 sysFwrite, 00101 sysMkDir, 00102 sysRmDir, 00103 sysGetCwd, 00104 sysFseek, 00105 sysChDir, 00106 sysMkDir, 00107 sysUnlink, 00108 sysGetUid, 00109 sysGetGid, 00110 sysSetUid, 00111 sysSetGid, 00112 sysAuth, 00113 sysPasswd, 00114 sysAddModule, 00115 sysRmModule, 00116 invalidCall, 00117 //sysSDE, /** 40 SDE Kernel Interface **/ 00118 invalidCall, 00119 invalidCall, 00120 invalidCall, 00121 invalidCall, 00122 invalidCall, 00123 sysGetDrives, 00124 sysGetUptime, 00125 sysGetTime, 00126 sysStartSDE, 00127 invalidCall, 00128 sysMpiCreateMbox, 00129 sysMpiDestroyMbox, 00130 sysMpiPostMessage, 00131 sysMpiFetchMessage, 00132 sysMpiSpam, 00133 }; 00134 00135 int totalCalls = sizeof(systemCalls)/sizeof(functionPTR); 00136 00137 #endif 00138 00139 /*** 00140 $Log: syscalls_8h-source.html,v $ 00140 Revision 1.7 2006/12/15 17:47:07 reddawg 00140 Updates 00140 00141 Revision 1.2 2006/10/12 17:05:44 reddawg 00142 Removing SDE 00143 00144 Revision 1.1.1.1 2006/06/01 12:46:14 reddawg 00145 ubix2 00146 00147 Revision 1.2 2005/10/12 00:13:37 reddawg 00148 Removed 00149 00150 Revision 1.1.1.1 2005/09/26 17:23:56 reddawg 00151 no message 00152 00153 Revision 1.5 2005/08/04 22:48:39 fsdfs 00154 00155 added 4 new syscalls: sysAuth(), sysPasswd(), sysAddModule(), sysRmModule() 00156 00157 Revision 1.4 2004/05/26 15:39:22 reddawg 00158 mpi: brought mpiDestroyMbox(char *name) in to the userland 00159 00160 Revision 1.3 2004/05/25 15:42:19 reddawg 00161 Enabled mpiSpam(); 00162 00163 Revision 1.2 2004/05/21 15:20:00 reddawg 00164 Cleaned up 00165 00166 00167 END 00168 ***/