syscalls.c

Go to the documentation of this file.
00001 
00007 #include "routix/system.h"
00008 #include "routix/paging.h"
00009 #include "routix/segm.h"
00010 #include "routix/debug.h"
00011 #include "sys/syscalls.h"
00012 #include "routix/syscalls.h"
00013 #include "routix/elf.h"
00014 #include "routix/file.h"
00015 #include "error.h"
00016 #include "routix/timer.h"
00017 #include <routix/kstdio.h>
00018 #ifndef __TASK
00019 #include "routix/task.h"
00020 #endif
00021 
00022 
00023 //Nuevas
00024 extern int sys_process (void);
00025 extern int sys_console (void);
00026 extern int sys_signals (void);
00027 extern int sys_timer (void);
00028 extern int sys_mem (void);
00029 extern int sys_misc (void);             //Grupo de llamadas al sistema provisorias (cualquier fruta... va acá).
00030 
00031 extern task_struct_t *actual;
00032 
00033 
00035 int (*syscall_group_vector[MAX_SYSCALLS]) (void) = {
00036         (int (*) (void)) sys_process,   
00037         (int (*) (void)) sys_console,   
00038         (int (*) (void)) sys_signals,                           
00039         (int (*) (void)) sys_timer,     
00040         (int (*) (void)) sys_mem,       
00041         (int (*) (void)) sys_misc       
00042 };
00043 
00047 unsigned int syscall_group_max[MAX_SYSCALLS] = {
00048         SYS_PROCESS_MAX,
00049         SYS_CONSOLE_MAX,
00050         SYS_SIGNALS_MAX,
00051         SYS_TIMER_MAX,
00052         SYS_MEM_MAX,
00053         SYS_MISC_MAX
00054 };
00055 
00059 int sys_no_existe (dword numero)
00060 {
00061     kprintf("SysCall Inexistente: Grupo %d\tLlamada %d\n", numero>>16 , (word)numero);
00062     actual->err_no = ENOSYS;
00063     return -1;
00064 }       
00065 

Generated on Sun May 30 18:38:35 2004 for Routix OS by doxygen 1.3.6