152134Smckusick /* 252134Smckusick * Copyright (c) 1988 University of Utah. 3*63229Sbostic * Copyright (c) 1992, 1993 4*63229Sbostic * The Regents of the University of California. 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*63229Sbostic * @(#)ultrix_sysent.c 8.1 (Berkeley) 06/10/93 1552134Smckusick */ 1652134Smckusick 1752134Smckusick /* 1852134Smckusick * System call switch table. 1952134Smckusick */ 2052134Smckusick 2156527Sbostic #include <sys/param.h> 2256527Sbostic #include <sys/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(); 4754143Sralph int ostat(); 4854143Sralph int olstat(); 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(); 6154143Sralph int ofstat(); 6260024Sralph int ogetpagesize(); 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(); 7360024Sralph int ogethostname(); 7460024Sralph int osethostname(); 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(); 8752135Smckusick int sigreturn(); 8852134Smckusick int bind(); 8952134Smckusick int setsockopt(); 9052134Smckusick int listen(); 9152134Smckusick int ultrixsigvec(); 9252134Smckusick int osigblock(); 9352134Smckusick int osigsetmask(); 9452134Smckusick int sigsuspend(); 9554143Sralph int osigstack(); 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(); 12160024Sralph int ogethostid(); 12260024Sralph int osethostid(); 12352134Smckusick int getrlimit(); 12452134Smckusick int setrlimit(); 12552134Smckusick int okillpg(); 12652134Smckusick int ogetsockname(); 12756235Sralph int ogetdirentries(); 12856235Sralph int ultrixgetdomainname(); 12956235Sralph int ultrixsetdomainname(); 13052134Smckusick int ultrixgetsysinfo(); 13152134Smckusick 13252134Smckusick /* 13352134Smckusick * Reserved/unimplemented system calls in the range 0-150 inclusive 13452134Smckusick * are reserved for use in future Berkeley releases. 13552134Smckusick * Additional system calls implemented in vendor and other 13652134Smckusick * redistributions should be placed in the reserved range at the end 13752134Smckusick * of the current calls. 13852134Smckusick */ 13952134Smckusick struct sysent ultrixsysent[] = { 14052134Smckusick 0, nosys, /* 0 = out of range */ 14152134Smckusick 1, rexit, /* 1 = exit */ 14252134Smckusick 0, fork, /* 2 = fork */ 14352134Smckusick 3, read, /* 3 = read */ 14452134Smckusick 3, write, /* 4 = write */ 14552134Smckusick 3, open, /* 5 = open */ 14652134Smckusick 1, close, /* 6 = close */ 14752134Smckusick 0, nosys, /* 7 = old wait */ 14852134Smckusick 2, ocreat, /* 8 = creat */ 14952134Smckusick 2, link, /* 9 = link */ 15052134Smckusick 1, unlink, /* 10 = unlink */ 15152134Smckusick 0, nosys, /* 11 = old execv */ 15252134Smckusick 1, chdir, /* 12 = chdir */ 15352134Smckusick 0, nosys, /* 13 = old time */ 15452134Smckusick 3, mknod, /* 14 = mknod */ 15552134Smckusick 2, chmod, /* 15 = chmod */ 15652134Smckusick 3, chown, /* 16 = chown */ 15752134Smckusick 1, obreak, /* 17 = old break */ 15852134Smckusick 0, nosys, /* 18 = old stat */ 15952134Smckusick 3, lseek, /* 19 = lseek */ 16052134Smckusick 0, getpid, /* 20 = getpid */ 16152134Smckusick 3, notimp, /* 21 = mount */ 16252134Smckusick 1, notimp, /* 22 = umount */ 16352134Smckusick 0, nosys, /* 23 = old setuid */ 16452134Smckusick 0, getuid, /* 24 = getuid */ 16552134Smckusick 0, nosys, /* 25 = old stime */ 16652134Smckusick 4, ptrace, /* 26 = ptrace */ 16752134Smckusick 0, nosys, /* 27 = old alarm */ 16852134Smckusick 0, nosys, /* 28 = old fstat */ 16952134Smckusick 0, nosys, /* 29 = old pause */ 17052134Smckusick 0, nosys, /* 30 = old utime */ 17152134Smckusick 0, nosys, /* 31 = old stty */ 17252134Smckusick 0, nosys, /* 32 = old gtty */ 17352134Smckusick 2, saccess, /* 33 = access */ 17452134Smckusick 0, nosys, /* 34 = old nice */ 17552134Smckusick 0, nosys, /* 35 = old ftime */ 17652134Smckusick 0, sync, /* 36 = sync */ 17752134Smckusick 2, kill, /* 37 = kill */ 17854143Sralph 2, ostat, /* 38 = stat */ 17952134Smckusick 0, nosys, /* 39 = old setpgrp */ 18054143Sralph 2, olstat, /* 40 = lstat */ 18152134Smckusick 1, dup, /* 41 = dup */ 18252134Smckusick 1, pipe, /* 42 = pipe */ 18352134Smckusick 0, nosys, /* 43 = old times */ 18452134Smckusick 4, profil, /* 44 = profil */ 18552134Smckusick 0, ultrixtobsd, /* 45 = unused */ 18652134Smckusick 0, nosys, /* 46 = old setgid */ 18752134Smckusick 0, getgid, /* 47 = getgid */ 18852134Smckusick 0, nosys, /* 48 = old sigsys */ 18952134Smckusick 0, nosys, /* 49 = reserved for USG */ 19052134Smckusick 0, nosys, /* 50 = reserved for USG */ 19152134Smckusick 1, notimp, /* 51 = acct */ 19252134Smckusick 0, nosys, /* 52 = old set phys addr */ 19352134Smckusick 0, nosys, /* 53 = old lock in core */ 19452134Smckusick 3, ioctl, /* 54 = ioctl */ 19552134Smckusick 1, reboot, /* 55 = reboot */ 19652134Smckusick 0, nosys, /* 56 = old mpxchan */ 19752134Smckusick 2, symlink, /* 57 = symlink */ 19852134Smckusick 3, readlink, /* 58 = readlink */ 19952134Smckusick 3, execve, /* 59 = execve */ 20052134Smckusick 1, umask, /* 60 = umask */ 20152134Smckusick 1, chroot, /* 61 = chroot */ 20254143Sralph 2, ofstat, /* 62 = fstat */ 20352134Smckusick 0, nosys, /* 63 = unused */ 20460024Sralph 0, ogetpagesize, /* 64 = getpagesize */ 20552134Smckusick 0, notimp, /* 65 = mremap */ 20652134Smckusick 0, vfork, /* 66 = vfork */ 20752134Smckusick 0, nosys, /* 67 = old vread */ 20852134Smckusick 0, nosys, /* 68 = old vwrite */ 20952134Smckusick 1, sbrk, /* 69 = sbrk */ 21052134Smckusick 1, sstk, /* 70 = sstk */ 21152134Smckusick 0, nosys, /* 71 = mmap */ 21252134Smckusick 0, nosys, /* 72 = old vadvise */ 21352134Smckusick 0, notimp, /* 73 = munmap */ 21452134Smckusick 0, notimp, /* 74 = mprotect */ 21552134Smckusick 0, notimp, /* 75 = madvise */ 21652134Smckusick 0, notimp, /* 76 = vhangup */ 21752134Smckusick 0, nosys, /* 77 = old vlimit */ 21852134Smckusick 0, nosys, /* 78 = mincore */ 21952134Smckusick 2, getgroups, /* 79 = getgroups */ 22052134Smckusick 2, setgroups, /* 80 = setgroups */ 22152134Smckusick 1, ultrixgetpgrp, /* 81 = getpgrp */ 22252134Smckusick 2, ultrixsetpgrp, /* 82 = setpgrp */ 22352134Smckusick 3, setitimer, /* 83 = setitimer */ 22452134Smckusick 3, ultrixwait3, /* 84 = wait3 */ 22552134Smckusick 1, notimp, /* 85 = swapon */ 22652134Smckusick 2, getitimer, /* 86 = getitimer */ 22760024Sralph 2, ogethostname, /* 87 = gethostname */ 22860024Sralph 2, osethostname, /* 88 = sethostname */ 22952134Smckusick 0, getdtablesize, /* 89 = getdtablesize */ 23052134Smckusick 2, dup2, /* 90 = dup2 */ 23152134Smckusick 0, notimp, /* 91 = getdopt */ 23252134Smckusick 3, fcntl, /* 92 = fcntl */ 23352134Smckusick 5, select, /* 93 = select */ 23452134Smckusick 0, notimp, /* 94 = setdopt */ 23552134Smckusick 1, fsync, /* 95 = fsync */ 23652134Smckusick 3, setpriority, /* 96 = setpriority */ 23752134Smckusick 3, socket, /* 97 = socket */ 23852134Smckusick 3, connect, /* 98 = connect */ 23952134Smckusick 3, oaccept, /* 99 = accept */ 24052134Smckusick 2, getpriority, /* 100 = getpriority */ 24152134Smckusick 4, osend, /* 101 = send */ 24252134Smckusick 4, orecv, /* 102 = recv */ 24352135Smckusick 1, sigreturn, /* 103 = sigreturn */ 24452134Smckusick 3, bind, /* 104 = bind */ 24552134Smckusick 5, setsockopt, /* 105 = setsockopt */ 24652134Smckusick 2, listen, /* 106 = listen */ 24752134Smckusick 0, nosys, /* 107 = old vtimes */ 24852134Smckusick 4, ultrixsigvec, /* 108 = sigvec */ 24952134Smckusick 1, osigblock, /* 109 = sigblock */ 25052134Smckusick 1, osigsetmask, /* 110 = sigsetmask */ 25152134Smckusick 1, sigsuspend, /* 111 = sigpause */ 25254143Sralph 2, osigstack, /* 112 = sigstack */ 25352134Smckusick 3, orecvmsg, /* 113 = recvmsg */ 25452134Smckusick 3, osendmsg, /* 114 = sendmsg */ 25552134Smckusick 0, nosys, /* 115 = old vtrace */ 25652134Smckusick 2, gettimeofday, /* 116 = gettimeofday */ 25752134Smckusick 2, getrusage, /* 117 = getrusage */ 25852134Smckusick 5, getsockopt, /* 118 = getsockopt */ 25952134Smckusick 0, nosys, /* 119 = old resuba */ 26052134Smckusick 3, readv, /* 120 = readv */ 26152134Smckusick 3, writev, /* 121 = writev */ 26252134Smckusick 2, settimeofday, /* 122 = settimeofday */ 26352134Smckusick 3, fchown, /* 123 = fchown */ 26452134Smckusick 2, fchmod, /* 124 = fchmod */ 26552134Smckusick 6, orecvfrom, /* 125 = recvfrom */ 26652134Smckusick 2, osetreuid, /* 126 = setreuid */ 26752134Smckusick 2, osetregid, /* 127 = setregid */ 26852134Smckusick 2, rename, /* 128 = rename */ 26952134Smckusick 2, truncate, /* 129 = truncate */ 27052134Smckusick 2, ftruncate, /* 130 = ftruncate */ 27152134Smckusick 2, flock, /* 131 = flock */ 27252134Smckusick 0, nosys, /* 132 = nosys */ 27352134Smckusick 6, sendto, /* 133 = sendto */ 27452134Smckusick 2, shutdown, /* 134 = shutdown */ 27552134Smckusick 5, socketpair, /* 135 = socketpair */ 27652134Smckusick 2, mkdir, /* 136 = mkdir */ 27752134Smckusick 1, rmdir, /* 137 = rmdir */ 27852134Smckusick 2, utimes, /* 138 = utimes */ 27952135Smckusick 1, sigreturn, /* 139 = internal (4.2 sigreturn) */ 28052134Smckusick 2, adjtime, /* 140 = adjtime */ 28152134Smckusick 3, ogetpeername, /* 141 = getpeername */ 28260024Sralph 2, ogethostid, /* 142 = gethostid */ 28360024Sralph 2, osethostid, /* 143 = sethostid */ 28452134Smckusick 2, getrlimit, /* 144 = getrlimit */ 28552134Smckusick 2, setrlimit, /* 145 = setrlimit */ 28652134Smckusick 2, okillpg, /* 146 = killpg */ 28752134Smckusick 0, nosys, /* 147 = nosys */ 28852134Smckusick 0, notimp, /* 148 = setquota */ 28952134Smckusick 0, notimp, /* 149 = quota */ 29060024Sralph 3, ogetsockname, /* 150 = getsockname */ 29152134Smckusick /* 29252134Smckusick * ULTRIX specific syscalls 29352134Smckusick */ 29452134Smckusick 0, notimp, /* 151 = sysmips */ 29552134Smckusick 0, notimp, /* 152 = cacheflush */ 29652134Smckusick 0, notimp, /* 153 = cachectl */ 29752134Smckusick 0, notimp, /* 154 = debug */ 29852134Smckusick 0, nosys, /* 155 = nosys */ 29952134Smckusick 0, nosys, /* 156 = nosys */ 30052134Smckusick 0, nosys, /* 157 = nosys */ 30152134Smckusick 0, notimp, /* 158 = nfs_svc */ 30256235Sralph 4, ogetdirentries, /* 159 = getdirentries */ 30352134Smckusick 0, nosys, /* 160 = nosys */ 30452134Smckusick 0, nosys, /* 161 = nosys */ 30552134Smckusick 0, nosys, /* 162 = nosys */ 30652134Smckusick 0, notimp, /* 163 = nfs_biod */ 30752134Smckusick 0, notimp, /* 164 = nfs_getfh */ 30856235Sralph 0, ultrixgetdomainname, /* 165 = getdomainname */ 30956235Sralph 0, ultrixsetdomainname, /* 166 = setdomainname */ 31052134Smckusick 0, nosys, /* 167 = nosys */ 31152134Smckusick 0, nosys, /* 168 = nosys */ 31252134Smckusick 0, notimp, /* 169 = exportfs */ 31352134Smckusick 0, nosys, /* 170 = nosys */ 31452134Smckusick 0, nosys, /* 171 = nosys */ 31552134Smckusick 0, notimp, /* 172 = msgctl */ 31652134Smckusick 0, notimp, /* 173 = msgget */ 31752134Smckusick 0, notimp, /* 174 = msgrcv */ 31852134Smckusick 0, notimp, /* 175 = msgsnd */ 31952134Smckusick 0, notimp, /* 176 = semctl */ 32052134Smckusick 0, notimp, /* 177 = semget */ 32152134Smckusick 0, notimp, /* 178 = semop */ 32252134Smckusick 0, notimp, /* 179 = uname */ 32352134Smckusick 0, notimp, /* 180 = shmsys */ 32452134Smckusick 0, notimp, /* 181 = plock */ 32552134Smckusick 0, notimp, /* 182 = lockf */ 32652134Smckusick 0, notimp, /* 183 = ustat */ 32752134Smckusick 0, notimp, /* 184 = getmnt */ 32852134Smckusick 0, notimp, /* 185 = mount */ 32952134Smckusick 0, notimp, /* 186 = umount */ 33052134Smckusick 0, notimp, /* 187 = sigpending */ 33152134Smckusick 0, nosys, /* 188 = nosys */ 33252134Smckusick 0, nosys, /* 189 = nosys */ 33352134Smckusick 0, nosys, /* 190 = nosys */ 33452134Smckusick 0, nosys, /* 191 = nosys */ 33552134Smckusick 0, nosys, /* 192 = nosys */ 33652134Smckusick 0, nosys, /* 193 = nosys */ 33752134Smckusick 0, nosys, /* 194 = nosys */ 33852134Smckusick 0, nosys, /* 195 = nosys */ 33952134Smckusick 0, nosys, /* 196 = nosys */ 34052134Smckusick 0, nosys, /* 197 = nosys */ 34152134Smckusick 0, nosys, /* 198 = nosys */ 34252134Smckusick 0, nosys, /* 199 = nosys */ 34352134Smckusick 0, nosys, /* 200 = nosys */ 34452134Smckusick 0, nosys, /* 201 = nosys */ 34552134Smckusick 0, nosys, /* 202 = nosys */ 34652134Smckusick 0, nosys, /* 203 = nosys */ 34752134Smckusick 0, nosys, /* 204 = nosys */ 34852134Smckusick 0, nosys, /* 205 = nosys */ 34952134Smckusick 0, nosys, /* 206 = nosys */ 35052134Smckusick 0, nosys, /* 207 = nosys */ 35152134Smckusick 0, nosys, /* 208 = nosys */ 35252134Smckusick 0, nosys, /* 209 = nosys */ 35352134Smckusick 0, nosys, /* 210 = nosys */ 35452134Smckusick 0, nosys, /* 211 = nosys */ 35552134Smckusick 0, nosys, /* 212 = nosys */ 35652134Smckusick 0, nosys, /* 213 = nosys */ 35752134Smckusick 0, nosys, /* 214 = nosys */ 35852134Smckusick 0, nosys, /* 215 = nosys */ 35952134Smckusick 0, nosys, /* 216 = nosys */ 36052134Smckusick 0, nosys, /* 217 = nosys */ 36152134Smckusick 0, nosys, /* 218 = nosys */ 36252134Smckusick 0, nosys, /* 219 = nosys */ 36352134Smckusick 0, nosys, /* 220 = nosys */ 36452134Smckusick 0, nosys, /* 221 = nosys */ 36552134Smckusick 0, nosys, /* 222 = nosys */ 36652134Smckusick 0, nosys, /* 223 = nosys */ 36752134Smckusick 0, nosys, /* 224 = nosys */ 36852134Smckusick 0, nosys, /* 225 = nosys */ 36952134Smckusick 0, nosys, /* 226 = nosys */ 37052134Smckusick 0, nosys, /* 227 = nosys */ 37152134Smckusick 0, nosys, /* 228 = nosys */ 37252134Smckusick 0, nosys, /* 229 = nosys */ 37352134Smckusick 0, nosys, /* 230 = nosys */ 37452134Smckusick 0, nosys, /* 231 = nosys */ 37552134Smckusick 0, nosys, /* 232 = nosys */ 37652134Smckusick 0, notimp, /* 233 = nosys */ 37752134Smckusick 0, notimp, /* 234 = nosys */ 37852134Smckusick 0, notimp, /* 235 = nosys */ 37952134Smckusick 0, nosys, /* 236 = nosys */ 38052134Smckusick 0, notimp, /* 237 = nosys */ 38152134Smckusick 0, notimp, /* 238 = nosys */ 38252134Smckusick 0, nosys, /* 239 = nosys */ 38352134Smckusick 0, nosys, /* 240 = nosys */ 38452134Smckusick 0, nosys, /* 241 = nosys */ 38552134Smckusick 0, nosys, /* 242 = nosys */ 38652134Smckusick 0, nosys, /* 243 = nosys */ 38752134Smckusick 0, nosys, /* 244 = nosys */ 38852134Smckusick 0, nosys, /* 245 = nosys */ 38952134Smckusick 0, nosys, /* 246 = nosys */ 39052134Smckusick 0, nosys, /* 247 = nosys */ 39152134Smckusick 0, nosys, /* 248 = nosys */ 39252134Smckusick 0, nosys, /* 249 = nosys */ 39352134Smckusick 0, nosys, /* 250 = nosys */ 39452134Smckusick 0, nosys, /* 251 = nosys */ 39552134Smckusick 0, nosys, /* 252 = nosys */ 39652134Smckusick 0, nosys, /* 253 = nosys */ 39752134Smckusick 0, nosys, /* 254 = nosys */ 39852134Smckusick 0, nosys, /* 255 = nosys */ 39952134Smckusick 0, ultrixgetsysinfo, /* 256 = getsysinfo */ 40052134Smckusick 0, notimp, /* 257 = setsysinfo */ 40152134Smckusick }; 40252134Smckusick int ultrixnsysent = sizeof(ultrixsysent) / sizeof (ultrixsysent[0]); 403