xref: /minix3/minix/servers/pm/table.c (revision 910831cb5ca62d66feb4e9664745910bbf5c03e1)
1433d6423SLionel Sambuc /* This file contains the table used to map system call numbers onto the
2433d6423SLionel Sambuc  * routines that perform them.
3433d6423SLionel Sambuc  */
4433d6423SLionel Sambuc 
5433d6423SLionel Sambuc #define _TABLE
6433d6423SLionel Sambuc 
7433d6423SLionel Sambuc #include "pm.h"
8433d6423SLionel Sambuc #include <minix/callnr.h>
9433d6423SLionel Sambuc #include <signal.h>
10433d6423SLionel Sambuc #include "mproc.h"
11433d6423SLionel Sambuc 
12433d6423SLionel Sambuc #define CALL(n)	[((n) - PM_BASE)]
13433d6423SLionel Sambuc 
14433d6423SLionel Sambuc int (* const call_vec[NR_PM_CALLS])(void) = {
15433d6423SLionel Sambuc 	CALL(PM_EXIT)		= do_exit,		/* _exit(2) */
16433d6423SLionel Sambuc 	CALL(PM_FORK)		= do_fork,		/* fork(2) */
1729346ab0SDavid van Moolenbroek 	CALL(PM_WAIT4)		= do_wait4,		/* wait4(2) */
18433d6423SLionel Sambuc 	CALL(PM_GETPID)		= do_get,		/* get[p]pid(2) */
19433d6423SLionel Sambuc 	CALL(PM_SETUID)		= do_set,		/* setuid(2) */
20433d6423SLionel Sambuc 	CALL(PM_GETUID)		= do_get,		/* get[e]uid(2) */
21433d6423SLionel Sambuc 	CALL(PM_STIME)		= do_stime,		/* stime(2) */
22433d6423SLionel Sambuc 	CALL(PM_PTRACE)		= do_trace,		/* ptrace(2) */
23433d6423SLionel Sambuc 	CALL(PM_SETGROUPS)	= do_set,		/* setgroups(2) */
24433d6423SLionel Sambuc 	CALL(PM_GETGROUPS)	= do_get,		/* getgroups(2) */
25433d6423SLionel Sambuc 	CALL(PM_KILL)		= do_kill,		/* kill(2) */
26433d6423SLionel Sambuc 	CALL(PM_SETGID)		= do_set,		/* setgid(2) */
27433d6423SLionel Sambuc 	CALL(PM_GETGID)		= do_get,		/* get[e]gid(2) */
28433d6423SLionel Sambuc 	CALL(PM_EXEC)		= do_exec,		/* execve(2) */
29433d6423SLionel Sambuc 	CALL(PM_SETSID)		= do_set,		/* setsid(2) */
30433d6423SLionel Sambuc 	CALL(PM_GETPGRP)	= do_get,		/* getpgrp(2) */
31433d6423SLionel Sambuc 	CALL(PM_ITIMER)		= do_itimer,		/* [gs]etitimer(2) */
32433d6423SLionel Sambuc 	CALL(PM_GETMCONTEXT)	= do_getmcontext,	/* getmcontext(2) */
33433d6423SLionel Sambuc 	CALL(PM_SETMCONTEXT)	= do_setmcontext,	/* setmcontext(2) */
34433d6423SLionel Sambuc 	CALL(PM_SIGACTION)	= do_sigaction,		/* sigaction(2) */
35433d6423SLionel Sambuc 	CALL(PM_SIGSUSPEND)	= do_sigsuspend,	/* sigsuspend(2) */
36433d6423SLionel Sambuc 	CALL(PM_SIGPENDING)	= do_sigpending,	/* sigpending(2) */
37433d6423SLionel Sambuc 	CALL(PM_SIGPROCMASK)	= do_sigprocmask,	/* sigprocmask(2) */
38433d6423SLionel Sambuc 	CALL(PM_SIGRETURN)	= do_sigreturn,		/* sigreturn(2) */
39433d6423SLionel Sambuc 	CALL(PM_SYSUNAME)	= do_sysuname,		/* sysuname(2) */
40433d6423SLionel Sambuc 	CALL(PM_GETPRIORITY)	= do_getsetpriority,	/* getpriority(2) */
41433d6423SLionel Sambuc 	CALL(PM_SETPRIORITY)	= do_getsetpriority,	/* setpriority(2) */
42433d6423SLionel Sambuc 	CALL(PM_GETTIMEOFDAY)	= do_time,		/* gettimeofday(2) */
43433d6423SLionel Sambuc 	CALL(PM_SETEUID)	= do_set,		/* geteuid(2) */
44433d6423SLionel Sambuc 	CALL(PM_SETEGID)	= do_set,		/* setegid(2) */
45433d6423SLionel Sambuc 	CALL(PM_ISSETUGID)	= do_get,		/* issetugid */
46433d6423SLionel Sambuc 	CALL(PM_GETSID)		= do_get,		/* getsid(2) */
47433d6423SLionel Sambuc 	CALL(PM_CLOCK_GETRES)	= do_getres,		/* clock_getres(2) */
48433d6423SLionel Sambuc 	CALL(PM_CLOCK_GETTIME)	= do_gettime,		/* clock_gettime(2) */
49433d6423SLionel Sambuc 	CALL(PM_CLOCK_SETTIME)	= do_settime,		/* clock_settime(2) */
50433d6423SLionel Sambuc 	CALL(PM_GETRUSAGE)	= do_getrusage,		/* getrusage(2) */
51433d6423SLionel Sambuc 	CALL(PM_REBOOT)		= do_reboot,		/* reboot(2) */
52433d6423SLionel Sambuc 	CALL(PM_SVRCTL)		= do_svrctl,		/* svrctl(2) */
53433d6423SLionel Sambuc 	CALL(PM_SPROF)		= do_sprofile,		/* sprofile(2) */
54*910831cbSDavid van Moolenbroek 	CALL(PM_PROCEVENTMASK)	= do_proceventmask,	/* proceventmask(2) */
55433d6423SLionel Sambuc 	CALL(PM_SRV_FORK)	= do_srv_fork,		/* srv_fork(2) */
56433d6423SLionel Sambuc 	CALL(PM_SRV_KILL)	= do_srv_kill,		/* srv_kill(2) */
57433d6423SLionel Sambuc 	CALL(PM_EXEC_NEW)	= do_newexec,
58433d6423SLionel Sambuc 	CALL(PM_EXEC_RESTART)	= do_execrestart,
59433d6423SLionel Sambuc 	CALL(PM_GETEPINFO)	= do_getepinfo,		/* getepinfo(2) */
60433d6423SLionel Sambuc 	CALL(PM_GETPROCNR)	= do_getprocnr,		/* getprocnr(2) */
61433d6423SLionel Sambuc 	CALL(PM_GETSYSINFO)	= do_getsysinfo		/* getsysinfo(2) */
62433d6423SLionel Sambuc };
63