152134Smckusick /* 252134Smckusick * Copyright (c) 1988 University of Utah. 352134Smckusick * Copyright (c) 1992 The Regents of the University of California. 452134Smckusick * All rights reserved. 552134Smckusick * 652134Smckusick * This code is derived from software contributed to Berkeley by 752134Smckusick * the Systems Programming Group of the University of Utah Computer 852134Smckusick * Science Department and Ralph Campbell. 952134Smckusick * 1052134Smckusick * %sccs.include.redist.c% 1152134Smckusick * 1252134Smckusick * from: Utah $Hdr: hpux_sysent.c 1.1 90/07/09$ 1352134Smckusick * 14*52135Smckusick * @(#)ultrix_sysent.c 7.2 (Berkeley) 01/07/92 1552134Smckusick */ 1652134Smckusick 1752134Smckusick /* 1852134Smckusick * System call switch table. 1952134Smckusick */ 2052134Smckusick 2152134Smckusick #include "param.h" 2252134Smckusick #include "systm.h" 2352134Smckusick 2452134Smckusick int nosys(),notimp(); 2552134Smckusick 2652134Smckusick int rexit(); 2752134Smckusick int fork(); 2852134Smckusick int read(); 2952134Smckusick int write(); 3052134Smckusick int open(); 3152134Smckusick int close(); 3252134Smckusick int ocreat(); 3352134Smckusick int link(); 3452134Smckusick int unlink(); 3552134Smckusick int chdir(); 3652134Smckusick int mknod(); 3752134Smckusick int chmod(); 3852134Smckusick int chown(); 3952134Smckusick int obreak(); 4052134Smckusick int lseek(); 4152134Smckusick int getpid(); 4252134Smckusick int getuid(); 4352134Smckusick int ptrace(); 4452134Smckusick int saccess(); 4552134Smckusick int sync(); 4652134Smckusick int kill(); 4752134Smckusick int stat(); 4852134Smckusick int lstat(); 4952134Smckusick int dup(); 5052134Smckusick int pipe(); 5152134Smckusick int profil(); 5252134Smckusick int ultrixtobsd(); 5352134Smckusick int getgid(); 5452134Smckusick int ioctl(); 5552134Smckusick int reboot(); 5652134Smckusick int symlink(); 5752134Smckusick int readlink(); 5852134Smckusick int execve(); 5952134Smckusick int umask(); 6052134Smckusick int chroot(); 6152134Smckusick int fstat(); 6252134Smckusick int getpagesize(); 6352134Smckusick int vfork(); 6452134Smckusick int sbrk(); 6552134Smckusick int sstk(); 6652134Smckusick int getgroups(); 6752134Smckusick int setgroups(); 6852134Smckusick int ultrixgetpgrp(); 6952134Smckusick int ultrixsetpgrp(); 7052134Smckusick int setitimer(); 7152134Smckusick int ultrixwait3(); 7252134Smckusick int getitimer(); 7352134Smckusick int gethostname(); 7452134Smckusick int sethostname(); 7552134Smckusick int getdtablesize(); 7652134Smckusick int dup2(); 7752134Smckusick int fcntl(); 7852134Smckusick int select(); 7952134Smckusick int fsync(); 8052134Smckusick int setpriority(); 8152134Smckusick int socket(); 8252134Smckusick int connect(); 8352134Smckusick int oaccept(); 8452134Smckusick int getpriority(); 8552134Smckusick int osend(); 8652134Smckusick int orecv(); 87*52135Smckusick int sigreturn(); 8852134Smckusick int bind(); 8952134Smckusick int setsockopt(); 9052134Smckusick int listen(); 9152134Smckusick int ultrixsigvec(); 9252134Smckusick int osigblock(); 9352134Smckusick int osigsetmask(); 9452134Smckusick int sigsuspend(); 9552134Smckusick int sigstack(); 9652134Smckusick int orecvmsg(); 9752134Smckusick int osendmsg(); 9852134Smckusick int gettimeofday(); 9952134Smckusick int getrusage(); 10052134Smckusick int getsockopt(); 10152134Smckusick int readv(); 10252134Smckusick int writev(); 10352134Smckusick int settimeofday(); 10452134Smckusick int fchown(); 10552134Smckusick int fchmod(); 10652134Smckusick int orecvfrom(); 10752134Smckusick int osetreuid(); 10852134Smckusick int osetregid(); 10952134Smckusick int rename(); 11052134Smckusick int truncate(); 11152134Smckusick int ftruncate(); 11252134Smckusick int flock(); 11352134Smckusick int sendto(); 11452134Smckusick int shutdown(); 11552134Smckusick int socketpair(); 11652134Smckusick int mkdir(); 11752134Smckusick int rmdir(); 11852134Smckusick int utimes(); 11952134Smckusick int adjtime(); 12052134Smckusick int ogetpeername(); 12152134Smckusick int gethostid(); 12252134Smckusick int sethostid(); 12352134Smckusick int getrlimit(); 12452134Smckusick int setrlimit(); 12552134Smckusick int okillpg(); 12652134Smckusick int ogetsockname(); 12752134Smckusick int getdirentries(); 12852134Smckusick int ultrixgetsysinfo(); 12952134Smckusick 13052134Smckusick /* 13152134Smckusick * Reserved/unimplemented system calls in the range 0-150 inclusive 13252134Smckusick * are reserved for use in future Berkeley releases. 13352134Smckusick * Additional system calls implemented in vendor and other 13452134Smckusick * redistributions should be placed in the reserved range at the end 13552134Smckusick * of the current calls. 13652134Smckusick */ 13752134Smckusick struct sysent ultrixsysent[] = { 13852134Smckusick 0, nosys, /* 0 = out of range */ 13952134Smckusick 1, rexit, /* 1 = exit */ 14052134Smckusick 0, fork, /* 2 = fork */ 14152134Smckusick 3, read, /* 3 = read */ 14252134Smckusick 3, write, /* 4 = write */ 14352134Smckusick 3, open, /* 5 = open */ 14452134Smckusick 1, close, /* 6 = close */ 14552134Smckusick 0, nosys, /* 7 = old wait */ 14652134Smckusick 2, ocreat, /* 8 = creat */ 14752134Smckusick 2, link, /* 9 = link */ 14852134Smckusick 1, unlink, /* 10 = unlink */ 14952134Smckusick 0, nosys, /* 11 = old execv */ 15052134Smckusick 1, chdir, /* 12 = chdir */ 15152134Smckusick 0, nosys, /* 13 = old time */ 15252134Smckusick 3, mknod, /* 14 = mknod */ 15352134Smckusick 2, chmod, /* 15 = chmod */ 15452134Smckusick 3, chown, /* 16 = chown */ 15552134Smckusick 1, obreak, /* 17 = old break */ 15652134Smckusick 0, nosys, /* 18 = old stat */ 15752134Smckusick 3, lseek, /* 19 = lseek */ 15852134Smckusick 0, getpid, /* 20 = getpid */ 15952134Smckusick 3, notimp, /* 21 = mount */ 16052134Smckusick 1, notimp, /* 22 = umount */ 16152134Smckusick 0, nosys, /* 23 = old setuid */ 16252134Smckusick 0, getuid, /* 24 = getuid */ 16352134Smckusick 0, nosys, /* 25 = old stime */ 16452134Smckusick 4, ptrace, /* 26 = ptrace */ 16552134Smckusick 0, nosys, /* 27 = old alarm */ 16652134Smckusick 0, nosys, /* 28 = old fstat */ 16752134Smckusick 0, nosys, /* 29 = old pause */ 16852134Smckusick 0, nosys, /* 30 = old utime */ 16952134Smckusick 0, nosys, /* 31 = old stty */ 17052134Smckusick 0, nosys, /* 32 = old gtty */ 17152134Smckusick 2, saccess, /* 33 = access */ 17252134Smckusick 0, nosys, /* 34 = old nice */ 17352134Smckusick 0, nosys, /* 35 = old ftime */ 17452134Smckusick 0, sync, /* 36 = sync */ 17552134Smckusick 2, kill, /* 37 = kill */ 17652134Smckusick 2, stat, /* 38 = stat */ 17752134Smckusick 0, nosys, /* 39 = old setpgrp */ 17852134Smckusick 2, lstat, /* 40 = lstat */ 17952134Smckusick 1, dup, /* 41 = dup */ 18052134Smckusick 1, pipe, /* 42 = pipe */ 18152134Smckusick 0, nosys, /* 43 = old times */ 18252134Smckusick 4, profil, /* 44 = profil */ 18352134Smckusick 0, ultrixtobsd, /* 45 = unused */ 18452134Smckusick 0, nosys, /* 46 = old setgid */ 18552134Smckusick 0, getgid, /* 47 = getgid */ 18652134Smckusick 0, nosys, /* 48 = old sigsys */ 18752134Smckusick 0, nosys, /* 49 = reserved for USG */ 18852134Smckusick 0, nosys, /* 50 = reserved for USG */ 18952134Smckusick 1, notimp, /* 51 = acct */ 19052134Smckusick 0, nosys, /* 52 = old set phys addr */ 19152134Smckusick 0, nosys, /* 53 = old lock in core */ 19252134Smckusick 3, ioctl, /* 54 = ioctl */ 19352134Smckusick 1, reboot, /* 55 = reboot */ 19452134Smckusick 0, nosys, /* 56 = old mpxchan */ 19552134Smckusick 2, symlink, /* 57 = symlink */ 19652134Smckusick 3, readlink, /* 58 = readlink */ 19752134Smckusick 3, execve, /* 59 = execve */ 19852134Smckusick 1, umask, /* 60 = umask */ 19952134Smckusick 1, chroot, /* 61 = chroot */ 20052134Smckusick 2, fstat, /* 62 = fstat */ 20152134Smckusick 0, nosys, /* 63 = unused */ 20252134Smckusick 0, getpagesize, /* 64 = getpagesize */ 20352134Smckusick 0, notimp, /* 65 = mremap */ 20452134Smckusick 0, vfork, /* 66 = vfork */ 20552134Smckusick 0, nosys, /* 67 = old vread */ 20652134Smckusick 0, nosys, /* 68 = old vwrite */ 20752134Smckusick 1, sbrk, /* 69 = sbrk */ 20852134Smckusick 1, sstk, /* 70 = sstk */ 20952134Smckusick 0, nosys, /* 71 = mmap */ 21052134Smckusick 0, nosys, /* 72 = old vadvise */ 21152134Smckusick 0, notimp, /* 73 = munmap */ 21252134Smckusick 0, notimp, /* 74 = mprotect */ 21352134Smckusick 0, notimp, /* 75 = madvise */ 21452134Smckusick 0, notimp, /* 76 = vhangup */ 21552134Smckusick 0, nosys, /* 77 = old vlimit */ 21652134Smckusick 0, nosys, /* 78 = mincore */ 21752134Smckusick 2, getgroups, /* 79 = getgroups */ 21852134Smckusick 2, setgroups, /* 80 = setgroups */ 21952134Smckusick 1, ultrixgetpgrp, /* 81 = getpgrp */ 22052134Smckusick 2, ultrixsetpgrp, /* 82 = setpgrp */ 22152134Smckusick 3, setitimer, /* 83 = setitimer */ 22252134Smckusick 3, ultrixwait3, /* 84 = wait3 */ 22352134Smckusick 1, notimp, /* 85 = swapon */ 22452134Smckusick 2, getitimer, /* 86 = getitimer */ 22552134Smckusick 2, gethostname, /* 87 = gethostname */ 22652134Smckusick 2, sethostname, /* 88 = sethostname */ 22752134Smckusick 0, getdtablesize, /* 89 = getdtablesize */ 22852134Smckusick 2, dup2, /* 90 = dup2 */ 22952134Smckusick 0, notimp, /* 91 = getdopt */ 23052134Smckusick 3, fcntl, /* 92 = fcntl */ 23152134Smckusick 5, select, /* 93 = select */ 23252134Smckusick 0, notimp, /* 94 = setdopt */ 23352134Smckusick 1, fsync, /* 95 = fsync */ 23452134Smckusick 3, setpriority, /* 96 = setpriority */ 23552134Smckusick 3, socket, /* 97 = socket */ 23652134Smckusick 3, connect, /* 98 = connect */ 23752134Smckusick 3, oaccept, /* 99 = accept */ 23852134Smckusick 2, getpriority, /* 100 = getpriority */ 23952134Smckusick 4, osend, /* 101 = send */ 24052134Smckusick 4, orecv, /* 102 = recv */ 241*52135Smckusick 1, sigreturn, /* 103 = sigreturn */ 24252134Smckusick 3, bind, /* 104 = bind */ 24352134Smckusick 5, setsockopt, /* 105 = setsockopt */ 24452134Smckusick 2, listen, /* 106 = listen */ 24552134Smckusick 0, nosys, /* 107 = old vtimes */ 24652134Smckusick 4, ultrixsigvec, /* 108 = sigvec */ 24752134Smckusick 1, osigblock, /* 109 = sigblock */ 24852134Smckusick 1, osigsetmask, /* 110 = sigsetmask */ 24952134Smckusick 1, sigsuspend, /* 111 = sigpause */ 25052134Smckusick 2, sigstack, /* 112 = sigstack */ 25152134Smckusick 3, orecvmsg, /* 113 = recvmsg */ 25252134Smckusick 3, osendmsg, /* 114 = sendmsg */ 25352134Smckusick 0, nosys, /* 115 = old vtrace */ 25452134Smckusick 2, gettimeofday, /* 116 = gettimeofday */ 25552134Smckusick 2, getrusage, /* 117 = getrusage */ 25652134Smckusick 5, getsockopt, /* 118 = getsockopt */ 25752134Smckusick 0, nosys, /* 119 = old resuba */ 25852134Smckusick 3, readv, /* 120 = readv */ 25952134Smckusick 3, writev, /* 121 = writev */ 26052134Smckusick 2, settimeofday, /* 122 = settimeofday */ 26152134Smckusick 3, fchown, /* 123 = fchown */ 26252134Smckusick 2, fchmod, /* 124 = fchmod */ 26352134Smckusick 6, orecvfrom, /* 125 = recvfrom */ 26452134Smckusick 2, osetreuid, /* 126 = setreuid */ 26552134Smckusick 2, osetregid, /* 127 = setregid */ 26652134Smckusick 2, rename, /* 128 = rename */ 26752134Smckusick 2, truncate, /* 129 = truncate */ 26852134Smckusick 2, ftruncate, /* 130 = ftruncate */ 26952134Smckusick 2, flock, /* 131 = flock */ 27052134Smckusick 0, nosys, /* 132 = nosys */ 27152134Smckusick 6, sendto, /* 133 = sendto */ 27252134Smckusick 2, shutdown, /* 134 = shutdown */ 27352134Smckusick 5, socketpair, /* 135 = socketpair */ 27452134Smckusick 2, mkdir, /* 136 = mkdir */ 27552134Smckusick 1, rmdir, /* 137 = rmdir */ 27652134Smckusick 2, utimes, /* 138 = utimes */ 277*52135Smckusick 1, sigreturn, /* 139 = internal (4.2 sigreturn) */ 27852134Smckusick 2, adjtime, /* 140 = adjtime */ 27952134Smckusick 3, ogetpeername, /* 141 = getpeername */ 28052134Smckusick 2, gethostid, /* 142 = gethostid */ 28152134Smckusick 2, sethostid, /* 143 = sethostid */ 28252134Smckusick 2, getrlimit, /* 144 = getrlimit */ 28352134Smckusick 2, setrlimit, /* 145 = setrlimit */ 28452134Smckusick 2, okillpg, /* 146 = killpg */ 28552134Smckusick 0, nosys, /* 147 = nosys */ 28652134Smckusick 0, notimp, /* 148 = setquota */ 28752134Smckusick 0, notimp, /* 149 = quota */ 28852134Smckusick 3, ogetsockname, /* 150 = getsockname */ 28952134Smckusick /* 29052134Smckusick * ULTRIX specific syscalls 29152134Smckusick */ 29252134Smckusick 0, notimp, /* 151 = sysmips */ 29352134Smckusick 0, notimp, /* 152 = cacheflush */ 29452134Smckusick 0, notimp, /* 153 = cachectl */ 29552134Smckusick 0, notimp, /* 154 = debug */ 29652134Smckusick 0, nosys, /* 155 = nosys */ 29752134Smckusick 0, nosys, /* 156 = nosys */ 29852134Smckusick 0, nosys, /* 157 = nosys */ 29952134Smckusick 0, notimp, /* 158 = nfs_svc */ 30052134Smckusick 4, getdirentries, /* 159 = getdirentries */ 30152134Smckusick 0, nosys, /* 160 = nosys */ 30252134Smckusick 0, nosys, /* 161 = nosys */ 30352134Smckusick 0, nosys, /* 162 = nosys */ 30452134Smckusick 0, notimp, /* 163 = nfs_biod */ 30552134Smckusick 0, notimp, /* 164 = nfs_getfh */ 30652134Smckusick 0, notimp, /* 165 = getdomainname */ 30752134Smckusick 0, notimp, /* 166 = setdomainname */ 30852134Smckusick 0, nosys, /* 167 = nosys */ 30952134Smckusick 0, nosys, /* 168 = nosys */ 31052134Smckusick 0, notimp, /* 169 = exportfs */ 31152134Smckusick 0, nosys, /* 170 = nosys */ 31252134Smckusick 0, nosys, /* 171 = nosys */ 31352134Smckusick 0, notimp, /* 172 = msgctl */ 31452134Smckusick 0, notimp, /* 173 = msgget */ 31552134Smckusick 0, notimp, /* 174 = msgrcv */ 31652134Smckusick 0, notimp, /* 175 = msgsnd */ 31752134Smckusick 0, notimp, /* 176 = semctl */ 31852134Smckusick 0, notimp, /* 177 = semget */ 31952134Smckusick 0, notimp, /* 178 = semop */ 32052134Smckusick 0, notimp, /* 179 = uname */ 32152134Smckusick 0, notimp, /* 180 = shmsys */ 32252134Smckusick 0, notimp, /* 181 = plock */ 32352134Smckusick 0, notimp, /* 182 = lockf */ 32452134Smckusick 0, notimp, /* 183 = ustat */ 32552134Smckusick 0, notimp, /* 184 = getmnt */ 32652134Smckusick 0, notimp, /* 185 = mount */ 32752134Smckusick 0, notimp, /* 186 = umount */ 32852134Smckusick 0, notimp, /* 187 = sigpending */ 32952134Smckusick 0, nosys, /* 188 = nosys */ 33052134Smckusick 0, nosys, /* 189 = nosys */ 33152134Smckusick 0, nosys, /* 190 = nosys */ 33252134Smckusick 0, nosys, /* 191 = nosys */ 33352134Smckusick 0, nosys, /* 192 = nosys */ 33452134Smckusick 0, nosys, /* 193 = nosys */ 33552134Smckusick 0, nosys, /* 194 = nosys */ 33652134Smckusick 0, nosys, /* 195 = nosys */ 33752134Smckusick 0, nosys, /* 196 = nosys */ 33852134Smckusick 0, nosys, /* 197 = nosys */ 33952134Smckusick 0, nosys, /* 198 = nosys */ 34052134Smckusick 0, nosys, /* 199 = nosys */ 34152134Smckusick 0, nosys, /* 200 = nosys */ 34252134Smckusick 0, nosys, /* 201 = nosys */ 34352134Smckusick 0, nosys, /* 202 = nosys */ 34452134Smckusick 0, nosys, /* 203 = nosys */ 34552134Smckusick 0, nosys, /* 204 = nosys */ 34652134Smckusick 0, nosys, /* 205 = nosys */ 34752134Smckusick 0, nosys, /* 206 = nosys */ 34852134Smckusick 0, nosys, /* 207 = nosys */ 34952134Smckusick 0, nosys, /* 208 = nosys */ 35052134Smckusick 0, nosys, /* 209 = nosys */ 35152134Smckusick 0, nosys, /* 210 = nosys */ 35252134Smckusick 0, nosys, /* 211 = nosys */ 35352134Smckusick 0, nosys, /* 212 = nosys */ 35452134Smckusick 0, nosys, /* 213 = nosys */ 35552134Smckusick 0, nosys, /* 214 = nosys */ 35652134Smckusick 0, nosys, /* 215 = nosys */ 35752134Smckusick 0, nosys, /* 216 = nosys */ 35852134Smckusick 0, nosys, /* 217 = nosys */ 35952134Smckusick 0, nosys, /* 218 = nosys */ 36052134Smckusick 0, nosys, /* 219 = nosys */ 36152134Smckusick 0, nosys, /* 220 = nosys */ 36252134Smckusick 0, nosys, /* 221 = nosys */ 36352134Smckusick 0, nosys, /* 222 = nosys */ 36452134Smckusick 0, nosys, /* 223 = nosys */ 36552134Smckusick 0, nosys, /* 224 = nosys */ 36652134Smckusick 0, nosys, /* 225 = nosys */ 36752134Smckusick 0, nosys, /* 226 = nosys */ 36852134Smckusick 0, nosys, /* 227 = nosys */ 36952134Smckusick 0, nosys, /* 228 = nosys */ 37052134Smckusick 0, nosys, /* 229 = nosys */ 37152134Smckusick 0, nosys, /* 230 = nosys */ 37252134Smckusick 0, nosys, /* 231 = nosys */ 37352134Smckusick 0, nosys, /* 232 = nosys */ 37452134Smckusick 0, notimp, /* 233 = nosys */ 37552134Smckusick 0, notimp, /* 234 = nosys */ 37652134Smckusick 0, notimp, /* 235 = nosys */ 37752134Smckusick 0, nosys, /* 236 = nosys */ 37852134Smckusick 0, notimp, /* 237 = nosys */ 37952134Smckusick 0, notimp, /* 238 = nosys */ 38052134Smckusick 0, nosys, /* 239 = nosys */ 38152134Smckusick 0, nosys, /* 240 = nosys */ 38252134Smckusick 0, nosys, /* 241 = nosys */ 38352134Smckusick 0, nosys, /* 242 = nosys */ 38452134Smckusick 0, nosys, /* 243 = nosys */ 38552134Smckusick 0, nosys, /* 244 = nosys */ 38652134Smckusick 0, nosys, /* 245 = nosys */ 38752134Smckusick 0, nosys, /* 246 = nosys */ 38852134Smckusick 0, nosys, /* 247 = nosys */ 38952134Smckusick 0, nosys, /* 248 = nosys */ 39052134Smckusick 0, nosys, /* 249 = nosys */ 39152134Smckusick 0, nosys, /* 250 = nosys */ 39252134Smckusick 0, nosys, /* 251 = nosys */ 39352134Smckusick 0, nosys, /* 252 = nosys */ 39452134Smckusick 0, nosys, /* 253 = nosys */ 39552134Smckusick 0, nosys, /* 254 = nosys */ 39652134Smckusick 0, nosys, /* 255 = nosys */ 39752134Smckusick 0, ultrixgetsysinfo, /* 256 = getsysinfo */ 39852134Smckusick 0, notimp, /* 257 = setsysinfo */ 39952134Smckusick }; 40052134Smckusick int ultrixnsysent = sizeof(ultrixsysent) / sizeof (ultrixsysent[0]); 401