diff options
Diffstat (limited to 'sys/i386/ibcs2/ibcs2_sysent.c')
-rw-r--r-- | sys/i386/ibcs2/ibcs2_sysent.c | 984 |
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 */ +}; + |