]> git.saurik.com Git - apple/xnu.git/blob - bsd/kern/init_sysent.c
4f1fc3c272801fd257ef09e5c9ec362d1591ece1
[apple/xnu.git] / bsd / kern / init_sysent.c
1 /*
2 * Copyright (c) 1995-1999, 2000-2003 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
7 *
8 * This file contains Original Code and/or Modifications of Original Code
9 * as defined in and that are subject to the Apple Public Source License
10 * Version 2.0 (the 'License'). You may not use this file except in
11 * compliance with the License. Please obtain a copy of the License at
12 * http://www.opensource.apple.com/apsl/ and read it before using this
13 * file.
14 *
15 * The Original Code and all software distributed under the License are
16 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
17 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
18 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
20 * Please see the License for the specific language governing rights and
21 * limitations under the License.
22 *
23 * @APPLE_LICENSE_HEADER_END@
24 */
25
26 #include <sys/appleapiopts.h>
27 #include <sys/param.h>
28 #include <sys/systm.h>
29 #include <sys/signal.h>
30 #include <sys/mount.h>
31
32 /* serial or parallel system call */
33 #define syss(fn,no) {no, 0, KERNEL_FUNNEL, fn}
34 #define sysp(fn,no) {no, 1, KERNEL_FUNNEL, fn}
35 #define sysnets(fn,no) {no, 0, NETWORK_FUNNEL, fn}
36 #define sysnetp(fn,no) {no, 1, NETWORK_FUNNEL, fn}
37 #define sysnofnl(fn,no) {no, 0, NO_FUNNEL, fn}
38
39 /*
40 * definitions
41 */
42 int nosys();
43 int exit();
44 int fork();
45 int read();
46 int write();
47 int open();
48 int close();
49 int wait4();
50 int link();
51 int unlink();
52 int chdir();
53 int fchdir();
54 int mknod();
55 int chmod();
56 int chown();
57 int obreak();
58 int getfsstat();
59 #if COMPAT_GETFSSTAT
60 int ogetfsstat();
61 #endif
62 int getpid();
63 int mount();
64 int unmount();
65 int setuid();
66 int getuid();
67 int geteuid();
68 int ptrace();
69 int recvmsg();
70 int sendmsg();
71 int recvfrom();
72 int accept();
73 int getpeername();
74 int getsockname();
75 int access();
76 int chflags();
77 int fchflags();
78 int sync();
79 int kill();
80 int getppid();
81 int dup();
82 int pipe();
83 int getegid();
84 int profil();
85 int load_shared_file();
86 int reset_shared_file();
87 int new_system_shared_regions();
88 int ktrace();
89 int sigaction();
90 int getgid();
91 int sigprocmask();
92 int getlogin();
93 int setlogin();
94 int acct();
95 int sigpending();
96 int sigaltstack();
97 int ioctl();
98 int reboot();
99 int revoke();
100 int symlink();
101 int readlink();
102 int execve();
103 int umask();
104 int chroot();
105 int msync();
106 int vfork();
107 int sbrk();
108 int sstk();
109 int ovadvise();
110 int munmap();
111 int mprotect();
112 int madvise();
113 int mincore();
114 int getgroups();
115 int setgroups();
116 int getpgrp();
117 int setpgid();
118 int setitimer();
119 int swapon();
120 int getitimer();
121 int getdtablesize();
122 int dup2();
123 int fcntl();
124 int select();
125 int fsync();
126 int setpriority();
127 int socket();
128 int connect();
129 int getpriority();
130 #ifdef __ppc__
131 int osigreturn();
132 #endif
133 int sigreturn();
134 int bind();
135 int setsockopt();
136 int listen();
137 int sigsuspend();
138 #if TRACE
139 int vtrace();
140 #else
141 #endif
142 int gettimeofday();
143 #ifdef __ppc__
144 int ppc_gettimeofday();
145 #endif
146 int getrusage();
147 int getsockopt();
148 int readv();
149 int writev();
150 int settimeofday();
151 int fchown();
152 int fchmod();
153 int rename();
154 int flock();
155 int mkfifo();
156 int sendto();
157 int shutdown();
158 int socketpair();
159 int mkdir();
160 int rmdir();
161 int utimes();
162 int futimes();
163 int adjtime();
164 int setsid();
165 int quotactl();
166 int nfssvc();
167 int statfs();
168 int fstatfs();
169 int getfh();
170 int setgid();
171 int setegid();
172 int seteuid();
173 int stat();
174 int fstat();
175 int lstat();
176 int pathconf();
177 int fpathconf();
178 int getrlimit();
179 int setrlimit();
180 int getdirentries();
181 int mmap();
182 int nosys();
183 int lseek();
184 int truncate();
185 int ftruncate();
186 int __sysctl();
187 int undelete();
188 int setprivexec();
189 int add_profil();
190
191 int kdebug_trace();
192
193 int mlock();
194 int munlock();
195 int minherit();
196 int mlockall();
197 int munlockall();
198 #if COMPAT_43
199 #define compat(name,n) syss(__CONCAT(o,name),n)
200 #define compatp(name,n) sysp(__CONCAT(o,name),n)
201 #define comaptnet(name,n) sysnets(__CONCAT(o,name),n)
202 #define comaptnetp(name,n) sysnetp(__CONCAT(o,name),n)
203
204 int ocreat();
205 int olseek();
206 int ostat();
207 int olstat();
208 int ofstat();
209 int ogetkerninfo();
210 int osmmap();
211 int ogetpagesize();
212 int ommap();
213 int owait();
214 int ogethostname();
215 int osethostname();
216 int oaccept();
217 int osend();
218 int orecv();
219 int osigvec();
220 int osigblock();
221 int osigsetmask();
222 int osigstack();
223 int orecvmsg();
224 int osendmsg();
225 int orecvfrom();
226 int osetreuid();
227 int osetregid();
228 int otruncate();
229 int oftruncate();
230 int ogetpeername();
231 int ogethostid();
232 int osethostid();
233 int ogetrlimit();
234 int osetrlimit();
235 int okillpg();
236 int oquota();
237 int ogetsockname();
238 int ogetdomainname();
239 int osetdomainname();
240 int owait3();
241 int ogetdirentries();
242
243 #if NETAT
244 int ATsocket();
245 int ATgetmsg();
246 int ATputmsg();
247 int ATPsndreq();
248 int ATPsndrsp();
249 int ATPgetreq();
250 int ATPgetrsp();
251 #endif /* NETAT */
252
253 /* Calls for supporting HFS Semantics */
254
255 int mkcomplex();
256 int statv();
257 int lstatv();
258 int fstatv();
259 int getattrlist();
260 int setattrlist();
261 int getdirentriesattr();
262 int exchangedata();
263 int checkuseraccess();
264 int searchfs();
265 int delete();
266 int copyfile();
267
268 /* end of HFS calls */
269
270 #else /* COMPAT_43 */
271 #define compat(n, name) syss(nosys,0)
272 #define compatp(n, name) sysp(nosys,0)
273 #define comaptnet(n, name) sysnets(nosys,0)
274 #define comaptnetp(n, name) sysnetp(nosys,0)
275 #endif /* COMPAT_43 */
276
277 int watchevent();
278 int waitevent();
279 int modwatch();
280 int fsctl();
281 int semsys();
282 int msgsys();
283 int shmsys();
284 int semctl();
285 int semget();
286 int semop();
287 int semconfig();
288 int msgctl();
289 int msgget();
290 int msgsnd();
291 int msgrcv();
292 int shmat();
293 int shmctl();
294 int shmdt();
295 int shmget();
296 int shm_open();
297 int shm_unlink();
298 int sem_open();
299 int sem_close();
300 int sem_unlink();
301 int sem_wait();
302 int sem_trywait();
303 int sem_post();
304 int sem_getvalue();
305 int sem_init();
306 int sem_destroy();
307
308 int issetugid();
309 int utrace();
310 int pread();
311 int pwrite();
312 int getsid();
313 int getpgid();
314
315 int __pthread_kill();
316 int sigwait();
317 int pthread_sigmask();
318 int __disable_threadsignal();
319
320 /*
321 * System call switch table.
322 */
323
324 struct sysent sysent[] = {
325 syss(nosys,0), /* 0 = indir */
326 syss(exit,1), /* 1 = exit */
327 syss(fork,0), /* 2 = fork */
328 sysp(read,3), /* 3 = read */
329 sysp(write,3), /* 4 = write */
330 syss(open,3), /* 5 = open */
331 syss(close,1), /* 6 = close */
332 syss(wait4, 4), /* 7 = wait4 */
333 compat(creat,2), /* 8 = old creat */
334 syss(link,2), /* 9 = link */
335 syss(unlink,1), /* 10 = unlink */
336 syss(nosys, 0), /* 11 was obsolete execv */
337 syss(chdir,1), /* 12 = chdir */
338 syss(fchdir,1), /* 13 = fchdir */
339 syss(mknod,3), /* 14 = mknod */
340 syss(chmod,2), /* 15 = chmod */
341 syss(chown,3), /* 16 = chown; now 3 args */
342 syss(obreak,1), /* 17 = old break */
343 #if COMPAT_GETFSSTAT
344 syss(ogetfsstat, 3), /* 18 = ogetfsstat */
345 #else
346 syss(getfsstat, 3), /* 18 = getfsstat */
347 #endif
348 compat(lseek,3), /* 19 = old lseek */
349 sysp(getpid,0), /* 20 = getpid */
350 syss(nosys, 0), /* 21 was obsolete mount */
351 syss(nosys, 0), /* 22 was obsolete umount */
352 syss(setuid,1), /* 23 = setuid */
353 sysp(getuid,0), /* 24 = getuid */
354 sysp(geteuid,0), /* 25 = geteuid */
355 syss(ptrace,4), /* 26 = ptrace */
356 sysnets(recvmsg,3), /* 27 = recvmsg */
357 sysnets(sendmsg,3), /* 28 = sendmsg */
358 sysnets(recvfrom,6), /* 29 = recvfrom */
359 sysnets(accept,3), /* 30 = accept */
360 sysnets(getpeername,3), /* 31 = getpeername */
361 sysnets(getsockname,3), /* 32 = getsockname */
362 syss(access,2), /* 33 = access */
363 syss(chflags,2), /* 34 = chflags */
364 syss(fchflags,2), /* 35 = fchflags */
365 syss(sync,0), /* 36 = sync */
366 syss(kill,2), /* 37 = kill */
367 compat(stat,2), /* 38 = old stat */
368 sysp(getppid,0), /* 39 = getppid */
369 compat(lstat,2), /* 40 = old lstat */
370 syss(dup,1), /* 41 = dup */
371 syss(pipe,0), /* 42 = pipe */
372 sysp(getegid,0), /* 43 = getegid */
373 syss(profil,4), /* 44 = profil */
374 syss(ktrace,4), /* 45 = ktrace */
375 syss(sigaction,3), /* 46 = sigaction */
376 sysp(getgid,0), /* 47 = getgid */
377 syss(sigprocmask,3), /* 48 = sigprocmask */
378 syss(getlogin,2), /* 49 = getlogin */
379 syss(setlogin,1), /* 50 = setlogin */
380 syss(acct,1), /* 51 = turn acct off/on */
381 syss(sigpending,1), /* 52 = sigpending */
382 syss(sigaltstack,2), /* 53 = sigaltstack */
383 syss(ioctl,3), /* 54 = ioctl */
384 syss(reboot,2), /* 55 = reboot */
385 syss(revoke,1), /* 56 = revoke */
386 syss(symlink,2), /* 57 = symlink */
387 syss(readlink,3), /* 58 = readlink */
388 syss(execve,3), /* 59 = execve */
389 syss(umask,1), /* 60 = umask */
390 syss(chroot,1), /* 61 = chroot */
391 compat(fstat,2), /* 62 = old fstat */
392 syss(nosys,0), /* 63 = used internally, reserved */
393 compat(getpagesize,0), /* 64 = old getpagesize */
394 syss(msync,3), /* 65 = msync */
395 syss(vfork,0), /* 66 = vfork */
396 syss(nosys,0), /* 67 was obsolete vread */
397 syss(nosys,0), /* 68 was obsolete vwrite */
398 syss(sbrk,1), /* 69 = sbrk */
399 syss(sstk,1), /* 70 = sstk */
400 compat(smmap,6), /* 71 = old mmap */
401 syss(ovadvise,1), /* 72 = old vadvise */
402 syss(munmap,2), /* 73 = munmap */
403 syss(mprotect,3), /* 74 = mprotect */
404 syss(madvise,3), /* 75 = madvise */
405 syss(nosys,0), /* 76 was obsolete vhangup */
406 syss(nosys,0), /* 77 was obsolete vlimit */
407 syss(mincore,3), /* 78 = mincore */
408 sysp(getgroups,2), /* 79 = getgroups */
409 sysp(setgroups,2), /* 80 = setgroups */
410 sysp(getpgrp,0), /* 81 = getpgrp */
411 sysp(setpgid,2), /* 82 = setpgid */
412 syss(setitimer,3), /* 83 = setitimer */
413 compat(wait,0), /* 84 = old wait */
414 syss(swapon,1), /* 85 = swapon */
415 syss(getitimer,2), /* 86 = getitimer */
416 compat(gethostname,2), /* 87 = old gethostname */
417 compat(sethostname,2), /* 88 = old sethostname */
418 sysp(getdtablesize, 0), /* 89 getdtablesize */
419 syss(dup2,2), /* 90 = dup2 */
420 syss(nosys,0), /* 91 was obsolete getdopt */
421 syss(fcntl,3), /* 92 = fcntl */
422 syss(select,5), /* 93 = select */
423 syss(nosys,0), /* 94 was obsolete setdopt */
424 syss(fsync,1), /* 95 = fsync */
425 sysp(setpriority,3), /* 96 = setpriority */
426 sysnets(socket,3), /* 97 = socket */
427 sysnets(connect,3), /* 98 = connect */
428 comaptnet(accept,3), /* 99 = accept */
429 sysp(getpriority,2), /* 100 = getpriority */
430 comaptnet(send,4), /* 101 = old send */
431 comaptnet(recv,4), /* 102 = old recv */
432 #ifdef __ppc__
433 syss(osigreturn,1), /* 103 = sigreturn ; compat for jaguar*/
434 #else
435 syss(sigreturn,1), /* 103 = sigreturn */
436 #endif
437 sysnets(bind,3), /* 104 = bind */
438 sysnets(setsockopt,5), /* 105 = setsockopt */
439 sysnets(listen,2), /* 106 = listen */
440 syss(nosys,0), /* 107 was vtimes */
441 compat(sigvec,3), /* 108 = sigvec */
442 compat(sigblock,1), /* 109 = sigblock */
443 compat(sigsetmask,1), /* 110 = sigsetmask */
444 syss(sigsuspend,1), /* 111 = sigpause */
445 compat(sigstack,2), /* 112 = sigstack */
446 comaptnet(recvmsg,3), /* 113 = recvmsg */
447 comaptnet(sendmsg,3), /* 114 = sendmsg */
448 syss(nosys,0), /* 115 = old vtrace */
449 #ifdef __ppc__
450 sysnofnl(ppc_gettimeofday,2), /* 116 = gettimeofday */
451 #else
452 sysnofnl(gettimeofday,2), /* 116 = gettimeofday */
453 #endif
454 sysp(getrusage,2), /* 117 = getrusage */
455 sysnets(getsockopt,5), /* 118 = getsockopt */
456 syss(nosys,0), /* 119 = old resuba */
457 sysp(readv,3), /* 120 = readv */
458 sysp(writev,3), /* 121 = writev */
459 syss(settimeofday,2), /* 122 = settimeofday */
460 syss(fchown,3), /* 123 = fchown */
461 syss(fchmod,2), /* 124 = fchmod */
462 comaptnet(recvfrom,6), /* 125 = recvfrom */
463 compat(setreuid,2), /* 126 = setreuid */
464 compat(setregid,2), /* 127 = setregid */
465 syss(rename,2), /* 128 = rename */
466 compat(truncate,2), /* 129 = old truncate */
467 compat(ftruncate,2), /* 130 = ftruncate */
468 syss(flock,2), /* 131 = flock */
469 syss(mkfifo,2), /* 132 = mkfifo */
470 sysnets(sendto,6), /* 133 = sendto */
471 sysnets(shutdown,2), /* 134 = shutdown */
472 sysnets(socketpair,4), /* 135 = socketpair */
473 syss(mkdir,2), /* 136 = mkdir */
474 syss(rmdir,1), /* 137 = rmdir */
475 syss(utimes,2), /* 138 = utimes */
476 syss(futimes,2), /* 139 = futimes */
477 syss(adjtime,2), /* 140 = adjtime */
478 comaptnet(getpeername,3),/* 141 = getpeername */
479 compat(gethostid,0), /* 142 = old gethostid */
480 sysp(nosys,0), /* 143 = old sethostid */
481 compat(getrlimit,2), /* 144 = old getrlimit */
482 compat(setrlimit,2), /* 145 = old setrlimit */
483 compat(killpg,2), /* 146 = old killpg */
484 syss(setsid,0), /* 147 = setsid */
485 syss(nosys,0), /* 148 was setquota */
486 syss(nosys,0), /* 149 was qquota */
487 comaptnet(getsockname,3),/* 150 = getsockname */
488 syss(getpgid,1), /* 151 = getpgid */
489 sysp(setprivexec,1),/* 152 = setprivexec */
490 #ifdef DOUBLE_ALIGN_PARAMS
491 syss(pread,5), /* 153 = pread */
492 syss(pwrite,5), /* 154 = pwrite */
493 #else
494 syss(pread,4), /* 153 = pread */
495 syss(pwrite,4), /* 154 = pwrite */
496 #endif
497 syss(nfssvc,2), /* 155 = nfs_svc */
498 compat(getdirentries,4), /* 156 = old getdirentries */
499 syss(statfs, 2), /* 157 = statfs */
500 syss(fstatfs, 2), /* 158 = fstatfs */
501 syss(unmount, 2), /* 159 = unmount */
502 syss(nosys,0), /* 160 was async_daemon */
503 syss(getfh,2), /* 161 = get file handle */
504 compat(getdomainname,2), /* 162 = getdomainname */
505 compat(setdomainname,2), /* 163 = setdomainname */
506 syss(nosys,0), /* 164 */
507 #if QUOTA
508 syss(quotactl, 4), /* 165 = quotactl */
509 #else QUOTA
510 syss(nosys, 0), /* 165 = not configured */
511 #endif /* QUOTA */
512 syss(nosys,0), /* 166 was exportfs */
513 syss(mount, 4), /* 167 = mount */
514 syss(nosys,0), /* 168 was ustat */
515 syss(nosys,0), /* 169 = nosys */
516 syss(nosys,0), /* 170 was table */
517 compat(wait3,3), /* 171 = old wait3 */
518 syss(nosys,0), /* 172 was rpause */
519 syss(nosys,0), /* 173 = nosys */
520 syss(nosys,0), /* 174 was getdents */
521 syss(nosys,0), /* 175 was gc_control */
522 syss(add_profil,4), /* 176 = add_profil */
523 syss(nosys,0), /* 177 */
524 syss(nosys,0), /* 178 */
525 syss(nosys,0), /* 179 */
526 syss(kdebug_trace,6), /* 180 */
527 syss(setgid,1), /* 181 */
528 syss(setegid,1), /* 182 */
529 syss(seteuid,1), /* 183 */
530 #ifdef __ppc__
531 syss(sigreturn, 2), /* 184 = nosys */
532 #else
533 syss(nosys,0), /* 184 = nosys */
534 #endif
535 syss(nosys,0), /* 185 = nosys */
536 syss(nosys,0), /* 186 = nosys */
537 syss(nosys,0), /* 187 = nosys */
538 syss(stat,2), /* 188 = stat */
539 syss(fstat,2), /* 189 = fstat */
540 syss(lstat,2), /* 190 = lstat */
541 syss(pathconf,2), /* 191 = pathconf */
542 syss(fpathconf,2), /* 192 = fpathconf */
543 #if COMPAT_GETFSSTAT
544 syss(getfsstat,3), /* 193 = getfsstat */
545 #else
546 syss(nosys,0), /* 193 is unused */
547 #endif
548 syss(getrlimit,2), /* 194 = getrlimit */
549 syss(setrlimit,2), /* 195 = setrlimit */
550 syss(getdirentries,4), /* 196 = getdirentries */
551 #ifdef DOUBLE_ALIGN_PARAMS
552 syss(mmap,8), /* 197 = mmap */
553 #else
554 syss(mmap,7), /* 197 = mmap */
555 #endif
556 syss(nosys,0), /* 198 = __syscall */
557 #ifdef DOUBLE_ALIGN_PARAMS
558 syss(lseek,5), /* 199 = lseek */
559 #else
560 syss(lseek,4), /* 199 = lseek */
561 #endif
562 #ifdef DOUBLE_ALIGN_PARAMS
563 syss(truncate,4), /* 200 = truncate */
564 syss(ftruncate,4), /* 201 = ftruncate */
565 #else
566 syss(truncate,3), /* 200 = truncate */
567 syss(ftruncate,3), /* 201 = ftruncate */
568 #endif
569 syss(__sysctl,6), /* 202 = __sysctl */
570 sysp(mlock, 2), /* 203 = mlock */
571 syss(munlock, 2), /* 204 = munlock */
572 syss(undelete,1), /* 205 = undelete */
573 #if NETAT
574 sysnets(ATsocket,1), /* 206 = ATsocket */
575 sysnets(ATgetmsg,4), /* 207 = ATgetmsg*/
576 sysnets(ATputmsg,4), /* 208 = ATputmsg*/
577 sysnets(ATPsndreq,4), /* 209 = ATPsndreq*/
578 sysnets(ATPsndrsp,4), /* 210 = ATPsndrsp*/
579 sysnets(ATPgetreq,3), /* 211 = ATPgetreq*/
580 sysnets(ATPgetrsp,2), /* 212 = ATPgetrsp*/
581 syss(nosys,0), /* 213 = Reserved for AppleTalk */
582 syss(nosys,0), /* 214 = Reserved for AppleTalk */
583 syss(nosys,0), /* 215 = Reserved for AppleTalk */
584 #else
585 syss(nosys,0), /* 206 = Reserved for AppleTalk */
586 syss(nosys,0), /* 207 = Reserved for AppleTalk */
587 syss(nosys,0), /* 208 = Reserved for AppleTalk */
588 syss(nosys,0), /* 209 = Reserved for AppleTalk */
589 syss(nosys,0), /* 210 = Reserved for AppleTalk */
590 syss(nosys,0), /* 211 = Reserved for AppleTalk */
591 syss(nosys,0), /* 212 = Reserved for AppleTalk */
592 syss(nosys,0), /* 213 = Reserved for AppleTalk */
593 syss(nosys,0), /* 214 = Reserved for AppleTalk */
594 syss(nosys,0), /* 215 = Reserved for AppleTalk */
595 #endif /* NETAT */
596
597 /*
598 * System Calls 216 - 230 are reserved for calls to support HFS/HFS Plus
599 * file system semantics. Currently, we only use 215-227. The rest is
600 * for future expansion in anticipation of new MacOS APIs for HFS Plus.
601 * These calls are not conditionalized becuase while they are specific
602 * to HFS semantics, they are not specific to the HFS filesystem.
603 * We expect all filesystems to recognize the call and report that it is
604 * not supported or to actually implement it.
605 */
606 syss(nosys,3), /* 216 = HFS make complex file call (multipel forks */
607 syss(nosys,2), /* 217 = HFS statv extended stat call for HFS */
608 syss(nosys,2), /* 218 = HFS lstatv extended lstat call for HFS */
609 syss(nosys,2), /* 219 = HFS fstatv extended fstat call for HFS */
610 syss(getattrlist,5), /* 220 = HFS getarrtlist get attribute list cal */
611 syss(setattrlist,5), /* 221 = HFS setattrlist set attribute list */
612 syss(getdirentriesattr,8), /* 222 = HFS getdirentriesattr get directory attributes */
613 syss(exchangedata,3), /* 223 = HFS exchangedata exchange file contents */
614 #ifdef __APPLE_API_OBSOLETE
615 syss(checkuseraccess,6),/* 224 = HFS checkuseraccess check access to a file */
616 #else
617 syss(nosys,6),/* 224 = HFS checkuseraccess check access to a file */
618 #endif /* __APPLE_API_OBSOLETE */
619 syss(searchfs,6), /* 225 = HFS searchfs to implement catalog searching */
620 syss(delete,1), /* 226 = private delete (Carbon semantics) */
621 syss(copyfile,4), /* 227 = copyfile - orignally for AFP */
622 syss(nosys,0), /* 228 */
623 syss(nosys,0), /* 229 */
624 syss(nosys,0), /* 230 */
625 sysnets(watchevent,2), /* 231 */
626 sysnets(waitevent,2), /* 232 */
627 sysnets(modwatch,2), /* 233 */
628 syss(nosys,0), /* 234 */
629 syss(nosys,0), /* 235 */
630 syss(nosys,0), /* 236 */
631 syss(nosys,0), /* 237 */
632 syss(nosys,0), /* 238 */
633 syss(nosys,0), /* 239 */
634 syss(nosys,0), /* 240 */
635 syss(nosys,0), /* 241 */
636 syss(fsctl,4), /* 242 = fsctl */
637 syss(nosys,0), /* 243 */
638 syss(nosys,0), /* 244 */
639 syss(nosys,0), /* 245 */
640 syss(nosys,0), /* 246 */
641 syss(nosys,0), /* 247 */
642 syss(nosys,0), /* 248 */
643 syss(nosys,0), /* 249 */
644 syss(minherit,3), /* 250 = minherit */
645 syss(semsys,5), /* 251 = semsys */
646 syss(msgsys,6), /* 252 = msgsys */
647 syss(shmsys,4), /* 253 = shmsys */
648 syss(semctl,4), /* 254 = semctl */
649 syss(semget,3), /* 255 = semget */
650 syss(semop,3), /* 256 = semop */
651 syss(semconfig,1), /* 257 = semconfig */
652 syss(msgctl,3), /* 258 = msgctl */
653 syss(msgget,2), /* 259 = msgget */
654 syss(msgsnd,4), /* 260 = msgsnd */
655 syss(msgrcv,5), /* 261 = msgrcv */
656 syss(shmat,3), /* 262 = shmat */
657 syss(shmctl,3), /* 263 = shmctl */
658 syss(shmdt,1), /* 264 = shmdt */
659 syss(shmget,3), /* 265 = shmget */
660 syss(shm_open,3), /* 266 = shm_open */
661 syss(shm_unlink,1), /* 267 = shm_unlink */
662 syss(sem_open,4), /* 268 = sem_open */
663 syss(sem_close,1), /* 269 = sem_close */
664 syss(sem_unlink,1), /* 270 = sem_unlink */
665 syss(sem_wait,1), /* 271 = sem_wait */
666 syss(sem_trywait,1), /* 272 = sem_trywait */
667 syss(sem_post,1), /* 273 = sem_post */
668 syss(sem_getvalue,2), /* 274 = sem_getvalue */
669 syss(sem_init,3), /* 275 = sem_init */
670 syss(sem_destroy,1), /* 276 = sem_destroy */
671 syss(nosys,0), /* 277 */
672 syss(nosys,0), /* 278 */
673 syss(nosys,0), /* 279 */
674 syss(nosys,0), /* 280 */
675 syss(nosys,0), /* 281 */
676 syss(nosys,0), /* 282 */
677 syss(nosys,0), /* 283 */
678 syss(nosys,0), /* 284 */
679 syss(nosys,0), /* 285 */
680 syss(nosys,0), /* 286 */
681 syss(nosys,0), /* 287 */
682 syss(nosys,0), /* 288 */
683 syss(nosys,0), /* 289 */
684 syss(nosys,0), /* 290 */
685 syss(nosys,0), /* 291 */
686 syss(nosys,0), /* 292 */
687 syss(nosys,0), /* 293 */
688 syss(nosys,0), /* 294 */
689 syss(nosys,0), /* 295 */
690 syss(load_shared_file,7), /* 296 = load_shared_file */
691 syss(reset_shared_file,3), /* 297 = reset_shared_file */
692 syss(new_system_shared_regions,0), /* 298 = new_system_shared_regions */
693 syss(nosys,0), /* 299 */
694 syss(nosys,0), /* 300 */
695 syss(nosys,0), /* 301 */
696 syss(nosys,0), /* 302 */
697 syss(nosys,0), /* 303 */
698 syss(nosys,0), /* 304 */
699 syss(nosys,0), /* 305 */
700 syss(nosys,0), /* 306 */
701 syss(nosys,0), /* 307 */
702 syss(nosys,0), /* 308 */
703 syss(nosys,0), /* 309 */
704 syss(getsid,1), /* 310 = getsid */
705 syss(nosys,0), /* 311 */
706 syss(nosys,0), /* 312 */
707 syss(nosys,0), /* 313 */
708 syss(nosys,0), /* 314 */
709 syss(nosys,0), /* 315 */
710 syss(nosys,0), /* 316 */
711 syss(nosys,0), /* 317 */
712 syss(nosys,0), /* 318 */
713 syss(nosys,0), /* 319 */
714 syss(nosys,0), /* 320 */
715 syss(nosys,0), /* 321 */
716 syss(nosys,0), /* 322 */
717 syss(nosys,0), /* 323 */
718 syss(mlockall,1), /* 324 = mlockall*/
719 syss(munlockall,1), /* 325 = munlockall*/
720 syss(nosys,0), /* 326 */
721 sysp(issetugid,0), /* 327 = issetugid */
722 syss(__pthread_kill,2), /* 328 */
723 syss(pthread_sigmask,3), /* 329 */
724 syss(sigwait,2), /* 330 */
725 syss(__disable_threadsignal,1), /* 331 */
726 syss(nosys,0), /* 332 */
727 syss(nosys,0), /* 333 */
728 syss(nosys,0), /* 334 */
729 syss(utrace,2), /* 335 = utrace */
730 syss(nosys,0), /* 336 */
731 syss(nosys,0), /* 337 */
732 syss(nosys,0), /* 338 */
733 syss(nosys,0), /* 339 */
734 syss(nosys,0), /* 340 */
735 syss(nosys,0), /* 341 */
736 syss(nosys,0), /* 342 */
737 syss(nosys,0), /* 343 */
738 syss(nosys,0), /* 344 */
739 syss(nosys,0), /* 345 */
740 syss(nosys,0), /* 346 */
741 syss(nosys,0), /* 347 */
742 syss(nosys,0), /* 348 */
743 syss(nosys,0) /* 349 */
744 };
745 int nsysent = sizeof(sysent) / sizeof(sysent[0]);