1994-05-24 10:09:53 +00:00
|
|
|
/*
|
|
|
|
* System call switch table.
|
|
|
|
*
|
|
|
|
* DO NOT EDIT-- this file is automatically generated.
|
1999-09-11 00:46:08 +00:00
|
|
|
* $FreeBSD$
|
1999-10-12 09:33:53 +00:00
|
|
|
* created from FreeBSD: src/sys/kern/syscalls.master,v 1.66 1999/10/12 09:29:53 marcel Exp
|
1994-05-24 10:09:53 +00:00
|
|
|
*/
|
|
|
|
|
1997-12-16 22:27:22 +00:00
|
|
|
#include "opt_compat.h"
|
|
|
|
|
1994-05-24 10:09:53 +00:00
|
|
|
#include <sys/param.h>
|
1994-08-24 11:52:21 +00:00
|
|
|
#include <sys/sysent.h>
|
1995-09-19 13:56:09 +00:00
|
|
|
#include <sys/sysproto.h>
|
1994-05-24 10:09:53 +00:00
|
|
|
|
|
|
|
#ifdef COMPAT_43
|
1995-09-19 13:56:09 +00:00
|
|
|
#define compat(n, name) n, (sy_call_t *)__CONCAT(o,name)
|
1994-05-24 10:09:53 +00:00
|
|
|
#else
|
1995-09-19 13:56:09 +00:00
|
|
|
#define compat(n, name) 0, (sy_call_t *)nosys
|
1994-05-24 10:09:53 +00:00
|
|
|
#endif
|
|
|
|
|
1995-09-19 13:56:09 +00:00
|
|
|
/* The casts are bogus but will do for now. */
|
1994-05-24 10:09:53 +00:00
|
|
|
struct sysent sysent[] = {
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 0, (sy_call_t *)nosys }, /* 0 = syscall */
|
|
|
|
{ 1, (sy_call_t *)exit }, /* 1 = exit */
|
|
|
|
{ 0, (sy_call_t *)fork }, /* 2 = fork */
|
|
|
|
{ 3, (sy_call_t *)read }, /* 3 = read */
|
|
|
|
{ 3, (sy_call_t *)write }, /* 4 = write */
|
|
|
|
{ 3, (sy_call_t *)open }, /* 5 = open */
|
|
|
|
{ 1, (sy_call_t *)close }, /* 6 = close */
|
|
|
|
{ 4, (sy_call_t *)wait4 }, /* 7 = wait4 */
|
1994-05-24 10:09:53 +00:00
|
|
|
{ compat(2,creat) }, /* 8 = old creat */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 2, (sy_call_t *)link }, /* 9 = link */
|
|
|
|
{ 1, (sy_call_t *)unlink }, /* 10 = unlink */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 11 = obsolete execv */
|
|
|
|
{ 1, (sy_call_t *)chdir }, /* 12 = chdir */
|
|
|
|
{ 1, (sy_call_t *)fchdir }, /* 13 = fchdir */
|
|
|
|
{ 3, (sy_call_t *)mknod }, /* 14 = mknod */
|
|
|
|
{ 2, (sy_call_t *)chmod }, /* 15 = chmod */
|
|
|
|
{ 3, (sy_call_t *)chown }, /* 16 = chown */
|
|
|
|
{ 1, (sy_call_t *)obreak }, /* 17 = break */
|
|
|
|
{ 3, (sy_call_t *)getfsstat }, /* 18 = getfsstat */
|
1994-05-24 10:09:53 +00:00
|
|
|
{ compat(3,lseek) }, /* 19 = old lseek */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 0, (sy_call_t *)getpid }, /* 20 = getpid */
|
|
|
|
{ 4, (sy_call_t *)mount }, /* 21 = mount */
|
|
|
|
{ 2, (sy_call_t *)unmount }, /* 22 = unmount */
|
|
|
|
{ 1, (sy_call_t *)setuid }, /* 23 = setuid */
|
|
|
|
{ 0, (sy_call_t *)getuid }, /* 24 = getuid */
|
|
|
|
{ 0, (sy_call_t *)geteuid }, /* 25 = geteuid */
|
|
|
|
{ 4, (sy_call_t *)ptrace }, /* 26 = ptrace */
|
|
|
|
{ 3, (sy_call_t *)recvmsg }, /* 27 = recvmsg */
|
|
|
|
{ 3, (sy_call_t *)sendmsg }, /* 28 = sendmsg */
|
|
|
|
{ 6, (sy_call_t *)recvfrom }, /* 29 = recvfrom */
|
|
|
|
{ 3, (sy_call_t *)accept }, /* 30 = accept */
|
1995-10-07 06:29:30 +00:00
|
|
|
{ 3, (sy_call_t *)getpeername }, /* 31 = getpeername */
|
|
|
|
{ 3, (sy_call_t *)getsockname }, /* 32 = getsockname */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 2, (sy_call_t *)access }, /* 33 = access */
|
|
|
|
{ 2, (sy_call_t *)chflags }, /* 34 = chflags */
|
|
|
|
{ 2, (sy_call_t *)fchflags }, /* 35 = fchflags */
|
|
|
|
{ 0, (sy_call_t *)sync }, /* 36 = sync */
|
|
|
|
{ 2, (sy_call_t *)kill }, /* 37 = kill */
|
1994-05-24 10:09:53 +00:00
|
|
|
{ compat(2,stat) }, /* 38 = old stat */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 0, (sy_call_t *)getppid }, /* 39 = getppid */
|
1994-05-24 10:09:53 +00:00
|
|
|
{ compat(2,lstat) }, /* 40 = old lstat */
|
1995-10-07 06:29:30 +00:00
|
|
|
{ 1, (sy_call_t *)dup }, /* 41 = dup */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 0, (sy_call_t *)pipe }, /* 42 = pipe */
|
|
|
|
{ 0, (sy_call_t *)getegid }, /* 43 = getegid */
|
|
|
|
{ 4, (sy_call_t *)profil }, /* 44 = profil */
|
|
|
|
{ 4, (sy_call_t *)ktrace }, /* 45 = ktrace */
|
1999-10-12 09:33:53 +00:00
|
|
|
{ compat(3,sigaction) }, /* 46 = old sigaction */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 0, (sy_call_t *)getgid }, /* 47 = getgid */
|
1999-10-12 09:33:53 +00:00
|
|
|
{ compat(2,sigprocmask) }, /* 48 = old sigprocmask */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 2, (sy_call_t *)getlogin }, /* 49 = getlogin */
|
|
|
|
{ 1, (sy_call_t *)setlogin }, /* 50 = setlogin */
|
|
|
|
{ 1, (sy_call_t *)acct }, /* 51 = acct */
|
1999-10-12 09:33:53 +00:00
|
|
|
{ compat(0,sigpending) }, /* 52 = old sigpending */
|
1995-10-07 06:29:30 +00:00
|
|
|
{ 2, (sy_call_t *)sigaltstack }, /* 53 = sigaltstack */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 3, (sy_call_t *)ioctl }, /* 54 = ioctl */
|
|
|
|
{ 1, (sy_call_t *)reboot }, /* 55 = reboot */
|
|
|
|
{ 1, (sy_call_t *)revoke }, /* 56 = revoke */
|
|
|
|
{ 2, (sy_call_t *)symlink }, /* 57 = symlink */
|
|
|
|
{ 3, (sy_call_t *)readlink }, /* 58 = readlink */
|
|
|
|
{ 3, (sy_call_t *)execve }, /* 59 = execve */
|
|
|
|
{ 1, (sy_call_t *)umask }, /* 60 = umask */
|
|
|
|
{ 1, (sy_call_t *)chroot }, /* 61 = chroot */
|
1994-05-24 10:09:53 +00:00
|
|
|
{ compat(2,fstat) }, /* 62 = old fstat */
|
|
|
|
{ compat(4,getkerninfo) }, /* 63 = old getkerninfo */
|
|
|
|
{ compat(0,getpagesize) }, /* 64 = old getpagesize */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 3, (sy_call_t *)msync }, /* 65 = msync */
|
|
|
|
{ 0, (sy_call_t *)vfork }, /* 66 = vfork */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 67 = obsolete vread */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 68 = obsolete vwrite */
|
|
|
|
{ 1, (sy_call_t *)sbrk }, /* 69 = sbrk */
|
|
|
|
{ 1, (sy_call_t *)sstk }, /* 70 = sstk */
|
1994-05-25 09:21:21 +00:00
|
|
|
{ compat(6,mmap) }, /* 71 = old mmap */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 1, (sy_call_t *)ovadvise }, /* 72 = vadvise */
|
|
|
|
{ 2, (sy_call_t *)munmap }, /* 73 = munmap */
|
|
|
|
{ 3, (sy_call_t *)mprotect }, /* 74 = mprotect */
|
|
|
|
{ 3, (sy_call_t *)madvise }, /* 75 = madvise */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 76 = obsolete vhangup */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 77 = obsolete vlimit */
|
|
|
|
{ 3, (sy_call_t *)mincore }, /* 78 = mincore */
|
|
|
|
{ 2, (sy_call_t *)getgroups }, /* 79 = getgroups */
|
|
|
|
{ 2, (sy_call_t *)setgroups }, /* 80 = setgroups */
|
|
|
|
{ 0, (sy_call_t *)getpgrp }, /* 81 = getpgrp */
|
|
|
|
{ 2, (sy_call_t *)setpgid }, /* 82 = setpgid */
|
|
|
|
{ 3, (sy_call_t *)setitimer }, /* 83 = setitimer */
|
1994-05-24 10:09:53 +00:00
|
|
|
{ compat(0,wait) }, /* 84 = old wait */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 1, (sy_call_t *)swapon }, /* 85 = swapon */
|
|
|
|
{ 2, (sy_call_t *)getitimer }, /* 86 = getitimer */
|
1994-05-24 10:09:53 +00:00
|
|
|
{ compat(2,gethostname) }, /* 87 = old gethostname */
|
|
|
|
{ compat(2,sethostname) }, /* 88 = old sethostname */
|
1995-10-07 06:29:30 +00:00
|
|
|
{ 0, (sy_call_t *)getdtablesize }, /* 89 = getdtablesize */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 2, (sy_call_t *)dup2 }, /* 90 = dup2 */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 91 = getdopt */
|
|
|
|
{ 3, (sy_call_t *)fcntl }, /* 92 = fcntl */
|
|
|
|
{ 5, (sy_call_t *)select }, /* 93 = select */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 94 = setdopt */
|
|
|
|
{ 1, (sy_call_t *)fsync }, /* 95 = fsync */
|
1995-10-07 06:29:30 +00:00
|
|
|
{ 3, (sy_call_t *)setpriority }, /* 96 = setpriority */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 3, (sy_call_t *)socket }, /* 97 = socket */
|
|
|
|
{ 3, (sy_call_t *)connect }, /* 98 = connect */
|
1994-05-24 10:09:53 +00:00
|
|
|
{ compat(3,accept) }, /* 99 = old accept */
|
1995-10-07 06:29:30 +00:00
|
|
|
{ 2, (sy_call_t *)getpriority }, /* 100 = getpriority */
|
1994-05-24 10:09:53 +00:00
|
|
|
{ compat(4,send) }, /* 101 = old send */
|
|
|
|
{ compat(4,recv) }, /* 102 = old recv */
|
1999-10-12 09:33:53 +00:00
|
|
|
{ compat(1,sigreturn) }, /* 103 = old sigreturn */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 3, (sy_call_t *)bind }, /* 104 = bind */
|
|
|
|
{ 5, (sy_call_t *)setsockopt }, /* 105 = setsockopt */
|
|
|
|
{ 2, (sy_call_t *)listen }, /* 106 = listen */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 107 = obsolete vtimes */
|
1994-05-24 10:09:53 +00:00
|
|
|
{ compat(3,sigvec) }, /* 108 = old sigvec */
|
|
|
|
{ compat(1,sigblock) }, /* 109 = old sigblock */
|
|
|
|
{ compat(1,sigsetmask) }, /* 110 = old sigsetmask */
|
1999-10-12 09:33:53 +00:00
|
|
|
{ compat(1,sigsuspend) }, /* 111 = old sigsuspend */
|
1994-05-24 10:09:53 +00:00
|
|
|
{ compat(2,sigstack) }, /* 112 = old sigstack */
|
|
|
|
{ compat(3,recvmsg) }, /* 113 = old recvmsg */
|
|
|
|
{ compat(3,sendmsg) }, /* 114 = old sendmsg */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 0, (sy_call_t *)nosys }, /* 115 = obsolete vtrace */
|
1995-10-07 06:29:30 +00:00
|
|
|
{ 2, (sy_call_t *)gettimeofday }, /* 116 = gettimeofday */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 2, (sy_call_t *)getrusage }, /* 117 = getrusage */
|
|
|
|
{ 5, (sy_call_t *)getsockopt }, /* 118 = getsockopt */
|
1996-02-23 18:31:34 +00:00
|
|
|
{ 0, (sy_call_t *)nosys }, /* 119 = resuba */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 3, (sy_call_t *)readv }, /* 120 = readv */
|
|
|
|
{ 3, (sy_call_t *)writev }, /* 121 = writev */
|
1995-10-07 06:29:30 +00:00
|
|
|
{ 2, (sy_call_t *)settimeofday }, /* 122 = settimeofday */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 3, (sy_call_t *)fchown }, /* 123 = fchown */
|
|
|
|
{ 2, (sy_call_t *)fchmod }, /* 124 = fchmod */
|
1994-05-24 10:09:53 +00:00
|
|
|
{ compat(6,recvfrom) }, /* 125 = old recvfrom */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 2, (sy_call_t *)setreuid }, /* 126 = setreuid */
|
|
|
|
{ 2, (sy_call_t *)setregid }, /* 127 = setregid */
|
|
|
|
{ 2, (sy_call_t *)rename }, /* 128 = rename */
|
1994-05-24 10:09:53 +00:00
|
|
|
{ compat(2,truncate) }, /* 129 = old truncate */
|
|
|
|
{ compat(2,ftruncate) }, /* 130 = old ftruncate */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 2, (sy_call_t *)flock }, /* 131 = flock */
|
|
|
|
{ 2, (sy_call_t *)mkfifo }, /* 132 = mkfifo */
|
|
|
|
{ 6, (sy_call_t *)sendto }, /* 133 = sendto */
|
|
|
|
{ 2, (sy_call_t *)shutdown }, /* 134 = shutdown */
|
1995-10-07 06:29:30 +00:00
|
|
|
{ 4, (sy_call_t *)socketpair }, /* 135 = socketpair */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 2, (sy_call_t *)mkdir }, /* 136 = mkdir */
|
|
|
|
{ 1, (sy_call_t *)rmdir }, /* 137 = rmdir */
|
|
|
|
{ 2, (sy_call_t *)utimes }, /* 138 = utimes */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 139 = obsolete 4.2 sigreturn */
|
|
|
|
{ 2, (sy_call_t *)adjtime }, /* 140 = adjtime */
|
1994-05-24 10:09:53 +00:00
|
|
|
{ compat(3,getpeername) }, /* 141 = old getpeername */
|
|
|
|
{ compat(0,gethostid) }, /* 142 = old gethostid */
|
|
|
|
{ compat(1,sethostid) }, /* 143 = old sethostid */
|
|
|
|
{ compat(2,getrlimit) }, /* 144 = old getrlimit */
|
|
|
|
{ compat(2,setrlimit) }, /* 145 = old setrlimit */
|
|
|
|
{ compat(2,killpg) }, /* 146 = old killpg */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 0, (sy_call_t *)setsid }, /* 147 = setsid */
|
|
|
|
{ 4, (sy_call_t *)quotactl }, /* 148 = quotactl */
|
1995-10-07 06:29:30 +00:00
|
|
|
{ compat(0,quota) }, /* 149 = old quota */
|
1994-05-24 10:09:53 +00:00
|
|
|
{ compat(3,getsockname) }, /* 150 = old getsockname */
|
1996-02-23 18:31:34 +00:00
|
|
|
{ 0, (sy_call_t *)nosys }, /* 151 = sem_lock */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 152 = sem_wakeup */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 153 = asyncdaemon */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 0, (sy_call_t *)nosys }, /* 154 = nosys */
|
1997-10-26 20:28:54 +00:00
|
|
|
{ 2, (sy_call_t *)nosys }, /* 155 = nfssvc */
|
1994-05-24 10:09:53 +00:00
|
|
|
{ compat(4,getdirentries) }, /* 156 = old getdirentries */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 2, (sy_call_t *)statfs }, /* 157 = statfs */
|
|
|
|
{ 2, (sy_call_t *)fstatfs }, /* 158 = fstatfs */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 159 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 160 = nosys */
|
1997-10-26 20:28:54 +00:00
|
|
|
{ 2, (sy_call_t *)nosys }, /* 161 = getfh */
|
1995-10-07 06:29:30 +00:00
|
|
|
{ 2, (sy_call_t *)getdomainname }, /* 162 = getdomainname */
|
|
|
|
{ 2, (sy_call_t *)setdomainname }, /* 163 = setdomainname */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 1, (sy_call_t *)uname }, /* 164 = uname */
|
|
|
|
{ 2, (sy_call_t *)sysarch }, /* 165 = sysarch */
|
|
|
|
{ 3, (sy_call_t *)rtprio }, /* 166 = rtprio */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 167 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 168 = nosys */
|
|
|
|
{ 5, (sy_call_t *)semsys }, /* 169 = semsys */
|
|
|
|
{ 6, (sy_call_t *)msgsys }, /* 170 = msgsys */
|
|
|
|
{ 4, (sy_call_t *)shmsys }, /* 171 = shmsys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 172 = nosys */
|
1999-04-04 21:43:36 +00:00
|
|
|
{ 6, (sy_call_t *)pread }, /* 173 = pread */
|
|
|
|
{ 6, (sy_call_t *)pwrite }, /* 174 = pwrite */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 0, (sy_call_t *)nosys }, /* 175 = nosys */
|
1995-10-07 06:29:30 +00:00
|
|
|
{ 1, (sy_call_t *)ntp_adjtime }, /* 176 = ntp_adjtime */
|
1996-02-23 18:31:34 +00:00
|
|
|
{ 0, (sy_call_t *)nosys }, /* 177 = sfork */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 178 = getdescriptor */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 179 = setdescriptor */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 0, (sy_call_t *)nosys }, /* 180 = nosys */
|
|
|
|
{ 1, (sy_call_t *)setgid }, /* 181 = setgid */
|
|
|
|
{ 1, (sy_call_t *)setegid }, /* 182 = setegid */
|
|
|
|
{ 1, (sy_call_t *)seteuid }, /* 183 = seteuid */
|
1998-01-30 11:34:06 +00:00
|
|
|
{ 0, (sy_call_t *)nosys }, /* 184 = lfs_bmapv */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 185 = lfs_markv */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 186 = lfs_segclean */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 187 = lfs_segwait */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 2, (sy_call_t *)stat }, /* 188 = stat */
|
|
|
|
{ 2, (sy_call_t *)fstat }, /* 189 = fstat */
|
|
|
|
{ 2, (sy_call_t *)lstat }, /* 190 = lstat */
|
|
|
|
{ 2, (sy_call_t *)pathconf }, /* 191 = pathconf */
|
|
|
|
{ 2, (sy_call_t *)fpathconf }, /* 192 = fpathconf */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 193 = nosys */
|
|
|
|
{ 2, (sy_call_t *)getrlimit }, /* 194 = getrlimit */
|
|
|
|
{ 2, (sy_call_t *)setrlimit }, /* 195 = setrlimit */
|
1995-10-07 06:29:30 +00:00
|
|
|
{ 4, (sy_call_t *)getdirentries }, /* 196 = getdirentries */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 8, (sy_call_t *)mmap }, /* 197 = mmap */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 198 = __syscall */
|
|
|
|
{ 5, (sy_call_t *)lseek }, /* 199 = lseek */
|
|
|
|
{ 4, (sy_call_t *)truncate }, /* 200 = truncate */
|
|
|
|
{ 4, (sy_call_t *)ftruncate }, /* 201 = ftruncate */
|
|
|
|
{ 6, (sy_call_t *)__sysctl }, /* 202 = __sysctl */
|
|
|
|
{ 2, (sy_call_t *)mlock }, /* 203 = mlock */
|
|
|
|
{ 2, (sy_call_t *)munlock }, /* 204 = munlock */
|
1998-05-11 03:55:28 +00:00
|
|
|
{ 1, (sy_call_t *)undelete }, /* 205 = undelete */
|
|
|
|
{ 2, (sy_call_t *)futimes }, /* 206 = futimes */
|
1997-08-19 05:57:04 +00:00
|
|
|
{ 1, (sy_call_t *)getpgid }, /* 207 = getpgid */
|
1997-05-08 14:08:49 +00:00
|
|
|
{ 0, (sy_call_t *)nosys }, /* 208 = newreboot */
|
1997-09-14 02:23:46 +00:00
|
|
|
{ 3, (sy_call_t *)poll }, /* 209 = poll */
|
1995-09-19 13:56:09 +00:00
|
|
|
{ 0, (sy_call_t *)lkmnosys }, /* 210 = lkmnosys */
|
|
|
|
{ 0, (sy_call_t *)lkmnosys }, /* 211 = lkmnosys */
|
|
|
|
{ 0, (sy_call_t *)lkmnosys }, /* 212 = lkmnosys */
|
|
|
|
{ 0, (sy_call_t *)lkmnosys }, /* 213 = lkmnosys */
|
|
|
|
{ 0, (sy_call_t *)lkmnosys }, /* 214 = lkmnosys */
|
|
|
|
{ 0, (sy_call_t *)lkmnosys }, /* 215 = lkmnosys */
|
|
|
|
{ 0, (sy_call_t *)lkmnosys }, /* 216 = lkmnosys */
|
|
|
|
{ 0, (sy_call_t *)lkmnosys }, /* 217 = lkmnosys */
|
|
|
|
{ 0, (sy_call_t *)lkmnosys }, /* 218 = lkmnosys */
|
|
|
|
{ 0, (sy_call_t *)lkmnosys }, /* 219 = lkmnosys */
|
1995-12-15 04:46:32 +00:00
|
|
|
{ 4, (sy_call_t *)__semctl }, /* 220 = __semctl */
|
|
|
|
{ 3, (sy_call_t *)semget }, /* 221 = semget */
|
|
|
|
{ 3, (sy_call_t *)semop }, /* 222 = semop */
|
|
|
|
{ 1, (sy_call_t *)semconfig }, /* 223 = semconfig */
|
|
|
|
{ 3, (sy_call_t *)msgctl }, /* 224 = msgctl */
|
|
|
|
{ 2, (sy_call_t *)msgget }, /* 225 = msgget */
|
|
|
|
{ 4, (sy_call_t *)msgsnd }, /* 226 = msgsnd */
|
|
|
|
{ 5, (sy_call_t *)msgrcv }, /* 227 = msgrcv */
|
|
|
|
{ 3, (sy_call_t *)shmat }, /* 228 = shmat */
|
|
|
|
{ 3, (sy_call_t *)shmctl }, /* 229 = shmctl */
|
|
|
|
{ 1, (sy_call_t *)shmdt }, /* 230 = shmdt */
|
|
|
|
{ 3, (sy_call_t *)shmget }, /* 231 = shmget */
|
1997-05-08 14:08:49 +00:00
|
|
|
{ 2, (sy_call_t *)clock_gettime }, /* 232 = clock_gettime */
|
|
|
|
{ 2, (sy_call_t *)clock_settime }, /* 233 = clock_settime */
|
|
|
|
{ 2, (sy_call_t *)clock_getres }, /* 234 = clock_getres */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 235 = timer_create */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 236 = timer_delete */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 237 = timer_settime */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 238 = timer_gettime */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 239 = timer_getoverrun */
|
|
|
|
{ 2, (sy_call_t *)nanosleep }, /* 240 = nanosleep */
|
1996-02-23 18:31:34 +00:00
|
|
|
{ 0, (sy_call_t *)nosys }, /* 241 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 242 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 243 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 244 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 245 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 246 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 247 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 248 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 249 = nosys */
|
|
|
|
{ 3, (sy_call_t *)minherit }, /* 250 = minherit */
|
|
|
|
{ 1, (sy_call_t *)rfork }, /* 251 = rfork */
|
1997-09-14 02:23:46 +00:00
|
|
|
{ 3, (sy_call_t *)openbsd_poll }, /* 252 = openbsd_poll */
|
1997-03-31 14:55:05 +00:00
|
|
|
{ 0, (sy_call_t *)issetugid }, /* 253 = issetugid */
|
1997-03-31 12:17:45 +00:00
|
|
|
{ 3, (sy_call_t *)lchown }, /* 254 = lchown */
|
1997-05-07 16:05:47 +00:00
|
|
|
{ 0, (sy_call_t *)nosys }, /* 255 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 256 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 257 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 258 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 259 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 260 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 261 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 262 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 263 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 264 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 265 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 266 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 267 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 268 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 269 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 270 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 271 = nosys */
|
1998-05-11 03:55:28 +00:00
|
|
|
{ 3, (sy_call_t *)getdents }, /* 272 = getdents */
|
1997-05-07 16:05:47 +00:00
|
|
|
{ 0, (sy_call_t *)nosys }, /* 273 = nosys */
|
1998-05-11 03:55:28 +00:00
|
|
|
{ 2, (sy_call_t *)lchmod }, /* 274 = lchmod */
|
|
|
|
{ 3, (sy_call_t *)lchown }, /* 275 = netbsd_lchown */
|
|
|
|
{ 2, (sy_call_t *)lutimes }, /* 276 = lutimes */
|
|
|
|
{ 3, (sy_call_t *)msync }, /* 277 = netbsd_msync */
|
|
|
|
{ 2, (sy_call_t *)nstat }, /* 278 = nstat */
|
|
|
|
{ 2, (sy_call_t *)nfstat }, /* 279 = nfstat */
|
|
|
|
{ 2, (sy_call_t *)nlstat }, /* 280 = nlstat */
|
1997-05-07 16:05:47 +00:00
|
|
|
{ 0, (sy_call_t *)nosys }, /* 281 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 282 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 283 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 284 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 285 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 286 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 287 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 288 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 289 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 290 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 291 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 292 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 293 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 294 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 295 = nosys */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 296 = nosys */
|
1999-09-11 00:46:08 +00:00
|
|
|
{ 2, (sy_call_t *)fhstatfs }, /* 297 = fhstatfs */
|
|
|
|
{ 2, (sy_call_t *)fhopen }, /* 298 = fhopen */
|
|
|
|
{ 2, (sy_call_t *)fhstat }, /* 299 = fhstat */
|
1997-05-07 16:05:47 +00:00
|
|
|
{ 1, (sy_call_t *)modnext }, /* 300 = modnext */
|
|
|
|
{ 2, (sy_call_t *)modstat }, /* 301 = modstat */
|
|
|
|
{ 1, (sy_call_t *)modfnext }, /* 302 = modfnext */
|
|
|
|
{ 1, (sy_call_t *)modfind }, /* 303 = modfind */
|
|
|
|
{ 1, (sy_call_t *)kldload }, /* 304 = kldload */
|
|
|
|
{ 1, (sy_call_t *)kldunload }, /* 305 = kldunload */
|
|
|
|
{ 1, (sy_call_t *)kldfind }, /* 306 = kldfind */
|
|
|
|
{ 1, (sy_call_t *)kldnext }, /* 307 = kldnext */
|
|
|
|
{ 2, (sy_call_t *)kldstat }, /* 308 = kldstat */
|
|
|
|
{ 1, (sy_call_t *)kldfirstmod }, /* 309 = kldfirstmod */
|
1997-08-19 05:57:04 +00:00
|
|
|
{ 1, (sy_call_t *)getsid }, /* 310 = getsid */
|
1997-05-08 14:08:49 +00:00
|
|
|
{ 0, (sy_call_t *)nosys }, /* 311 = setresuid */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 312 = setresgid */
|
1998-05-14 11:29:06 +00:00
|
|
|
{ 0, (sy_call_t *)nosys }, /* 313 = obsolete signanosleep */
|
1997-06-16 00:29:36 +00:00
|
|
|
{ 1, (sy_call_t *)aio_return }, /* 314 = aio_return */
|
|
|
|
{ 3, (sy_call_t *)aio_suspend }, /* 315 = aio_suspend */
|
|
|
|
{ 2, (sy_call_t *)aio_cancel }, /* 316 = aio_cancel */
|
|
|
|
{ 1, (sy_call_t *)aio_error }, /* 317 = aio_error */
|
|
|
|
{ 1, (sy_call_t *)aio_read }, /* 318 = aio_read */
|
|
|
|
{ 1, (sy_call_t *)aio_write }, /* 319 = aio_write */
|
|
|
|
{ 4, (sy_call_t *)lio_listio }, /* 320 = lio_listio */
|
|
|
|
{ 0, (sy_call_t *)yield }, /* 321 = yield */
|
|
|
|
{ 1, (sy_call_t *)thr_sleep }, /* 322 = thr_sleep */
|
|
|
|
{ 1, (sy_call_t *)thr_wakeup }, /* 323 = thr_wakeup */
|
|
|
|
{ 1, (sy_call_t *)mlockall }, /* 324 = mlockall */
|
|
|
|
{ 0, (sy_call_t *)munlockall }, /* 325 = munlockall */
|
1997-09-14 16:51:31 +00:00
|
|
|
{ 2, (sy_call_t *)__getcwd }, /* 326 = __getcwd */
|
1998-03-28 11:51:01 +00:00
|
|
|
{ 2, (sy_call_t *)sched_setparam }, /* 327 = sched_setparam */
|
|
|
|
{ 2, (sy_call_t *)sched_getparam }, /* 328 = sched_getparam */
|
|
|
|
{ 3, (sy_call_t *)sched_setscheduler }, /* 329 = sched_setscheduler */
|
|
|
|
{ 1, (sy_call_t *)sched_getscheduler }, /* 330 = sched_getscheduler */
|
|
|
|
{ 0, (sy_call_t *)sched_yield }, /* 331 = sched_yield */
|
|
|
|
{ 1, (sy_call_t *)sched_get_priority_max }, /* 332 = sched_get_priority_max */
|
|
|
|
{ 1, (sy_call_t *)sched_get_priority_min }, /* 333 = sched_get_priority_min */
|
|
|
|
{ 2, (sy_call_t *)sched_rr_get_interval }, /* 334 = sched_rr_get_interval */
|
1998-05-11 03:55:28 +00:00
|
|
|
{ 2, (sy_call_t *)utrace }, /* 335 = utrace */
|
1998-11-05 14:28:26 +00:00
|
|
|
{ 8, (sy_call_t *)sendfile }, /* 336 = sendfile */
|
1998-11-11 12:57:05 +00:00
|
|
|
{ 3, (sy_call_t *)kldsym }, /* 337 = kldsym */
|
This Implements the mumbled about "Jail" feature.
This is a seriously beefed up chroot kind of thing. The process
is jailed along the same lines as a chroot does it, but with
additional tough restrictions imposed on what the superuser can do.
For all I know, it is safe to hand over the root bit inside a
prison to the customer living in that prison, this is what
it was developed for in fact: "real virtual servers".
Each prison has an ip number associated with it, which all IP
communications will be coerced to use and each prison has its own
hostname.
Needless to say, you need more RAM this way, but the advantage is
that each customer can run their own particular version of apache
and not stomp on the toes of their neighbors.
It generally does what one would expect, but setting up a jail
still takes a little knowledge.
A few notes:
I have no scripts for setting up a jail, don't ask me for them.
The IP number should be an alias on one of the interfaces.
mount a /proc in each jail, it will make ps more useable.
/proc/<pid>/status tells the hostname of the prison for
jailed processes.
Quotas are only sensible if you have a mountpoint per prison.
There are no privisions for stopping resource-hogging.
Some "#ifdef INET" and similar may be missing (send patches!)
If somebody wants to take it from here and develop it into
more of a "virtual machine" they should be most welcome!
Tools, comments, patches & documentation most welcome.
Have fun...
Sponsored by: http://www.rndassociates.com/
Run for almost a year by: http://www.servetheweb.com/
1999-04-28 11:38:52 +00:00
|
|
|
{ 1, (sy_call_t *)jail }, /* 338 = jail */
|
1999-08-04 20:04:25 +00:00
|
|
|
{ 0, (sy_call_t *)nosys }, /* 339 = pioctl */
|
1999-09-29 15:03:48 +00:00
|
|
|
{ 3, (sy_call_t *)sigprocmask }, /* 340 = sigprocmask */
|
|
|
|
{ 1, (sy_call_t *)sigsuspend }, /* 341 = sigsuspend */
|
|
|
|
{ 3, (sy_call_t *)sigaction }, /* 342 = sigaction */
|
|
|
|
{ 1, (sy_call_t *)sigpending }, /* 343 = sigpending */
|
|
|
|
{ 1, (sy_call_t *)sigreturn }, /* 344 = sigreturn */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 345 = sigtimedwait */
|
|
|
|
{ 0, (sy_call_t *)nosys }, /* 346 = sigwaitinfo */
|
1994-05-24 10:09:53 +00:00
|
|
|
};
|