74 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* 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 <minix/com.h>
 | |
| #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
 | |
| _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) );		/* server 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_devio, (message *m_ptr) );		/* device I/O */
 | |
| _PROTOTYPE( int do_vdevio, (message *m_ptr) );
 | |
| _PROTOTYPE( int do_sdevio, (message *m_ptr) );
 | |
| 
 | |
| _PROTOTYPE( int do_irqctl, (message *m_ptr) );		/* interrupt control */
 | |
| 
 | |
| _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 */
 | |
| #error Kernel debugging routines are not implemented.
 | |
| #else
 | |
| #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 */
 | 
