1
0
Files
irix-657m-src/irix/kern/os/sysent.c
2022-09-29 17:59:04 +03:00

1648 lines
36 KiB
C

/**************************************************************************
* *
* Copyright (C) 1986-1995 Silicon Graphics, Inc. *
* *
* These coded instructions, statements, and computer programs contain *
* unpublished proprietary information of Silicon Graphics, Inc., and *
* are protected by Federal copyright law. They may not be disclosed *
* to third parties or copied or duplicated in any form, in whole or *
* in part, without the prior written consent of Silicon Graphics, Inc. *
* *
**************************************************************************/
/* Copyright (c) 1984 AT&T */
/* All Rights Reserved */
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
/* The copyright notice above does not evidence any */
/* actual or intended publication of such source code. */
#ident "$Revision: 3.148 $"
#include <sys/proc.h>
#include <sys/syscall.h>
/*
* This table is the switch used to transfer
* to the appropriate routine for processing a system call.
* Each row contains the number of arguments expected, a switch
* telling systrap() in trap.c whether a setjmp() is necessary,
* and a pointer to the routine.
*
* NOTE: be sure to keep other ABI sysent tables up to date!
*/
/*
* System V.3 entry points.
*/
int access();
int alarm();
int chdir();
int chmod();
int chown();
int chroot();
int close();
int creat();
int dup();
int exec();
int exece();
int fcntl();
int fork();
int fstatfs();
int getdents();
int getgid();
int getmsg();
int getpmsg();
int getpid();
int getuid();
int gtime();
int ioctl();
int kill();
int link();
int lock();
int lseek();
int mkdir();
int mount();
int msgsys();
int nice();
int nosys();
int nullsys();
int open();
int pause();
int pipe();
int poll();
int profil();
int ptrace();
int putmsg();
int putpmsg();
int read();
int readv();
int rexit();
int rmdir();
int sbreak();
int select();
int xpg4_select();
int semsys();
int setgid();
int setpgrp();
int setuid();
int shmsys();
int statfs();
int stime();
int sync();
int sysacct();
int sysfs();
int sysget();
int sysmips();
int sysmp();
int syssgi();
int times();
int uadmin();
int ulimit();
int umask();
int umount();
int unlink();
int utime();
int utssys();
int write();
int writev();
int sigreturn();
/*
* System V.4 entry points.
*/
int systeminfo();
int uname();
int xstat();
int lxstat();
int fxstat();
int xmknod();
int statvfs();
int fstatvfs();
int lchown();
int priocntl();
int nopkg();
int pread();
int pwrite();
/*
* 4.3BSD networking.
*/
int accept();
int bind();
int connect();
int gethostid();
int getpeername();
int getsockname();
int getsockopt();
int listen();
int recv();
int recvfrom();
int recvmsg();
int xpg4_recvmsg();
int send();
int sendmsg();
int sendto();
int sethostid();
int setsockopt();
int shutdown();
int socket();
int gethostname();
int sethostname();
int getdomainname();
int setdomainname();
/*
* 4.3BSD compatibility
*/
int BSDgetpgrp();
int BSDsetpgrp();
int adjtime();
int fchdir();
int fchmod();
int fchown();
int fsync();
int ftruncate();
int getitimer();
int getpagesize();
int getrlimit();
int gettimeofday();
int quotactl();
int readlink();
int rename();
int setitimer();
int setregid();
int xpg4_setregid();
int setreuid();
int setrlimit();
int socketpair();
int symlink();
int truncate();
int vhangup();
/*
* NFS system calls.
*/
int async_daemon();
int exportfs();
int nfs_getfh();
int nfs_svc();
/*
* SGI extensions.
*/
int sginap();
int sgikopt();
int prctl();
int procblk();
int sproc();
int sprocsp();
int nsproc();
int rexec();
int cacheflush();
int cachectl();
int mmap();
int munmap();
int mprotect();
int msync();
int madvise();
int pagelock();
int sigpending();
int sigprocmask();
int sigsuspend();
int sigpoll_sys();
int swapctl();
int getcontext();
int setcontext();
int sigaction();
int waitsys_wrapper();
int sigstack();
int sigaltstack();
int xpg4_sigaltstack();
int sigsendsys();
int sigqueue_sys();
int lseek64();
int truncate64();
int ftruncate64();
int getrlimit64();
int setrlimit64();
int mmap64();
int dmi();
int umfscall();
int attr_get();
int attr_getf();
int attr_set();
int attr_setf();
int attr_remove();
int attr_removef();
int attr_list();
int attr_listf();
int attr_multi();
int attr_multif();
int statvfs64();
int fstatvfs64();
int getmountid();
int getdents64();
int ngetdents();
int ngetdents64();
int afs_syscall();
int linkfollow();
/*
* POSIX 1003.1 syscalls
*/
int fdatasync();
int nanosleep();
int sched_rr_get_interval();
int sched_getparam();
int sched_getscheduler();
int sched_setparam();
int sched_setscheduler();
int sched_yield();
int timer_create();
int timer_delete();
int timer_settime();
int timer_gettime();
int timer_getoverrun();
/*
* synchronization module for Posix.1b support
*/
int usync_cntl();
/*
* Posix.1b named semaphores
*/
int psema_cntl();
#ifdef CKPT
int pidsprocsp();
int ckpt_restartreturn();
int nsproctid();
#endif
/*
* Trusted Irix
*/
int sgi_sesmgr();
#ifdef CELL_IRIX
int rexec_complete();
#endif
/*
* Descriptors that are common across a set of ABIs
*/
static sysargdesc_t __arg_string1[] = { /* calls with arg1 == string */
{SY_ARG(1)|SY_STRING},
{0}
};
static sysargdesc_t __arg_string2[] = { /* calls with arg2 == string */
{SY_ARG(2)|SY_STRING},
{0}
};
static sysargdesc_t __arg_string12[] = {
{SY_ARG(1)|SY_STRING},
{SY_ARG(2)|SY_STRING},
{0}
};
static sysargdesc_t __arg_wsockadd[] = { /* write arg2 == sockaddr, arg3 == len */
{SY_ARG(2)|SY_INV|SY_VARG(3)},
{0}
};
static sysargdesc_t __arg_rsockadd[] = { /* read arg2 == sockaddr, arg3 == len */
{SY_ARG(2)|SY_OUTVI|SY_VARG(3)},
{SY_ARG(3)|SY_IN|4},
{SY_ARG(3)|SY_OUT|4},
{0}
};
static sysargdesc_t __arg_wvs1[] = { /* write variable string arg 1 */
{SY_ARG(1)|SY_STRING|SY_VARG(2)},
{0}
};
static sysargdesc_t __arg_rvs1[] = { /* read variable string arg 1 */
{SY_ARG(1)|SY_OUTSTRING|SY_VARG(2)},
{0}
};
static sysargdesc_t __arg_write[] = {
{SY_ARG(2)|SY_INV|SY_VARG(3)},
{0}
};
static sysargdesc_t __arg_read[] = {
{SY_ARG(2)|SY_OUTVI|0},
{0}
};
static sysargdesc_t __arg_sigsuspend[] = {
{SY_ARG(1)|SY_IN|16},
{0}
};
static sysargdesc_t __arg_sigsendset[] = {
{SY_ARG(1)|SY_IN|20},
{0}
};
static sysargdesc_t __arg_sigprocmask[] = {
{SY_ARG(2)|SY_IN|16},
{SY_ARG(3)|SY_OUT|16},
{0}
};
static sysargdesc_t __arg_sigpending[] = {
{SY_ARG(1)|SY_OUT|16},
{0}
};
static sysargdesc_t __arg_socketpair[] = {
{SY_ARG(3)|SY_OUT|8},
{0}
};
static sysargdesc_t __arg_readlink[] = {
{SY_ARG(1)|SY_STRING},
{SY_ARG(2)|SY_OUTSTRING|SY_VARG(3)},
{0}
};
static sysargdesc_t __arg_recv[] = {
{SY_ARG(2)|SY_OUTVI|0},
{0}
};
static sysargdesc_t __arg_send[] = {
{SY_ARG(2)|SY_INV|SY_VARG(3)},
{0}
};
static sysargdesc_t __arg_recvfrom[] = {
{SY_ARG(2)|SY_OUTVI|0},
{SY_ARG(5)|SY_OUTVI|SY_VARG(6)},
{SY_ARG(6)|SY_IN|4},
{SY_ARG(6)|SY_OUT|4},
{0}
};
static sysargdesc_t __arg_sendto[] = {
{SY_ARG(2)|SY_INV|SY_VARG(3)},
{SY_ARG(5)|SY_INV|SY_VARG(6)},
{0}
};
static sysargdesc_t __arg_rwv[] = {
{SY_ARG(2)|SY_INSPECIAL|SY_SPIDX(3)},
{0}
};
static sysargdesc_t __arg_umfscall[] = {
{SY_ARG(4)|SY_INV|SY_VARG(3)},
{SY_ARG(6)|SY_OUTVI|SY_VARG(5)},
{0}
};
#define IRIX5_IN_TIMEVAL (SY_IN|8) /* timeval and timespec */
#define IRIX5_OUT_TIMEVAL (SY_OUT|8)
#define IRIX5_OUT_SIGINFO (SY_OUT|28)
#define IRIX5_IN_SIGACTION (SY_IN|32)
#define IRIX5_OUT_SIGACTION (SY_OUT|32)
#define IRIX5_64_IN_TIMEVAL (SY_IN|16) /* timeval and timespec */
#define IRIX5_64_OUT_TIMEVAL (SY_OUT|16)
#define IRIX5_64_OUT_SIGINFO (SY_OUT|40)
#define IRIX5_64_IN_SIGACTION (SY_IN|40)
#define IRIX5_64_OUT_SIGACTION (SY_OUT|40)
static sysargdesc_t irix5_arg_select[] = {
{SY_ARG(2)|SY_INSPECIAL|SY_SPIDX(0)},
{SY_ARG(3)|SY_INSPECIAL|SY_SPIDX(0)},
{SY_ARG(4)|SY_INSPECIAL|SY_SPIDX(0)},
{SY_ARG(2)|SY_OUTSPECIAL|SY_SPIDX(0)},
{SY_ARG(3)|SY_OUTSPECIAL|SY_SPIDX(0)},
{SY_ARG(4)|SY_OUTSPECIAL|SY_SPIDX(0)},
{SY_ARG(5)|IRIX5_IN_TIMEVAL},
{0}
};
static sysargdesc_t arg_fcntl[] = {
{SY_ARG(3)|SY_INSPECIAL|SY_SPIDX(1)},
{SY_ARG(3)|SY_OUTSPECIAL|SY_SPIDX(1)},
{0}
};
static sysargdesc_t arg_ioctl[] = {
{SY_ARG(3)|SY_INSPECIAL|SY_SPIDX(4)},
{SY_ARG(3)|SY_OUTSPECIAL|SY_SPIDX(4)},
{0}
};
static sysargdesc_t irix5_arg_nanosleep[] = {
{SY_ARG(1)|IRIX5_IN_TIMEVAL},
{SY_ARG(2)|IRIX5_OUT_TIMEVAL},
{0}
};
static sysargdesc_t irix5_arg_sched_rr_get_interval[] = {
{SY_ARG(1)|SY_IN},
{SY_ARG(2)|IRIX5_OUT_TIMEVAL},
{0}
};
static sysargdesc_t irix5_arg_sigaction[] = {
{SY_ARG(2)|IRIX5_IN_SIGACTION},
{SY_ARG(3)|IRIX5_OUT_SIGACTION},
{0}
};
static sysargdesc_t irix5_arg_waitsys[] = {
{SY_ARG(3)|IRIX5_OUT_SIGINFO},
{0}
};
static sysargdesc_t irix5_arg_sigpoll[] = {
{SY_ARG(1)|SY_IN|16},
{SY_ARG(2)|IRIX5_OUT_SIGINFO},
{SY_ARG(3)|IRIX5_IN_TIMEVAL},
{0}
};
static sysargdesc_t irix5_arg_gettimeofday[] = {
{SY_ARG(1)|IRIX5_OUT_TIMEVAL},
{0}
};
static sysargdesc_t arg_poll[] = {
{SY_ARG(1)|SY_INSPECIAL|SY_SPIDX(2)},
{SY_ARG(1)|SY_OUTSPECIAL|SY_SPIDX(2)},
{0}
};
static sysargdesc_t __arg_attr_get[] = {
{SY_ARG(1)|SY_STRING},
{SY_ARG(2)|SY_STRING},
{SY_ARG(3)|SY_OUTVI|SY_VARG(4)},
{SY_ARG(4)|SY_OUT|4},
{0}
};
static sysargdesc_t __arg_attr_getf[] = {
{SY_ARG(2)|SY_STRING},
{SY_ARG(3)|SY_OUTVI|SY_VARG(4)},
{SY_ARG(4)|SY_OUT|4},
{0}
};
static sysargdesc_t __arg_attr_set[] = {
{SY_ARG(1)|SY_STRING},
{SY_ARG(2)|SY_STRING},
{SY_ARG(3)|SY_INV|SY_VARG(4)},
{SY_ARG(4)|SY_IN|4},
{0}
};
static sysargdesc_t __arg_attr_setf[] = {
{SY_ARG(2)|SY_STRING},
{SY_ARG(3)|SY_INV|SY_VARG(4)},
{SY_ARG(4)|SY_IN|4},
{0}
};
#if _MIPS_SIM == _ABI64
static sysargdesc_t irix5_64_arg_select[] = {
{SY_ARG(2)|SY_INSPECIAL|SY_SPIDX(0)},
{SY_ARG(3)|SY_INSPECIAL|SY_SPIDX(0)},
{SY_ARG(4)|SY_INSPECIAL|SY_SPIDX(0)},
{SY_ARG(2)|SY_OUTSPECIAL|SY_SPIDX(0)},
{SY_ARG(3)|SY_OUTSPECIAL|SY_SPIDX(0)},
{SY_ARG(4)|SY_OUTSPECIAL|SY_SPIDX(0)},
{SY_ARG(5)|IRIX5_64_IN_TIMEVAL},
{0}
};
static sysargdesc_t irix5_64_arg_nanosleep[] = {
{SY_ARG(1)|IRIX5_64_IN_TIMEVAL},
{SY_ARG(2)|IRIX5_64_OUT_TIMEVAL},
{0}
};
static sysargdesc_t irix5_64_arg_sched_rr_get_interval[] = {
{SY_ARG(1)|SY_IN},
{SY_ARG(2)|IRIX5_64_OUT_TIMEVAL},
{0}
};
static sysargdesc_t irix5_64_arg_sigaction[] = {
{SY_ARG(2)|IRIX5_64_IN_SIGACTION},
{SY_ARG(3)|IRIX5_64_OUT_SIGACTION},
{0}
};
static sysargdesc_t irix5_64_arg_waitsys[] = {
{SY_ARG(3)|IRIX5_64_OUT_SIGINFO},
{0}
};
static sysargdesc_t irix5_64_arg_sigpoll[] = {
{SY_ARG(1)|SY_IN|16},
{SY_ARG(2)|IRIX5_64_OUT_SIGINFO},
{SY_ARG(3)|IRIX5_64_IN_TIMEVAL},
{0}
};
static sysargdesc_t irix5_64_arg_gettimeofday[] = {
{SY_ARG(1)|IRIX5_64_OUT_TIMEVAL},
{0}
};
#endif /* _ABI64 */
/*
* Irix 5 ABI
*/
struct sysent sysent[] =
{
0, 0, nosys, /* 0 = indir */
{0},
1, 0, rexit, /* 1 = exit */
{0},
0, SY_SPAWNER, fork, /* 2 = fork */
{0},
3, 0, read, /* 3 = read */
__arg_read,
3, 0, write, /* 4 = write */
__arg_write,
3, SY_NOXFSZ, open, /* 5 = open */
__arg_string1,
1, 0, close, /* 6 = close */
{0},
0, 0, nosys, /* 7 = IRIX4 wait */
{0},
2, SY_NOXFSZ, creat, /* 8 = creat */
__arg_string1,
2, 0, link, /* 9 = link */
__arg_string12,
1, 0, unlink, /* 10 = unlink */
__arg_string1,
2, 0, exec, /* 11 = exec */
__arg_string1,
1, 0, chdir, /* 12 = chdir */
__arg_string1,
0, 0, gtime, /* 13 = time */
{0},
0, 0, nosys, /* 14 = IRIX4 mknod */
{0},
2, 0, chmod, /* 15 = chmod */
__arg_string1,
3, 0, chown, /* 16 = chown; now 3 args */
__arg_string1,
1, 0, sbreak, /* 17 = break */
{0},
0, 0, nosys, /* 18 = IRIX4 stat */
{0},
3, SY_64BIT_ARG, lseek, /* 19 = lseek */
{0},
0, 0, getpid, /* 20 = getpid */
{0},
6, 0, mount, /* 21 = mount */
__arg_string12,
1, 0, umount, /* 22 = umount */
__arg_string1,
1, 0, setuid, /* 23 = setuid */
{0},
0, 0, getuid, /* 24 = getuid */
{0},
1, 0, stime, /* 25 = stime */
{0},
4, 0, ptrace, /* 26 = ptrace */
{0},
1, 0, alarm, /* 27 = alarm */
{0},
0, 0, nosys, /* 28 = IRIX4 fstat */
{0},
0, SY_NORESTART, pause, /* 29 = pause */
{0},
2, 0, utime, /* 30 = utime */
__arg_string1,
0, 0, nosys, /* 31 = */
{0},
0, 0, nosys, /* 32 = */
{0},
2, 0, access, /* 33 = access */
__arg_string1,
1, 0, nice, /* 34 = nice */
{0},
4, 0, statfs, /* 35 = statfs */
__arg_string1,
0, 0, sync, /* 36 = sync */
{0},
2, 0, kill, /* 37 = kill */
{0},
4, 0, fstatfs, /* 38 = fstatfs */
{0},
1, 0, setpgrp, /* 39 = setpgrp */
{0},
6, SY_64BIT_ARG, syssgi, /* 40 = SGI-specific system call */
{0},
1, 0, dup, /* 41 = dup */
{0},
0, 0, pipe, /* 42 = pipe */
{0},
1, 0, times, /* 43 = times */
{0},
4, 0, profil, /* 44 = profil */
{0},
1, 0, lock, /* 45 = proc lock */
{0},
1, 0, setgid, /* 46 = setgid */
{0},
0, 0, getgid, /* 47 = getgid */
{0},
0, 0, nosys, /* 48 = IRIX4 ssig */
{0},
6, 0, msgsys, /* 49 = IPC message */
{0},
4, 0, sysmips, /* 50 = mips-specific system call */
{0},
1, 0, sysacct, /* 51 = turn acct off/on */
{0},
5, 0, shmsys, /* 52 = shared memory */
{0},
5, SY_NOXFSZ|SY_64BIT_ARG, semsys,/* 53 = IPC semaphores */
{0},
3, 0, ioctl, /* 54 = ioctl */
arg_ioctl,
3, 0, uadmin, /* 55 = uadmin */
{0},
5, 0, sysmp, /* 56 = mp - specific calls */
{0},
3, 0, utssys, /* 57 = utssys */
{0},
0, 0, nosys, /* 58 */
{0},
3, 0, exece, /* 59 = exece */
__arg_string1,
1, 0, umask, /* 60 = umask */
{0},
1, 0, chroot, /* 61 = chroot */
__arg_string1,
3, 0, fcntl, /* 62 = fcntl */
arg_fcntl,
2, 0, ulimit, /* 63 = ulimit */
{0},
0, 0, nopkg, /* 64 AFS */
{0},
0, 0, nopkg, /* 65 AFS */
{0},
0, 0, nopkg, /* 66 AFS */
{0},
0, 0, nopkg, /* 67 AFS */
{0},
0, 0, nopkg, /* 68 AFS */
{0},
0, 0, nopkg, /* 69 AFS */
{0},
0, 0, nopkg, /* 70 AFS */
{0},
0, 0, nopkg, /* 71 AFS */
{0},
0, 0, nopkg, /* 72 AFS */
{0},
0, 0, nopkg, /* 73 AFS */
{0},
0, 0, nosys, /* 74 */
{0},
2, 0, getrlimit64, /* 75 = getrlimit64 */
{0},
2, 0, setrlimit64, /* 76 = setrlimit64 */
{0},
2, 0, nanosleep, /* 77 = nanosleep */
irix5_arg_nanosleep,
5, 0, lseek64, /* 78 = lseek64 */
{0},
1, 0, rmdir, /* 79 = rmdir */
__arg_string1,
2, 0, mkdir, /* 80 = mkdir */
__arg_string1,
3, 0, getdents, /* 81 = getdents */
{0},
1, 0, sginap, /* 82 = sginap */
{0},
3, 0, sgikopt, /* 83 = sgikopt */
{0},
3, 0, sysfs, /* 84 = sysfs */
{0},
4, 0, getmsg, /* 85 = getmsg */
{0},
4, 0, putmsg, /* 86 = putmsg */
{0},
3, 0, poll, /* 87 = poll */
arg_poll,
3, SY_FULLRESTORE, sigreturn, /* 88 = sig return */
{0},
/* 4.3BSD-compatible system calls */
3, 0, accept, /* 89 = accept */
__arg_rsockadd,
3, 0, bind, /* 90 = bind */
__arg_wsockadd,
3, 0, connect, /* 91 = connect */
__arg_wsockadd,
0, 0, gethostid, /* 92 = gethostid */
{0},
3, 0, getpeername, /* 93 = getpeername */
__arg_rsockadd,
3, 0, getsockname, /* 94 = getsockname */
__arg_rsockadd,
5, 0, getsockopt, /* 95 = getsockopt */
{0},
2, 0, listen, /* 96 = listen */
{0},
4, 0, recv, /* 97 = recv */
__arg_recv,
6, 0, recvfrom, /* 98 = recvfrom */
__arg_recvfrom,
3, 0, recvmsg, /* 99 = recvmsg */
{0},
5, 0, select, /* 100 = select */
irix5_arg_select,
4, 0, send, /* 101 = send */
__arg_send,
3, 0, sendmsg, /* 102 = sendmsg */
{0},
6, 0, sendto, /* 103 = sendto */
__arg_sendto,
1, 0, sethostid, /* 104 = sethostid */
{0},
5, 0, setsockopt, /* 105 = setsockopt */
{0},
2, 0, shutdown, /* 106 = shutdown */
{0},
3, 0, socket, /* 107 = socket */
{0},
2, 0, gethostname, /* 108 = gethostname */
__arg_rvs1,
2, 0, sethostname, /* 109 = sethostname */
__arg_wvs1,
2, 0, getdomainname, /* 110 = getdomainname */
__arg_rvs1,
2, 0, setdomainname, /* 111 = setdomainname */
__arg_wvs1,
2, SY_64BIT_ARG, truncate, /* 112 = truncate */
__arg_string1,
2, SY_64BIT_ARG, ftruncate, /* 113 = ftruncate */
{0},
2, 0, rename, /* 114 = rename */
__arg_string12,
2, 0, symlink, /* 115 = create symbolic link */
__arg_string12,
3, 0, readlink, /* 116 = read symbolic link */
__arg_readlink,
0, 0, nosys, /* 117 = IRIX4 lstat */
{0},
/* Network File System system calls */
0, 0, nosys, /* 118 = */
{0},
4, 0, nfs_svc, /* 119 = nfs server */
{0},
2, 0, nfs_getfh, /* 120 = get file handle */
{0},
0, 0, async_daemon, /* 121 = nfs bio daemon */
{0},
3, 0, exportfs, /* 122 = export served filesystem */
{0},
/* more 4.3BSD system calls */
2, 0, setregid, /* 123 = set real,eff. gid */
{0},
2, 0, setreuid, /* 123 = set real,eff. uid */
{0},
2, 0, getitimer, /* 125 = getitimer */
{0},
3, 0, setitimer, /* 126 = setitimer */
{0},
2, 0, adjtime, /* 127 = adjtime */
{0},
1, 0, gettimeofday, /* 128 = gettimeofday */
irix5_arg_gettimeofday,
/* shared process system calls */
3, SY_SPAWNER, sproc, /* 129 = sproc */
{0},
5, 0, prctl, /* 130 = prctl */
{0},
3, 0, procblk, /* 131 = procblk */
{0},
5, SY_SPAWNER, sprocsp, /* 132 = sprocsp */
{0},
0, 0, nosys, /* 133 = (old) sgigsc */
{0},
/* memory-mapped file calls */
6, SY_64BIT_ARG, mmap, /* 134 = mmap */
{0},
2, 0, munmap, /* 135 = munmap */
{0},
3, 0, mprotect, /* 136 = mprotect */
{0},
3, 0, msync, /* 137 = msync */
{0},
3, 0, madvise, /* 138 = madvise */
{0},
3, 0, pagelock, /* 139 = mpin, munpin */
{0},
0, 0, getpagesize, /* 140 = getpagesize */
{0},
4, 0, quotactl, /* 141 = quotactl */
{0},
0, 0, nosys, /* 142 = */
{0},
1, 0, BSDgetpgrp, /* 143 = BSD style getpgrp */
{0},
2, 0, BSDsetpgrp, /* 144 = BSD style setpgrp */
{0},
0, 0, vhangup, /* 145 = BSD vhangup */
{0},
1, 0, fsync, /* 146 = BSD fsync */
{0},
1, 0, fchdir, /* 147 = BSD fchdir */
{0},
2, 0, getrlimit, /* 148 = getrlimit */
{0},
2, 0, setrlimit, /* 149 = setrlimit */
{0},
3, 0, cacheflush, /* 150 = cacheflush */
{0},
3, 0, cachectl, /* 151 = cachectl */
{0},
3, 0, fchown, /* 152 = fchown */
{0},
2, 0, fchmod, /* 153 = fchmod */
{0},
0, 0, nosys, /* 154 = IRIX4 wait3 */
{0},
/* more 4.3BSD-compatible socket/protocol system calls */
4, 0, socketpair, /* 155 = socketpair */
__arg_socketpair,
/* new SVR4 system calls */
3, 0, systeminfo, /* 156 = systeminfo */
{0},
1, 0, uname, /* 157 = uname */
{0},
3, 0, xstat, /* 158 = xstat */
__arg_string2,
3, 0, lxstat, /* 159 = lxstat */
__arg_string2,
3, 0, fxstat, /* 160 = fxstat */
{0},
4, 0, xmknod, /* 161 = xmknod */
__arg_string2,
/* Posix.1 signal calls */
4, 0, sigaction, /* 162 = sigaction */
irix5_arg_sigaction,
1, 0, sigpending, /* 163 = sigpending */
__arg_sigpending,
3, 0, sigprocmask, /* 164 = sigprocmask */
__arg_sigprocmask,
1, SY_NORESTART, sigsuspend, /* 165 = sigsuspend */
__arg_sigsuspend,
3, 0, sigpoll_sys, /* 166 = sigpoll */
irix5_arg_sigpoll,
2, 0, swapctl, /* 167 = swapctl */
{0},
1, 0, getcontext, /* 168 = getcontext */
{0},
1, SY_FULLRESTORE, setcontext, /* 169 = setcontext */
{0},
5, 0, waitsys_wrapper, /* 170 = waitsys */
irix5_arg_waitsys,
2, 0, sigstack, /* 171 = sigstack */
{0},
2, 0, sigaltstack, /* 172 = sigaltstack */
{0},
2, 0, sigsendsys, /* 173 = sigsendset */
__arg_sigsendset,
2, 0, statvfs, /* 174 = statvfs */
__arg_string1,
2, 0, fstatvfs, /* 175 = fstatvfs */
{0},
5, 0, getpmsg, /* 176 = getpmsg */
{0},
5, 0, putpmsg, /* 177 = putpmsg */
{0},
3, 0, lchown, /* 178 = lchown */
__arg_string1,
0, 0, nopkg, /* 179 = priocntl */
{0},
4, 0, sigqueue_sys, /* 180 = posix.4 D12 sigqueue */
{0},
3, 0, readv, /* 181 = readv */
__arg_rwv,
3, 0, writev, /* 182 = writev */
__arg_rwv,
4, 0, truncate64, /* 183 = truncate64 */
__arg_string1,
4, 0, ftruncate64, /* 184 = ftruncate64 */
{0},
8, 0, mmap64, /* 185 = mmap64 */
{0},
8, 0, dmi, /* 186 = dmi */
{0},
6, SY_64BIT_ARG, pread, /* 187 = pread */
__arg_read,
6, SY_64BIT_ARG, pwrite, /* 188 = pwrite */
__arg_write,
1, 0, fdatasync, /* 189 = POSIX fdatasync */
{0},
6, 0, nosys, /* 190 = was sgifastpath */
{0},
5, 0, attr_get, /* 191 = attr_get */
__arg_attr_get,
5, 0, attr_getf, /* 192 = attr_getf */
__arg_attr_getf,
5, 0, attr_set, /* 193 = attr_set */
__arg_attr_set,
5, 0, attr_setf, /* 194 = attr_setf */
__arg_attr_setf,
3, 0, attr_remove, /* 195 = attr_remove */
__arg_string12,
3, 0, attr_removef, /* 196 = attr_removef */
__arg_string2,
5, 0, attr_list, /* 197 = attr_list */
{0},
5, 0, attr_listf, /* 198 = attr_listf */
{0},
4, 0, attr_multi, /* 199 = attr_multi */
__arg_string1,
4, 0, attr_multif, /* 200 = attr_multif */
{0},
2, 0, statvfs64, /* 201 = statvfs64 */
__arg_string1,
2, 0, fstatvfs64, /* 202 = fstatvfs64 */
{0},
2, 0, getmountid, /* 203 = getmountid */
__arg_string1,
/* new sproc */
5, SY_SPAWNER, nsproc, /* 204 = nsproc */
{0},
3, 0, getdents64, /* 205 = getdents64 */
{0},
6, 0, afs_syscall, /* 206 = reserved for DFS */
{0},
4, 0, ngetdents, /* 207 = ngetdents */
{0},
4, 0, ngetdents64, /* 208 = ngetdents64 */
{0},
8, SY_64BIT_ARG, sgi_sesmgr, /* 209 = Trix Session Manager */
{0},
#ifdef CKPT
6, SY_SPAWNER, pidsprocsp, /* 210 = pidsprocsp */
{0},
#else /* CKPT */
0, 0, nosys, /* 210 = */
{0},
#endif /* CKPT */
4, 0, rexec, /* 211 = rexec */
__arg_string2,
3, 0, timer_create, /* 212 = timer_create */
{0},
1, 0, timer_delete, /* 213 = timer_delete */
{0},
4, 0, timer_settime, /* 214 = timer_settime */
{0},
2, 0, timer_gettime, /* 215 = timer_gettime */
{0},
1, 0, timer_getoverrun, /* 216 = timer_getoverrun */
{0},
2, 0, sched_rr_get_interval, /* 217 = sched_rr_get_interval */
irix5_arg_sched_rr_get_interval,
0, 0, sched_yield, /* 218 = sched_yield */
{0},
1, 0, sched_getscheduler, /* 219 = sched_getscheduler */
{0},
3, 0, sched_setscheduler, /* 220 = sched_setscheduler */
{0},
2, 0, sched_getparam, /* 221 = sched_getparam */
{0},
2, 0, sched_setparam, /* 222 = sched_setparam */
{0},
2, 0, usync_cntl, /* 223 = usync_cntl */
{0},
5, 0, psema_cntl, /* 224 = psema_cntl */
__arg_string2,
#ifdef CKPT
3, SY_FULLRESTORE, ckpt_restartreturn,
{0}, /* 225 = restart return */
#else /* CKPT */
0, 0, nosys, /* 225 = RESERVED for CKPT */
{0},
#endif /* CKPT */
5, 0, sysget, /* 226 = sysget */
{0},
3, 0, xpg4_recvmsg, /* 227 = xpg4_recvmsg */
{0},
5, 0, umfscall, /* 228 = umfscall */
__arg_umfscall,
#ifdef CKPT
5, 0, nsproctid, /* 229 = nsproctid */
{0},
#else /* CKPT */
0, 0, nosys, /* 229 = RESERVED for CKPT */
{0},
#endif /* CKPT */
#ifdef CELL_IRIX
2, 0, rexec_complete, /* 230 = rexec_complete */
{0},
#else /* CELL_IRIX */
0, 0, nosys, /* 230 = RESERVED for CELL */
{0},
#endif /* CELL_IRIX */
2, 0, xpg4_sigaltstack, /* 231 = xpg4_sigaltstack */
{0},
5, 0, xpg4_select, /* 232 = xpg4_select */
irix5_arg_select,
2, 0, xpg4_setregid, /* 233 = xpg4_setregid */
{0},
2, 0, linkfollow, /* 234 = linkfollow */
__arg_string12,
};
#if _MIPS_SIM == _ABI64
struct sysent irix5_64_sysent[] =
{
0, 0, nosys, /* 0 = indir */
{0},
1, 0, rexit, /* 1 = exit */
{0},
0, SY_SPAWNER, fork, /* 2 = fork */
{0},
3, 0, read, /* 3 = read */
__arg_read,
3, 0, write, /* 4 = write */
__arg_write,
3, SY_NOXFSZ, open, /* 5 = open */
__arg_string1,
1, 0, close, /* 6 = close */
{0},
0, 0, nosys, /* 7 = IRIX4 wait */
{0},
2, SY_NOXFSZ, creat, /* 8 = creat */
__arg_string1,
2, 0, link, /* 9 = link */
__arg_string12,
1, 0, unlink, /* 10 = unlink */
__arg_string1,
2, 0, exec, /* 11 = exec */
__arg_string1,
1, 0, chdir, /* 12 = chdir */
__arg_string1,
0, 0, gtime, /* 13 = time */
{0},
0, 0, nosys, /* 14 = IRIX4 mknod */
{0},
2, 0, chmod, /* 15 = chmod */
__arg_string1,
3, 0, chown, /* 16 = chown; now 3 args */
__arg_string1,
1, 0, sbreak, /* 17 = break */
{0},
0, 0, nosys, /* 18 = IRIX4 stat */
{0},
3, 0, lseek, /* 19 = lseek */
{0},
0, 0, getpid, /* 20 = getpid */
{0},
6, 0, mount, /* 21 = mount */
__arg_string12,
1, 0, umount, /* 22 = umount */
__arg_string1,
1, 0, setuid, /* 23 = setuid */
{0},
0, 0, getuid, /* 24 = getuid */
{0},
1, 0, stime, /* 25 = stime */
{0},
4, 0, ptrace, /* 26 = ptrace */
{0},
1, 0, alarm, /* 27 = alarm */
{0},
0, 0, nosys, /* 28 = IRIX4 fstat */
{0},
0, SY_NORESTART, pause, /* 29 = pause */
{0},
2, 0, utime, /* 30 = utime */
__arg_string1,
0, 0, nosys, /* 31 = */
{0},
0, 0, nosys, /* 32 = */
{0},
2, 0, access, /* 33 = access */
__arg_string1,
1, 0, nice, /* 34 = nice */
{0},
4, 0, statfs, /* 35 = statfs */
__arg_string1,
0, 0, sync, /* 36 = sync */
{0},
2, 0, kill, /* 37 = kill */
{0},
4, 0, fstatfs, /* 38 = fstatfs */
{0},
1, 0, setpgrp, /* 39 = setpgrp */
{0},
6, 0, syssgi, /* 40 = SGI-specific system call */
{0},
1, 0, dup, /* 41 = dup */
{0},
0, 0, pipe, /* 42 = pipe */
{0},
1, 0, times, /* 43 = times */
{0},
4, 0, profil, /* 44 = profil */
{0},
1, 0, lock, /* 45 = proc lock */
{0},
1, 0, setgid, /* 46 = setgid */
{0},
0, 0, getgid, /* 47 = getgid */
{0},
0, 0, nosys, /* 48 = IRIX4 ssig */
{0},
6, 0, msgsys, /* 49 = IPC message */
{0},
4, 0, sysmips, /* 50 = mips-specific system call */
{0},
1, 0, sysacct, /* 51 = turn acct off/on */
{0},
5, 0, shmsys, /* 52 = shared memory */
{0},
5, SY_NOXFSZ, semsys, /* 53 = IPC semaphores */
{0},
3, 0, ioctl, /* 54 = ioctl */
arg_ioctl,
3, 0, uadmin, /* 55 = uadmin */
{0},
5, 0, sysmp, /* 56 = mp - specific calls */
{0},
3, 0, utssys, /* 57 = utssys */
{0},
0, 0, nosys, /* 58 */
{0},
3, 0, exece, /* 59 = exece */
__arg_string1,
1, 0, umask, /* 60 = umask */
{0},
1, 0, chroot, /* 61 = chroot */
__arg_string1,
3, 0, fcntl, /* 62 = fcntl */
arg_fcntl,
2, 0, ulimit, /* 63 = ulimit */
{0},
0, 0, nopkg, /* 64 AFS */
{0},
0, 0, nopkg, /* 65 AFS */
{0},
0, 0, nopkg, /* 66 AFS */
{0},
0, 0, nopkg, /* 67 AFS */
{0},
0, 0, nopkg, /* 68 AFS */
{0},
0, 0, nopkg, /* 69 AFS */
{0},
0, 0, nopkg, /* 70 AFS */
{0},
0, 0, nopkg, /* 71 AFS */
{0},
0, 0, nopkg, /* 72 AFS */
{0},
0, 0, nopkg, /* 73 AFS */
{0},
0, 0, nosys, /* 74 */
{0},
0, 0, nosys, /* 75 = getrlimit64 */
{0},
0, 0, nosys, /* 76 = setrlimit64 */
{0},
2, 0, nanosleep, /* 77 = nanosleep */
irix5_64_arg_nanosleep,
0, 0, nosys, /* 78 = lseek64 */
{0},
1, 0, rmdir, /* 79 = rmdir */
__arg_string1,
2, 0, mkdir, /* 80 = mkdir */
__arg_string1,
3, 0, getdents, /* 81 = getdents */
{0},
1, 0, sginap, /* 82 = sginap */
{0},
3, 0, sgikopt, /* 83 = sgikopt */
{0},
3, 0, sysfs, /* 84 = sysfs */
{0},
4, 0, getmsg, /* 85 = getmsg */
{0},
4, 0, putmsg, /* 86 = putmsg */
{0},
3, 0, poll, /* 87 = poll */
arg_poll,
3, SY_FULLRESTORE, sigreturn, /* 88 = sig return */
{0},
/* 4.3BSD-compatible system calls */
3, 0, accept, /* 89 = accept */
__arg_rsockadd,
3, 0, bind, /* 90 = bind */
__arg_wsockadd,
3, 0, connect, /* 91 = connect */
__arg_wsockadd,
0, 0, gethostid, /* 92 = gethostid */
{0},
3, 0, getpeername, /* 93 = getpeername */
__arg_rsockadd,
3, 0, getsockname, /* 94 = getsockname */
__arg_rsockadd,
5, 0, getsockopt, /* 95 = getsockopt */
{0},
2, 0, listen, /* 96 = listen */
{0},
4, 0, recv, /* 97 = recv */
__arg_recv,
6, 0, recvfrom, /* 98 = recvfrom */
__arg_recvfrom,
3, 0, recvmsg, /* 99 = recvmsg */
{0},
5, 0, select, /* 100 = select */
irix5_64_arg_select,
4, 0, send, /* 101 = send */
__arg_send,
3, 0, sendmsg, /* 102 = sendmsg */
{0},
6, 0, sendto, /* 103 = sendto */
__arg_sendto,
1, 0, sethostid, /* 104 = sethostid */
{0},
5, 0, setsockopt, /* 105 = setsockopt */
{0},
2, 0, shutdown, /* 106 = shutdown */
{0},
3, 0, socket, /* 107 = socket */
{0},
2, 0, gethostname, /* 108 = gethostname */
__arg_rvs1,
2, 0, sethostname, /* 109 = sethostname */
__arg_wvs1,
2, 0, getdomainname, /* 110 = getdomainname */
__arg_rvs1,
2, 0, setdomainname, /* 111 = setdomainname */
__arg_wvs1,
2, 0, truncate, /* 112 = truncate */
__arg_string1,
2, 0, ftruncate, /* 113 = ftruncate */
{0},
2, 0, rename, /* 114 = rename */
__arg_string12,
2, 0, symlink, /* 115 = create symbolic link */
__arg_string12,
3, 0, readlink, /* 116 = read symbolic link */
__arg_readlink,
0, 0, nosys, /* 117 = IRIX4 lstat */
{0},
/* Network File System system calls */
0, 0, nosys, /* 118 = */
{0},
1, 0, nosys, /* 119 = nfs server */
{0},
2, 0, nfs_getfh, /* 120 = get file handle */
{0},
0, 0, nosys, /* 121 = nfs bio daemon */
{0},
3, 0, exportfs, /* 122 = export served filesystem */
{0},
/* more 4.3BSD system calls */
2, 0, setregid, /* 123 = set real,eff. gid */
{0},
2, 0, setreuid, /* 123 = set real,eff. uid */
{0},
2, 0, getitimer, /* 125 = getitimer */
{0},
3, 0, setitimer, /* 126 = setitimer */
{0},
2, 0, adjtime, /* 127 = adjtime */
{0},
1, 0, gettimeofday, /* 128 = gettimeofday */
irix5_64_arg_gettimeofday,
/* shared process system calls */
3, SY_SPAWNER, sproc, /* 129 = sproc */
{0},
5, 0, prctl, /* 130 = prctl */
{0},
3, 0, procblk, /* 131 = procblk */
{0},
5, SY_SPAWNER, sprocsp, /* 132 = sprocsp */
{0},
0, 0, nosys, /* 133 = (old) sgigsc */
{0},
/* memory-mapped file calls */
6, 0, mmap, /* 134 = mmap */
{0},
2, 0, munmap, /* 135 = munmap */
{0},
3, 0, mprotect, /* 136 = mprotect */
{0},
3, 0, msync, /* 137 = msync */
{0},
3, 0, madvise, /* 138 = madvise */
{0},
3, 0, pagelock, /* 139 = mpin, munpin */
{0},
0, 0, getpagesize, /* 140 = getpagesize */
{0},
4, 0, quotactl, /* 141 = quotactl */
{0},
0, 0, nosys, /* 142 = */
{0},
1, 0, BSDgetpgrp, /* 143 = BSD style getpgrp */
{0},
2, 0, BSDsetpgrp, /* 144 = BSD style setpgrp */
{0},
0, 0, vhangup, /* 145 = BSD vhangup */
{0},
1, 0, fsync, /* 146 = BSD fsync */
{0},
1, 0, fchdir, /* 147 = BSD fchdir */
{0},
2, 0, getrlimit, /* 148 = getrlimit */
{0},
2, 0, setrlimit, /* 149 = setrlimit */
{0},
3, 0, cacheflush, /* 150 = cacheflush */
{0},
3, 0, cachectl, /* 151 = cachectl */
{0},
3, 0, fchown, /* 152 = fchown */
{0},
2, 0, fchmod, /* 153 = fchmod */
{0},
0, 0, nosys, /* 154 = IRIX4 wait3 */
{0},
/* more 4.3BSD-compatible socket/protocol system calls */
4, 0, socketpair, /* 155 = socketpair */
__arg_socketpair,
/* new SVR4 system calls */
3, 0, systeminfo, /* 156 = systeminfo */
{0},
1, 0, uname, /* 157 = uname */
{0},
3, 0, xstat, /* 158 = xstat */
__arg_string2,
3, 0, lxstat, /* 159 = lxstat */
__arg_string2,
3, 0, fxstat, /* 160 = fxstat */
{0},
4, 0, xmknod, /* 161 = xmknod */
__arg_string2,
/* Posix.1 signal calls */
4, 0, sigaction, /* 162 = sigaction */
irix5_64_arg_sigaction,
1, 0, sigpending, /* 163 = sigpending */
__arg_sigpending,
3, 0, sigprocmask, /* 164 = sigprocmask */
__arg_sigprocmask,
1, SY_NORESTART, sigsuspend, /* 165 = sigsuspend */
__arg_sigsuspend,
3, 0, sigpoll_sys, /* 166 = sigpoll */
irix5_64_arg_sigpoll,
2, 0, swapctl, /* 167 = swapctl */
{0},
1, 0, getcontext, /* 168 = getcontext */
{0},
1, SY_FULLRESTORE, setcontext, /* 169 = setcontext */
{0},
5, 0, waitsys_wrapper, /* 170 = waitsys */
irix5_64_arg_waitsys,
2, 0, sigstack, /* 171 = sigstack */
{0},
2, 0, sigaltstack, /* 172 = sigaltstack */
{0},
2, 0, sigsendsys, /* 173 = sigsendset */
__arg_sigsendset,
2, 0, statvfs, /* 174 = statvfs */
__arg_string1,
2, 0, fstatvfs, /* 175 = fstatvfs */
{0},
5, 0, getpmsg, /* 176 = getpmsg */
{0},
5, 0, putpmsg, /* 177 = putpmsg */
{0},
3, 0, lchown, /* 178 = lchown */
__arg_string1,
0, 0, nopkg, /* 179 = priocntl */
{0},
4, 0, sigqueue_sys, /* 180 = posix.4 D12 sigqueue */
{0},
3, 0, readv, /* 181 = readv */
__arg_rwv,
3, 0, writev, /* 182 = writev */
__arg_rwv,
0, 0, nosys, /* 183 = truncate64 */
{0},
0, 0, nosys, /* 184 = ftruncate64 */
{0},
0, 0, nosys, /* 185 = mmap64 */
{0},
0, 0, nosys, /* 186 = dmi */
{0},
4, 0, pread, /* 187 = pread */
__arg_read,
4, 0, pwrite, /* 188 = pwrite */
__arg_write,
1, 0, fdatasync, /* 189 = POSIX fdatasync */
{0},
6, 0, nosys, /* 190 = was sgifastpath */
{0},
5, 0, attr_get, /* 191 = attr_get */
__arg_attr_get,
5, 0, attr_getf, /* 192 = attr_getf */
__arg_attr_getf,
5, 0, attr_set, /* 193 = attr_set */
__arg_attr_set,
5, 0, attr_setf, /* 194 = attr_setf */
__arg_attr_setf,
3, 0, attr_remove, /* 195 = attr_remove */
__arg_string12,
3, 0, attr_removef, /* 196 = attr_removef */
__arg_string2,
5, 0, attr_list, /* 197 = attr_list */
{0},
5, 0, attr_listf, /* 198 = attr_listf */
{0},
4, 0, attr_multi, /* 199 = attr_multi */
__arg_string1,
4, 0, attr_multif, /* 200 = attr_multif */
{0},
0, 0, nosys, /* 201 = statvfs64 */
{0},
0, 0, nosys, /* 202 = fstatvfs64 */
{0},
2, 0, getmountid, /* 203 = getmountid */
__arg_string1,
/* new sproc */
5, SY_SPAWNER, nsproc, /* 204 = nsproc */
{0},
3, 0, getdents64, /* 205 = getdents64 */
{0},
6, 0, afs_syscall, /* 206 = reserved for DFS */
{0},
4, 0, ngetdents, /* 207 = ngetdents */
{0},
4, 0, ngetdents64, /* 208 = getdents64 */
{0},
8, 0, sgi_sesmgr, /* 209 = Trix Session Manager */
{0},
#ifdef CKPT
6, SY_SPAWNER, pidsprocsp, /* 210 = pidsprocsp */
{0},
#else /* CKPT */
0, 0, nosys, /* 210 = */
{0},
#endif /* CKPT */
4, 0, rexec, /* 211 = rexec */
__arg_string2,
3, 0, timer_create, /* 212 = timer_create */
{0},
1, 0, timer_delete, /* 213 = timer_delete */
{0},
4, 0, timer_settime, /* 214 = timer_settime */
{0},
2, 0, timer_gettime, /* 215 = timer_gettime */
{0},
1, 0, timer_getoverrun, /* 216 = timer_getoverrun */
{0},
2, 0, sched_rr_get_interval, /* 217 = sched_rr_get_interval */
irix5_64_arg_sched_rr_get_interval,
0, 0, sched_yield, /* 218 = sched_yield */
{0},
1, 0, sched_getscheduler, /* 219 = sched_getscheduler */
{0},
3, 0, sched_setscheduler, /* 220 = sched_setscheduler */
{0},
2, 0, sched_getparam, /* 221 = sched_getparam */
{0},
2, 0, sched_setparam, /* 222 = sched_setparam */
{0},
2, 0, usync_cntl, /* 223 = usync_cntl */
{0},
5, 0, psema_cntl, /* 224 = psema_cntl */
__arg_string2,
#ifdef CKPT
3, SY_FULLRESTORE, ckpt_restartreturn,
{0}, /* 225 = restart return */
#else /* CKPT */
0, 0, nosys, /* 225 = RESERVED for CKPT */
{0},
#endif /* CKPT */
5, 0, sysget, /* 226 = sysget */
{0},
3, 0, xpg4_recvmsg, /* 227 = xpg4_recvmsg */
{0},
5, 0, umfscall, /* 228 = umfscall */
__arg_umfscall,
#ifdef CKPT
5, 0, nsproctid, /* 229 = nsproctid */
{0},
#else /* CKPT */
0, 0, nosys, /* 229 = RESERVED for CKPT */
{0},
#endif /* CKPT */
#ifdef CELL_IRIX
2, 0, rexec_complete, /* 230 = rexec_complete */
{0},
#else /* CELL_IRIX */
2, 0, nosys, /* 230 = RESERVED for CELL */
{0},
#endif /* CELL_IRIX */
2, 0, xpg4_sigaltstack, /* 231 = xpg4_sigaltstack */
{0},
5, 0, xpg4_select, /* 232 = xpg4_select */
irix5_64_arg_select,
2, 0, xpg4_setregid, /* 233 = xpg4_setregid */
{0},
2, 0, linkfollow, /* 234 = linkfollow */
__arg_string12,
};
#endif /* _ABI64 */
/* It is unfortunate that these ABI numbers grow in powers of 2 - but
* this structure is small anyway.
*/
struct syscallsw syscallsw[_MAX_ABI + 1] = {
{ 0, 0 },
{ 0, 0 },
/* ABI_IRIX5 */
{ sysent, sizeof(sysent) / sizeof(sysent[0]) },
{ 0, 0 },
#if _MIPS_SIM == _ABI64
/* ABI_IRIX5_64 */
{ irix5_64_sysent,
sizeof(irix5_64_sysent) / sizeof(irix5_64_sysent[0]) },
#else
{ 0, 0 },
#endif
{ 0, 0 },
{ 0, 0 },
{ 0, 0 },
/* ABI_IRIX5_N32 - shares sysent table with ABI_IRIX5 */
{ 0, 0 }
};