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