xref: /netbsd-src/sys/compat/freebsd/syscalls.master (revision a5847cc334d9a7029f6352b847e9e8d71a0f9e0c)
1	$NetBSD: syscalls.master,v 1.65 2011/03/06 17:08:34 bouyer Exp $
2
3;	from: @(#)syscalls.master	8.2 (Berkeley) 1/13/94
4
5; NetBSD COMPAT_FREEBSD system call name/number "master" file.
6; (See syscalls.conf to see what it is processed into.)
7;
8; Fields: number type [type-dependent ...]
9;	number	system call number, must be in order
10;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
11;		the compatibility options defined in syscalls.conf.
12;
13; types:
14;	STD	always included
15;	OBSOL	obsolete, not included in system
16;	UNIMPL	unimplemented, not included in system
17;	NODEF	included, but don't define the syscall number
18;	NOARGS	included, but don't define the syscall args structure
19;
20; The compat options are defined in the syscalls.conf file, and the
21; compat option name is prefixed to the syscall name.  Other than
22; that, they're like NODEF (for 'compat' options), or STD (for
23; 'libcompat' options).
24;
25; The type-dependent arguments are as follows:
26; For STD, NODEF, NOARGS, and compat syscalls:
27;	{ pseudo-proto } [alias]
28; For other syscalls:
29;	[comment]
30;
31; #ifdef's, etc. may be included, and are copied to the output files.
32; #include's are copied to the syscall names and switch definition files only.
33
34#if defined(_KERNEL_OPT)
35#include "opt_ktrace.h"
36#include "opt_ntp.h"
37#include "opt_sysv.h"
38#include "opt_compat_43.h"
39#include "opt_posix.h"
40#endif
41
42#include <sys/param.h>
43#include <sys/systm.h>
44#include <sys/signal.h>
45#include <sys/mount.h>
46#include <sys/syscallargs.h>
47
48#include <compat/sys/signal.h>
49#include <compat/sys/time.h>
50
51#include <compat/freebsd/freebsd_syscallargs.h>
52
53#include <machine/freebsd_machdep.h>
54
55%%
56
57; Reserved/unimplemented system calls in the range 0-150 inclusive
58; are reserved for use in future Berkeley releases.
59; Additional system calls implemented in vendor and other
60; redistributions should be placed in the reserved range at the end
61; of the current calls.
62
630	NOARGS		{ int|sys||nosys(void); } syscall
641	NOARGS		{ int|sys||exit(int rval); }
652	NOARGS		{ int|sys||fork(void); }
663	NOARGS		{ int|sys||read(int fd, char *buf, u_int nbyte); }
674	NOARGS		{ int|sys||write(int fd, char *buf, u_int nbyte); }
685	NOARGS		{ int|sys||open(const char *path, int flags, int mode); }
696	NOARGS		{ int|sys||close(int fd); }
707	NOARGS		{ int|compat_50_sys||wait4(int pid, int *status, \
71			    int options, struct rusage50 *rusage); }
728	NOARGS		{ int|compat_43_sys||creat(const char *path, \
73			    int mode); } ocreat
749	NOARGS		{ int|sys||link(const char *path, const char *link); }
7510	NOARGS		{ int|sys||unlink(const char *path); }
7611	OBSOL		execv
7712	NOARGS		{ int|sys||chdir(const char *path); }
7813	NOARGS		{ int|sys||fchdir(int fd); }
7914	NOARGS		{ int|compat_50_sys||mknod(const char *path, int mode, int dev); }
8015	NOARGS		{ int|sys||chmod(const char *path, int mode); }
8116	NOARGS		{ int|sys||chown(const char *path, int uid, int gid); }
8217	NOARGS		{ int|sys||obreak(char *nsize); } break
8318	NOARGS		{ int|compat_20_sys||getfsstat(struct statfs12 *buf, \
84			    long bufsize, int flags); }
8519	NOARGS		{ long|compat_43_sys||lseek(int fd, long offset, \
86			    int whence); } olseek
8720	NOARGS		{ pid_t|sys||getpid_with_ppid(void); }
8821	STD		{ int|freebsd_sys||mount(int type, const char *path, \
89			    int flags, void *data); }
9022	NOARGS		{ int|sys||unmount(const char *path, int flags); }
9123	NOARGS		{ int|sys||setuid(uid_t uid); }
9224	NOARGS		{ uid_t|sys||getuid_with_euid(void); }
9325	NOARGS		{ uid_t|sys||geteuid(void); }
9426	STD		{ int|freebsd_sys||ptrace(int req, pid_t pid, \
95			    void *addr, int data); }
9627	NOARGS		{ int|sys||recvmsg(int s, struct msghdr *msg, \
97			    int flags); }
9828	NOARGS		{ int|sys||sendmsg(int s, void *msg, int flags); }
9929	NOARGS		{ int|sys||recvfrom(int s, void *buf, size_t len, \
100			    int flags, void *from, int *fromlenaddr); }
10130	NOARGS		{ int|sys||accept(int s, void *name, int *anamelen); }
10231	NOARGS		{ int|sys||getpeername(int fdes, void *asa, \
103			    int *alen); }
10432	NOARGS		{ int|sys||getsockname(int fdes, void *asa, \
105			    int *alen); }
10633	NOARGS		{ int|sys||access(const char *path, int flags); }
10734	NOARGS		{ int|sys||chflags(const char *path, int flags); }
10835	NOARGS		{ int|sys||fchflags(int fd, int flags); }
10936	NOARGS		{ int|sys||sync(void); }
11037	NOARGS		{ int|sys||kill(int pid, int signum); }
11138	NOARGS		{ int|compat_43_sys||stat(const char *path, \
112			    struct stat43 *ub); } stat43
11339	NOARGS		{ pid_t|sys||getppid(void); }
11440	NOARGS		{ int|compat_43_sys||lstat(const char *path, \
115			    struct stat43 *ub); } lstat43
11641	NOARGS		{ int|sys||dup(u_int fd); }
11742	NOARGS		{ int|sys||pipe(void); }
11843	NOARGS		{ gid_t|sys||getegid(void); }
11944	NOARGS		{ int|sys||profil(void *samples, u_int size, \
120			    u_int offset, u_int scale); }
121#ifdef KTRACE
12245	NOARGS		{ int|sys||ktrace(char *fname, int ops, int facs, \
123			    int pid); }
124#else
12545	EXCL		ktrace
126#endif
12746	NOARGS		{ int|compat_13_sys||sigaction(int signum, \
128			    const struct sigaction13 *nsa, \
129			    struct sigaction13 *osa); }
13047	NOARGS		{ gid_t|sys||getgid_with_egid(void); }
13148	NOARGS		{ int|compat_13_sys||sigprocmask(int how, \
132			    int mask); }
13349	NOARGS		{ int|sys||__getlogin(char *namebuf, u_int namelen); }
13450	NOARGS		{ int|sys||__setlogin(char *namebuf); }
13551	NOARGS		{ int|sys||acct(char *path); }
13652	NOARGS		{ int|compat_13_sys||sigpending(void); }
13753	NOARGS		{ int|compat_13_sys||sigaltstack( \
138			    const struct sigaltstack13 *nss, \
139			    struct sigaltstack13 *oss); }
14054	STD		{ int|freebsd_sys||ioctl(int fd, u_long com, \
141			    void *data); }
14255	NOARGS		{ int|sys||reboot(int opt); } oreboot
14356	NOARGS		{ int|sys||revoke(const char *path); }
14457	NOARGS		{ int|sys||symlink(const char *path, const char *link); }
14558	NOARGS		{ int|sys||readlink(const char *path, \
146			    char *buf, int count); }
14759	NOARGS		{ int|sys||execve(const char *path, \
148			    char **argp, char **envp); }
14960	NOARGS		{ int|sys||umask(int newmask); }
15061	NOARGS		{ int|sys||chroot(const char *path); }
15162	NOARGS		{ int|compat_43_sys||fstat(int fd, struct stat43 *sb); } \
152			    fstat43
15363	NOARGS		{ int|compat_43_sys||getkerninfo(int op, char *where, \
154			    int *size, int arg); } ogetkerninfo
15564	NOARGS		{ int|compat_43_sys||getpagesize(void); } ogetpagesize
15665	STD		{ int|freebsd_sys||msync(void *addr, size_t len, \
157			    int flags); }
15866	NOARGS		{ int|sys||vfork(void); }
15967	OBSOL		vread
16068	OBSOL		vwrite
16169	NOARGS		{ int|sys||sbrk(intptr_t incr); }
16270	NOARGS		{ int|sys||sstk(int incr); }
16371	NOARGS		{ int|compat_43_sys||mmap(void *addr, size_t len, \
164			    int prot, int flags, int fd, long pos); } ommap
16572	NOARGS		{ int|sys||ovadvise(int anom); } vadvise
16673	NOARGS		{ int|sys||munmap(void *addr, size_t len); }
16774	NOARGS		{ int|sys||mprotect(void *addr, size_t len, \
168			    int prot); }
16975	NOARGS		{ int|sys||madvise(void *addr, size_t len, \
170			    int behav); }
17176	OBSOL		vhangup
17277	OBSOL		vlimit
17378	NOARGS		{ int|sys||mincore(void *addr, size_t len, char *vec); }
17479	NOARGS		{ int|sys||getgroups(u_int gidsetsize, gid_t *gidset); }
17580	NOARGS		{ int|sys||setgroups(u_int gidsetsize, gid_t *gidset); }
17681	NOARGS		{ int|sys||getpgrp(void); }
17782	NOARGS		{ int|sys||setpgid(int pid, int pgid); }
17883	NOARGS		{ int|compat_50_sys||setitimer(u_int which, \
179			    struct itimerval50 *itv, struct itimerval50 *oitv); }
18084	NOARGS		{ int|compat_43_sys||wait(void); } owait
18185	NOARGS		{ int|compat_12_sys||swapon(char *name); }
18286	NOARGS		{ int|compat_50_sys||getitimer(u_int which, \
183			    struct itimerval50 *itv); }
18487	NOARGS		{ int|compat_43_sys||gethostname(char *hostname, \
185			    u_int len); } ogethostname
18688	NOARGS		{ int|compat_43_sys||sethostname(char *hostname, \
187			    u_int len); } osethostname
18889	NOARGS		{ int|compat_43_sys||getdtablesize(void); } \
189			    ogetdtablesize
19090	NOARGS		{ int|sys||dup2(u_int from, u_int to); }
19191	UNIMPL		getdopt
19292	NOARGS		{ int|sys||fcntl(int fd, int cmd, void *arg); }
19393	NOARGS		{ int|compat_50_sys||select(u_int nd, fd_set *in, \
194			    fd_set *ou, fd_set *ex, struct timeval50 *tv); }
19594	UNIMPL		setdopt
19695	NOARGS		{ int|sys||fsync(int fd); }
19796	NOARGS		{ int|sys||setpriority(int which, int who, int prio); }
19897	NOARGS		{ int|compat_30_sys||socket(int domain, int type, int protocol); }
19998	NOARGS		{ int|sys||connect(int s, void *name, int namelen); }
20099	NOARGS		{ int|compat_43_sys||accept(int s, void *name, \
201			    int *anamelen); } oaccept
202100	NOARGS		{ int|sys||getpriority(int which, int who); }
203101	NOARGS		{ int|compat_43_sys||send(int s, void *buf, int len, \
204			    int flags); } osend
205102	NOARGS		{ int|compat_43_sys||recv(int s, void *buf, int len, \
206			    int flags); } orecv
207103	STD		{ int|freebsd_sys||sigreturn( \
208			    struct freebsd_sigcontext *scp); }
209104	NOARGS		{ int|sys||bind(int s, void *name, int namelen); }
210105	NOARGS		{ int|sys||setsockopt(int s, int level, int name, \
211			    void *val, int valsize); }
212106	NOARGS		{ int|sys||listen(int s, int backlog); }
213107	OBSOL		vtimes
214108	NOARGS		{ int|compat_43_sys||sigvec(int signum, \
215			    struct sigvec *nsv, struct sigvec *osv); } osigvec
216109	NOARGS		{ int|compat_43_sys||sigblock(int mask); } osigblock
217110	NOARGS		{ int|compat_43_sys||sigsetmask(int mask); } osigsetmask
218111	NOARGS		{ int|compat_13_sys||sigsuspend(int mask); }
219112	NOARGS		{ int|compat_43_sys||sigstack(struct sigstack *nss, \
220			    struct sigstack *oss); } osigstack
221113	NOARGS		{ int|compat_43_sys||recvmsg(int s, \
222			    struct omsghdr *msg, int flags); } orecvmsg
223114	NOARGS		{ int|compat_43_sys||sendmsg(int s, void *msg, \
224			    int flags); } osendmsg
225#ifdef TRACE
226115	NOARGS		{ int|sys||vtrace(int request, int value); }
227#else
228115	OBSOL		vtrace
229#endif
230116	NOARGS		{ int|compat_50_sys||gettimeofday(struct timeval50 *tp, \
231			    struct timezone *tzp); }
232117	NOARGS		{ int|compat_50_sys||getrusage(int who, \
233			    struct rusage50 *rusage); }
234118	NOARGS		{ int|sys||getsockopt(int s, int level, int name, \
235			    void *val, int *avalsize); }
236119	OBSOL		resuba
237120	NOARGS		{ int|sys||readv(int fd, struct iovec *iovp, \
238			    u_int iovcnt); }
239121	NOARGS		{ int|sys||writev(int fd, struct iovec *iovp, \
240			    u_int iovcnt); }
241122	NOARGS		{ int|compat_50_sys||settimeofday(struct timeval50 *tv, \
242			    struct timezone50 *tzp); }
243123	NOARGS		{ int|sys||fchown(int fd, int uid, int gid); }
244124	NOARGS		{ int|sys||fchmod(int fd, int mode); }
245125	NOARGS		{ int|compat_43_sys||recvfrom(int s, void *buf, \
246			    size_t len, int flags, void *from, \
247			    int *fromlenaddr); } orecvfrom
248126	NOARGS		{ int|sys||setreuid(int ruid, int euid); }
249127	NOARGS		{ int|sys||setregid(int rgid, int egid); }
250128	NOARGS		{ int|sys||rename(const char *from, const char *to); }
251129	NOARGS		{ int|compat_43_sys||truncate(const char *path, \
252			    long length); } otruncate
253130	NOARGS		{ int|compat_43_sys||ftruncate(int fd, long length); } \
254			    oftruncate
255131	NOARGS		{ int|sys||flock(int fd, int how); }
256132	NOARGS		{ int|sys||mkfifo(const char *path, int mode); }
257133	NOARGS		{ int|sys||sendto(int s, void *buf, size_t len, \
258			    int flags, void *to, int tolen); }
259134	NOARGS		{ int|sys||shutdown(int s, int how); }
260135	NOARGS		{ int|sys||socketpair(int domain, int type, \
261			    int protocol, int *rsv); }
262136	NOARGS		{ int|sys||mkdir(const char *path, int mode); }
263137	NOARGS		{ int|sys||rmdir(const char *path); }
264138	NOARGS		{ int|compat_50_sys||utimes(char *path, \
265			    struct timeval50 *tptr); }
266139	OBSOL		4.2 sigreturn
267140	NOARGS		{ int|compat_50_sys||adjtime(struct timeval50 *delta, \
268			    struct timeval50 *olddelta); }
269141	NOARGS		{ int|compat_43_sys||getpeername(int fdes, void *asa, \
270			    int *alen); } ogetpeername
271142	NOARGS		{ int32_t|compat_43_sys||gethostid(void); } ogethostid
272143	NOARGS		{ int|compat_43_sys||sethostid(int32_t hostid); } \
273			    osethostid
274144	NOARGS		{ int|compat_43_sys||getrlimit(u_int which, \
275			    struct orlimit *rlp); } ogetrlimit
276145	NOARGS		{ int|compat_43_sys||setrlimit(u_int which, \
277			    struct orlimit *rlp); } osetrlimit
278146	NOARGS		{ int|compat_43_sys||killpg(int pgid, int signum); } \
279			    okillpg
280147	NOARGS		{ int|sys||setsid(void); }
281148	NOARGS		{ int|compat_50_sys||quotactl(char *path, int cmd, \
282			    int uid, void *arg); }
283149	NOARGS		{ int|compat_43_sys||quota(void); } oquota
284150	NOARGS		{ int|compat_43_sys||getsockname(int fdec, void *asa, \
285			    int *alen); } ogetsockname
286
287; Syscalls 151-180 inclusive are reserved for vendor-specific
288; system calls.  (This includes various calls added for compatibity
289; with other Unix variants.)
290; Some of these calls are now supported by BSD...
291151	UNIMPL		sem_lock
292152	UNIMPL		sem_wakeup
293153	UNIMPL		asyncdaemon
294154	UNIMPL
295155	UNIMPL		nfssvc
296156	NOARGS		{ int|compat_43_sys||getdirentries(int fd, char *buf, \
297			    u_int count, long *basep); } ogetdirentries
298157	NOARGS		{ int|compat_20_sys||statfs(const char *path, \
299			    struct statfs12 *buf); }
300158	NOARGS		{ int|compat_20_sys||fstatfs(int fd, \
301			    struct statfs12 *buf); }
302159	UNIMPL
303160	UNIMPL
304161	NOARGS		{ int|compat_30_sys||getfh(const char *fname, \
305			    struct compat_30_fhandle *fhp); }
306162	NOARGS		{ int|compat_09_sys||getdomainname(char *domainname, \
307			    int len); }
308163	NOARGS		{ int|compat_09_sys||setdomainname(char *domainname, \
309			    int len); }
310164	NOARGS		{ int|compat_09_sys||uname(struct outsname *name); }
311165	NOARGS		{ int|sys||sysarch(int op, char *parms); }
312166	STD		{ int|freebsd_sys||rtprio(int function, pid_t pid, \
313			    struct freebsd_rtprio *rtp); }
314167	UNIMPL
315168	UNIMPL
316; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
317#if defined(SYSVSEM) && !defined(_LP64)
318169	STD		{ int|freebsd_sys||semsys(int which, int a2, int a3, \
319			    int a4, int a5); }
320#else
321169	UNIMPL		1.0 semsys
322#endif
323; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
324#if defined(SYSVMSG) && !defined(_LP64)
325170	STD		{ int|freebsd_sys||msgsys(int which, int a2, int a3, \
326			    int a4, int a5, int a6); }
327#else
328170	UNIMPL		1.0 msgsys
329#endif
330; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
331#if defined(SYSVSHM) && !defined(_LP64)
332171	STD		{ int|freebsd_sys||shmsys(int which, int a2, int a3, \
333			    int a4); }
334#else
335171	UNIMPL		1.0 shmsys
336#endif
337172	UNIMPL
338173	NOARGS		{ ssize_t|sys||pread(int fd, void *buf, \
339			    size_t nbyte, int pad, off_t offset); }
340174	NOARGS		{ ssize_t|sys||pwrite(int fd, const void *buf, \
341			    size_t nbyte, int pad, off_t offset); }
342175	UNIMPL
343#ifdef NTP
344176	STD		{ int|freebsd||ntp_adjtime(struct freebsd_timex *tp); }
345#else
346176     EXCL            ntp_adjtime
347#endif
348177	UNIMPL		sfork
349178	UNIMPL		getdescriptor
350179	UNIMPL		setdescriptor
351180	UNIMPL
352
353; Syscalls 180-199 are used by/reserved for BSD
354181	NOARGS		{ int|sys||setgid(gid_t gid); }
355182	NOARGS		{ int|sys||setegid(gid_t egid); }
356183	NOARGS		{ int|sys||seteuid(uid_t euid); }
357184	UNIMPL
358185	UNIMPL
359186	UNIMPL
360187	UNIMPL
361188	NOARGS		{ int|compat_12_sys||stat(const char *path, \
362			    struct stat12 *ub); }
363189	NOARGS		{ int|compat_12_sys||fstat(int fd, \
364			    struct stat12 *sb); }
365190	NOARGS		{ int|compat_12_sys||lstat(const char *path, \
366			    struct stat12 *ub); }
367191	NOARGS		{ int|sys||pathconf(const char *path, int name); }
368192	NOARGS		{ int|sys||fpathconf(int fd, int name); }
369193	UNIMPL
370194	NOARGS		{ int|sys||getrlimit(u_int which, struct rlimit *rlp); }
371195	NOARGS		{ int|sys||setrlimit(u_int which, struct rlimit *rlp); }
372196	NOARGS		{ int|compat_12_sys||getdirentries(int fd, char *buf, \
373			    u_int count, long *basep); }
374197	STD		{ void *|freebsd_sys||mmap(void *addr, size_t len, \
375			    int prot, int flags, int fd, long pad, off_t pos); }
376198	NOARGS		{ int|sys||nosys(void); } __syscall
377199	NOARGS		{ off_t|sys||lseek(int fd, int pad, off_t offset, \
378			    int whence); }
379200	NOARGS		{ int|sys||truncate(const char *path, int pad, \
380			    off_t length); }
381201	NOARGS		{ int|sys||ftruncate(int fd, int pad, off_t length); }
382202	STD		{ int|freebsd_sys||sysctl(int *name, u_int namelen, \
383			    void *old, size_t *oldlenp, void *new, \
384			    size_t newlen); }
385203	NOARGS		{ int|sys||mlock(void *addr, size_t len); }
386204	NOARGS		{ int|sys||munlock(void *addr, size_t len); }
387#ifdef FREEBSD_BASED_ON_44LITE_R2
388205	STD		{ int|freebsd_sys||undelete(char *path); }
389#else
390205	UNIMPL		undelete
391#endif
392206	NOARGS		{ int|compat_50_sys||futimes(int fd, \
393			    const struct timeval50 *tptr); }
394207	NOARGS		{ pid_t|sys||getpgid(pid_t pid); }
395#if 0
396208	NOARGS		{ int|sys||reboot(int opt, char *bootstr); }
397#else
398208	UNIMPL		newreboot
399#endif
400209	NOARGS		{ int|sys||poll(struct pollfd *fds, u_int nfds, \
401			    int timeout); }
402;
403; Syscalls 210-219 are reserved for dynamically loaded syscalls
404;
405210	UNIMPL
406211	UNIMPL
407212	UNIMPL
408213	UNIMPL
409214	UNIMPL
410215	UNIMPL
411216	UNIMPL
412217	UNIMPL
413218	UNIMPL
414219	UNIMPL
415;
416; Syscalls 220-239 are reserved for syscalls imported from NetBSD
417;
418#ifdef SYSVSEM
419220	NOARGS		{ int|compat_14_sys||__semctl(int semid, int semnum, \
420			    int cmd, union __semun *arg); }
421221	NOARGS		{ int|sys||semget(key_t key, int nsems, int semflg); }
422222	NOARGS		{ int|sys||semop(int semid, struct sembuf *sops, \
423			    u_int nsops); }
424223	NOARGS		{ int|sys||semconfig(int flag); }
425#else
426220	UNIMPL		semctl
427221	UNIMPL		semget
428222	UNIMPL		semop
429223	UNIMPL		semconfig
430#endif
431#ifdef SYSVMSG
432224	NOARGS		{ int|compat_14_sys||msgctl(int msqid, int cmd, \
433			    struct msqid14_ds *buf); }
434225	NOARGS		{ int|sys||msgget(key_t key, int msgflg); }
435226	NOARGS		{ int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \
436			    int msgflg); }
437227	NOARGS		{ int|sys||msgrcv(int msqid, void *msgp, size_t msgsz, \
438			    long msgtyp, int msgflg); }
439#else
440224	UNIMPL		msgctl
441225	UNIMPL		msgget
442226	UNIMPL		msgsnd
443227	UNIMPL		msgrcv
444#endif
445#ifdef SYSVSHM
446228	NOARGS		{ int|sys||shmat(int shmid, void *shmaddr, int shmflg); }
447229	NOARGS		{ int|compat_14_sys||shmctl(int shmid, int cmd, \
448			    struct shmid_ds14 *buf); }
449230	NOARGS		{ int|sys||shmdt(void *shmaddr); }
450231	NOARGS		{ int|sys||shmget(key_t key, int size, int shmflg); }
451#else
452228	UNIMPL		shmat
453229	UNIMPL		shmctl
454230	UNIMPL		shmdt
455231	UNIMPL		shmget
456#endif
457;
458; XXXX
459232	NOARGS		{ int|compat_50_sys||clock_gettime(clockid_t clock_id, \
460			    struct timespec50 *tp); }
461233	NOARGS		{ int|compat_50_sys||clock_settime(clockid_t clock_id, \
462			    const struct timespec50 *tp); }
463234	NOARGS		{ int|compat_50_sys||clock_getres(clockid_t clock_id, \
464			    struct timespec50 *tp); }
465235	UNIMPL		timer_create
466236	UNIMPL		timer_delete
467237	UNIMPL		timer_settime
468238	UNIMPL		timer_gettime
469239	UNIMPL		timer_getoverrun
470240	NOARGS		{ int|compat_50_sys||nanosleep( \
471			    const struct timespec50 *rqtp, \
472			    struct timespec50 *rmtp); }
473241	UNIMPL
474242	UNIMPL
475243	UNIMPL
476244	UNIMPL
477245	UNIMPL
478246	UNIMPL
479247	UNIMPL
480248	UNIMPL
481249	UNIMPL
482; syscall numbers initially used in OpenBSD
483250	NOARGS		{ int|sys||minherit(void *addr, size_t len, \
484			    int inherit); }
485251	STD		{ int|freebsd_sys||rfork(int flags); }
486252	UNIMPL		openbsd_poll
487253	NOARGS		{ int|sys||issetugid(void); }
488254	NOARGS		{ int|sys||lchown(const char *path, int uid, int gid); }
489255	UNIMPL
490256	UNIMPL
491257	UNIMPL
492258	UNIMPL
493259	UNIMPL
494260	UNIMPL
495261	UNIMPL
496262	UNIMPL
497263	UNIMPL
498264	UNIMPL
499265	UNIMPL
500266	UNIMPL
501267	UNIMPL
502268	UNIMPL
503269	UNIMPL
504270	UNIMPL
505271	UNIMPL
506272	NOARGS		{ int|compat_30_sys||getdents(int fd, char *buf, size_t count); }
507273	UNIMPL
508274	NOARGS		{ int|sys||lchmod(const char *path, mode_t mode); }
509275	NOARGS		{ int|sys||lchown(const char *path, uid_t uid, \
510			    gid_t gid); } netbsd_lchown
511276	NOARGS		{ int|compat_50_sys||lutimes(const char *path, \
512			    const struct timeval50 *tptr); }
513277	NOARGS		{ int|sys|13|msync(void *addr, size_t len, int flags); }
514278	NOARGS		{ int|compat_30_sys|13|stat(const char *path, struct stat13 *ub); }
515279	NOARGS		{ int|compat_30_sys|13|fstat(int fd, struct stat13 *sb); }
516280	NOARGS		{ int|compat_30_sys|13|lstat(const char *path, struct stat13 *ub);}
517281	UNIMPL
518282	UNIMPL
519283	UNIMPL
520284	UNIMPL
521285	UNIMPL
522286	UNIMPL
523287	UNIMPL
524288	UNIMPL
525289	UNIMPL
526290	UNIMPL
527291	UNIMPL
528292	UNIMPL
529293	UNIMPL
530294	UNIMPL
531295	UNIMPL
532296	UNIMPL
533297	NOARGS		{ int|compat_20_sys||fhstatfs(const struct	\
534			    compat_30_fhandle *fhp, \
535			    struct statfs12 *buf); }
536298	NOARGS		{ int|compat_30_sys||fhopen(const	\
537			    struct compat_30_fhandle *fhp, int flags); }
538299	NOARGS		{ int|compat_30_sys||fhstat(const 	\
539			    struct cocmpat_30_fhandlez *fhp, 	\
540			    struct stat13 *sb); }
541; syscall numbers for FreeBSD
542300	UNIMPL		modnext
543301	UNIMPL		modstat
544302	UNIMPL		modfnext
545303	UNIMPL		modfind
546304	UNIMPL		kldload
547305	UNIMPL		kldunload
548306	UNIMPL		kldfind
549307	UNIMPL		kldnext
550308	UNIMPL		kldstat
551309	UNIMPL		kldfirstmod
552310	NOARGS		{ pid_t|sys||getsid(pid_t pid); }
553311	UNIMPL		setresuid
554312	UNIMPL		setresgid
555313	UNIMPL		signanosleep
556314	UNIMPL		aio_return
557315	UNIMPL		aio_suspend
558316	UNIMPL		aio_cancel
559317	UNIMPL		aio_error
560318	UNIMPL		aio_read
561319	UNIMPL		aio_write
562320	UNIMPL		lio_listio
563321	NOARGS		{ void|freebsd_sys||yield(void); }
564322	UNIMPL		thr_sleep
565323	UNIMPL		thr_wakeup
566324	NOARGS		{ int|sys||mlockall(int flags); }
567325	NOARGS		{ int|sys||munlockall(void); }
568326	NOARGS		{ int|sys||__getcwd(char *bufp, size_t length); }
569327	STD		{ int|freebsd_sys||sched_setparam(pid_t pid, \
570			    const struct freebsd_sched_param *sp); }
571328	STD		{ int|freebsd_sys||sched_getparam(pid_t pid, \
572			    struct freebsd_sched_param *sp); }
573329	STD		{ int|freebsd_sys||sched_setscheduler(pid_t pid, \
574			    int policy, const struct sched_param *sp); }
575330	STD		{ int|freebsd_sys||sched_getscheduler(pid_t pid); }
576331	STD		{ int|freebsd_sys||sched_yield(void); }
577332	STD		{ int|freebsd_sys||sched_get_priority_max(int policy); }
578333	STD		{ int|freebsd_sys||sched_get_priority_min(int policy); }
579334	UNIMPL		sched_rr_get_interval
580335	STD		{ int|freebsd_sys||utrace(void *addr, size_t len); }
581336	UNIMPL		sendfile
582337	UNIMPL		kldsym
583338	UNIMPL		jail
584339	UNIMPL		pioctl
585340	NOARGS		{ int|sys|14|sigprocmask(int how, \
586			    const sigset_t *set, \
587			    sigset_t *oset); }
588341	NOARGS		{ int|sys|14|sigsuspend(const sigset_t *set); }
589342	STD		{ int|freebsd_sys||sigaction4(int signum, \
590			    const struct freebsd_sigaction4 *nsa, \
591			    struct freebsd_sigaction4 *osa); }
592343	NOARGS		{ int|sys|14|sigpending(const sigset_t *set); }
593344	UNIMPL		4.0 sigreturn
594345	UNIMPL		sigtimedwait
595346	UNIMPL		sigwaitinfo
596347	UNIMPL		__acl_get_file
597348	UNIMPL		__acl_set_file
598349	UNIMPL		__acl_get_fd
599350	UNIMPL		__acl_set_fd
600351	UNIMPL		__acl_delete_file
601352	UNIMPL		__acl_delete_fd
602353	UNIMPL		__acl_aclcheck_file
603354	UNIMPL		__acl_aclcheck_fd
604355	UNIMPL		extattrctl
605356	UNIMPL		extattr_set_file
606357	UNIMPL		extattr_get_file
607358	UNIMPL		extattr_delete_file
608359	UNIMPL		aio_waitcomplete
609360	UNIMPL		getresuid
610361	UNIMPL		getresgid
611362	UNIMPL		kqueue
612363	UNIMPL		kevent
613364	UNIMPL		__cap_get_proc
614365	UNIMPL		__cap_set_proc
615366	UNIMPL		__cap_get_fd
616367	UNIMPL		__cap_get_file
617368	UNIMPL		__cap_set_fd
618369	UNIMPL		__cap_set_file
619370	UNIMPL		lkmressym
620371	UNIMPL		extattr_set_fd
621372	UNIMPL		extattr_get_fd
622373	UNIMPL		extattr_delete_fd
623374	UNIMPL		__setugid
624375	UNIMPL		nfsclnt
625376	UNIMPL		eaccess
626377	UNIMPL		afs_syscall
627378	UNIMPL		nmount
628379	UNIMPL		kse_exit
629380	UNIMPL		kse_wakeup
630381	UNIMPL		kse_create
631382	UNIMPL		kse_thr_interrupt
632383	UNIMPL		kse_release
633384	UNIMPL		__mac_get_proc
634385	UNIMPL		__mac_set_proc
635386	UNIMPL		__mac_get_fd
636387	UNIMPL		__mac_get_file
637388	UNIMPL		__mac_set_fd
638389	UNIMPL		__mac_set_file
639390	UNIMPL		kenv
640391	NOARGS		{ int|sys||lchflags(const char *path, u_long flags); }
641392	NOARGS		{ int|sys||uuidgen(struct uuid *store, int count); }
642393	UNIMPL		sendfile
643394	UNIMPL		mac_syscall
644395	UNIMPL		getfsstat
645396	UNIMPL		statfs
646397	UNIMPL		fsstatfs
647398	UNIMPL		fhstatfs
648399	UNIMPL		nosys
649#if defined(P1003_1B_SEMAPHORE) || !defined(_KERNEL)
650400	NOARGS		{ int|sys||_ksem_close(intptr_t id); }
651401	NOARGS		{ int|sys||_ksem_post(intptr_t id); }
652402	NOARGS		{ int|sys||_ksem_wait(intptr_t id); }
653403	NOARGS		{ int|sys||_ksem_trywait(intptr_t id); }
654404	UNIMPL		ksem_init
655405	UNIMPL		ksem_open
656406	NOARGS		{ int|sys||_ksem_unlink(const char *name); }
657407	NOARGS		{ int|sys||_ksem_getvalue(intptr_t id, \
658			    unsigned int *value); }
659408	NOARGS		{ int|sys||_ksem_destroy(intptr_t id); }
660#else
661400	EXCL		ksem_close
662401	EXCL		ksem_post
663402	EXCL		ksem_wait
664403	EXCL		ksem_trywait
665404	EXCL		ksem_init
666405	EXCL		ksem_open
667406	EXCL		ksem_unlink
668407	EXCL		ksem_getvalue
669408	EXCL		ksem_destroy
670#endif
671409	UNIMPL		__mac_get_pid
672410	UNIMPL		__mac_get_link
673411	UNIMPL		__mac_set_link
674412	UNIMPL		extattr_set_link
675413	UNIMPL		extattr_get_link
676414	UNIMPL		extattr_delete_link
677415	UNIMPL		__mac_execve
678416	UNIMPL		sigaction
679417	UNIMPL		sigreturn
680418	UNIMPL		__xstat
681419	UNIMPL		__xfstat
682420	UNIMPL		__xlstat
683421	UNIMPL		getcontext
684422	UNIMPL		setcontext
685423	UNIMPL		swapcontext
686424	UNIMPL		swapoff
687425	UNIMPL		__acl_get_link
688426	UNIMPL		__acl_set_link
689427	UNIMPL		__acl_delete_link
690428	UNIMPL		__acl_aclcheck_link
691429	UNIMPL		sigwait
692430	UNIMPL		thr_create
693431	UNIMPL		thr_exit
694432	UNIMPL		thr_self
695433	UNIMPL		thr_kill
696434	UNIMPL		_umtx_lock
697435	UNIMPL		_umtx_unlock
698436	UNIMPL		jail_attach
699437	UNIMPL		extattr_list_fd
700438	UNIMPL		extattr_list_file
701439	UNIMPL		extattr_list_link
702