# syscalls.h

Go to the documentation of this file.

    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  ***/