aboutsummaryrefslogtreecommitdiff
path: root/sys/compat/freebsd32/syscalls.master
blob: 042bf003b1c3335cf2802e99b16f9b689e005057 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
 $FreeBSD$
;	from: @(#)syscalls.master	8.2 (Berkeley) 1/13/94
;	from: src/sys/kern/syscalls.master 1.107
;
; System call name/number master file.
; Processed to created init_sysent.c, syscalls.c and syscall.h.

; Columns: number [M]type nargs namespc name alt{name,tag,rtyp}/comments
;	number	system call number, must be in order
;	type	one of [M]STD, [M]OBSOL, [M]UNIMPL, [M]COMPAT, [M]CPT_NOA,
;		[M]LIBCOMPAT, [M]NODEF,  [M]NOARGS,  [M]NOPROTO,  [M]NOIMPL,
;		[M]NOSTD
;	namespc one of POSIX, BSD, NOHIDE
;	name	psuedo-prototype of syscall routine
;		If one of the following alts is different, then all appear:
;	altname	name of system call if different
;	alttag	name of args struct tag if different from [o]`name'"_args"
;	altrtyp	return type if not int (bogus - syscalls always return int)
;		for UNIMPL/OBSOL, name continues with comments

; types:
;	[M]	e.g. like MSTD -- means the system call is MP-safe.  If no
;		M prefix is used, the syscall wrapper will obtain the Giant
;		lock for the syscall.
;	STD	always included
;	COMPAT	included on COMPAT #ifdef
;	LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
;	OBSOL	obsolete, not included in system, only specifies name
;	UNIMPL	not implemented, placeholder only
;	NOSTD	implemented but as a lkm that can be statically
;			compiled in sysent entry will be filled with lkmsys
;			so the SYSCALL_MODULE macro works

; #ifdef's, etc. may be included, and are copied to the output files.

#include <sys/param.h>
#include <sys/sysent.h>
#include <sys/sysproto.h>
#include <sys/mount.h>
#include <amd64/ia32/ia32.h>
#include <amd64/ia32/ia32_proto.h>

; Reserved/unimplemented system calls in the range 0-150 inclusive
; are reserved for use in future Berkeley releases.
; Additional system calls implemented in vendor and other
; redistributions should be placed in the reserved range at the end
; of the current calls.

0	MNOPROTO NOHIDE	{ int nosys(void); } syscall nosys_args int
1	MNOPROTO NOHIDE	{ void sys_exit(int rval); } exit sys_exit_args void
2	MNOPROTO POSIX	{ int fork(void); }
3	MNOPROTO POSIX	{ ssize_t read(int fd, void *buf, size_t nbyte); }
4	MNOPROTO POSIX	{ ssize_t write(int fd, const void *buf, size_t nbyte); }
5	STD	POSIX	{ int ia32_open(char *path, int flags, int mode); }
; XXX should be		{ int open(const char *path, int flags, ...); }
; but we're not ready for `const' or varargs.
; XXX man page says `mode_t mode'.
6	MNOPROTO POSIX	{ int close(int fd); }
7	MSTD BSD	{ int ia32_wait4(int pid, int *status, int options, \
			    struct rusage32 *rusage); }
8	OBSOL	BSD	old creat
9	NOPROTO	POSIX	{ int link(char *path, char *link); }
10	NOPROTO	POSIX	{ int unlink(char *path); }
11	OBSOL	NOHIDE	execv
12	NOPROTO	POSIX	{ int chdir(char *path); }
13	NOPROTO	BSD	{ int fchdir(int fd); }
14	NOPROTO	POSIX	{ int mknod(char *path, int mode, int dev); }
15	NOPROTO	POSIX	{ int chmod(char *path, int mode); }
16	NOPROTO	POSIX	{ int chown(char *path, int uid, int gid); }
17	MNOPROTO BSD	{ int obreak(char *nsize); } break obreak_args int
18	STD	BSD	{ int ia32_getfsstat(struct statfs32 *buf, \
			    long bufsize, int flags); }
19	OBSOL	POSIX	olseek
20	MNOPROTO POSIX	{ pid_t getpid(void); }
21	NOPROTO	BSD	{ int mount(char *type, char *path, int flags, \
			    caddr_t data); }
; XXX `path' should have type `const char *' but we're not ready for that.
22	NOPROTO	BSD	{ int unmount(char *path, int flags); }
23	MNOPROTO POSIX	{ int setuid(uid_t uid); }
24	MNOPROTO POSIX	{ uid_t getuid(void); }
25	MNOPROTO POSIX	{ uid_t geteuid(void); }
26	NOPROTO	BSD	{ int ptrace(int req, pid_t pid, caddr_t addr, \
			    int data); }
27	UNIMPL	BSD	recvmsg
28	MNOPROTO BSD	{ int sendmsg(int s, caddr_t msg, int flags); }
29	MNOPROTO BSD	{ int recvfrom(int s, caddr_t buf, size_t len, \
			    int flags, caddr_t from, int *fromlenaddr); }
30	MNOPROTO BSD	{ int accept(int s, caddr_t name, int *anamelen); }
31	MNOPROTO BSD	{ int getpeername(int fdes, caddr_t asa, int *alen); }
32	MNOPROTO BSD	{ int getsockname(int fdes, caddr_t asa, int *alen); }
33	STD	POSIX	{ int ia32_access(char *path, int flags); }
34	STD	BSD	{ int ia32_chflags(char *path, int flags); }
35	NOPROTO	BSD	{ int fchflags(int fd, int flags); }
36	NOPROTO	BSD	{ int sync(void); }
37	MNOPROTO POSIX	{ int kill(int pid, int signum); }
38	UNIMPL	POSIX	ostat
39	MNOPROTO POSIX	{ pid_t getppid(void); }
40	UNIMPL	POSIX	olstat
41	NOPROTO	POSIX	{ int dup(u_int fd); }
42	NOPROTO	POSIX	{ int pipe(void); }
43	MNOPROTO POSIX	{ gid_t getegid(void); }
44	MNOPROTO BSD	{ int profil(caddr_t samples, size_t size, \
			    size_t offset, u_int scale); }
45	NOPROTO	BSD	{ int ktrace(const char *fname, int ops, int facs, \
			    int pid); }
46	UNIMPL	POSIX	osigaction
47	MNOPROTO POSIX	{ gid_t getgid(void); }
48	UNIMPL	POSIX	osigprocmask
49	MNOPROTO BSD	{ int getlogin(char *namebuf, u_int namelen); }
50	MNOPROTO BSD	{ int setlogin(char *namebuf); }
51	MNOPROTO BSD	{ int acct(char *path); }
52	MNOPROTO POSIX	{ int sigpending(void); }
53	STD	BSD	{ int ia32_sigaltstack(struct sigaltstack32 *ss, struct sigaltstack32 *oss); }
54	MNOPROTO POSIX	{ int ioctl(int fd, u_long com, caddr_t data); }
55	MNOPROTO BSD	{ int reboot(int opt); }
56	NOPROTO	POSIX	{ int revoke(char *path); }
57	NOPROTO	POSIX	{ int symlink(char *path, char *link); }
58	NOPROTO	POSIX	{ int readlink(char *path, char *buf, int count); }
59	STD	 POSIX	{ int ia32_execve(char *fname, u_int32_t *argv, u_int32_t *envv); }
60	MNOPROTO POSIX	{ int umask(int newmask); } umask umask_args int
61	NOPROTO	BSD	{ int chroot(char *path); }
62	OBSOL	POSIX	ofstat
63	OBSOL	BSD	ogetkerninfo
64	OBSOL	BSD	ogetpagesize
65	OBSOL	BSD	omsync
66	OBSOL	BSD	ovfork
67	OBSOL	NOHIDE	vread
68	OBSOL	NOHIDE	vwrite
69	MNOPROTO BSD	{ int sbrk(int incr); }
70	MNOPROTO BSD	{ int sstk(int incr); }
71	OBSOL	BSD	ommap
72	MNOPROTO BSD	{ int ovadvise(int anom); } vadvise ovadvise_args int
73	MNOPROTO BSD	{ int munmap(void *addr, size_t len); }
74	MNOPROTO BSD	{ int mprotect(const void *addr, size_t len, int prot); }
75	MNOPROTO BSD	{ int madvise(void *addr, size_t len, int behav); }
76	OBSOL	NOHIDE	vhangup
77	OBSOL	NOHIDE	vlimit
78	MNOPROTO BSD	{ int mincore(const void *addr, size_t len, \
			    char *vec); }
79	MNOPROTO POSIX	{ int getgroups(u_int gidsetsize, gid_t *gidset); }
80	MNOPROTO POSIX	{ int setgroups(u_int gidsetsize, gid_t *gidset); }
81	MNOPROTO POSIX	{ int getpgrp(void); }
82	MNOPROTO POSIX	{ int setpgid(int pid, int pgid); }
83	STD	BSD	{ int ia32_setitimer(u_int which, \
			    struct itimerval32 *itv, \
			    struct itimerval32 *oitv); }
84	OBSOL	BSD	owait
85	OBSOL	BSD	oswapon
86	OBSOL	BSD	ogetitimer
87	OBSOL	BSD	ogethostname
88	OBSOL	BSD	osethostname
89	MNOPROTO BSD	{ int getdtablesize(void); }
90	MNOPROTO POSIX	{ int dup2(u_int from, u_int to); }
91	UNIMPL	BSD	getdopt
92	MNOPROTO POSIX	{ int fcntl(int fd, int cmd, long arg); }
; XXX should be		{ int fcntl(int fd, int cmd, ...); }
; but we're not ready for varargs.
; XXX man page says `int arg' too.
93	STD	BSD	{ int ia32_select(int nd, fd_set *in, fd_set *ou, \
			    fd_set *ex, struct timeval32 *tv); }
; XXX need to override for big-endian - little-endian should work fine.
94	UNIMPL	BSD	setdopt
95	NOPROTO	POSIX	{ int fsync(int fd); }
96	MNOPROTO BSD	{ int setpriority(int which, int who, int prio); }
97	MNOPROTO BSD	{ int socket(int domain, int type, int protocol); }
98	MNOPROTO BSD	{ int connect(int s, caddr_t name, int namelen); }
99	MNOPROTO BSD	{ int accept(int s, caddr_t name, int *anamelen); } \
			    accept accept_args int
100	MNOPROTO BSD	{ int getpriority(int which, int who); }
101	OBSOL	BSD	osend
102	OBSOL	BSD	orecv
103	OBSOL	BSD	osigreturn
104	MNOPROTO BSD	{ int bind(int s, caddr_t name, int namelen); }
105	MNOPROTO BSD	{ int setsockopt(int s, int level, int name, \
			    caddr_t val, int valsize); }
106	MNOPROTO BSD	{ int listen(int s, int backlog); }
107	OBSOL	NOHIDE	vtimes
108	OBSOL	BSD	osigvec
109	OBSOL	BSD	osigblock
110	OBSOL	BSD	osigsetmask
111	OBSOL	POSIX	osigsuspend
112	OBSOL	BSD	osigstack
113	OBSOL	BSD	orecvmsg
114	OBSOL	BSD	osendmsg
115	OBSOL	NOHIDE	vtrace
116	STD	BSD	{ int ia32_gettimeofday(struct timeval32 *tp, \
			    struct timezone *tzp); }
117	STD	BSD	{ int ia32_getrusage(int who, struct rusage32 *rusage); }
118	MNOPROTO BSD	{ int getsockopt(int s, int level, int name, \
			    caddr_t val, int *avalsize); }
119	UNIMPL	NOHIDE	resuba (BSD/OS 2.x)
120	STD	BSD	{ int ia32_readv(int fd, struct iovec32 *iovp, u_int iovcnt); }
121	STD	BSD	{ int ia32_writev(int fd, struct iovec32 *iovp, \
			    u_int iovcnt); }
122	STD	BSD	{ int ia32_settimeofday(struct timeval32 *tv, \
			    struct timezone *tzp); }
123	NOPROTO	BSD	{ int fchown(int fd, int uid, int gid); }
124	NOPROTO	BSD	{ int fchmod(int fd, int mode); }
125	MNOPROTO BSD	{ int recvfrom(int s, caddr_t buf, size_t len, \
			    int flags, caddr_t from, int *fromlenaddr); } \
			    recvfrom recvfrom_args int
126	MNOPROTO BSD	{ int setreuid(int ruid, int euid); }
127	MNOPROTO BSD	{ int setregid(int rgid, int egid); }
128	NOPROTO	POSIX	{ int rename(char *from, char *to); }
129	OBSOL	BSD	otruncate
130	OBSOL	BSD	ftruncate
131	MNOPROTO BSD	{ int flock(int fd, int how); }
132	NOPROTO	POSIX	{ int mkfifo(char *path, int mode); }
133	MNOPROTO BSD	{ int sendto(int s, caddr_t buf, size_t len, \
			    int flags, caddr_t to, int tolen); }
134	MNOPROTO BSD	{ int shutdown(int s, int how); }
135	MNOPROTO BSD	{ int socketpair(int domain, int type, int protocol, \
			    int *rsv); }
136	NOPROTO	POSIX	{ int mkdir(char *path, int mode); }
137	NOPROTO	POSIX	{ int rmdir(char *path); }
138	STD	BSD	{ int ia32_utimes(char *path, \
			    struct timeval32 *tptr); }
139	OBSOL	NOHIDE	4.2 sigreturn
140	STD	BSD	{ int ia32_adjtime(struct timeval32 *delta, \
			    struct timeval32 *olddelta); }
141	OBSOL	BSD	ogetpeername
142	OBSOL	BSD	ogethostid
143	OBSOL	BSD	sethostid
144	OBSOL	BSD	getrlimit
145	OBSOL	BSD	setrlimit
146	OBSOL	BSD	killpg
147	MNOPROTO POSIX	{ int setsid(void); }
148	NOPROTO	BSD	{ int quotactl(char *path, int cmd, int uid, \
			    caddr_t arg); }
149	OBSOL BSD	oquota
150	OBSOL BSD	ogetsockname

; Syscalls 151-180 inclusive are reserved for vendor-specific
; system calls.  (This includes various calls added for compatibity
; with other Unix variants.)
; Some of these calls are now supported by BSD...
151	UNIMPL	NOHIDE	sem_lock (BSD/OS 2.x)
152	UNIMPL	NOHIDE	sem_wakeup (BSD/OS 2.x)
153	UNIMPL	NOHIDE	asyncdaemon (BSD/OS 2.x)
154	UNIMPL	NOHIDE	nosys
; 155 is initialized by the NFS code, if present.
155	UNIMPL	NOHIDE	nfssvc
156	NOPROTO	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
			    long *basep); }
157	STD	BSD	{ int ia32_statfs(char *path, struct statfs32 *buf); }
158	STD	BSD	{ int ia32_fstatfs(int fd, struct statfs32 *buf); }
159	UNIMPL	NOHIDE	nosys
160	UNIMPL	NOHIDE	nosys
161	NOPROTO	BSD	{ int getfh(char *fname, struct fhandle *fhp); }
162	MNOPROTO BSD	{ int getdomainname(char *domainname, int len); }
163	MNOPROTO BSD	{ int setdomainname(char *domainname, int len); }
164	MNOPROTO BSD	{ int uname(struct utsname *name); }
165	NOPROTO	BSD	{ int sysarch(int op, char *parms); }
166	MNOPROTO BSD	{ int rtprio(int function, pid_t pid, \
			    struct rtprio *rtp); }
167	UNIMPL	NOHIDE	nosys
168	UNIMPL	NOHIDE	nosys
169	STD	BSD	{ int ia32_semsys(int which, int a2, int a3, int a4, \
			    int a5); }
170	STD	BSD	{ int ia32_msgsys(int which, int a2, int a3, int a4, \
			    int a5, int a6); }
171	STD	BSD	{ int ia32_shmsys(int which, int a2, int a3, int a4); }
172	UNIMPL	NOHIDE	nosys
173	STD POSIX	{ ssize_t ia32_pread(int fd, void *buf, size_t nbyte, \
			    int pad, u_int32_t offsetlo, u_int32_t offsethi); }
; XXX note - bigendian is different
174	STD	POSIX	{ ssize_t ia32_pwrite(int fd, const void *buf, \
			    size_t nbyte, int pad, u_int32_t offsetlo, \
			    u_int32_t offsethi); }
; XXX note - bigendian is different
175	UNIMPL	NOHIDE	nosys
176	MNOPROTO BSD	{ int ntp_adjtime(struct timex *tp); }
177	UNIMPL	NOHIDE	sfork (BSD/OS 2.x)
178	UNIMPL	NOHIDE	getdescriptor (BSD/OS 2.x)
179	UNIMPL	NOHIDE	setdescriptor (BSD/OS 2.x)
180	UNIMPL	NOHIDE	nosys

; Syscalls 181-199 are used by/reserved for BSD
181	MNOPROTO POSIX	{ int setgid(gid_t gid); }
182	MNOPROTO BSD	{ int setegid(gid_t egid); }
183	MNOPROTO BSD	{ int seteuid(uid_t euid); }
184	UNIMPL	BSD	lfs_bmapv
185	UNIMPL	BSD	lfs_markv
186	UNIMPL	BSD	lfs_segclean
187	UNIMPL	BSD	lfs_segwait
188	STD	POSIX	{ int ia32_stat(char *path, struct stat32 *ub); }
189	STD	POSIX	{ int ia32_fstat(int fd, struct stat32 *ub); }
190	STD	POSIX	{ int ia32_lstat(char *path, struct stat32 *ub); }
191	NOPROTO	POSIX	{ int pathconf(char *path, int name); }
192	MNOPROTO POSIX	{ int fpathconf(int fd, int name); }
193	UNIMPL	NOHIDE	nosys
194	MNOPROTO BSD	{ int getrlimit(u_int which, \
			    struct rlimit *rlp); } \
			    getrlimit __getrlimit_args int
195	MNOPROTO BSD	{ int setrlimit(u_int which, \
			    struct rlimit *rlp); } \
			    setrlimit __setrlimit_args int
196	NOPROTO	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
			    long *basep); }
197	STD BSD		{ caddr_t ia32_mmap(caddr_t addr, size_t len, \
			    int prot, int flags, int fd, int pad, \
			    u_int32_t poslo, u_int32_t poshi); }
198	NOPROTO	NOHIDE	{ int nosys(void); } __syscall __syscall_args int
; XXX note - bigendian is different
199	STD	POSIX	{ off_t ia32_lseek(int fd, int pad, \
			    u_int32_t offsetlo, u_int32_t offsethi, \
			    int whence); }
; XXX note - bigendian is different
200	STD	BSD	{ int ia32_truncate(char *path, int pad, \
			    u_int32_t lengthlo, u_int32_t lengthhi); }
; XXX note - bigendian is different
201	STD	BSD	{ int ia32_ftruncate(int fd, int pad, \
			    u_int32_t lengthlo, u_int32_t lengthhi); }
202	MSTD BSD	{ int ia32_sysctl(int *name, u_int namelen, \
			    void *old, u_int32_t *oldlenp, void *new, \
			    u_int32_t newlen); }
203	MNOPROTO BSD	{ int mlock(const void *addr, size_t len); }
204	MNOPROTO BSD	{ int munlock(const void *addr, size_t len); }
205	NOPROTO	BSD	{ int undelete(char *path); }
206	NOPROTO	BSD	{ int futimes(int fd, struct timeval *tptr); }
207	MNOPROTO BSD	{ int getpgid(pid_t pid); }
208	UNIMPL	NOHIDE	newreboot (NetBSD)
209	MNOPROTO BSD	{ int poll(struct pollfd *fds, u_int nfds, \
			    int timeout); }

;
; The following are reserved for loadable syscalls
;
210	UNIMPL	NOHIDE
211	UNIMPL	NOHIDE
212	UNIMPL	NOHIDE
213	UNIMPL	NOHIDE
214	UNIMPL	NOHIDE
215	UNIMPL	NOHIDE
216	UNIMPL	NOHIDE
217	UNIMPL	NOHIDE
218	UNIMPL	NOHIDE
219	UNIMPL	NOHIDE

;
; The following were introduced with NetBSD/4.4Lite-2
; They are initialized by thier respective modules/sysinits
220	MNOPROTO	BSD	{ int __semctl(int semid, int semnum, int cmd, \
			    union semun *arg); }
221	MNOPROTO	BSD	{ int semget(key_t key, int nsems, int semflg); }
222	MNOPROTO	BSD	{ int semop(int semid, struct sembuf *sops, \
			    u_int nsops); }
223	UNIMPL	NOHIDE	semconfig
224	MNOPROTO	BSD	{ int msgctl(int msqid, int cmd, \
			    struct msqid_ds *buf); }
225	MNOPROTO	BSD	{ int msgget(key_t key, int msgflg); }
226	MNOPROTO	BSD	{ int msgsnd(int msqid, void *msgp, size_t msgsz, \
			    int msgflg); }
227	MNOPROTO	BSD	{ int msgrcv(int msqid, void *msgp, size_t msgsz, \
			    long msgtyp, int msgflg); }
228	MNOPROTO	BSD	{ int shmat(int shmid, void *shmaddr, int shmflg); }
229	MNOPROTO	BSD	{ int shmctl(int shmid, int cmd, \
			    struct shmid_ds *buf); }
230	MNOPROTO	BSD	{ int shmdt(void *shmaddr); }
231	MNOPROTO	BSD	{ int shmget(key_t key, int size, int shmflg); }
;
232	MNOPROTO POSIX	{ int clock_gettime(clockid_t clock_id, \
			    struct timespec *tp); }
233	MNOPROTO POSIX	{ int clock_settime(clockid_t clock_id, \
			    const struct timespec *tp); }
234	MNOPROTO POSIX	{ int clock_getres(clockid_t clock_id, \
			    struct timespec *tp); }
235	UNIMPL	NOHIDE	timer_create
236	UNIMPL	NOHIDE	timer_delete
237	UNIMPL	NOHIDE	timer_settime
238	UNIMPL	NOHIDE	timer_gettime
239	UNIMPL	NOHIDE	timer_getoverrun
240	MNOPROTO POSIX	{ int nanosleep(const struct timespec *rqtp, \
			    struct timespec *rmtp); }
241	UNIMPL	NOHIDE	nosys
242	UNIMPL	NOHIDE	nosys
243	UNIMPL	NOHIDE	nosys
244	UNIMPL	NOHIDE	nosys
245	UNIMPL	NOHIDE	nosys
246	UNIMPL	NOHIDE	nosys
247	UNIMPL	NOHIDE	nosys
248	UNIMPL	NOHIDE	nosys
249	UNIMPL	NOHIDE	nosys
; syscall numbers initially used in OpenBSD
250	MNOPROTO BSD	{ int minherit(void *addr, size_t len, int inherit); }
251	MNOPROTO BSD	{ int rfork(int flags); }
252	MNOPROTO BSD	{ int openbsd_poll(struct pollfd *fds, u_int nfds, \
			    int timeout); }
253	NOPROTO	BSD	{ int issetugid(void); }
254	NOPROTO	BSD	{ int lchown(char *path, int uid, int gid); }
255	UNIMPL	NOHIDE	nosys
256	UNIMPL	NOHIDE	nosys
257	UNIMPL	NOHIDE	nosys
258	UNIMPL	NOHIDE	nosys
259	UNIMPL	NOHIDE	nosys
260	UNIMPL	NOHIDE	nosys
261	UNIMPL	NOHIDE	nosys
262	UNIMPL	NOHIDE	nosys
263	UNIMPL	NOHIDE	nosys
264	UNIMPL	NOHIDE	nosys
265	UNIMPL	NOHIDE	nosys
266	UNIMPL	NOHIDE	nosys
267	UNIMPL	NOHIDE	nosys
268	UNIMPL	NOHIDE	nosys
269	UNIMPL	NOHIDE	nosys
270	UNIMPL	NOHIDE	nosys
271	UNIMPL	NOHIDE	nosys
272	NOPROTO	BSD	{ int getdents(int fd, char *buf, size_t count); }
273	UNIMPL	NOHIDE	nosys
274	NOPROTO	BSD	{ int lchmod(char *path, mode_t mode); }
275	NOPROTO BSD	{ int lchown(char *path, uid_t uid, gid_t gid); } netbsd_lchown lchown_args int
276	NOPROTO	BSD	{ int lutimes(char *path, struct timeval *tptr); }
277	MNOPROTO BSD	{ int msync(void *addr, size_t len, int flags); } netbsd_msync msync_args int
278	NOPROTO	BSD	{ int nstat(char *path, struct nstat *ub); }
279	MNOPROTO BSD	{ int nfstat(int fd, struct nstat *sb); }
280	NOPROTO	BSD	{ int nlstat(char *path, struct nstat *ub); }
281	UNIMPL	NOHIDE	nosys
282	UNIMPL	NOHIDE	nosys
283	UNIMPL	NOHIDE	nosys
284	UNIMPL	NOHIDE	nosys
285	UNIMPL	NOHIDE	nosys
286	UNIMPL	NOHIDE	nosys
287	UNIMPL	NOHIDE	nosys
288	UNIMPL	NOHIDE	nosys
289	UNIMPL	NOHIDE	nosys
290	UNIMPL	NOHIDE	nosys
291	UNIMPL	NOHIDE	nosys
292	UNIMPL	NOHIDE	nosys
293	UNIMPL	NOHIDE	nosys
294	UNIMPL	NOHIDE	nosys
295	UNIMPL	NOHIDE	nosys
296	UNIMPL	NOHIDE	nosys
; XXX 297 is 300 in NetBSD 
297	NOPROTO	BSD	{ int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }
298	NOPROTO	BSD	{ int fhopen(const struct fhandle *u_fhp, int flags); }
299	NOPROTO	BSD 	{ int fhstat(const struct fhandle *u_fhp, struct stat *sb); }
; syscall numbers for FreeBSD
300	MNOPROTO BSD	{ int modnext(int modid); }
301	MNOPROTO BSD	{ int modstat(int modid, struct module_stat* stat); }
302	MNOPROTO BSD	{ int modfnext(int modid); }
303	MNOPROTO BSD	{ int modfind(const char *name); }
304	MNOPROTO BSD	{ int kldload(const char *file); }
305	MNOPROTO BSD	{ int kldunload(int fileid); }
306	MNOPROTO BSD	{ int kldfind(const char *file); }
307	MNOPROTO BSD	{ int kldnext(int fileid); }
308	MNOPROTO BSD	{ int kldstat(int fileid, struct kld_file_stat* stat); }
309	MNOPROTO BSD	{ int kldfirstmod(int fileid); }
310	MNOPROTO BSD	{ int getsid(pid_t pid); }
311	MNOPROTO BSD	{ int setresuid(uid_t ruid, uid_t euid, uid_t suid); }
312	MNOPROTO BSD	{ int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }
313	OBSOL	NOHIDE	signanosleep
314	UNIMPL	NOHIDE	aio_return
315	UNIMPL	NOHIDE	aio_suspend
316	UNIMPL	NOHIDE	aio_cancel
317	UNIMPL	NOHIDE	aio_error
318	UNIMPL	NOHIDE	aio_read
319	UNIMPL	NOHIDE	aio_write
320	UNIMPL	NOHIDE	lio_listio
321	MNOPROTO BSD	{ int yield(void); }
322	OBSOL	NOHIDE	thr_sleep
323	OBSOL	NOHIDE	thr_wakeup
324	MNOPROTO BSD	{ int mlockall(int how); }
325	MNOPROTO BSD	{ int munlockall(void); }
326	NOPROTO	BSD	{ int __getcwd(u_char *buf, u_int buflen); }

327	MNOPROTO POSIX	{ int sched_setparam (pid_t pid, const struct sched_param *param); }
328	MNOPROTO POSIX	{ int sched_getparam (pid_t pid, struct sched_param *param); }

329	MNOPROTO POSIX	{ int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
330	MNOPROTO POSIX	{ int sched_getscheduler (pid_t pid); }

331	MNOPROTO POSIX	{ int sched_yield (void); }
332	MNOPROTO POSIX	{ int sched_get_priority_max (int policy); }
333	MNOPROTO POSIX	{ int sched_get_priority_min (int policy); }
334	MNOPROTO POSIX	{ int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
335	NOPROTO	BSD	{ int utrace(const void *addr, size_t len); }
; XXX note - bigendian is different
336	MCOMPAT4 BSD	{ int ia32_sendfile(int fd, int s, u_int32_t offsetlo,\
			    u_int32_t offsethi, size_t nbytes, \
			    struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
337	NOPROTO	BSD	{ int kldsym(int fileid, int cmd, void *data); }
338	MNOPROTO BSD	{ int jail(struct jail *jail); }
339	UNIMPL	BSD	pioctl
340	MNOPROTO POSIX	{ int sigprocmask(int how, const sigset_t *set, \
			    sigset_t *oset); }
341	MNOPROTO POSIX	{ int sigsuspend(const sigset_t *sigmask); }
342	COMPAT4 POSIX	{ int ia32_sigaction(int sig, \
			    struct sigaction32 *act, \
			    struct sigaction32 *oact); }
343	MNOPROTO POSIX	{ int sigpending(sigset_t *set); }
344	MCOMPAT4 BSD	{ int ia32_sigreturn(const struct __ucontext *sigcntxp); }
345	UNIMPL	NOHIDE	sigtimedwait
346	UNIMPL	NOHIDE	sigwaitinfo
347	MNOPROTO BSD	{ int __acl_get_file(const char *path, \
			    acl_type_t type, struct acl *aclp); }
348	MNOPROTO BSD	{ int __acl_set_file(const char *path, \
			    acl_type_t type, struct acl *aclp); }
349	MNOPROTO BSD	{ int __acl_get_fd(int filedes, acl_type_t type, \
			    struct acl *aclp); }
350	MNOPROTO BSD	{ int __acl_set_fd(int filedes, acl_type_t type, \
			    struct acl *aclp); }
351	MNOPROTO BSD	{ int __acl_delete_file(const char *path, \
			    acl_type_t type); }
352	MNOPROTO BSD	{ int __acl_delete_fd(int filedes, acl_type_t type); }
353	MNOPROTO BSD	{ int __acl_aclcheck_file(const char *path, \
			    acl_type_t type, struct acl *aclp); }
354	MNOPROTO BSD	{ int __acl_aclcheck_fd(int filedes, acl_type_t type, \
			    struct acl *aclp); }
355	NOPROTO	BSD	{ int extattrctl(const char *path, int cmd, \
			    const char *filename, int attrnamespace, \
			    const char *attrname); }
356	NOPROTO	BSD	{ int extattr_set_file(const char *path, \
			    int attrnamespace, const char *attrname, \
			    void *data, size_t nbytes); }
357	NOPROTO	BSD	{ ssize_t extattr_get_file(const char *path, \
			    int attrnamespace, const char *attrname, \
			    void *data, size_t nbytes); }
358	NOPROTO	BSD	{ int extattr_delete_file(const char *path, \
			    int attrnamespace, const char *attrname); }
359	UNIMPL	NOHIDE	aio_waitcomplete
360	MNOPROTO BSD	{ int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }
361	MNOPROTO BSD	{ int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }
362	MNOPROTO BSD	{ int kqueue(void); }
363	MSTD BSD	{ int ia32_kevent(int fd, \
			    const struct kevent *changelist, int nchanges, \
			    struct kevent *eventlist, int nevents, \
			    const struct timespec *timeout); }
364	UNIMPL	NOHIDE	__cap_get_proc
365	UNIMPL	NOHIDE	__cap_set_proc
366	UNIMPL	NOHIDE	__cap_get_fd
367	UNIMPL	NOHIDE	__cap_get_file
368	UNIMPL	NOHIDE	__cap_set_fd
369	UNIMPL	NOHIDE	__cap_set_file
370	UNIMPL	NOHIDE	lkmressys
371	NOPROTO	BSD	{ int extattr_set_fd(int fd, int attrnamespace, \
			    const char *attrname, void *data, \
			    size_t nbytes); }
372	NOPROTO	BSD	{ ssize_t extattr_get_fd(int fd, int attrnamespace, \
			    const char *attrname, void *data, size_t nbytes); }
373	NOPROTO	BSD	{ int extattr_delete_fd(int fd, int attrnamespace, \
			    const char *attrname); }
374	MNOPROTO BSD	{ int __setugid(int flag); }
375	UNIMPL	BSD	nfsclnt
376	NOPROTO	BSD	{ int eaccess(char *path, int flags); }
377	UNIMPL	BSD	afs_syscall
378	NOPROTO	BSD	{ int nmount(struct iovec *iovp, unsigned int iovcnt, \
			    int flags); }
379	NOPROTO	BSD	{ int kse_exit(void); }
380	NOPROTO	BSD	{ int kse_wakeup(struct kse_mailbox *mbx); }
381	NOPROTO	BSD	{ int kse_create(struct kse_mailbox *mbx, \
			    int newgroup); }
382	NOPROTO	BSD	{ int kse_thr_interrupt(struct kse_thr_mailbox *tmbx); }
383	NOPROTO	BSD	{ int kse_release(void); }
384	UNIMPL	BSD	__mac_get_proc
385	UNIMPL	BSD	__mac_set_proc
386	UNIMPL	BSD	__mac_get_fd
387	UNIMPL	BSD	__mac_get_file
388	UNIMPL	BSD	__mac_set_fd
389	UNIMPL	BSD	__mac_set_file
390	NOPROTO	BSD	{ int kenv(int what, const char *name, char *value, \
			    int len); }
391	NOPROTO	BSD	{ int lchflags(const char *path, int flags); }
392	NOPROTO	BSD	{ int uuidgen(struct uuid *store, int count); }
393	MSTD	BSD	{ int ia32_sendfile(int fd, int s, u_int32_t offsetlo, \
			    u_int32_t offsethi, size_t nbytes, \
			    struct sf_hdtr *hdtr, off_t *sbytes, int flags); }
394	UNIMPL	NOHIDE	mac_syscall
395	UNIMPL	NOHIDE	nosys
396	UNIMPL	NOHIDE	nosys
397	UNIMPL	NOHIDE	nosys
398	UNIMPL	NOHIDE	nosys
399	UNIMPL	NOHIDE	nosys
400	UNIMPL	NOHIDE	ksem_close
401	UNIMPL	NOHIDE	ksem_post
402	UNIMPL	NOHIDE	ksem_wait
403	UNIMPL	NOHIDE	ksem_trywait
404	UNIMPL	NOHIDE	ksem_init
405	UNIMPL	NOHIDE	ksem_open
406	UNIMPL	NOHIDE	ksem_unlink
407	UNIMPL	NOHIDE	ksem_getvalue
408	UNIMPL	NOHIDE	ksem_destroy
409	UNIMPL	BSD	__mac_get_pid
410	UNIMPL	BSD	__mac_get_link
411	UNIMPL	BSD	__mac_set_link
412	UNIMPL	BSD	extattr_set_link
413	UNIMPL	BSD	extattr_get_link
414	UNIMPL	BSD	extattr_delete_link
415	UNIMPL	BSD	__mac_execve
416	MSTD BSD	{ int ia32_sigreturn(const struct ia32_ucontext *sigcntxp); }
417	STD POSIX	{ int ia32_sigaction(int sig, \
			    struct sigaction32 *act, \
			    struct sigaction32 *oact); }
418	UNIMPL	BSD	__xstat
419	UNIMPL	BSD	__xfstat
420	UNIMPL	BSD	__xlstat
421	UNIMPL	BSD	getcontext
422	UNIMPL	BSD	setcontext
423	UNIMPL	BSD	swapcontext
424	UNIMPL	BSD	swapoff
425	UNIMPL	BSD	__acl_get_link
426	UNIMPL	BSD	__acl_set_link
427	UNIMPL	BSD	__acl_delete_link
428	UNIMPL	BSD	__acl_aclcheck_link
429	UNIMPL	NOHIDE	sigwait
430	MNOPROTO BSD	{ int thr_create(ucontext_t *ctx, thr_id_t *id, \
			    int flag s); }
431	MNOPROTO BSD	{ void thr_exit(void); }
432	MNOPROTO BSD	{ int thr_self(thr_id_t *id); }
433	MNOPROTO BSD	{ int thr_kill(thr_id_t id, int sig); }
434	MNOPROTO BSD	{ int _umtx_lock(struct umtx *umtx); }
435	MNOPROTO BSD	{ int _umtx_unlock(struct umtx *umtx); }
436	MNOPROTO BSD	{ int jail_attach(int jid); }