1 /* Function prototypes for the system library. The prototypes in this file
2 * are undefined to do_unused if the kernel call is not enabled in config.h.
3 * The implementation is contained in src/kernel/system/.
5 * The system library allows to access system services by doing a kernel call.
6 * System calls are transformed into request messages to the SYS task that is
7 * responsible for handling the call. By convention, sys_call() is transformed
8 * into a message with type SYS_CALL that is handled in a function do_call().
11 * Jul 30, 2005 created SYS_INT86 to support BIOS driver (Philip Homburg)
12 * Jul 13, 2005 created SYS_PRIVCTL to manage services (Jorrit N. Herder)
13 * Jul 09, 2005 updated SYS_KILL to signal services (Jorrit N. Herder)
14 * Jun 21, 2005 created SYS_NICE for nice(2) kernel call (Ben J. Gras)
15 * Jun 21, 2005 created SYS_MEMSET to speed up exec(2) (Ben J. Gras)
16 * Apr 12, 2005 updated SYS_VCOPY for virtual_copy() (Jorrit N. Herder)
17 * Jan 20, 2005 updated SYS_COPY for virtual_copy() (Jorrit N. Herder)
18 * Oct 24, 2004 created SYS_GETKSIG to support PM (Jorrit N. Herder)
19 * Oct 10, 2004 created handler for unused calls (Jorrit N. Herder)
20 * Sep 09, 2004 updated SYS_EXIT to let services exit (Jorrit N. Herder)
21 * Aug 25, 2004 rewrote SYS_SETALARM to clean up code (Jorrit N. Herder)
22 * Jul 13, 2004 created SYS_SEGCTL to support drivers (Jorrit N. Herder)
23 * May 24, 2004 created SYS_SDEVIO to support drivers (Jorrit N. Herder)
24 * May 24, 2004 created SYS_GETINFO to retrieve info (Jorrit N. Herder)
25 * Apr 18, 2004 created SYS_VDEVIO to support drivers (Jorrit N. Herder)
26 * Feb 24, 2004 created SYS_IRQCTL to support drivers (Jorrit N. Herder)
27 * Feb 02, 2004 created SYS_DEVIO to support drivers (Jorrit N. Herder)
33 /* Common includes for the system library. */
38 /* Default handler for unused kernel calls. */
39 _PROTOTYPE( int do_unused
, (message
*m_ptr
) );
41 _PROTOTYPE( int do_exec
, (message
*m_ptr
) );
43 #define do_exec do_unused
46 _PROTOTYPE( int do_fork
, (message
*m_ptr
) );
48 #define do_fork do_unused
51 _PROTOTYPE( int do_newmap
, (message
*m_ptr
) );
53 #define do_newmap do_unused
56 _PROTOTYPE( int do_exit
, (message
*m_ptr
) );
58 #define do_exit do_unused
61 _PROTOTYPE( int do_trace
, (message
*m_ptr
) );
63 #define do_trace do_unused
66 _PROTOTYPE( int do_nice
, (message
*m_ptr
) );
68 #define do_nice do_unused
71 _PROTOTYPE( int do_copy
, (message
*m_ptr
) );
72 #define do_vircopy do_copy
73 #define do_physcopy do_copy
74 #if ! (USE_VIRCOPY || USE_PHYSCOPY)
75 #define do_copy do_unused
78 _PROTOTYPE( int do_vcopy
, (message
*m_ptr
) );
79 #define do_virvcopy do_vcopy
80 #define do_physvcopy do_vcopy
81 #if ! (USE_VIRVCOPY || USE_PHYSVCOPY)
82 #define do_vcopy do_unused
85 _PROTOTYPE( int do_umap
, (message
*m_ptr
) );
87 #define do_umap do_unused
90 _PROTOTYPE( int do_memset
, (message
*m_ptr
) );
92 #define do_memset do_unused
95 _PROTOTYPE( int do_abort
, (message
*m_ptr
) );
97 #define do_abort do_unused
100 _PROTOTYPE( int do_getinfo
, (message
*m_ptr
) );
102 #define do_getinfo do_unused
105 _PROTOTYPE( int do_privctl
, (message
*m_ptr
) );
107 #define do_privctl do_unused
110 _PROTOTYPE( int do_segctl
, (message
*m_ptr
) );
112 #define do_segctl do_unused
115 _PROTOTYPE( int do_irqctl
, (message
*m_ptr
) );
117 #define do_irqctl do_unused
120 _PROTOTYPE( int do_devio
, (message
*m_ptr
) );
122 #define do_devio do_unused
125 _PROTOTYPE( int do_vdevio
, (message
*m_ptr
) );
127 #define do_vdevio do_unused
130 _PROTOTYPE( int do_int86
, (message
*m_ptr
) );
132 _PROTOTYPE( int do_sdevio
, (message
*m_ptr
) );
134 #define do_sdevio do_unused
137 _PROTOTYPE( int do_kill
, (message
*m_ptr
) );
139 #define do_kill do_unused
142 _PROTOTYPE( int do_getksig
, (message
*m_ptr
) );
144 #define do_getksig do_unused
147 _PROTOTYPE( int do_endksig
, (message
*m_ptr
) );
149 #define do_endksig do_unused
152 _PROTOTYPE( int do_sigsend
, (message
*m_ptr
) );
154 #define do_sigsend do_unused
157 _PROTOTYPE( int do_sigreturn
, (message
*m_ptr
) );
159 #define do_sigreturn do_unused
162 _PROTOTYPE( int do_times
, (message
*m_ptr
) );
164 #define do_times do_unused
167 _PROTOTYPE( int do_setalarm
, (message
*m_ptr
) );
169 #define do_setalarm do_unused
172 #endif /* SYSTEM_H */