1 /* $NetBSD: linux_sysent.c,v 1.14 2000/03/18 22:16:57 erh Exp $ */ 2 3 /* 4 * System call switch table. 5 * 6 * DO NOT EDIT-- this file is automatically generated. 7 * created from NetBSD: syscalls.master,v 1.13 2000/02/03 10:03:00 abs Exp 8 */ 9 10 #include "opt_compat_netbsd.h" 11 #include "opt_compat_43.h" 12 #include <sys/param.h> 13 #include <sys/poll.h> 14 #include <sys/systm.h> 15 #include <sys/signal.h> 16 #include <sys/mount.h> 17 #include <sys/syscallargs.h> 18 #include <compat/linux/common/linux_types.h> 19 #include <compat/linux/common/linux_signal.h> 20 #include <compat/linux/common/linux_siginfo.h> 21 #include <compat/linux/common/linux_machdep.h> 22 #include <compat/linux/linux_syscallargs.h> 23 24 #define s(type) sizeof(type) 25 26 struct sysent linux_sysent[] = { 27 { 0, 0, 28 sys_nosys }, /* 0 = syscall */ 29 { 1, s(struct sys_exit_args), 30 sys_exit }, /* 1 = exit */ 31 { 0, 0, 32 sys_fork }, /* 2 = fork */ 33 { 3, s(struct sys_read_args), 34 sys_read }, /* 3 = read */ 35 { 3, s(struct sys_write_args), 36 sys_write }, /* 4 = write */ 37 { 3, s(struct linux_sys_open_args), 38 linux_sys_open }, /* 5 = open */ 39 { 1, s(struct sys_close_args), 40 sys_close }, /* 6 = close */ 41 { 3, s(struct linux_sys_waitpid_args), 42 linux_sys_waitpid }, /* 7 = waitpid */ 43 { 2, s(struct linux_sys_creat_args), 44 linux_sys_creat }, /* 8 = creat */ 45 { 2, s(struct sys_link_args), 46 sys_link }, /* 9 = link */ 47 { 1, s(struct linux_sys_unlink_args), 48 linux_sys_unlink }, /* 10 = unlink */ 49 { 3, s(struct linux_sys_execve_args), 50 linux_sys_execve }, /* 11 = execve */ 51 { 1, s(struct linux_sys_chdir_args), 52 linux_sys_chdir }, /* 12 = chdir */ 53 { 1, s(struct linux_sys_time_args), 54 linux_sys_time }, /* 13 = time */ 55 { 3, s(struct linux_sys_mknod_args), 56 linux_sys_mknod }, /* 14 = mknod */ 57 { 2, s(struct linux_sys_chmod_args), 58 linux_sys_chmod }, /* 15 = chmod */ 59 { 3, s(struct linux_sys_chown_args), 60 linux_sys_chown }, /* 16 = chown */ 61 { 0, 0, 62 sys_nosys }, /* 17 = obsolete break */ 63 { 0, 0, 64 sys_nosys }, /* 18 = obsolete ostat */ 65 #if !defined(_KERNEL) || defined(COMPAT_43) 66 { 3, s(struct compat_43_sys_lseek_args), 67 compat_43_sys_lseek }, /* 19 = lseek */ 68 #else 69 { 0, 0, 70 sys_nosys }, /* 19 = unimplemented compat_43_sys_lseek */ 71 #endif 72 { 0, 0, 73 sys_getpid }, /* 20 = getpid */ 74 { 0, 0, 75 sys_nosys }, /* 21 = unimplemented mount */ 76 { 0, 0, 77 sys_nosys }, /* 22 = obsolete umount */ 78 { 1, s(struct sys_setuid_args), 79 sys_setuid }, /* 23 = setuid */ 80 { 0, 0, 81 sys_getuid }, /* 24 = getuid */ 82 { 1, s(struct linux_sys_stime_args), 83 linux_sys_stime }, /* 25 = stime */ 84 { 4, s(struct linux_sys_ptrace_args), 85 linux_sys_ptrace }, /* 26 = ptrace */ 86 { 1, s(struct linux_sys_alarm_args), 87 linux_sys_alarm }, /* 27 = alarm */ 88 { 0, 0, 89 sys_nosys }, /* 28 = obsolete ofstat */ 90 { 0, 0, 91 linux_sys_pause }, /* 29 = pause */ 92 { 2, s(struct linux_sys_utime_args), 93 linux_sys_utime }, /* 30 = utime */ 94 { 0, 0, 95 sys_nosys }, /* 31 = obsolete stty */ 96 { 0, 0, 97 sys_nosys }, /* 32 = obsolete gtty */ 98 { 2, s(struct linux_sys_access_args), 99 linux_sys_access }, /* 33 = access */ 100 { 1, s(struct linux_sys_nice_args), 101 linux_sys_nice }, /* 34 = nice */ 102 { 0, 0, 103 sys_nosys }, /* 35 = obsolete ftime */ 104 { 0, 0, 105 sys_sync }, /* 36 = sync */ 106 { 2, s(struct linux_sys_kill_args), 107 linux_sys_kill }, /* 37 = kill */ 108 { 2, s(struct linux_sys_rename_args), 109 linux_sys_rename }, /* 38 = rename */ 110 { 2, s(struct linux_sys_mkdir_args), 111 linux_sys_mkdir }, /* 39 = mkdir */ 112 { 1, s(struct linux_sys_rmdir_args), 113 linux_sys_rmdir }, /* 40 = rmdir */ 114 { 1, s(struct sys_dup_args), 115 sys_dup }, /* 41 = dup */ 116 { 1, s(struct linux_sys_pipe_args), 117 linux_sys_pipe }, /* 42 = pipe */ 118 { 1, s(struct linux_sys_times_args), 119 linux_sys_times }, /* 43 = times */ 120 { 0, 0, 121 sys_nosys }, /* 44 = obsolete prof */ 122 { 1, s(struct linux_sys_brk_args), 123 linux_sys_brk }, /* 45 = brk */ 124 { 1, s(struct sys_setgid_args), 125 sys_setgid }, /* 46 = setgid */ 126 { 0, 0, 127 sys_getgid }, /* 47 = getgid */ 128 { 2, s(struct linux_sys_signal_args), 129 linux_sys_signal }, /* 48 = signal */ 130 { 0, 0, 131 sys_geteuid }, /* 49 = geteuid */ 132 { 0, 0, 133 sys_getegid }, /* 50 = getegid */ 134 { 1, s(struct sys_acct_args), 135 sys_acct }, /* 51 = acct */ 136 { 0, 0, 137 sys_nosys }, /* 52 = unimplemented umount */ 138 { 0, 0, 139 sys_nosys }, /* 53 = obsolete lock */ 140 { 3, s(struct linux_sys_ioctl_args), 141 linux_sys_ioctl }, /* 54 = ioctl */ 142 { 3, s(struct linux_sys_fcntl_args), 143 linux_sys_fcntl }, /* 55 = fcntl */ 144 { 0, 0, 145 sys_nosys }, /* 56 = obsolete mpx */ 146 { 2, s(struct sys_setpgid_args), 147 sys_setpgid }, /* 57 = setpgid */ 148 { 0, 0, 149 sys_nosys }, /* 58 = obsolete ulimit */ 150 { 0, 0, 151 sys_nosys }, /* 59 = unimplemented oldolduname */ 152 { 1, s(struct sys_umask_args), 153 sys_umask }, /* 60 = umask */ 154 { 1, s(struct sys_chroot_args), 155 sys_chroot }, /* 61 = chroot */ 156 { 0, 0, 157 sys_nosys }, /* 62 = unimplemented ustat */ 158 { 2, s(struct sys_dup2_args), 159 sys_dup2 }, /* 63 = dup2 */ 160 { 0, 0, 161 sys_getppid }, /* 64 = getppid */ 162 { 0, 0, 163 sys_getpgrp }, /* 65 = getpgrp */ 164 { 0, 0, 165 sys_setsid }, /* 66 = setsid */ 166 { 3, s(struct linux_sys_sigaction_args), 167 linux_sys_sigaction }, /* 67 = sigaction */ 168 { 0, 0, 169 linux_sys_siggetmask }, /* 68 = siggetmask */ 170 { 1, s(struct linux_sys_sigsetmask_args), 171 linux_sys_sigsetmask }, /* 69 = sigsetmask */ 172 { 2, s(struct linux_sys_setreuid_args), 173 linux_sys_setreuid }, /* 70 = setreuid */ 174 { 2, s(struct linux_sys_setregid_args), 175 linux_sys_setregid }, /* 71 = setregid */ 176 { 3, s(struct linux_sys_sigsuspend_args), 177 linux_sys_sigsuspend }, /* 72 = sigsuspend */ 178 { 1, s(struct linux_sys_sigpending_args), 179 linux_sys_sigpending }, /* 73 = sigpending */ 180 #if !defined(_KERNEL) || defined(COMPAT_43) 181 { 2, s(struct compat_43_sys_sethostname_args), 182 compat_43_sys_sethostname }, /* 74 = sethostname */ 183 { 2, s(struct compat_43_sys_setrlimit_args), 184 compat_43_sys_setrlimit }, /* 75 = setrlimit */ 185 { 2, s(struct compat_43_sys_getrlimit_args), 186 compat_43_sys_getrlimit }, /* 76 = getrlimit */ 187 #else 188 { 0, 0, 189 sys_nosys }, /* 74 = unimplemented compat_43_sys_sethostname */ 190 { 0, 0, 191 sys_nosys }, /* 75 = unimplemented compat_43_sys_setrlimit */ 192 { 0, 0, 193 sys_nosys }, /* 76 = unimplemented compat_43_sys_getrlimit */ 194 #endif 195 { 2, s(struct sys_getrusage_args), 196 sys_getrusage }, /* 77 = getrusage */ 197 { 2, s(struct sys_gettimeofday_args), 198 sys_gettimeofday }, /* 78 = gettimeofday */ 199 { 2, s(struct sys_settimeofday_args), 200 sys_settimeofday }, /* 79 = settimeofday */ 201 { 2, s(struct sys_getgroups_args), 202 sys_getgroups }, /* 80 = getgroups */ 203 { 2, s(struct sys_setgroups_args), 204 sys_setgroups }, /* 81 = setgroups */ 205 { 1, s(struct linux_sys_oldselect_args), 206 linux_sys_oldselect }, /* 82 = oldselect */ 207 { 2, s(struct linux_sys_symlink_args), 208 linux_sys_symlink }, /* 83 = symlink */ 209 #if !defined(_KERNEL) || defined(COMPAT_43) 210 { 2, s(struct compat_43_sys_lstat_args), 211 compat_43_sys_lstat }, /* 84 = oolstat */ 212 #else 213 { 0, 0, 214 sys_nosys }, /* 84 = unimplemented compat_43_sys_lstat */ 215 #endif 216 { 3, s(struct linux_sys_readlink_args), 217 linux_sys_readlink }, /* 85 = readlink */ 218 { 1, s(struct linux_sys_uselib_args), 219 linux_sys_uselib }, /* 86 = uselib */ 220 #if !defined(_KERNEL) || defined(COMPAT_12) 221 { 1, s(struct compat_12_sys_swapon_args), 222 compat_12_sys_swapon }, /* 87 = swapon */ 223 #else 224 { 0, 0, 225 sys_nosys }, /* 87 = unimplemented compat_12_sys_swapon */ 226 #endif 227 { 4, s(struct linux_sys_reboot_args), 228 linux_sys_reboot }, /* 88 = reboot */ 229 { 3, s(struct linux_sys_readdir_args), 230 linux_sys_readdir }, /* 89 = readdir */ 231 { 1, s(struct linux_sys_old_mmap_args), 232 linux_sys_old_mmap }, /* 90 = old_mmap */ 233 { 2, s(struct sys_munmap_args), 234 sys_munmap }, /* 91 = munmap */ 235 { 2, s(struct linux_sys_truncate_args), 236 linux_sys_truncate }, /* 92 = truncate */ 237 #if !defined(_KERNEL) || defined(COMPAT_43) 238 { 2, s(struct compat_43_sys_ftruncate_args), 239 compat_43_sys_ftruncate }, /* 93 = ftruncate */ 240 #else 241 { 0, 0, 242 sys_nosys }, /* 93 = unimplemented compat_43_sys_ftruncate */ 243 #endif 244 { 2, s(struct sys_fchmod_args), 245 sys_fchmod }, /* 94 = fchmod */ 246 { 3, s(struct linux_sys_fchown_args), 247 linux_sys_fchown }, /* 95 = fchown */ 248 { 2, s(struct sys_getpriority_args), 249 sys_getpriority }, /* 96 = getpriority */ 250 { 3, s(struct sys_setpriority_args), 251 sys_setpriority }, /* 97 = setpriority */ 252 { 4, s(struct sys_profil_args), 253 sys_profil }, /* 98 = profil */ 254 { 2, s(struct linux_sys_statfs_args), 255 linux_sys_statfs }, /* 99 = statfs */ 256 { 2, s(struct linux_sys_fstatfs_args), 257 linux_sys_fstatfs }, /* 100 = fstatfs */ 258 { 0, 0, 259 sys_nosys }, /* 101 = unimplemented ioperm */ 260 { 2, s(struct linux_sys_socketcall_args), 261 linux_sys_socketcall }, /* 102 = socketcall */ 262 { 0, 0, 263 sys_nosys }, /* 103 = unimplemented syslog */ 264 { 3, s(struct sys_setitimer_args), 265 sys_setitimer }, /* 104 = setitimer */ 266 { 2, s(struct sys_getitimer_args), 267 sys_getitimer }, /* 105 = getitimer */ 268 { 2, s(struct linux_sys_stat_args), 269 linux_sys_stat }, /* 106 = stat */ 270 { 2, s(struct linux_sys_lstat_args), 271 linux_sys_lstat }, /* 107 = lstat */ 272 { 2, s(struct linux_sys_fstat_args), 273 linux_sys_fstat }, /* 108 = fstat */ 274 { 0, 0, 275 sys_nosys }, /* 109 = unimplemented olduname */ 276 { 0, 0, 277 sys_nosys }, /* 110 = unimplemented iopl */ 278 { 0, 0, 279 sys_nosys }, /* 111 = unimplemented vhangup */ 280 { 0, 0, 281 sys_nosys }, /* 112 = unimplemented idle */ 282 { 0, 0, 283 sys_nosys }, /* 113 = unimplemented vm86old */ 284 { 4, s(struct linux_sys_wait4_args), 285 linux_sys_wait4 }, /* 114 = wait4 */ 286 { 0, 0, 287 sys_nosys }, /* 115 = unimplemented swapoff */ 288 { 0, 0, 289 sys_nosys }, /* 116 = unimplemented sysinfo */ 290 { 5, s(struct linux_sys_ipc_args), 291 linux_sys_ipc }, /* 117 = ipc */ 292 { 1, s(struct sys_fsync_args), 293 sys_fsync }, /* 118 = fsync */ 294 { 0, 0, 295 linux_sys_sigreturn }, /* 119 = sigreturn */ 296 { 2, s(struct linux_sys_clone_args), 297 linux_sys_clone }, /* 120 = clone */ 298 #if !defined(_KERNEL) || defined(COMPAT_09) 299 { 2, s(struct compat_09_sys_setdomainname_args), 300 compat_09_sys_setdomainname }, /* 121 = setdomainname */ 301 #else 302 { 0, 0, 303 sys_nosys }, /* 121 = unimplemented compat_09_sys_setdomainname */ 304 #endif 305 { 1, s(struct linux_sys_uname_args), 306 linux_sys_uname }, /* 122 = uname */ 307 { 4, s(struct linux_sys_cacheflush_args), 308 linux_sys_cacheflush }, /* 123 = cacheflush */ 309 { 0, 0, 310 sys_nosys }, /* 124 = unimplemented adjtimex */ 311 { 3, s(struct sys_mprotect_args), 312 sys_mprotect }, /* 125 = mprotect */ 313 { 3, s(struct linux_sys_sigprocmask_args), 314 linux_sys_sigprocmask }, /* 126 = sigprocmask */ 315 { 0, 0, 316 sys_nosys }, /* 127 = unimplemented create_module */ 317 { 0, 0, 318 sys_nosys }, /* 128 = unimplemented init_module */ 319 { 0, 0, 320 sys_nosys }, /* 129 = unimplemented delete_module */ 321 { 0, 0, 322 sys_nosys }, /* 130 = unimplemented get_kernel_syms */ 323 { 0, 0, 324 sys_nosys }, /* 131 = unimplemented quotactl */ 325 { 1, s(struct linux_sys_getpgid_args), 326 linux_sys_getpgid }, /* 132 = getpgid */ 327 { 1, s(struct sys_fchdir_args), 328 sys_fchdir }, /* 133 = fchdir */ 329 { 0, 0, 330 sys_nosys }, /* 134 = unimplemented bdflush */ 331 { 0, 0, 332 sys_nosys }, /* 135 = unimplemented sysfs */ 333 { 1, s(struct linux_sys_personality_args), 334 linux_sys_personality }, /* 136 = personality */ 335 { 0, 0, 336 sys_nosys }, /* 137 = unimplemented afs_syscall */ 337 { 1, s(struct linux_sys_setfsuid_args), 338 linux_sys_setfsuid }, /* 138 = setfsuid */ 339 { 0, 0, 340 linux_sys_getfsuid }, /* 139 = getfsuid */ 341 { 5, s(struct linux_sys_llseek_args), 342 linux_sys_llseek }, /* 140 = llseek */ 343 { 3, s(struct linux_sys_getdents_args), 344 linux_sys_getdents }, /* 141 = getdents */ 345 { 5, s(struct linux_sys_select_args), 346 linux_sys_select }, /* 142 = select */ 347 { 2, s(struct sys_flock_args), 348 sys_flock }, /* 143 = flock */ 349 { 3, s(struct linux_sys_msync_args), 350 linux_sys_msync }, /* 144 = msync */ 351 { 3, s(struct sys_readv_args), 352 sys_readv }, /* 145 = readv */ 353 { 3, s(struct sys_writev_args), 354 sys_writev }, /* 146 = writev */ 355 { 1, s(struct sys_getsid_args), 356 sys_getsid }, /* 147 = getsid */ 357 { 1, s(struct linux_sys_fdatasync_args), 358 linux_sys_fdatasync }, /* 148 = fdatasync */ 359 { 1, s(struct linux_sys___sysctl_args), 360 linux_sys___sysctl }, /* 149 = __sysctl */ 361 { 2, s(struct sys_mlock_args), 362 sys_mlock }, /* 150 = mlock */ 363 { 2, s(struct sys_munlock_args), 364 sys_munlock }, /* 151 = munlock */ 365 { 0, 0, 366 sys_nosys }, /* 152 = unimplemented mlockall */ 367 { 0, 0, 368 sys_nosys }, /* 153 = unimplemented munlockall */ 369 { 2, s(struct linux_sys_sched_setparam_args), 370 linux_sys_sched_setparam }, /* 154 = sched_setparam */ 371 { 2, s(struct linux_sys_sched_getparam_args), 372 linux_sys_sched_getparam }, /* 155 = sched_getparam */ 373 { 3, s(struct linux_sys_sched_setscheduler_args), 374 linux_sys_sched_setscheduler }, /* 156 = sched_setscheduler */ 375 { 1, s(struct linux_sys_sched_getscheduler_args), 376 linux_sys_sched_getscheduler }, /* 157 = sched_getscheduler */ 377 { 0, 0, 378 linux_sys_sched_yield }, /* 158 = sched_yield */ 379 { 1, s(struct linux_sys_sched_get_priority_max_args), 380 linux_sys_sched_get_priority_max }, /* 159 = sched_get_priority_max */ 381 { 1, s(struct linux_sys_sched_get_priority_min_args), 382 linux_sys_sched_get_priority_min }, /* 160 = sched_get_priority_min */ 383 { 0, 0, 384 sys_nosys }, /* 161 = unimplemented sched_rr_get_interval */ 385 { 2, s(struct sys_nanosleep_args), 386 sys_nanosleep }, /* 162 = nanosleep */ 387 { 4, s(struct linux_sys_mremap_args), 388 linux_sys_mremap }, /* 163 = mremap */ 389 { 3, s(struct linux_sys_setresuid_args), 390 linux_sys_setresuid }, /* 164 = setresuid */ 391 { 3, s(struct linux_sys_getresuid_args), 392 linux_sys_getresuid }, /* 165 = getresuid */ 393 { 0, 0, 394 sys_nosys }, /* 166 = unimplemented vm86 */ 395 { 0, 0, 396 sys_nosys }, /* 167 = unimplemented query_module */ 397 { 3, s(struct sys_poll_args), 398 sys_poll }, /* 168 = poll */ 399 { 0, 0, 400 sys_nosys }, /* 169 = unimplemented nfsservctl */ 401 { 3, s(struct linux_sys_setresgid_args), 402 linux_sys_setresgid }, /* 170 = setresgid */ 403 { 3, s(struct linux_sys_getresgid_args), 404 linux_sys_getresgid }, /* 171 = getresgid */ 405 { 0, 0, 406 sys_nosys }, /* 172 = unimplemented prctl */ 407 { 0, 0, 408 linux_sys_rt_sigreturn }, /* 173 = rt_sigreturn */ 409 { 4, s(struct linux_sys_rt_sigaction_args), 410 linux_sys_rt_sigaction }, /* 174 = rt_sigaction */ 411 { 4, s(struct linux_sys_rt_sigprocmask_args), 412 linux_sys_rt_sigprocmask }, /* 175 = rt_sigprocmask */ 413 { 2, s(struct linux_sys_rt_sigpending_args), 414 linux_sys_rt_sigpending }, /* 176 = rt_sigpending */ 415 { 0, 0, 416 sys_nosys }, /* 177 = unimplemented rt_sigtimedwait */ 417 { 3, s(struct linux_sys_rt_queueinfo_args), 418 linux_sys_rt_queueinfo }, /* 178 = rt_queueinfo */ 419 { 2, s(struct linux_sys_rt_sigsuspend_args), 420 linux_sys_rt_sigsuspend }, /* 179 = rt_sigsuspend */ 421 { 4, s(struct linux_sys_pread_args), 422 linux_sys_pread }, /* 180 = pread */ 423 { 4, s(struct linux_sys_pwrite_args), 424 linux_sys_pwrite }, /* 181 = pwrite */ 425 { 3, s(struct linux_sys_lchown_args), 426 linux_sys_lchown }, /* 182 = lchown */ 427 { 2, s(struct sys___getcwd_args), 428 sys___getcwd }, /* 183 = __getcwd */ 429 { 0, 0, 430 sys_nosys }, /* 184 = unimplemented capget */ 431 { 0, 0, 432 sys_nosys }, /* 185 = unimplemented capset */ 433 { 0, 0, 434 sys_nosys }, /* 186 = unimplemented sigaltstack */ 435 { 0, 0, 436 sys_nosys }, /* 187 = unimplemented sendfile */ 437 { 0, 0, 438 sys_nosys }, /* 188 = unimplemented getpmsg */ 439 { 0, 0, 440 sys_nosys }, /* 189 = unimplemented putpmsg */ 441 { 0, 0, 442 sys___vfork14 }, /* 190 = __vfork14 */ 443 }; 444 445