summaryrefslogtreecommitdiffstats
path: root/sys/i386/ibcs2/ibcs2_sysent.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/i386/ibcs2/ibcs2_sysent.c')
-rw-r--r--sys/i386/ibcs2/ibcs2_sysent.c984
1 files changed, 509 insertions, 475 deletions
diff --git a/sys/i386/ibcs2/ibcs2_sysent.c b/sys/i386/ibcs2/ibcs2_sysent.c
index 1f1422d..c7e9fb3 100644
--- a/sys/i386/ibcs2/ibcs2_sysent.c
+++ b/sys/i386/ibcs2/ibcs2_sysent.c
@@ -1,500 +1,534 @@
-/*-
- * Copyright (c) 1994 Søren Schmidt
- * Copyright (c) 1994 Sean Eric Fagan
- * All rights reserved.
+/*
+ * System call switch table.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer
- * in this position and unchanged.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software withough specific prior written permission
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $Id: ibcs2_sysent.c,v 1.14 1994/10/13 23:10:58 sos Exp $
+ * DO NOT EDIT-- this file is automatically generated.
+ * created from NetBSD: syscalls.master,v 1.4 1995/03/14 15:12:52 scottb Exp
*/
-#include <i386/ibcs2/ibcs2.h>
#include <sys/param.h>
+#include <compat/ibcs2/ibcs2_types.h>
+#include <compat/ibcs2/ibcs2_signal.h>
+#include <compat/ibcs2/ibcs2_statfs.h>
#include <sys/systm.h>
#include <sys/signal.h>
-#include <sys/sysent.h>
-
-#define NERR 80 /* XXX must match sys/errno.h */
-
-/* errno conversion tables */
-int bsd_to_svr3_errno[NERR] = {
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
- 10, 45, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
- 30, 31, 32, 33, 34, 11, 91, 92, 93, 94,
- 95, 96,118, 97, 98, 99,100,101,102,103,
- 104,105,106,107,108, 63,110,111,112,113,
- 114,115, 31, 78,116,117,145, 11, 11, 11,
- 0, 66, 0, 0, 0, 0, 0, 46, 89, 0,
-};
-
-/* function defines */
-int ibcs2_access();
-int ibcs2_advfs();
-int ibcs2_alarm();
-int ibcs2_break();
+#include <sys/mount.h>
+#include <sys/syscallargs.h>
+#include <compat/ibcs2/ibcs2_syscallargs.h>
+int nosys();
+int exit();
+int fork();
+int ibcs2_read();
+int write();
+int ibcs2_open();
+int close();
+int ibcs2_waitsys();
+int ibcs2_creat();
+int link();
+int ibcs2_unlink();
+int ibcs2_execv();
int ibcs2_chdir();
+int ibcs2_time();
+int ibcs2_mknod();
int ibcs2_chmod();
int ibcs2_chown();
-int ibcs2_chroot();
-int ibcs2_cisc();
-int ibcs2_clocal();
-int ibcs2_close();
-int ibcs2_creat();
-int ibcs2_cxenix();
-int ibcs2_dup();
-int ibcs2_exec();
-int ibcs2_exece();
-int ibcs2_exit();
-int ibcs2_fcntl();
-int ibcs2_fork();
+int obreak();
+int ibcs2_stat();
+int compat_43_lseek();
+int getpid();
+int ibcs2_mount();
+int ibcs2_umount();
+int ibcs2_setuid();
+int getuid();
+int ibcs2_stime();
+int ibcs2_alarm();
int ibcs2_fstat();
-int ibcs2_fstatfs();
-int ibcs2_fsync();
-int ibcs2_getdents();
-int ibcs2_getgid();
-int ibcs2_getmsg();
-int ibcs2_getpid();
-int ibcs2_getuid();
-int ibcs2_gtime();
-int ibcs2_gtty();
-int ibcs2_ioctl();
-int ibcs2_kill();
-int ibcs2_libattach();
-int ibcs2_libdetach();
-int ibcs2_link();
-int ibcs2_lstat();
-int ibcs2_mkdir();
-int ibcs2_mknod();
-int ibcs2_msgsys();
-int ibcs2_nice();
-int ibcs2_nosys();
-int ibcs2_open();
int ibcs2_pause();
-int ibcs2_pipe();
+int ibcs2_utime();
+int ibcs2_access();
+int ibcs2_nice();
+int ibcs2_statfs();
+int sync();
+int ibcs2_kill();
+int ibcs2_fstatfs();
+int ibcs2_pgrpsys();
+int dup();
+int pipe();
+int ibcs2_times();
int ibcs2_plock();
-int ibcs2_poll();
-int ibcs2_procids();
-int ibcs2_profil();
-int ibcs2_ptrace();
-int ibcs2_putmsg();
-int ibcs2_read();
-int ibcs2_readlink();
-int ibcs2_rfdebug();
-int ibcs2_rfstart();
-int ibcs2_rfstop();
-int ibcs2_rfsys();
-int ibcs2_rmdir();
-int ibcs2_rmount();
-int ibcs2_rumount();
-int ibcs2_secure();
-int ibcs2_seek();
-int ibcs2_semsys();
int ibcs2_setgid();
-int ibcs2_setuid();
-int ibcs2_shmsys();
+int getgid();
int ibcs2_sigsys();
-int ibcs2_smount();
-int ibcs2_stat();
-int ibcs2_statfs();
-int ibcs2_stime();
-int ibcs2_stty();
-int ibcs2_sumount();
-int ibcs2_symlink();
-int ibcs2_sync();
-int ibcs2_sysacct();
-int ibcs2_sysfs();
-int ibcs2_sysi86();
-int ibcs2_times();
+#ifdef SYSVMSG
+int ibcs2_msgsys();
+#else
+#endif
+#ifdef SYSVSHM
+int ibcs2_shmsys();
+#else
+#endif
+#ifdef SYSVSEM
+int ibcs2_semsys();
+#else
+#endif
+int ibcs2_ioctl();
int ibcs2_uadmin();
-int ibcs2_ulimit();
-int ibcs2_umask();
-int ibcs2_unadvfs();
-int ibcs2_unlink();
-int ibcs2_utime();
int ibcs2_utssys();
-int ibcs2_wait();
-int ibcs2_write();
-int ibcs2_traceemu(); /* XXX */
-int sigreturn(); /* XXX */
+int ibcs2_execve();
+int umask();
+int chroot();
+int ibcs2_fcntl();
+int ibcs2_ulimit();
+int ibcs2_rmdir();
+int ibcs2_mkdir();
+int ibcs2_getdents();
+int ibcs2_sysfs();
+int ibcs2_getmsg();
+int ibcs2_putmsg();
+int ibcs2_poll();
+int ibcs2_symlink();
+int ibcs2_lstat();
+int ibcs2_readlink();
+int sigreturn();
+int xenix_rdchk();
+int xenix_chsize();
+int xenix_ftime();
+int xenix_nap();
+int select();
+int ibcs2_sigaction();
+int ibcs2_sigprocmask();
+int ibcs2_sigpending();
+int ibcs2_sigsuspend();
+int ibcs2_getgroups();
+int ibcs2_setgroups();
+int ibcs2_sysconf();
+int ibcs2_pathconf();
+int ibcs2_fpathconf();
+int ibcs2_rename();
-/* ibcs2 svr3 sysent table */
-struct sysent svr3_sysent[] =
-{
- 0, ibcs2_nosys, /* 0 = indir */
- 1, ibcs2_exit, /* 1 = exit */
- 0, ibcs2_fork, /* 2 = fork */
- 3, ibcs2_read, /* 3 = read */
- 3, ibcs2_write, /* 4 = write */
- 3, ibcs2_open, /* 5 = open */
- 1, ibcs2_close, /* 6 = close */
- 3, ibcs2_wait, /* 7 = wait */
- 2, ibcs2_creat, /* 8 = creat */
- 2, ibcs2_link, /* 9 = link */
- 1, ibcs2_unlink, /* 10 = unlink */
- 2, ibcs2_exec, /* 11 = exec */
- 1, ibcs2_chdir, /* 12 = chdir */
- 0, ibcs2_gtime, /* 13 = time */
- 3, ibcs2_mknod, /* 14 = mknod */
- 2, ibcs2_chmod, /* 15 = chmod */
- 3, ibcs2_chown, /* 16 = chown */
- 1, ibcs2_break, /* 17 = break */
- 2, ibcs2_stat, /* 18 = stat */
- 3, ibcs2_seek, /* 19 = seek */
- 0, ibcs2_getpid, /* 20 = getpid */
- 6, ibcs2_smount, /* 21 = mount */
- 1, ibcs2_sumount, /* 22 = umount */
- 1, ibcs2_setuid, /* 23 = setuid */
- 0, ibcs2_getuid, /* 24 = getuid */
- 1, ibcs2_stime, /* 25 = stime */
- 4, ibcs2_ptrace, /* 26 = ptrace */
- 1, ibcs2_alarm, /* 27 = alarm */
- 2, ibcs2_fstat, /* 28 = fstat */
- 0, ibcs2_pause, /* 29 = pause */
- 2, ibcs2_utime, /* 30 = utime */
- 2, ibcs2_stty, /* 31 = stty */
- 2, ibcs2_gtty, /* 32 = gtty */
- 2, ibcs2_access, /* 33 = access */
- 1, ibcs2_nice, /* 34 = nice */
- 4, ibcs2_statfs, /* 35 = statfs */
- 0, ibcs2_sync, /* 36 = sync */
- 2, ibcs2_kill, /* 37 = kill */
- 4, ibcs2_fstatfs, /* 38 = fstatfs */
- 1, ibcs2_procids, /* 39 = procids */
- 5, ibcs2_cxenix, /* 40 = XENIX special system call */
- 1, ibcs2_dup, /* 41 = dup */
- 1, ibcs2_pipe, /* 42 = pipe */
- 1, ibcs2_times, /* 43 = times */
- 4, ibcs2_profil, /* 44 = prof */
- 1, ibcs2_plock, /* 45 = proc lock */
- 1, ibcs2_setgid, /* 46 = setgid */
- 0, ibcs2_getgid, /* 47 = getgid */
- 2, ibcs2_sigsys, /* 48 = signal */
- 6, ibcs2_msgsys, /* 49 = IPC message */
- 4, ibcs2_sysi86, /* 50 = i386-specific system call */
- 1, ibcs2_sysacct, /* 51 = turn acct off/on */
- 4, ibcs2_shmsys, /* 52 = shared memory */
- 5, ibcs2_semsys, /* 53 = IPC semaphores */
- 3, ibcs2_ioctl, /* 54 = ioctl */
- 3, ibcs2_uadmin, /* 55 = uadmin */
- 0, ibcs2_nosys, /* 56 = reserved for exch */
- 3, ibcs2_utssys, /* 57 = utssys */
- 1, ibcs2_fsync, /* 58 = fsync */
- 3, ibcs2_exece, /* 59 = exece */
- 1, ibcs2_umask, /* 60 = umask */
- 1, ibcs2_chroot, /* 61 = chroot */
- 3, ibcs2_fcntl, /* 62 = fcntl */
- 2, ibcs2_ulimit, /* 63 = ulimit */
- 0, ibcs2_nosys, /* 64 = nosys */
- 0, ibcs2_nosys, /* 65 = nosys */
- 0, ibcs2_nosys, /* 66 = nosys */
- 0, ibcs2_nosys, /* 67 = file locking call */
- 0, ibcs2_nosys, /* 68 = local system calls */
- 0, ibcs2_nosys, /* 69 = inode open */
- 4, ibcs2_advfs, /* 70 = advfs */
- 1, ibcs2_unadvfs, /* 71 = unadvfs */
- 4, ibcs2_rmount, /* 72 = rmount */
- 1, ibcs2_rumount, /* 73 = rumount */
- 5, ibcs2_rfstart, /* 74 = rfstart */
- 0, ibcs2_nosys, /* 75 = not used */
- 1, ibcs2_rfdebug, /* 76 = rfdebug */
- 0, ibcs2_rfstop, /* 77 = rfstop */
- 6, ibcs2_rfsys, /* 78 = rfsys */
- 1, ibcs2_rmdir, /* 79 = rmdir */
- 2, ibcs2_mkdir, /* 80 = mkdir */
- 4, ibcs2_getdents, /* 81 = getdents */
- 3, ibcs2_libattach, /* 82 = libattach */
- 1, ibcs2_libdetach, /* 83 = libdetach */
- 3, ibcs2_sysfs, /* 84 = sysfs */
- 4, ibcs2_getmsg, /* 85 = getmsg */
- 4, ibcs2_putmsg, /* 86 = putmsg */
- 3, ibcs2_poll, /* 87 = poll */
- 0, ibcs2_nosys, /* 88 = not used */
- 6, ibcs2_secure, /* 89 = secureware */
- 2, ibcs2_symlink, /* 90 = symlink */
- 2, ibcs2_lstat, /* 91 = lstat */
- 3, ibcs2_readlink, /* 92 = readlink */
- 0, ibcs2_nosys, /* 93 = not used */
- 0, ibcs2_nosys, /* 94 = not used */
- 0, ibcs2_nosys, /* 95 = not used */
- 0, ibcs2_nosys, /* 96 = not used */
- 0, ibcs2_nosys, /* 97 = not used */
- 0, ibcs2_nosys, /* 98 = not used */
- 0, ibcs2_nosys, /* 99 = not used */
- 0, ibcs2_nosys, /* 100 = not used */
- 0, ibcs2_nosys, /* 101 = not used */
- 0, ibcs2_nosys, /* 102 = not used */
- 1, sigreturn, /* 103 = BSD sigreturn XXX */
- 0, ibcs2_nosys, /* 104 = not used */
- 5, ibcs2_cisc, /* 105 = ISC special */
- 0, ibcs2_nosys, /* 106 = not used */
- 0, ibcs2_nosys, /* 107 = not used */
- 0, ibcs2_nosys, /* 108 = not used */
- 0, ibcs2_nosys, /* 109 = not used */
- 0, ibcs2_nosys, /* 110 = not used */
- 0, ibcs2_nosys, /* 111 = not used */
- 0, ibcs2_nosys, /* 112 = not used */
- 0, ibcs2_nosys, /* 113 = not used */
- 0, ibcs2_nosys, /* 114 = not used */
- 0, ibcs2_nosys, /* 115 = not used */
- 0, ibcs2_nosys, /* 116 = not used */
- 0, ibcs2_nosys, /* 117 = not used */
- 0, ibcs2_nosys, /* 118 = not used */
- 0, ibcs2_nosys, /* 119 = not used */
- 0, ibcs2_nosys, /* 120 = not used */
- 0, ibcs2_nosys, /* 121 = not used */
- 0, ibcs2_nosys, /* 122 = not used */
- 0, ibcs2_nosys, /* 123 = not used */
- 0, ibcs2_nosys, /* 124 = not used */
- 0, ibcs2_nosys, /* 125 = not used */
- 1, ibcs2_traceemu, /* 126 = ibcs2 emulator trace cntl */
- 5, ibcs2_clocal, /* 127 = local system calls */
-};
+#ifdef COMPAT_43
+#define compat_43(func) __CONCAT(compat_43_,func)
-struct sysentvec ibcs2_svr3_sysvec = {
- sizeof (svr3_sysent) / sizeof (svr3_sysent[0]),
- svr3_sysent,
- 0x7F,
- NSIG,
- bsd_to_ibcs2_signal,
- NERR,
- bsd_to_svr3_errno
-};
+#ifdef SYSVMSG
+#else
+#endif
+#ifdef SYSVSHM
+#else
+#endif
+#ifdef SYSVSEM
+#else
+#endif
-#if 0
+#else /* COMPAT_43 */
+#define compat_43(func) nosys
+#endif /* COMPAT_43 */
-int ibcs2_acancel();
-int ibcs2_adjtime();
-int ibcs2_context();
-int ibcs2_evsys();
-int ibcs2_evtrapret();
-int ibcs2_fchdir();
-int ibcs2_fchmod();
-int ibcs2_fchown();
-int ibcs2_fstatvfs();
-int ibcs2_fxstat();
-int ibcs2_getgroups();
-int ibcs2_getpmsg();
-int ibcs2_getrlimit();
-int ibcs2_hrtsys();
-int ibcs2_lchown();
-int ibcs2_lxstat();
-int ibcs2_memcntl();
-int ibcs2_mincore();
-int ibcs2_mmap();
-int ibcs2_mprotect();
-int ibcs2_munmap();
-int ibcs2_pathconf();
-int ibcs2_priocntlsys();
-int ibcs2_putgmsg();
-int ibcs2_readv();
-int ibcs2_rename();
-int ibcs2_setegid();
-int ibcs2_seteuid();
-int ibcs2_setgroups();
-int ibcs2_setrlimit();
-int ibcs2_sigaction();
-int ibcs2_sigaltstack();
-int ibcs2_sigpending();
-int ibcs2_sigprocmask();
-int ibcs2_sigsendsys();
-int ibcs2_sigsuspend();
-int ibcs2_statvfs();
-int ibcs2_sysconfig();
-int ibcs2_systeminfo();
-int ibcs2_vfork();
-int ibcs2_waitsys();
-int ibcs2_writev();
-int ibcs2_xmknod();
-int ibcs2_xstat();
-int bsd_to_svr4_errno[NERR] = {
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
- 10, 45, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
- 30, 31, 32, 33, 34, 11,150,149, 95, 96,
- 97, 98, 99,120,121,122,123,124,125,126,
- 127,128,129,130,131,132,133,134,143,144,
- 145,146, 90, 78,147,148, 93, 11, 94, 11,
- 0, 0, 0, 0, 0, 0, 0, 46, 89, 0,
-};
+#ifdef COMPAT_09
+#define compat_09(func) __CONCAT(compat_09_,func)
-/* ibcs2 svr4 sysent table */
-struct sysent svr4_sysent[] =
-{
- 0, ibcs2_nosys, /* 0 = indir */
- 1, ibcs2_exit, /* 1 = exit */
- 0, ibcs2_fork, /* 2 = fork */
- 3, ibcs2_read, /* 3 = read */
- 3, ibcs2_write, /* 4 = write */
- 3, ibcs2_open, /* 5 = open */
- 1, ibcs2_close, /* 6 = close */
- 3, ibcs2_wait, /* 7 = wait */
- 2, ibcs2_creat, /* 8 = creat */
- 2, ibcs2_link, /* 9 = link */
- 1, ibcs2_unlink, /* 10 = unlink */
- 2, ibcs2_exec, /* 11 = exec */
- 1, ibcs2_chdir, /* 12 = chdir */
- 0, ibcs2_gtime, /* 13 = time */
- 3, ibcs2_mknod, /* 14 = mknod */
- 2, ibcs2_chmod, /* 15 = chmod */
- 3, ibcs2_chown, /* 16 = chown */
- 1, ibcs2_break, /* 17 = break */
- 2, ibcs2_stat, /* 18 = stat */
- 3, ibcs2_seek, /* 19 = seek */
- 0, ibcs2_getpid, /* 20 = getpid */
- 6, ibcs2_smount, /* 21 = mount */
- 1, ibcs2_sumount, /* 22 = umount */
- 1, ibcs2_setuid, /* 23 = setuid */
- 0, ibcs2_getuid, /* 24 = getuid */
- 1, ibcs2_stime, /* 25 = stime */
- 4, ibcs2_ptrace, /* 26 = ptrace */
- 1, ibcs2_alarm, /* 27 = alarm */
- 2, ibcs2_fstat, /* 28 = fstat */
- 0, ibcs2_pause, /* 29 = pause */
- 2, ibcs2_utime, /* 30 = utime */
- 2, ibcs2_stty, /* 31 = stty */
- 2, ibcs2_gtty, /* 32 = gtty */
- 2, ibcs2_access, /* 33 = access */
- 1, ibcs2_nice, /* 34 = nice */
- 4, ibcs2_statfs, /* 35 = statfs */
- 0, ibcs2_sync, /* 36 = sync */
- 2, ibcs2_kill, /* 37 = kill */
- 4, ibcs2_fstatfs, /* 38 = fstatfs */
- 1, ibcs2_procids, /* 39 = procids */
- 5, ibcs2_cxenix, /* 40 = XENIX special system call */
- 1, ibcs2_dup, /* 41 = dup */
- 1, ibcs2_pipe, /* 42 = pipe */
- 1, ibcs2_times, /* 43 = times */
- 4, ibcs2_profil, /* 44 = prof */
- 1, ibcs2_plock, /* 45 = proc lock */
- 1, ibcs2_setgid, /* 46 = setgid */
- 0, ibcs2_getgid, /* 47 = getgid */
- 2, ibcs2_sigsys, /* 48 = signal */
- 6, ibcs2_msgsys, /* 49 = IPC message */
- 4, ibcs2_sysi86, /* 50 = i386-specific system call */
- 1, ibcs2_sysacct, /* 51 = turn acct off/on */
- 4, ibcs2_shmsys, /* 52 = shared memory */
- 5, ibcs2_semsys, /* 53 = IPC semaphores */
- 3, ibcs2_ioctl, /* 54 = ioctl */
- 3, ibcs2_uadmin, /* 55 = uadmin */
- 0, ibcs2_nosys, /* 56 = reserved for exch */
- 3, ibcs2_utssys, /* 57 = utssys */
- 1, ibcs2_fsync, /* 58 = fsync */
- 3, ibcs2_exece, /* 59 = exece */
- 1, ibcs2_umask, /* 60 = umask */
- 1, ibcs2_chroot, /* 61 = chroot */
- 3, ibcs2_fcntl, /* 62 = fcntl */
- 2, ibcs2_ulimit, /* 63 = ulimit */
- 0, ibcs2_nosys, /* 64 = nosys */
- 0, ibcs2_nosys, /* 65 = nosys */
- 0, ibcs2_nosys, /* 66 = nosys */
- 0, ibcs2_nosys, /* 67 = file locking call */
- 0, ibcs2_nosys, /* 68 = local system calls */
- 0, ibcs2_nosys, /* 69 = inode open */
- 4, ibcs2_advfs, /* 70 = advfs */
- 1, ibcs2_unadvfs, /* 71 = unadvfs */
- 4, ibcs2_rmount, /* 72 = rmount */
- 1, ibcs2_rumount, /* 73 = rumount */
- 5, ibcs2_rfstart, /* 74 = rfstart */
- 0, ibcs2_nosys, /* 75 = not used */
- 1, ibcs2_rfdebug, /* 76 = rfdebug */
- 0, ibcs2_rfstop, /* 77 = rfstop */
- 6, ibcs2_rfsys, /* 78 = rfsys */
- 1, ibcs2_rmdir, /* 79 = rmdir */
- 2, ibcs2_mkdir, /* 80 = mkdir */
- 4, ibcs2_getdents, /* 81 = getdents */
- 3, ibcs2_libattach, /* 82 = libattach */
- 1, ibcs2_libdetach, /* 83 = libdetach */
- 3, ibcs2_sysfs, /* 84 = sysfs */
- 4, ibcs2_getmsg, /* 85 = getmsg */
- 4, ibcs2_putmsg, /* 86 = putmsg */
- 3, ibcs2_poll, /* 87 = poll */
- 6, ibcs2_lstat, /* 88 = lstat */
- 2, ibcs2_symlink, /* 89 = symlink */
- 3, ibcs2_readlink, /* 90 = readlink */
- 2, ibcs2_setgroups, /* 91 = setgroups */
- 2, ibcs2_getgroups, /* 92 = getgroups */
- 2, ibcs2_fchmod, /* 93 = fchmod */
- 3, ibcs2_fchown, /* 94 = fchown */
- 3, ibcs2_sigprocmask, /* 95 = sigprocmask */
- 0, ibcs2_sigsuspend, /* 96 = sigsuspend */
- 2, ibcs2_sigaltstack, /* 97 = sigaltstack */
- 3, ibcs2_sigaction, /* 98 = sigaction */
- 1, ibcs2_sigpending, /* 99 = sigpending */
- 0, ibcs2_context, /* 100 = context */
- 0, ibcs2_evsys, /* 101 = evsys */
- 0, ibcs2_evtrapret, /* 102 = evtrapret */
- 0, ibcs2_statvfs, /* 103 = statvfs */
- 0, ibcs2_fstatvfs, /* 104 = fstatvfs */
- 5, ibcs2_cisc, /* 105 = ISC special */
- 0, ibcs2_nfssys, /* 106 = nfssys */
- 0, ibcs2_waitsys, /* 107 = waitsys */
- 0, ibcs2_sigsendsys, /* 108 = sigsendsys */
- 0, ibcs2_hrtsys, /* 109 = hrtsys */
- 0, ibcs2_acancel, /* 110 = acancel */
- 0, ibcs2_async, /* 111 = async */
- 0, ibcs2_priocntlsys, /* 112 = priocntlsys */
- 0, ibcs2_pathconf, /* 113 = pathconf */
- 0, ibcs2_mincore, /* 114 = mincore */
- 6, ibcs2_mmap, /* 115 = mmap */
- 3, ibcs2_mprotect, /* 116 = mprotect */
- 2, ibcs2_munmap, /* 117 = munmap */
- 0, ibcs2_pathconf, /* 118 = fpathconf */
- 0, ibcs2_vfork, /* 119 = vfork */
- 0, ibcs2_fchdir, /* 120 = fchdir */
- 0, ibcs2_readv, /* 121 = readv */
- 0, ibcs2_writev, /* 122 = writev */
- 3, ibcs2_xstat, /* 123 = xstat */
- 3, ibcs2_lxstat, /* 124 = lxstat */
- 3, ibcs2_fxstat, /* 125 = fxstat */
- 4, ibcs2_xmknod, /* 126 = xmknod */
- 5, ibcs2_clocal, /* 127 = local system calls */
- 0, ibcs2_setrlimit, /* 128 = setrlimit */
- 0, ibcs2_getrlimit, /* 129 = getrlimit */
- 0, ibcs2_lchown, /* 130 = lchown */
- 0, ibcs2_memcntl, /* 131 = memcntl */
- 0, ibcs2_getpmsg, /* 132 = getpmsg */
- 0, ibcs2_putgmsg, /* 133 = putgmsg */
- 2, ibcs2_rename, /* 134 = rename */
- 1, ibcs2_uname, /* 135 = uname */
- 0, ibcs2_setegid, /* 136 = setegid */
- 0, ibcs2_sysconfig, /* 137 = sysconfig */
- 0, ibcs2_adjtime, /* 138 = adjtime */
- 0, ibcs2_systeminfo, /* 139 = systeminfo */
- 0, ibcs2_nosys, /* 140 = not used */
- 0, ibcs2_seteuid, /* 141 = seteuid */
-};
+#ifdef SYSVMSG
+#else
+#endif
+#ifdef SYSVSHM
+#else
+#endif
+#ifdef SYSVSEM
+#else
+#endif
-struct sysentvec ibcs2_svr4_sysvec = {
- sizeof (svr4_sysent) / sizeof (svr4_sysent[0]),
- svr4_sysent,
- 0xFF,
- NSIG,
- bsd_to_ibcs2_signal,
- NERR,
- bsd_to_svr4_errno
-};
+#else /* COMPAT_09 */
+#define compat_09(func) nosys
+#endif /* COMPAT_09 */
+
+
+#ifdef COMPAT_10
+#define compat_10(func) __CONCAT(compat_10_,func)
+
+#ifdef SYSVMSG
+#else
+#endif
+#ifdef SYSVSHM
+#else
+#endif
+#ifdef SYSVSEM
+#else
+#endif
+
+#else /* COMPAT_10 */
+#define compat_10(func) nosys
+#endif /* COMPAT_10 */
+#define s(type) sizeof(type)
+
+struct sysent ibcs2_sysent[] = {
+ { 0, 0,
+ nosys }, /* 0 = syscall */
+ { 1, s(struct exit_args),
+ exit }, /* 1 = exit */
+ { 0, 0,
+ fork }, /* 2 = fork */
+ { 3, s(struct ibcs2_read_args),
+ ibcs2_read }, /* 3 = ibcs2_read */
+ { 3, s(struct write_args),
+ write }, /* 4 = write */
+ { 3, s(struct ibcs2_open_args),
+ ibcs2_open }, /* 5 = ibcs2_open */
+ { 1, s(struct close_args),
+ close }, /* 6 = close */
+ { 3, s(struct ibcs2_waitsys_args),
+ ibcs2_waitsys }, /* 7 = ibcs2_waitsys */
+ { 2, s(struct ibcs2_creat_args),
+ ibcs2_creat }, /* 8 = ibcs2_creat */
+ { 2, s(struct link_args),
+ link }, /* 9 = link */
+ { 1, s(struct ibcs2_unlink_args),
+ ibcs2_unlink }, /* 10 = ibcs2_unlink */
+ { 2, s(struct ibcs2_execv_args),
+ ibcs2_execv }, /* 11 = ibcs2_execv */
+ { 1, s(struct ibcs2_chdir_args),
+ ibcs2_chdir }, /* 12 = ibcs2_chdir */
+ { 1, s(struct ibcs2_time_args),
+ ibcs2_time }, /* 13 = ibcs2_time */
+ { 3, s(struct ibcs2_mknod_args),
+ ibcs2_mknod }, /* 14 = ibcs2_mknod */
+ { 2, s(struct ibcs2_chmod_args),
+ ibcs2_chmod }, /* 15 = ibcs2_chmod */
+ { 3, s(struct ibcs2_chown_args),
+ ibcs2_chown }, /* 16 = ibcs2_chown */
+ { 1, s(struct obreak_args),
+ obreak }, /* 17 = obreak */
+ { 2, s(struct ibcs2_stat_args),
+ ibcs2_stat }, /* 18 = ibcs2_stat */
+ { 3, s(struct compat_43_lseek_args),
+ compat_43_lseek }, /* 19 = compat_43_lseek */
+ { 0, 0,
+ getpid }, /* 20 = getpid */
+ { 6, s(struct ibcs2_mount_args),
+ ibcs2_mount }, /* 21 = ibcs2_mount */
+ { 1, s(struct ibcs2_umount_args),
+ ibcs2_umount }, /* 22 = ibcs2_umount */
+ { 1, s(struct ibcs2_setuid_args),
+ ibcs2_setuid }, /* 23 = ibcs2_setuid */
+ { 0, 0,
+ getuid }, /* 24 = getuid */
+ { 1, s(struct ibcs2_stime_args),
+ ibcs2_stime }, /* 25 = ibcs2_stime */
+ { 0, 0,
+ nosys }, /* 26 = unimplemented ibcs2_ptrace */
+ { 1, s(struct ibcs2_alarm_args),
+ ibcs2_alarm }, /* 27 = ibcs2_alarm */
+ { 2, s(struct ibcs2_fstat_args),
+ ibcs2_fstat }, /* 28 = ibcs2_fstat */
+ { 0, 0,
+ ibcs2_pause }, /* 29 = ibcs2_pause */
+ { 2, s(struct ibcs2_utime_args),
+ ibcs2_utime }, /* 30 = ibcs2_utime */
+ { 0, 0,
+ nosys }, /* 31 = unimplemented was stty */
+ { 0, 0,
+ nosys }, /* 32 = unimplemented was gtty */
+ { 2, s(struct ibcs2_access_args),
+ ibcs2_access }, /* 33 = ibcs2_access */
+ { 1, s(struct ibcs2_nice_args),
+ ibcs2_nice }, /* 34 = ibcs2_nice */
+ { 4, s(struct ibcs2_statfs_args),
+ ibcs2_statfs }, /* 35 = ibcs2_statfs */
+ { 0, 0,
+ sync }, /* 36 = sync */
+ { 2, s(struct ibcs2_kill_args),
+ ibcs2_kill }, /* 37 = ibcs2_kill */
+ { 4, s(struct ibcs2_fstatfs_args),
+ ibcs2_fstatfs }, /* 38 = ibcs2_fstatfs */
+ { 4, s(struct ibcs2_pgrpsys_args),
+ ibcs2_pgrpsys }, /* 39 = ibcs2_pgrpsys */
+ { 0, 0,
+ nosys }, /* 40 = unimplemented ibcs2_xenix */
+ { 1, s(struct dup_args),
+ dup }, /* 41 = dup */
+ { 0, 0,
+ pipe }, /* 42 = pipe */
+ { 1, s(struct ibcs2_times_args),
+ ibcs2_times }, /* 43 = ibcs2_times */
+ { 0, 0,
+ nosys }, /* 44 = unimplemented profil */
+ { 1, s(struct ibcs2_plock_args),
+ ibcs2_plock }, /* 45 = ibcs2_plock */
+ { 1, s(struct ibcs2_setgid_args),
+ ibcs2_setgid }, /* 46 = ibcs2_setgid */
+ { 0, 0,
+ getgid }, /* 47 = getgid */
+ { 2, s(struct ibcs2_sigsys_args),
+ ibcs2_sigsys }, /* 48 = ibcs2_sigsys */
+#ifdef SYSVMSG
+ { 6, s(struct ibcs2_msgsys_args),
+ ibcs2_msgsys }, /* 49 = ibcs2_msgsys */
+#else
+ { 0, 0,
+ nosys }, /* 49 = unimplemented nosys */
+#endif
+ { 0, 0,
+ nosys }, /* 50 = unimplemented ibcs2_sys3b */
+ { 0, 0,
+ nosys }, /* 51 = unimplemented ibcs2_acct */
+#ifdef SYSVSHM
+ { 4, s(struct ibcs2_shmsys_args),
+ ibcs2_shmsys }, /* 52 = ibcs2_shmsys */
+#else
+ { 0, 0,
+ nosys }, /* 52 = unimplemented nosys */
#endif
+#ifdef SYSVSEM
+ { 5, s(struct ibcs2_semsys_args),
+ ibcs2_semsys }, /* 53 = ibcs2_semsys */
+#else
+ { 0, 0,
+ nosys }, /* 53 = unimplemented nosys */
+#endif
+ { 3, s(struct ibcs2_ioctl_args),
+ ibcs2_ioctl }, /* 54 = ibcs2_ioctl */
+ { 3, s(struct ibcs2_uadmin_args),
+ ibcs2_uadmin }, /* 55 = ibcs2_uadmin */
+ { 0, 0,
+ nosys }, /* 56 = unimplemented nosys */
+ { 3, s(struct ibcs2_utssys_args),
+ ibcs2_utssys }, /* 57 = ibcs2_utssys */
+ { 0, 0,
+ nosys }, /* 58 = unimplemented nosys */
+ { 3, s(struct ibcs2_execve_args),
+ ibcs2_execve }, /* 59 = ibcs2_execve */
+ { 1, s(struct umask_args),
+ umask }, /* 60 = umask */
+ { 1, s(struct chroot_args),
+ chroot }, /* 61 = chroot */
+ { 3, s(struct ibcs2_fcntl_args),
+ ibcs2_fcntl }, /* 62 = ibcs2_fcntl */
+ { 2, s(struct ibcs2_ulimit_args),
+ ibcs2_ulimit }, /* 63 = ibcs2_ulimit */
+ { 0, 0,
+ nosys }, /* 64 = unimplemented reserved for unix/pc */
+ { 0, 0,
+ nosys }, /* 65 = unimplemented reserved for unix/pc */
+ { 0, 0,
+ nosys }, /* 66 = unimplemented reserved for unix/pc */
+ { 0, 0,
+ nosys }, /* 67 = unimplemented reserved for unix/pc */
+ { 0, 0,
+ nosys }, /* 68 = unimplemented reserved for unix/pc */
+ { 0, 0,
+ nosys }, /* 69 = unimplemented reserved for unix/pc */
+ { 0, 0,
+ nosys }, /* 70 = obsolete rfs_advfs */
+ { 0, 0,
+ nosys }, /* 71 = obsolete rfs_unadvfs */
+ { 0, 0,
+ nosys }, /* 72 = obsolete rfs_rmount */
+ { 0, 0,
+ nosys }, /* 73 = obsolete rfs_rumount */
+ { 0, 0,
+ nosys }, /* 74 = obsolete rfs_rfstart */
+ { 0, 0,
+ nosys }, /* 75 = obsolete rfs_sigret */
+ { 0, 0,
+ nosys }, /* 76 = obsolete rfs_rdebug */
+ { 0, 0,
+ nosys }, /* 77 = obsolete rfs_rfstop */
+ { 0, 0,
+ nosys }, /* 78 = unimplemented rfs_rfsys */
+ { 1, s(struct ibcs2_rmdir_args),
+ ibcs2_rmdir }, /* 79 = ibcs2_rmdir */
+ { 2, s(struct ibcs2_mkdir_args),
+ ibcs2_mkdir }, /* 80 = ibcs2_mkdir */
+ { 3, s(struct ibcs2_getdents_args),
+ ibcs2_getdents }, /* 81 = ibcs2_getdents */
+ { 0, 0,
+ nosys }, /* 82 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 83 = unimplemented nosys */
+ { 3, s(struct ibcs2_sysfs_args),
+ ibcs2_sysfs }, /* 84 = ibcs2_sysfs */
+ { 4, s(struct ibcs2_getmsg_args),
+ ibcs2_getmsg }, /* 85 = ibcs2_getmsg */
+ { 4, s(struct ibcs2_putmsg_args),
+ ibcs2_putmsg }, /* 86 = ibcs2_putmsg */
+ { 3, s(struct ibcs2_poll_args),
+ ibcs2_poll }, /* 87 = ibcs2_poll */
+ { 0, 0,
+ nosys }, /* 88 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 89 = unimplemented nosys */
+ { 2, s(struct ibcs2_symlink_args),
+ ibcs2_symlink }, /* 90 = ibcs2_symlink */
+ { 2, s(struct ibcs2_lstat_args),
+ ibcs2_lstat }, /* 91 = ibcs2_lstat */
+ { 3, s(struct ibcs2_readlink_args),
+ ibcs2_readlink }, /* 92 = ibcs2_readlink */
+ { 0, 0,
+ nosys }, /* 93 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 94 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 95 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 96 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 97 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 98 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 99 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 100 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 101 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 102 = unimplemented nosys */
+ { 1, s(struct sigreturn_args),
+ sigreturn }, /* 103 = sigreturn */
+ { 0, 0,
+ nosys }, /* 104 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 105 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 106 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 107 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 108 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 109 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 110 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 111 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 112 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 113 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 114 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 115 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 116 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 117 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 118 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 119 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 120 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 121 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 122 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 123 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 124 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 125 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 126 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 127 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 128 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 129 = unimplemented xenix_xlocking */
+ { 0, 0,
+ nosys }, /* 130 = unimplemented xenix_creatsem */
+ { 0, 0,
+ nosys }, /* 131 = unimplemented xenix_opensem */
+ { 0, 0,
+ nosys }, /* 132 = unimplemented xenix_sigsem */
+ { 0, 0,
+ nosys }, /* 133 = unimplemented xenix_waitsem */
+ { 0, 0,
+ nosys }, /* 134 = unimplemented xenix_nbwaitsem */
+ { 1, s(struct xenix_rdchk_args),
+ xenix_rdchk }, /* 135 = xenix_rdchk */
+ { 0, 0,
+ nosys }, /* 136 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 137 = unimplemented nosys */
+ { 2, s(struct xenix_chsize_args),
+ xenix_chsize }, /* 138 = xenix_chsize */
+ { 1, s(struct xenix_ftime_args),
+ xenix_ftime }, /* 139 = xenix_ftime */
+ { 1, s(struct xenix_nap_args),
+ xenix_nap }, /* 140 = xenix_nap */
+ { 0, 0,
+ nosys }, /* 141 = unimplemented xenix_sdget */
+ { 0, 0,
+ nosys }, /* 142 = unimplemented xenix_sdfree */
+ { 0, 0,
+ nosys }, /* 143 = unimplemented xenix_sdenter */
+ { 0, 0,
+ nosys }, /* 144 = unimplemented xenix_sdleave */
+ { 0, 0,
+ nosys }, /* 145 = unimplemented xenix_sdgetv */
+ { 0, 0,
+ nosys }, /* 146 = unimplemented xenix_sdwaitv */
+ { 0, 0,
+ nosys }, /* 147 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 148 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 149 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 150 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 151 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 152 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 153 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 154 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 155 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 156 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 157 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 158 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 159 = unimplemented nosys */
+ { 0, 0,
+ nosys }, /* 160 = unimplemented xenix_proctl */
+ { 0, 0,
+ nosys }, /* 161 = unimplemented xenix_execseg */
+ { 0, 0,
+ nosys }, /* 162 = unimplemented xenix_unexecseg */
+ { 0, 0,
+ nosys }, /* 163 = unimplemented nosys */
+ { 5, s(struct select_args),
+ select }, /* 164 = select */
+ { 0, 0,
+ nosys }, /* 165 = unimplemented xenix_eaccess */
+ { 0, 0,
+ nosys }, /* 166 = unimplemented xenix_paccess */
+ { 3, s(struct ibcs2_sigaction_args),
+ ibcs2_sigaction }, /* 167 = ibcs2_sigaction */
+ { 3, s(struct ibcs2_sigprocmask_args),
+ ibcs2_sigprocmask }, /* 168 = ibcs2_sigprocmask */
+ { 1, s(struct ibcs2_sigpending_args),
+ ibcs2_sigpending }, /* 169 = ibcs2_sigpending */
+ { 1, s(struct ibcs2_sigsuspend_args),
+ ibcs2_sigsuspend }, /* 170 = ibcs2_sigsuspend */
+ { 2, s(struct ibcs2_getgroups_args),
+ ibcs2_getgroups }, /* 171 = ibcs2_getgroups */
+ { 2, s(struct ibcs2_setgroups_args),
+ ibcs2_setgroups }, /* 172 = ibcs2_setgroups */
+ { 1, s(struct ibcs2_sysconf_args),
+ ibcs2_sysconf }, /* 173 = ibcs2_sysconf */
+ { 2, s(struct ibcs2_pathconf_args),
+ ibcs2_pathconf }, /* 174 = ibcs2_pathconf */
+ { 2, s(struct ibcs2_fpathconf_args),
+ ibcs2_fpathconf }, /* 175 = ibcs2_fpathconf */
+ { 2, s(struct ibcs2_rename_args),
+ ibcs2_rename }, /* 176 = ibcs2_rename */
+};
+
OpenPOWER on IntegriCloud