24ec0d73b5
- introduce new call numbers, names, and field aliases; - initialize request messages to zero for all ABI calls; - format callnr.h in the same way as com.h; - redo call tables in both servers; - remove param.h namespace pollution in the servers; - make brk(2) go to VM directly, rather than through PM; - remove obsolete BRK, UTIME, and WAIT calls; - clean up path copying routine in VFS; - move remaining system calls from libminlib to libc; - correct some errno-related mistakes in libc routines. Change-Id: I2d8ec5d061cd7e0b30c51ffd77aa72ebf84e2565
62 lines
2.6 KiB
C
62 lines
2.6 KiB
C
/* This file contains the table used to map system call numbers onto the
|
|
* routines that perform them.
|
|
*/
|
|
|
|
#define _TABLE
|
|
|
|
#include "pm.h"
|
|
#include <minix/callnr.h>
|
|
#include <signal.h>
|
|
#include "mproc.h"
|
|
|
|
#define CALL(n) [((n) - PM_BASE)]
|
|
|
|
int (* const call_vec[NR_PM_CALLS])(void) = {
|
|
CALL(PM_EXIT) = do_exit, /* _exit(2) */
|
|
CALL(PM_FORK) = do_fork, /* fork(2) */
|
|
CALL(PM_WAITPID) = do_waitpid, /* waitpid(2) */
|
|
CALL(PM_GETPID) = do_get, /* get[p]pid(2) */
|
|
CALL(PM_SETUID) = do_set, /* setuid(2) */
|
|
CALL(PM_GETUID) = do_get, /* get[e]uid(2) */
|
|
CALL(PM_STIME) = do_stime, /* stime(2) */
|
|
CALL(PM_PTRACE) = do_trace, /* ptrace(2) */
|
|
CALL(PM_SETGROUPS) = do_set, /* setgroups(2) */
|
|
CALL(PM_GETGROUPS) = do_get, /* getgroups(2) */
|
|
CALL(PM_KILL) = do_kill, /* kill(2) */
|
|
CALL(PM_SETGID) = do_set, /* setgid(2) */
|
|
CALL(PM_GETGID) = do_get, /* get[e]gid(2) */
|
|
CALL(PM_EXEC) = do_exec, /* execve(2) */
|
|
CALL(PM_SETSID) = do_set, /* setsid(2) */
|
|
CALL(PM_GETPGRP) = do_get, /* getpgrp(2) */
|
|
CALL(PM_ITIMER) = do_itimer, /* [gs]etitimer(2) */
|
|
CALL(PM_GETMCONTEXT) = do_getmcontext, /* getmcontext(2) */
|
|
CALL(PM_SETMCONTEXT) = do_setmcontext, /* setmcontext(2) */
|
|
CALL(PM_SIGACTION) = do_sigaction, /* sigaction(2) */
|
|
CALL(PM_SIGSUSPEND) = do_sigsuspend, /* sigsuspend(2) */
|
|
CALL(PM_SIGPENDING) = do_sigpending, /* sigpending(2) */
|
|
CALL(PM_SIGPROCMASK) = do_sigprocmask, /* sigprocmask(2) */
|
|
CALL(PM_SIGRETURN) = do_sigreturn, /* sigreturn(2) */
|
|
CALL(PM_SYSUNAME) = do_sysuname, /* sysuname(2) */
|
|
CALL(PM_GETPRIORITY) = do_getsetpriority, /* getpriority(2) */
|
|
CALL(PM_SETPRIORITY) = do_getsetpriority, /* setpriority(2) */
|
|
CALL(PM_GETTIMEOFDAY) = do_time, /* gettimeofday(2) */
|
|
CALL(PM_SETEUID) = do_set, /* geteuid(2) */
|
|
CALL(PM_SETEGID) = do_set, /* setegid(2) */
|
|
CALL(PM_ISSETUGID) = do_get, /* issetugid */
|
|
CALL(PM_GETSID) = do_get, /* getsid(2) */
|
|
CALL(PM_CLOCK_GETRES) = do_getres, /* clock_getres(2) */
|
|
CALL(PM_CLOCK_GETTIME) = do_gettime, /* clock_gettime(2) */
|
|
CALL(PM_CLOCK_SETTIME) = do_settime, /* clock_settime(2) */
|
|
CALL(PM_GETRUSAGE) = do_getrusage, /* getrusage(2) */
|
|
CALL(PM_REBOOT) = do_reboot, /* reboot(2) */
|
|
CALL(PM_SVRCTL) = do_svrctl, /* svrctl(2) */
|
|
CALL(PM_SPROF) = do_sprofile, /* sprofile(2) */
|
|
CALL(PM_CPROF) = do_cprofile, /* cprofile(2) */
|
|
CALL(PM_SRV_FORK) = do_srv_fork, /* srv_fork(2) */
|
|
CALL(PM_SRV_KILL) = do_srv_kill, /* srv_kill(2) */
|
|
CALL(PM_EXEC_NEW) = do_newexec,
|
|
CALL(PM_EXEC_RESTART) = do_execrestart,
|
|
CALL(PM_GETEPINFO) = do_getepinfo, /* getepinfo(2) */
|
|
CALL(PM_GETPROCNR) = do_getprocnr, /* getprocnr(2) */
|
|
CALL(PM_GETSYSINFO) = do_getsysinfo /* getsysinfo(2) */
|
|
};
|