/* Function prototypes for the system library. The implementation is contained * in src/kernel/system/. The system library allows to access system services * by doing a system call. System calls are transformed into request messages * to the SYS task that is responsible for handling the call. By convention, a * sys_call() is transformed into a message with type SYS_CALL that is handled * in a function named do_call(). */ #ifndef SYSTEM_H #define SYSTEM_H /* Common includes for the system library. */ #include #include "proc.h" #include "assert.h" _PROTOTYPE( int do_exec, (message *m_ptr) ); /* process control */ _PROTOTYPE( int do_fork, (message *m_ptr) ); _PROTOTYPE( int do_newmap, (message *m_ptr) ); _PROTOTYPE( int do_xit, (message *m_ptr) ); _PROTOTYPE( int do_copy, (message *m_ptr) ); /* copying */ #define do_vircopy do_copy #define do_physcopy do_copy _PROTOTYPE( int do_vcopy, (message *m_ptr) ); #define do_virvcopy do_vcopy #define do_physvcopy do_vcopy _PROTOTYPE( int do_umap, (message *m_ptr) ); _PROTOTYPE( int do_unused, (message *m_ptr) ); /* miscellaneous */ _PROTOTYPE( int do_abort, (message *m_ptr) ); _PROTOTYPE( int do_getinfo, (message *m_ptr) ); _PROTOTYPE( int do_random, (message *m_ptr) ); _PROTOTYPE( int do_exit, (message *m_ptr) ); /* system control */ _PROTOTYPE( int do_svrctl, (message *m_ptr) ); _PROTOTYPE( int do_kmalloc, (message *m_ptr) ); _PROTOTYPE( int do_iopenable, (message *m_ptr) ); _PROTOTYPE( int do_segctl, (message *m_ptr) ); _PROTOTYPE( int do_irqctl, (message *m_ptr) ); /* device I/O */ _PROTOTYPE( int do_devio, (message *m_ptr) ); _PROTOTYPE( int do_vdevio, (message *m_ptr) ); _PROTOTYPE( int do_sdevio, (message *m_ptr) ); _PROTOTYPE( int do_kill, (message *m_ptr) ); /* signal handling */ _PROTOTYPE( int do_getsig, (message *m_ptr) ); _PROTOTYPE( int do_endsig, (message *m_ptr) ); _PROTOTYPE( int do_sigsend, (message *m_ptr) ); _PROTOTYPE( int do_sigreturn, (message *m_ptr) ); _PROTOTYPE( int do_times, (message *m_ptr) ); /* clock functions */ _PROTOTYPE( int do_setalarm, (message *m_ptr) ); #define do_flagalrm do_setalarm #define do_signalrm do_setalarm #define do_syncalrm do_setalarm #if ENABLE_K_TRACING _PROTOTYPE( int do_trace, (message *m_ptr) ); /* process tracing */ #else #define do_trace do_unused #endif #if ENABLE_K_DEBUGGING /* debugging */ _PROTOTYPE( void check_runqueues, (char *when) ); #endif _PROTOTYPE( int do_vircopy, (message *m_ptr) ); _PROTOTYPE( int do_physcopy, (message *m_ptr) ); _PROTOTYPE( int do_biosio, (message *m_ptr) ); #endif /* SYSTEM_H */