1*52134Smckusick /* 2*52134Smckusick * Copyright (c) 1988 University of Utah. 3*52134Smckusick * Copyright (c) 1992 The Regents of the University of California. 4*52134Smckusick * All rights reserved. 5*52134Smckusick * 6*52134Smckusick * This code is derived from software contributed to Berkeley by 7*52134Smckusick * the Systems Programming Group of the University of Utah Computer 8*52134Smckusick * Science Department and Ralph Campbell. 9*52134Smckusick * 10*52134Smckusick * %sccs.include.redist.c% 11*52134Smckusick * 12*52134Smckusick * from: Utah $Hdr: hpux_sysent.c 1.1 90/07/09$ 13*52134Smckusick * 14*52134Smckusick * @(#)ultrix_sysent.c 7.1 (Berkeley) 01/07/92 15*52134Smckusick */ 16*52134Smckusick 17*52134Smckusick /* 18*52134Smckusick * System call switch table. 19*52134Smckusick */ 20*52134Smckusick 21*52134Smckusick #include "param.h" 22*52134Smckusick #include "systm.h" 23*52134Smckusick 24*52134Smckusick int nosys(),notimp(); 25*52134Smckusick 26*52134Smckusick int rexit(); 27*52134Smckusick int fork(); 28*52134Smckusick int read(); 29*52134Smckusick int write(); 30*52134Smckusick int open(); 31*52134Smckusick int close(); 32*52134Smckusick int ocreat(); 33*52134Smckusick int link(); 34*52134Smckusick int unlink(); 35*52134Smckusick int ultrixexecv(); 36*52134Smckusick int chdir(); 37*52134Smckusick int mknod(); 38*52134Smckusick int chmod(); 39*52134Smckusick int chown(); 40*52134Smckusick int obreak(); 41*52134Smckusick int lseek(); 42*52134Smckusick int getpid(); 43*52134Smckusick int getuid(); 44*52134Smckusick int ptrace(); 45*52134Smckusick int saccess(); 46*52134Smckusick int sync(); 47*52134Smckusick int kill(); 48*52134Smckusick int stat(); 49*52134Smckusick int lstat(); 50*52134Smckusick int dup(); 51*52134Smckusick int pipe(); 52*52134Smckusick int profil(); 53*52134Smckusick int ultrixtobsd(); 54*52134Smckusick int getgid(); 55*52134Smckusick int ioctl(); 56*52134Smckusick int reboot(); 57*52134Smckusick int symlink(); 58*52134Smckusick int readlink(); 59*52134Smckusick int execve(); 60*52134Smckusick int umask(); 61*52134Smckusick int chroot(); 62*52134Smckusick int fstat(); 63*52134Smckusick int getpagesize(); 64*52134Smckusick int vfork(); 65*52134Smckusick int sbrk(); 66*52134Smckusick int sstk(); 67*52134Smckusick int getgroups(); 68*52134Smckusick int setgroups(); 69*52134Smckusick int ultrixgetpgrp(); 70*52134Smckusick int ultrixsetpgrp(); 71*52134Smckusick int setitimer(); 72*52134Smckusick int ultrixwait3(); 73*52134Smckusick int getitimer(); 74*52134Smckusick int gethostname(); 75*52134Smckusick int sethostname(); 76*52134Smckusick int getdtablesize(); 77*52134Smckusick int dup2(); 78*52134Smckusick int fcntl(); 79*52134Smckusick int select(); 80*52134Smckusick int fsync(); 81*52134Smckusick int setpriority(); 82*52134Smckusick int socket(); 83*52134Smckusick int connect(); 84*52134Smckusick int oaccept(); 85*52134Smckusick int getpriority(); 86*52134Smckusick int osend(); 87*52134Smckusick int orecv(); 88*52134Smckusick int ultrixsigreturn(); 89*52134Smckusick int bind(); 90*52134Smckusick int setsockopt(); 91*52134Smckusick int listen(); 92*52134Smckusick int ultrixsigvec(); 93*52134Smckusick int osigblock(); 94*52134Smckusick int osigsetmask(); 95*52134Smckusick int sigsuspend(); 96*52134Smckusick int sigstack(); 97*52134Smckusick int orecvmsg(); 98*52134Smckusick int osendmsg(); 99*52134Smckusick int gettimeofday(); 100*52134Smckusick int getrusage(); 101*52134Smckusick int getsockopt(); 102*52134Smckusick int readv(); 103*52134Smckusick int writev(); 104*52134Smckusick int settimeofday(); 105*52134Smckusick int fchown(); 106*52134Smckusick int fchmod(); 107*52134Smckusick int orecvfrom(); 108*52134Smckusick int osetreuid(); 109*52134Smckusick int osetregid(); 110*52134Smckusick int rename(); 111*52134Smckusick int truncate(); 112*52134Smckusick int ftruncate(); 113*52134Smckusick int flock(); 114*52134Smckusick int sendto(); 115*52134Smckusick int shutdown(); 116*52134Smckusick int socketpair(); 117*52134Smckusick int mkdir(); 118*52134Smckusick int rmdir(); 119*52134Smckusick int utimes(); 120*52134Smckusick int ultrixsigcleanup(); 121*52134Smckusick int adjtime(); 122*52134Smckusick int ogetpeername(); 123*52134Smckusick int gethostid(); 124*52134Smckusick int sethostid(); 125*52134Smckusick int getrlimit(); 126*52134Smckusick int setrlimit(); 127*52134Smckusick int okillpg(); 128*52134Smckusick int ogetsockname(); 129*52134Smckusick int getdirentries(); 130*52134Smckusick int ultrixgetsysinfo(); 131*52134Smckusick 132*52134Smckusick /* 133*52134Smckusick * Reserved/unimplemented system calls in the range 0-150 inclusive 134*52134Smckusick * are reserved for use in future Berkeley releases. 135*52134Smckusick * Additional system calls implemented in vendor and other 136*52134Smckusick * redistributions should be placed in the reserved range at the end 137*52134Smckusick * of the current calls. 138*52134Smckusick */ 139*52134Smckusick struct sysent ultrixsysent[] = { 140*52134Smckusick 0, nosys, /* 0 = out of range */ 141*52134Smckusick 1, rexit, /* 1 = exit */ 142*52134Smckusick 0, fork, /* 2 = fork */ 143*52134Smckusick 3, read, /* 3 = read */ 144*52134Smckusick 3, write, /* 4 = write */ 145*52134Smckusick 3, open, /* 5 = open */ 146*52134Smckusick 1, close, /* 6 = close */ 147*52134Smckusick 0, nosys, /* 7 = old wait */ 148*52134Smckusick 2, ocreat, /* 8 = creat */ 149*52134Smckusick 2, link, /* 9 = link */ 150*52134Smckusick 1, unlink, /* 10 = unlink */ 151*52134Smckusick 0, nosys, /* 11 = old execv */ 152*52134Smckusick 1, chdir, /* 12 = chdir */ 153*52134Smckusick 0, nosys, /* 13 = old time */ 154*52134Smckusick 3, mknod, /* 14 = mknod */ 155*52134Smckusick 2, chmod, /* 15 = chmod */ 156*52134Smckusick 3, chown, /* 16 = chown */ 157*52134Smckusick 1, obreak, /* 17 = old break */ 158*52134Smckusick 0, nosys, /* 18 = old stat */ 159*52134Smckusick 3, lseek, /* 19 = lseek */ 160*52134Smckusick 0, getpid, /* 20 = getpid */ 161*52134Smckusick 3, notimp, /* 21 = mount */ 162*52134Smckusick 1, notimp, /* 22 = umount */ 163*52134Smckusick 0, nosys, /* 23 = old setuid */ 164*52134Smckusick 0, getuid, /* 24 = getuid */ 165*52134Smckusick 0, nosys, /* 25 = old stime */ 166*52134Smckusick 4, ptrace, /* 26 = ptrace */ 167*52134Smckusick 0, nosys, /* 27 = old alarm */ 168*52134Smckusick 0, nosys, /* 28 = old fstat */ 169*52134Smckusick 0, nosys, /* 29 = old pause */ 170*52134Smckusick 0, nosys, /* 30 = old utime */ 171*52134Smckusick 0, nosys, /* 31 = old stty */ 172*52134Smckusick 0, nosys, /* 32 = old gtty */ 173*52134Smckusick 2, saccess, /* 33 = access */ 174*52134Smckusick 0, nosys, /* 34 = old nice */ 175*52134Smckusick 0, nosys, /* 35 = old ftime */ 176*52134Smckusick 0, sync, /* 36 = sync */ 177*52134Smckusick 2, kill, /* 37 = kill */ 178*52134Smckusick 2, stat, /* 38 = stat */ 179*52134Smckusick 0, nosys, /* 39 = old setpgrp */ 180*52134Smckusick 2, lstat, /* 40 = lstat */ 181*52134Smckusick 1, dup, /* 41 = dup */ 182*52134Smckusick 1, pipe, /* 42 = pipe */ 183*52134Smckusick 0, nosys, /* 43 = old times */ 184*52134Smckusick 4, profil, /* 44 = profil */ 185*52134Smckusick 0, ultrixtobsd, /* 45 = unused */ 186*52134Smckusick 0, nosys, /* 46 = old setgid */ 187*52134Smckusick 0, getgid, /* 47 = getgid */ 188*52134Smckusick 0, nosys, /* 48 = old sigsys */ 189*52134Smckusick 0, nosys, /* 49 = reserved for USG */ 190*52134Smckusick 0, nosys, /* 50 = reserved for USG */ 191*52134Smckusick 1, notimp, /* 51 = acct */ 192*52134Smckusick 0, nosys, /* 52 = old set phys addr */ 193*52134Smckusick 0, nosys, /* 53 = old lock in core */ 194*52134Smckusick 3, ioctl, /* 54 = ioctl */ 195*52134Smckusick 1, reboot, /* 55 = reboot */ 196*52134Smckusick 0, nosys, /* 56 = old mpxchan */ 197*52134Smckusick 2, symlink, /* 57 = symlink */ 198*52134Smckusick 3, readlink, /* 58 = readlink */ 199*52134Smckusick 3, execve, /* 59 = execve */ 200*52134Smckusick 1, umask, /* 60 = umask */ 201*52134Smckusick 1, chroot, /* 61 = chroot */ 202*52134Smckusick 2, fstat, /* 62 = fstat */ 203*52134Smckusick 0, nosys, /* 63 = unused */ 204*52134Smckusick 0, getpagesize, /* 64 = getpagesize */ 205*52134Smckusick 0, notimp, /* 65 = mremap */ 206*52134Smckusick 0, vfork, /* 66 = vfork */ 207*52134Smckusick 0, nosys, /* 67 = old vread */ 208*52134Smckusick 0, nosys, /* 68 = old vwrite */ 209*52134Smckusick 1, sbrk, /* 69 = sbrk */ 210*52134Smckusick 1, sstk, /* 70 = sstk */ 211*52134Smckusick 0, nosys, /* 71 = mmap */ 212*52134Smckusick 0, nosys, /* 72 = old vadvise */ 213*52134Smckusick 0, notimp, /* 73 = munmap */ 214*52134Smckusick 0, notimp, /* 74 = mprotect */ 215*52134Smckusick 0, notimp, /* 75 = madvise */ 216*52134Smckusick 0, notimp, /* 76 = vhangup */ 217*52134Smckusick 0, nosys, /* 77 = old vlimit */ 218*52134Smckusick 0, nosys, /* 78 = mincore */ 219*52134Smckusick 2, getgroups, /* 79 = getgroups */ 220*52134Smckusick 2, setgroups, /* 80 = setgroups */ 221*52134Smckusick 1, ultrixgetpgrp, /* 81 = getpgrp */ 222*52134Smckusick 2, ultrixsetpgrp, /* 82 = setpgrp */ 223*52134Smckusick 3, setitimer, /* 83 = setitimer */ 224*52134Smckusick 3, ultrixwait3, /* 84 = wait3 */ 225*52134Smckusick 1, notimp, /* 85 = swapon */ 226*52134Smckusick 2, getitimer, /* 86 = getitimer */ 227*52134Smckusick 2, gethostname, /* 87 = gethostname */ 228*52134Smckusick 2, sethostname, /* 88 = sethostname */ 229*52134Smckusick 0, getdtablesize, /* 89 = getdtablesize */ 230*52134Smckusick 2, dup2, /* 90 = dup2 */ 231*52134Smckusick 0, notimp, /* 91 = getdopt */ 232*52134Smckusick 3, fcntl, /* 92 = fcntl */ 233*52134Smckusick 5, select, /* 93 = select */ 234*52134Smckusick 0, notimp, /* 94 = setdopt */ 235*52134Smckusick 1, fsync, /* 95 = fsync */ 236*52134Smckusick 3, setpriority, /* 96 = setpriority */ 237*52134Smckusick 3, socket, /* 97 = socket */ 238*52134Smckusick 3, connect, /* 98 = connect */ 239*52134Smckusick 3, oaccept, /* 99 = accept */ 240*52134Smckusick 2, getpriority, /* 100 = getpriority */ 241*52134Smckusick 4, osend, /* 101 = send */ 242*52134Smckusick 4, orecv, /* 102 = recv */ 243*52134Smckusick 1, ultrixsigreturn, /* 103 = sigreturn */ 244*52134Smckusick 3, bind, /* 104 = bind */ 245*52134Smckusick 5, setsockopt, /* 105 = setsockopt */ 246*52134Smckusick 2, listen, /* 106 = listen */ 247*52134Smckusick 0, nosys, /* 107 = old vtimes */ 248*52134Smckusick 4, ultrixsigvec, /* 108 = sigvec */ 249*52134Smckusick 1, osigblock, /* 109 = sigblock */ 250*52134Smckusick 1, osigsetmask, /* 110 = sigsetmask */ 251*52134Smckusick 1, sigsuspend, /* 111 = sigpause */ 252*52134Smckusick 2, sigstack, /* 112 = sigstack */ 253*52134Smckusick 3, orecvmsg, /* 113 = recvmsg */ 254*52134Smckusick 3, osendmsg, /* 114 = sendmsg */ 255*52134Smckusick 0, nosys, /* 115 = old vtrace */ 256*52134Smckusick 2, gettimeofday, /* 116 = gettimeofday */ 257*52134Smckusick 2, getrusage, /* 117 = getrusage */ 258*52134Smckusick 5, getsockopt, /* 118 = getsockopt */ 259*52134Smckusick 0, nosys, /* 119 = old resuba */ 260*52134Smckusick 3, readv, /* 120 = readv */ 261*52134Smckusick 3, writev, /* 121 = writev */ 262*52134Smckusick 2, settimeofday, /* 122 = settimeofday */ 263*52134Smckusick 3, fchown, /* 123 = fchown */ 264*52134Smckusick 2, fchmod, /* 124 = fchmod */ 265*52134Smckusick 6, orecvfrom, /* 125 = recvfrom */ 266*52134Smckusick 2, osetreuid, /* 126 = setreuid */ 267*52134Smckusick 2, osetregid, /* 127 = setregid */ 268*52134Smckusick 2, rename, /* 128 = rename */ 269*52134Smckusick 2, truncate, /* 129 = truncate */ 270*52134Smckusick 2, ftruncate, /* 130 = ftruncate */ 271*52134Smckusick 2, flock, /* 131 = flock */ 272*52134Smckusick 0, nosys, /* 132 = nosys */ 273*52134Smckusick 6, sendto, /* 133 = sendto */ 274*52134Smckusick 2, shutdown, /* 134 = shutdown */ 275*52134Smckusick 5, socketpair, /* 135 = socketpair */ 276*52134Smckusick 2, mkdir, /* 136 = mkdir */ 277*52134Smckusick 1, rmdir, /* 137 = rmdir */ 278*52134Smckusick 2, utimes, /* 138 = utimes */ 279*52134Smckusick 1, ultrixsigcleanup, /* 139 = internal (4.2 sigreturn) */ 280*52134Smckusick 2, adjtime, /* 140 = adjtime */ 281*52134Smckusick 3, ogetpeername, /* 141 = getpeername */ 282*52134Smckusick 2, gethostid, /* 142 = gethostid */ 283*52134Smckusick 2, sethostid, /* 143 = sethostid */ 284*52134Smckusick 2, getrlimit, /* 144 = getrlimit */ 285*52134Smckusick 2, setrlimit, /* 145 = setrlimit */ 286*52134Smckusick 2, okillpg, /* 146 = killpg */ 287*52134Smckusick 0, nosys, /* 147 = nosys */ 288*52134Smckusick 0, notimp, /* 148 = setquota */ 289*52134Smckusick 0, notimp, /* 149 = quota */ 290*52134Smckusick 3, ogetsockname, /* 150 = getsockname */ 291*52134Smckusick /* 292*52134Smckusick * ULTRIX specific syscalls 293*52134Smckusick */ 294*52134Smckusick 0, notimp, /* 151 = sysmips */ 295*52134Smckusick 0, notimp, /* 152 = cacheflush */ 296*52134Smckusick 0, notimp, /* 153 = cachectl */ 297*52134Smckusick 0, notimp, /* 154 = debug */ 298*52134Smckusick 0, nosys, /* 155 = nosys */ 299*52134Smckusick 0, nosys, /* 156 = nosys */ 300*52134Smckusick 0, nosys, /* 157 = nosys */ 301*52134Smckusick 0, notimp, /* 158 = nfs_svc */ 302*52134Smckusick 4, getdirentries, /* 159 = getdirentries */ 303*52134Smckusick 0, nosys, /* 160 = nosys */ 304*52134Smckusick 0, nosys, /* 161 = nosys */ 305*52134Smckusick 0, nosys, /* 162 = nosys */ 306*52134Smckusick 0, notimp, /* 163 = nfs_biod */ 307*52134Smckusick 0, notimp, /* 164 = nfs_getfh */ 308*52134Smckusick 0, notimp, /* 165 = getdomainname */ 309*52134Smckusick 0, notimp, /* 166 = setdomainname */ 310*52134Smckusick 0, nosys, /* 167 = nosys */ 311*52134Smckusick 0, nosys, /* 168 = nosys */ 312*52134Smckusick 0, notimp, /* 169 = exportfs */ 313*52134Smckusick 0, nosys, /* 170 = nosys */ 314*52134Smckusick 0, nosys, /* 171 = nosys */ 315*52134Smckusick 0, notimp, /* 172 = msgctl */ 316*52134Smckusick 0, notimp, /* 173 = msgget */ 317*52134Smckusick 0, notimp, /* 174 = msgrcv */ 318*52134Smckusick 0, notimp, /* 175 = msgsnd */ 319*52134Smckusick 0, notimp, /* 176 = semctl */ 320*52134Smckusick 0, notimp, /* 177 = semget */ 321*52134Smckusick 0, notimp, /* 178 = semop */ 322*52134Smckusick 0, notimp, /* 179 = uname */ 323*52134Smckusick 0, notimp, /* 180 = shmsys */ 324*52134Smckusick 0, notimp, /* 181 = plock */ 325*52134Smckusick 0, notimp, /* 182 = lockf */ 326*52134Smckusick 0, notimp, /* 183 = ustat */ 327*52134Smckusick 0, notimp, /* 184 = getmnt */ 328*52134Smckusick 0, notimp, /* 185 = mount */ 329*52134Smckusick 0, notimp, /* 186 = umount */ 330*52134Smckusick 0, notimp, /* 187 = sigpending */ 331*52134Smckusick 0, nosys, /* 188 = nosys */ 332*52134Smckusick 0, nosys, /* 189 = nosys */ 333*52134Smckusick 0, nosys, /* 190 = nosys */ 334*52134Smckusick 0, nosys, /* 191 = nosys */ 335*52134Smckusick 0, nosys, /* 192 = nosys */ 336*52134Smckusick 0, nosys, /* 193 = nosys */ 337*52134Smckusick 0, nosys, /* 194 = nosys */ 338*52134Smckusick 0, nosys, /* 195 = nosys */ 339*52134Smckusick 0, nosys, /* 196 = nosys */ 340*52134Smckusick 0, nosys, /* 197 = nosys */ 341*52134Smckusick 0, nosys, /* 198 = nosys */ 342*52134Smckusick 0, nosys, /* 199 = nosys */ 343*52134Smckusick 0, nosys, /* 200 = nosys */ 344*52134Smckusick 0, nosys, /* 201 = nosys */ 345*52134Smckusick 0, nosys, /* 202 = nosys */ 346*52134Smckusick 0, nosys, /* 203 = nosys */ 347*52134Smckusick 0, nosys, /* 204 = nosys */ 348*52134Smckusick 0, nosys, /* 205 = nosys */ 349*52134Smckusick 0, nosys, /* 206 = nosys */ 350*52134Smckusick 0, nosys, /* 207 = nosys */ 351*52134Smckusick 0, nosys, /* 208 = nosys */ 352*52134Smckusick 0, nosys, /* 209 = nosys */ 353*52134Smckusick 0, nosys, /* 210 = nosys */ 354*52134Smckusick 0, nosys, /* 211 = nosys */ 355*52134Smckusick 0, nosys, /* 212 = nosys */ 356*52134Smckusick 0, nosys, /* 213 = nosys */ 357*52134Smckusick 0, nosys, /* 214 = nosys */ 358*52134Smckusick 0, nosys, /* 215 = nosys */ 359*52134Smckusick 0, nosys, /* 216 = nosys */ 360*52134Smckusick 0, nosys, /* 217 = nosys */ 361*52134Smckusick 0, nosys, /* 218 = nosys */ 362*52134Smckusick 0, nosys, /* 219 = nosys */ 363*52134Smckusick 0, nosys, /* 220 = nosys */ 364*52134Smckusick 0, nosys, /* 221 = nosys */ 365*52134Smckusick 0, nosys, /* 222 = nosys */ 366*52134Smckusick 0, nosys, /* 223 = nosys */ 367*52134Smckusick 0, nosys, /* 224 = nosys */ 368*52134Smckusick 0, nosys, /* 225 = nosys */ 369*52134Smckusick 0, nosys, /* 226 = nosys */ 370*52134Smckusick 0, nosys, /* 227 = nosys */ 371*52134Smckusick 0, nosys, /* 228 = nosys */ 372*52134Smckusick 0, nosys, /* 229 = nosys */ 373*52134Smckusick 0, nosys, /* 230 = nosys */ 374*52134Smckusick 0, nosys, /* 231 = nosys */ 375*52134Smckusick 0, nosys, /* 232 = nosys */ 376*52134Smckusick 0, notimp, /* 233 = nosys */ 377*52134Smckusick 0, notimp, /* 234 = nosys */ 378*52134Smckusick 0, notimp, /* 235 = nosys */ 379*52134Smckusick 0, nosys, /* 236 = nosys */ 380*52134Smckusick 0, notimp, /* 237 = nosys */ 381*52134Smckusick 0, notimp, /* 238 = nosys */ 382*52134Smckusick 0, nosys, /* 239 = nosys */ 383*52134Smckusick 0, nosys, /* 240 = nosys */ 384*52134Smckusick 0, nosys, /* 241 = nosys */ 385*52134Smckusick 0, nosys, /* 242 = nosys */ 386*52134Smckusick 0, nosys, /* 243 = nosys */ 387*52134Smckusick 0, nosys, /* 244 = nosys */ 388*52134Smckusick 0, nosys, /* 245 = nosys */ 389*52134Smckusick 0, nosys, /* 246 = nosys */ 390*52134Smckusick 0, nosys, /* 247 = nosys */ 391*52134Smckusick 0, nosys, /* 248 = nosys */ 392*52134Smckusick 0, nosys, /* 249 = nosys */ 393*52134Smckusick 0, nosys, /* 250 = nosys */ 394*52134Smckusick 0, nosys, /* 251 = nosys */ 395*52134Smckusick 0, nosys, /* 252 = nosys */ 396*52134Smckusick 0, nosys, /* 253 = nosys */ 397*52134Smckusick 0, nosys, /* 254 = nosys */ 398*52134Smckusick 0, nosys, /* 255 = nosys */ 399*52134Smckusick 0, ultrixgetsysinfo, /* 256 = getsysinfo */ 400*52134Smckusick 0, notimp, /* 257 = setsysinfo */ 401*52134Smckusick }; 402*52134Smckusick int ultrixnsysent = sizeof(ultrixsysent) / sizeof (ultrixsysent[0]); 403