1
2
3
4
5
6
7
8
9
10 #include <sys/param.h>
11 #include <sys/systm.h>
12 #include <sys/signal.h>
13 #include <sys/mount.h>
14 #include <sys/syscallargs.h>
15 #include <compat/bsdos/bsdos_syscallargs.h>
16
17 #define s(type) sizeof(type)
18
19 struct sysent bsdos_sysent[] = {
20 { 0, 0,
21 sys_nosys },
22 { 1, s(struct sys_exit_args),
23 sys_exit },
24 { 0, 0,
25 sys_fork },
26 { 3, s(struct sys_read_args),
27 sys_read },
28 { 3, s(struct sys_write_args),
29 sys_write },
30 { 3, s(struct sys_open_args),
31 sys_open },
32 { 1, s(struct sys_close_args),
33 sys_close },
34 { 4, s(struct sys_wait4_args),
35 sys_wait4 },
36 { 2, s(struct compat_43_sys_creat_args),
37 compat_43_sys_creat },
38 { 2, s(struct sys_link_args),
39 sys_link },
40 { 1, s(struct sys_unlink_args),
41 sys_unlink },
42 { 0, 0,
43 sys_nosys },
44 { 1, s(struct sys_chdir_args),
45 sys_chdir },
46 { 1, s(struct sys_fchdir_args),
47 sys_fchdir },
48 { 3, s(struct sys_mknod_args),
49 sys_mknod },
50 { 2, s(struct sys_chmod_args),
51 sys_chmod },
52 { 3, s(struct sys_chown_args),
53 sys_chown },
54 { 1, s(struct sys_obreak_args),
55 sys_obreak },
56 { 3, s(struct compat_25_sys_getfsstat_args),
57 compat_25_sys_getfsstat },
58 { 3, s(struct compat_43_sys_lseek_args),
59 compat_43_sys_lseek },
60 { 0, 0,
61 sys_getpid },
62 { 4, s(struct sys_mount_args),
63 sys_mount },
64 { 2, s(struct sys_unmount_args),
65 sys_unmount },
66 { 1, s(struct sys_setuid_args),
67 sys_setuid },
68 { 0, 0,
69 sys_getuid },
70 { 0, 0,
71 sys_geteuid },
72 #ifdef PTRACE
73 { 4, s(struct sys_ptrace_args),
74 sys_ptrace },
75 #else
76 { 0, 0,
77 sys_nosys },
78 #endif
79 { 3, s(struct sys_recvmsg_args),
80 sys_recvmsg },
81 { 3, s(struct sys_sendmsg_args),
82 sys_sendmsg },
83 { 6, s(struct sys_recvfrom_args),
84 sys_recvfrom },
85 { 3, s(struct sys_accept_args),
86 sys_accept },
87 { 3, s(struct sys_getpeername_args),
88 sys_getpeername },
89 { 3, s(struct sys_getsockname_args),
90 sys_getsockname },
91 { 2, s(struct sys_access_args),
92 sys_access },
93 { 2, s(struct sys_chflags_args),
94 sys_chflags },
95 { 2, s(struct sys_fchflags_args),
96 sys_fchflags },
97 { 0, 0,
98 sys_sync },
99 { 2, s(struct sys_kill_args),
100 sys_kill },
101 { 2, s(struct compat_43_sys_stat_args),
102 compat_43_sys_stat },
103 { 0, 0,
104 sys_getppid },
105 { 2, s(struct compat_43_sys_lstat_args),
106 compat_43_sys_lstat },
107 { 1, s(struct sys_dup_args),
108 sys_dup },
109 { 0, 0,
110 sys_opipe },
111 { 0, 0,
112 sys_getegid },
113 { 4, s(struct sys_profil_args),
114 sys_profil },
115 #ifdef KTRACE
116 { 4, s(struct sys_ktrace_args),
117 sys_ktrace },
118 #else
119 { 0, 0,
120 sys_nosys },
121 #endif
122 { 3, s(struct sys_sigaction_args),
123 sys_sigaction },
124 { 0, 0,
125 sys_getgid },
126 { 2, s(struct sys_sigprocmask_args),
127 sys_sigprocmask },
128 { 2, s(struct sys_getlogin_args),
129 sys_getlogin },
130 { 1, s(struct sys_setlogin_args),
131 sys_setlogin },
132 #ifdef ACCOUNTING
133 { 1, s(struct sys_acct_args),
134 sys_acct },
135 #else
136 { 0, 0,
137 sys_nosys },
138 #endif
139 { 0, 0,
140 sys_sigpending },
141 { 2, s(struct sys_osigaltstack_args),
142 sys_osigaltstack },
143 { 3, s(struct bsdos_sys_ioctl_args),
144 bsdos_sys_ioctl },
145 { 1, s(struct sys_reboot_args),
146 sys_reboot },
147 { 1, s(struct sys_revoke_args),
148 sys_revoke },
149 { 2, s(struct sys_symlink_args),
150 sys_symlink },
151 { 3, s(struct sys_readlink_args),
152 sys_readlink },
153 { 3, s(struct sys_execve_args),
154 sys_execve },
155 { 1, s(struct sys_umask_args),
156 sys_umask },
157 { 1, s(struct sys_chroot_args),
158 sys_chroot },
159 { 2, s(struct compat_43_sys_fstat_args),
160 compat_43_sys_fstat },
161 { 4, s(struct compat_43_sys_getkerninfo_args),
162 compat_43_sys_getkerninfo },
163 { 0, 0,
164 compat_43_sys_getpagesize },
165 { 3, s(struct sys_msync_args),
166 sys_msync },
167 { 0, 0,
168 sys_vfork },
169 { 0, 0,
170 sys_nosys },
171 { 0, 0,
172 sys_nosys },
173 { 1, s(struct sys_sbrk_args),
174 sys_sbrk },
175 { 1, s(struct sys_sstk_args),
176 sys_sstk },
177 { 6, s(struct compat_43_sys_mmap_args),
178 compat_43_sys_mmap },
179 { 1, s(struct sys_ovadvise_args),
180 sys_ovadvise },
181 { 2, s(struct sys_munmap_args),
182 sys_munmap },
183 { 3, s(struct sys_mprotect_args),
184 sys_mprotect },
185 { 3, s(struct sys_madvise_args),
186 sys_madvise },
187 { 0, 0,
188 sys_nosys },
189 { 0, 0,
190 sys_nosys },
191 { 3, s(struct sys_mincore_args),
192 sys_mincore },
193 { 2, s(struct sys_getgroups_args),
194 sys_getgroups },
195 { 2, s(struct sys_setgroups_args),
196 sys_setgroups },
197 { 0, 0,
198 sys_getpgrp },
199 { 2, s(struct sys_setpgid_args),
200 sys_setpgid },
201 { 3, s(struct sys_setitimer_args),
202 sys_setitimer },
203 { 0, 0,
204 compat_43_sys_wait },
205 { 1, s(struct compat_25_sys_swapon_args),
206 compat_25_sys_swapon },
207 { 2, s(struct sys_getitimer_args),
208 sys_getitimer },
209 { 2, s(struct compat_43_sys_gethostname_args),
210 compat_43_sys_gethostname },
211 { 2, s(struct compat_43_sys_sethostname_args),
212 compat_43_sys_sethostname },
213 { 0, 0,
214 compat_43_sys_getdtablesize },
215 { 2, s(struct sys_dup2_args),
216 sys_dup2 },
217 { 0, 0,
218 sys_nosys },
219 { 3, s(struct sys_fcntl_args),
220 sys_fcntl },
221 { 5, s(struct sys_select_args),
222 sys_select },
223 { 0, 0,
224 sys_nosys },
225 { 1, s(struct sys_fsync_args),
226 sys_fsync },
227 { 3, s(struct sys_setpriority_args),
228 sys_setpriority },
229 { 3, s(struct sys_socket_args),
230 sys_socket },
231 { 3, s(struct sys_connect_args),
232 sys_connect },
233 { 3, s(struct compat_43_sys_accept_args),
234 compat_43_sys_accept },
235 { 2, s(struct sys_getpriority_args),
236 sys_getpriority },
237 { 4, s(struct compat_43_sys_send_args),
238 compat_43_sys_send },
239 { 4, s(struct compat_43_sys_recv_args),
240 compat_43_sys_recv },
241 { 1, s(struct sys_sigreturn_args),
242 sys_sigreturn },
243 { 3, s(struct sys_bind_args),
244 sys_bind },
245 { 5, s(struct sys_setsockopt_args),
246 sys_setsockopt },
247 { 2, s(struct sys_listen_args),
248 sys_listen },
249 { 0, 0,
250 sys_nosys },
251 { 3, s(struct compat_43_sys_sigvec_args),
252 compat_43_sys_sigvec },
253 { 1, s(struct compat_43_sys_sigblock_args),
254 compat_43_sys_sigblock },
255 { 1, s(struct compat_43_sys_sigsetmask_args),
256 compat_43_sys_sigsetmask },
257 { 1, s(struct sys_sigsuspend_args),
258 sys_sigsuspend },
259 { 2, s(struct compat_43_sys_sigstack_args),
260 compat_43_sys_sigstack },
261 { 3, s(struct compat_43_sys_recvmsg_args),
262 compat_43_sys_recvmsg },
263 { 3, s(struct compat_43_sys_sendmsg_args),
264 compat_43_sys_sendmsg },
265 #ifdef TRACE
266 { 2, s(struct sys_vtrace_args),
267 sys_vtrace },
268 #else
269 { 0, 0,
270 sys_nosys },
271 #endif
272 { 2, s(struct sys_gettimeofday_args),
273 sys_gettimeofday },
274 { 2, s(struct sys_getrusage_args),
275 sys_getrusage },
276 { 5, s(struct sys_getsockopt_args),
277 sys_getsockopt },
278 { 0, 0,
279 sys_nosys },
280 { 3, s(struct sys_readv_args),
281 sys_readv },
282 { 3, s(struct sys_writev_args),
283 sys_writev },
284 { 2, s(struct sys_settimeofday_args),
285 sys_settimeofday },
286 { 3, s(struct sys_fchown_args),
287 sys_fchown },
288 { 2, s(struct sys_fchmod_args),
289 sys_fchmod },
290 { 6, s(struct compat_43_sys_recvfrom_args),
291 compat_43_sys_recvfrom },
292 { 2, s(struct sys_setreuid_args),
293 sys_setreuid },
294 { 2, s(struct sys_setregid_args),
295 sys_setregid },
296 { 2, s(struct sys_rename_args),
297 sys_rename },
298 { 2, s(struct compat_43_sys_truncate_args),
299 compat_43_sys_truncate },
300 { 2, s(struct compat_43_sys_ftruncate_args),
301 compat_43_sys_ftruncate },
302 { 2, s(struct sys_flock_args),
303 sys_flock },
304 { 2, s(struct sys_mkfifo_args),
305 sys_mkfifo },
306 { 6, s(struct sys_sendto_args),
307 sys_sendto },
308 { 2, s(struct sys_shutdown_args),
309 sys_shutdown },
310 { 4, s(struct sys_socketpair_args),
311 sys_socketpair },
312 { 2, s(struct sys_mkdir_args),
313 sys_mkdir },
314 { 1, s(struct sys_rmdir_args),
315 sys_rmdir },
316 { 2, s(struct sys_utimes_args),
317 sys_utimes },
318 { 0, 0,
319 sys_nosys },
320 { 2, s(struct sys_adjtime_args),
321 sys_adjtime },
322 { 3, s(struct compat_43_sys_getpeername_args),
323 compat_43_sys_getpeername },
324 { 0, 0,
325 compat_43_sys_gethostid },
326 { 1, s(struct compat_43_sys_sethostid_args),
327 compat_43_sys_sethostid },
328 { 2, s(struct compat_43_sys_getrlimit_args),
329 compat_43_sys_getrlimit },
330 { 2, s(struct compat_43_sys_setrlimit_args),
331 compat_43_sys_setrlimit },
332 { 2, s(struct compat_43_sys_killpg_args),
333 compat_43_sys_killpg },
334 { 0, 0,
335 sys_setsid },
336 { 4, s(struct sys_quotactl_args),
337 sys_quotactl },
338 { 0, 0,
339 compat_43_sys_quota },
340 { 3, s(struct compat_43_sys_getsockname_args),
341 compat_43_sys_getsockname },
342 { 0, 0,
343 sys_nosys },
344 { 0, 0,
345 sys_nosys },
346 { 0, 0,
347 sys_nosys },
348 { 0, 0,
349 sys_nosys },
350 #if defined(NFSCLIENT) || defined(NFSSERVER)
351 { 2, s(struct sys_nfssvc_args),
352 sys_nfssvc },
353 #else
354 { 0, 0,
355 sys_nosys },
356 #endif
357 { 4, s(struct compat_43_sys_getdirentries_args),
358 compat_43_sys_getdirentries },
359 { 2, s(struct compat_25_sys_statfs_args),
360 compat_25_sys_statfs },
361 { 2, s(struct compat_25_sys_fstatfs_args),
362 compat_25_sys_fstatfs },
363 { 0, 0,
364 sys_nosys },
365 { 0, 0,
366 sys_nosys },
367 #ifdef NFSCLIENT
368 { 2, s(struct sys_getfh_args),
369 sys_getfh },
370 #else
371 { 0, 0,
372 sys_nosys },
373 #endif
374 { 0, 0,
375 sys_nosys },
376 { 0, 0,
377 sys_nosys },
378 { 0, 0,
379 sys_nosys },
380 { 0, 0,
381 sys_nosys },
382 { 0, 0,
383 sys_nosys },
384 { 0, 0,
385 sys_nosys },
386 { 0, 0,
387 sys_nosys },
388 { 0, 0,
389 sys_nosys },
390 { 0, 0,
391 sys_nosys },
392 #if defined(SYSVSHM) && !defined(alpha)
393 { 4, s(struct compat_10_sys_shmsys_args),
394 compat_10_sys_shmsys },
395 #else
396 { 0, 0,
397 sys_nosys },
398 #endif
399 { 0, 0,
400 sys_nosys },
401 { 0, 0,
402 sys_nosys },
403 { 0, 0,
404 sys_nosys },
405 { 0, 0,
406 sys_nosys },
407 { 0, 0,
408 sys_nosys },
409 { 0, 0,
410 sys_nosys },
411 { 0, 0,
412 sys_nosys },
413 { 0, 0,
414 sys_nosys },
415 { 0, 0,
416 sys_nosys },
417 { 1, s(struct sys_setgid_args),
418 sys_setgid },
419 { 1, s(struct sys_setegid_args),
420 sys_setegid },
421 { 1, s(struct sys_seteuid_args),
422 sys_seteuid },
423 { 0, 0,
424 sys_nosys },
425 { 0, 0,
426 sys_nosys },
427 { 0, 0,
428 sys_nosys },
429 { 0, 0,
430 sys_nosys },
431 { 2, s(struct compat_35_sys_stat_args),
432 compat_35_sys_stat },
433 { 2, s(struct compat_35_sys_fstat_args),
434 compat_35_sys_fstat },
435 { 2, s(struct compat_35_sys_lstat_args),
436 compat_35_sys_lstat },
437 { 2, s(struct sys_pathconf_args),
438 sys_pathconf },
439 { 2, s(struct sys_fpathconf_args),
440 sys_fpathconf },
441 { 0, 0,
442 sys_nosys },
443 { 2, s(struct sys_getrlimit_args),
444 sys_getrlimit },
445 { 2, s(struct sys_setrlimit_args),
446 sys_setrlimit },
447 { 4, s(struct sys_getdirentries_args),
448 sys_getdirentries },
449 { 7, s(struct sys_mmap_args),
450 sys_mmap },
451 { 0, 0,
452 sys_nosys },
453 { 4, s(struct sys_lseek_args),
454 sys_lseek },
455 { 3, s(struct sys_truncate_args),
456 sys_truncate },
457 { 3, s(struct sys_ftruncate_args),
458 sys_ftruncate },
459 { 6, s(struct sys___sysctl_args),
460 sys___sysctl },
461 { 2, s(struct sys_mlock_args),
462 sys_mlock },
463 { 2, s(struct sys_munlock_args),
464 sys_munlock },
465 { 0, 0,
466 sys_nosys },
467 { 0, 0,
468 sys_nosys },
469 { 0, 0,
470 sys_nosys },
471 { 0, 0,
472 sys_nosys },
473 { 0, 0,
474 sys_nosys },
475 { 0, 0,
476 sys_nosys },
477 { 0, 0,
478 sys_nosys },
479 { 0, 0,
480 sys_nosys },
481 { 0, 0,
482 sys_nosys },
483 { 0, 0,
484 sys_nosys },
485 { 0, 0,
486 sys_nosys },
487 { 0, 0,
488 sys_nosys },
489 { 0, 0,
490 sys_nosys },
491 { 0, 0,
492 sys_nosys },
493 { 0, 0,
494 sys_nosys },
495 #ifdef SYSVSEM
496 { 4, s(struct sys___semctl_args),
497 sys___semctl },
498 { 3, s(struct sys_semget_args),
499 sys_semget },
500 { 3, s(struct sys_semop_args),
501 sys_semop },
502 { 0, 0,
503 sys_nosys },
504 #else
505 { 0, 0,
506 sys_nosys },
507 { 0, 0,
508 sys_nosys },
509 { 0, 0,
510 sys_nosys },
511 { 0, 0,
512 sys_nosys },
513 #endif
514 #ifdef SYSVMSG
515 { 3, s(struct sys_msgctl_args),
516 sys_msgctl },
517 { 2, s(struct sys_msgget_args),
518 sys_msgget },
519 { 4, s(struct sys_msgsnd_args),
520 sys_msgsnd },
521 { 5, s(struct sys_msgrcv_args),
522 sys_msgrcv },
523 #else
524 { 0, 0,
525 sys_nosys },
526 { 0, 0,
527 sys_nosys },
528 { 0, 0,
529 sys_nosys },
530 { 0, 0,
531 sys_nosys },
532 #endif
533 #ifdef SYSVSHM
534 { 3, s(struct sys_shmat_args),
535 sys_shmat },
536 { 3, s(struct sys_shmctl_args),
537 sys_shmctl },
538 { 1, s(struct sys_shmdt_args),
539 sys_shmdt },
540 { 3, s(struct sys_shmget_args),
541 sys_shmget },
542 #else
543 { 0, 0,
544 sys_nosys },
545 { 0, 0,
546 sys_nosys },
547 { 0, 0,
548 sys_nosys },
549 { 0, 0,
550 sys_nosys },
551 #endif
552 };
553