xref: /netbsd-src/sys/compat/freebsd/syscalls.master (revision 41068958baefa89d996318c9a2a6858d2312f2b8)
1	$NetBSD: syscalls.master,v 1.73 2019/06/18 01:42:36 christos 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_quota.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 <compat/freebsd/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(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	OBSOL		sbrk
16270	OBSOL		sstk
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(int from, 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); }
281#if defined(QUOTA) || !defined(_KERNEL_OPT)
282148	NOARGS		{ int|compat_50_sys||quotactl(char *path, int cmd, \
283			    int uid, void *arg); }
284149	NOARGS		{ int|compat_43_sys||quota(void); } oquota
285#else
286148	EXCL		compat_50_sys_quotactl
287149	EXCL		compat_43_sys_quota
288#endif
289150	NOARGS		{ int|compat_43_sys||getsockname(int fdec, void *asa, \
290			    int *alen); } ogetsockname
291
292; Syscalls 151-180 inclusive are reserved for vendor-specific
293; system calls.  (This includes various calls added for compatibity
294; with other Unix variants.)
295; Some of these calls are now supported by BSD...
296151	UNIMPL		sem_lock
297152	UNIMPL		sem_wakeup
298153	UNIMPL		asyncdaemon
299154	UNIMPL
300155	UNIMPL		nfssvc
301156	NOARGS		{ int|compat_43_sys||getdirentries(int fd, char *buf, \
302			    u_int count, long *basep); } ogetdirentries
303157	NOARGS		{ int|compat_20_sys||statfs(const char *path, \
304			    struct statfs12 *buf); }
305158	NOARGS		{ int|compat_20_sys||fstatfs(int fd, \
306			    struct statfs12 *buf); }
307159	UNIMPL
308160	UNIMPL
309161	NOARGS		{ int|compat_30_sys||getfh(const char *fname, \
310			    struct compat_30_fhandle *fhp); }
311162	NOARGS		{ int|compat_09_sys||getdomainname(char *domainname, \
312			    int len); }
313163	NOARGS		{ int|compat_09_sys||setdomainname(char *domainname, \
314			    int len); }
315164	NOARGS		{ int|compat_09_sys||uname(struct outsname *name); }
316165	NOARGS		{ int|sys||sysarch(int op, char *parms); }
317166	STD		{ int|freebsd_sys||rtprio(int function, pid_t pid, \
318			    struct freebsd_rtprio *rtp); }
319167	UNIMPL
320168	UNIMPL
321; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
322#if defined(SYSVSEM) && !defined(_LP64)
323169	STD		{ int|freebsd_sys||semsys(int which, int a2, int a3, \
324			    int a4, int a5); }
325#else
326169	UNIMPL		1.0 semsys
327#endif
328; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
329#if defined(SYSVMSG) && !defined(_LP64)
330170	STD		{ int|freebsd_sys||msgsys(int which, int a2, int a3, \
331			    int a4, int a5, int a6); }
332#else
333170	UNIMPL		1.0 msgsys
334#endif
335; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
336#if defined(SYSVSHM) && !defined(_LP64)
337171	STD		{ int|freebsd_sys||shmsys(int which, int a2, int a3, \
338			    int a4); }
339#else
340171	UNIMPL		1.0 shmsys
341#endif
342172	UNIMPL
343173	NOARGS		{ ssize_t|sys||pread(int fd, void *buf, \
344			    size_t nbyte, int pad, off_t offset); }
345174	NOARGS		{ ssize_t|sys||pwrite(int fd, const void *buf, \
346			    size_t nbyte, int pad, off_t offset); }
347175	UNIMPL
348#ifdef NTP
349176	STD		{ int|freebsd||ntp_adjtime(struct freebsd_timex *tp); }
350#else
351176     EXCL            ntp_adjtime
352#endif
353177	UNIMPL		sfork
354178	UNIMPL		getdescriptor
355179	UNIMPL		setdescriptor
356180	UNIMPL
357
358; Syscalls 180-199 are used by/reserved for BSD
359181	NOARGS		{ int|sys||setgid(gid_t gid); }
360182	NOARGS		{ int|sys||setegid(gid_t egid); }
361183	NOARGS		{ int|sys||seteuid(uid_t euid); }
362184	UNIMPL
363185	UNIMPL
364186	UNIMPL
365187	UNIMPL
366188	NOARGS		{ int|compat_12_sys||stat(const char *path, \
367			    struct stat12 *ub); }
368189	NOARGS		{ int|compat_12_sys||fstat(int fd, \
369			    struct stat12 *sb); }
370190	NOARGS		{ int|compat_12_sys||lstat(const char *path, \
371			    struct stat12 *ub); }
372191	NOARGS		{ int|sys||pathconf(const char *path, int name); }
373192	NOARGS		{ int|sys||fpathconf(int fd, int name); }
374193	UNIMPL
375194	NOARGS		{ int|sys||getrlimit(u_int which, struct rlimit *rlp); }
376195	NOARGS		{ int|sys||setrlimit(u_int which, struct rlimit *rlp); }
377196	NOARGS		{ int|compat_12_sys||getdirentries(int fd, char *buf, \
378			    u_int count, long *basep); }
379197	STD		{ void *|freebsd_sys||mmap(void *addr, size_t len, \
380			    int prot, int flags, int fd, long pad, off_t pos); }
381198	NOARGS		{ int|sys||nosys(void); } __syscall
382199	NOARGS		{ off_t|sys||lseek(int fd, int pad, off_t offset, \
383			    int whence); }
384200	NOARGS		{ int|sys||truncate(const char *path, int pad, \
385			    off_t length); }
386201	NOARGS		{ int|sys||ftruncate(int fd, int pad, off_t length); }
387202	STD		{ int|freebsd_sys||sysctl(int *name, u_int namelen, \
388			    void *old, size_t *oldlenp, void *new, \
389			    size_t newlen); }
390203	NOARGS		{ int|sys||mlock(void *addr, size_t len); }
391204	NOARGS		{ int|sys||munlock(void *addr, size_t len); }
392#ifdef FREEBSD_BASED_ON_44LITE_R2
393205	STD		{ int|freebsd_sys||undelete(char *path); }
394#else
395205	UNIMPL		undelete
396#endif
397206	NOARGS		{ int|compat_50_sys||futimes(int fd, \
398			    const struct timeval50 *tptr); }
399207	NOARGS		{ pid_t|sys||getpgid(pid_t pid); }
400#if 0
401208	NOARGS		{ int|sys||reboot(int opt, char *bootstr); }
402#else
403208	UNIMPL		newreboot
404#endif
405209	NOARGS		{ int|sys||poll(struct pollfd *fds, u_int nfds, \
406			    int timeout); }
407;
408; Syscalls 210-219 are reserved for dynamically loaded syscalls
409;
410210	UNIMPL
411211	UNIMPL
412212	UNIMPL
413213	UNIMPL
414214	UNIMPL
415215	UNIMPL
416216	UNIMPL
417217	UNIMPL
418218	UNIMPL
419219	UNIMPL
420;
421; Syscalls 220-239 are reserved for syscalls imported from NetBSD
422;
423#ifdef SYSVSEM
424220	NOARGS		{ int|compat_14_sys||__semctl(int semid, int semnum, \
425			    int cmd, union __semun *arg); }
426221	NOARGS		{ int|sys||semget(key_t key, int nsems, int semflg); }
427222	NOARGS		{ int|sys||semop(int semid, struct sembuf *sops, \
428			    u_int nsops); }
429223	NOARGS		{ int|sys||semconfig(int flag); }
430#else
431220	UNIMPL		semctl
432221	UNIMPL		semget
433222	UNIMPL		semop
434223	UNIMPL		semconfig
435#endif
436#ifdef SYSVMSG
437224	NOARGS		{ int|compat_14_sys||msgctl(int msqid, int cmd, \
438			    struct msqid14_ds *buf); }
439225	NOARGS		{ int|sys||msgget(key_t key, int msgflg); }
440226	NOARGS		{ int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \
441			    int msgflg); }
442227	NOARGS		{ int|sys||msgrcv(int msqid, void *msgp, size_t msgsz, \
443			    long msgtyp, int msgflg); }
444#else
445224	UNIMPL		msgctl
446225	UNIMPL		msgget
447226	UNIMPL		msgsnd
448227	UNIMPL		msgrcv
449#endif
450#ifdef SYSVSHM
451228	NOARGS		{ int|sys||shmat(int shmid, void *shmaddr, int shmflg); }
452229	NOARGS		{ int|compat_14_sys||shmctl(int shmid, int cmd, \
453			    struct shmid_ds14 *buf); }
454230	NOARGS		{ int|sys||shmdt(void *shmaddr); }
455231	NOARGS		{ int|sys||shmget(key_t key, int size, int shmflg); }
456#else
457228	UNIMPL		shmat
458229	UNIMPL		shmctl
459230	UNIMPL		shmdt
460231	UNIMPL		shmget
461#endif
462;
463; XXXX
464232	NOARGS		{ int|compat_50_sys||clock_gettime(clockid_t clock_id, \
465			    struct timespec50 *tp); }
466233	NOARGS		{ int|compat_50_sys||clock_settime(clockid_t clock_id, \
467			    const struct timespec50 *tp); }
468234	NOARGS		{ int|compat_50_sys||clock_getres(clockid_t clock_id, \
469			    struct timespec50 *tp); }
470235	UNIMPL		timer_create
471236	UNIMPL		timer_delete
472237	UNIMPL		timer_settime
473238	UNIMPL		timer_gettime
474239	UNIMPL		timer_getoverrun
475240	NOARGS		{ int|compat_50_sys||nanosleep( \
476			    const struct timespec50 *rqtp, \
477			    struct timespec50 *rmtp); }
478241	UNIMPL
479242	UNIMPL
480243	UNIMPL
481244	UNIMPL
482245	UNIMPL
483246	UNIMPL
484247	UNIMPL
485248	UNIMPL
486249	UNIMPL
487; syscall numbers initially used in OpenBSD
488250	NOARGS		{ int|sys||minherit(void *addr, size_t len, \
489			    int inherit); }
490251	STD		{ int|freebsd_sys||rfork(int flags); }
491252	UNIMPL		openbsd_poll
492253	NOARGS		{ int|sys||issetugid(void); }
493254	NOARGS		{ int|sys||lchown(const char *path, int uid, int gid); }
494255	UNIMPL
495256	UNIMPL
496257	UNIMPL
497258	UNIMPL
498259	UNIMPL
499260	UNIMPL
500261	UNIMPL
501262	UNIMPL
502263	UNIMPL
503264	UNIMPL
504265	UNIMPL
505266	UNIMPL
506267	UNIMPL
507268	UNIMPL
508269	UNIMPL
509270	UNIMPL
510271	UNIMPL
511272	NOARGS		{ int|compat_30_sys||getdents(int fd, char *buf, size_t count); }
512273	UNIMPL
513274	NOARGS		{ int|sys||lchmod(const char *path, mode_t mode); }
514275	NOARGS		{ int|sys||lchown(const char *path, uid_t uid, \
515			    gid_t gid); } netbsd_lchown
516276	NOARGS		{ int|compat_50_sys||lutimes(const char *path, \
517			    const struct timeval50 *tptr); }
518277	NOARGS		{ int|sys|13|msync(void *addr, size_t len, int flags); }
519278	NOARGS		{ int|compat_30_sys|13|stat(const char *path, struct stat13 *ub); }
520279	NOARGS		{ int|compat_30_sys|13|fstat(int fd, struct stat13 *sb); }
521280	NOARGS		{ int|compat_30_sys|13|lstat(const char *path, struct stat13 *ub);}
522281	UNIMPL
523282	UNIMPL
524283	UNIMPL
525284	UNIMPL
526285	UNIMPL
527286	UNIMPL
528287	UNIMPL
529288	UNIMPL
530289	UNIMPL
531290	UNIMPL
532291	UNIMPL
533292	UNIMPL
534293	UNIMPL
535294	UNIMPL
536295	UNIMPL
537296	UNIMPL
538297	NOARGS		{ int|compat_20_sys||fhstatfs(const struct	\
539			    compat_30_fhandle *fhp, \
540			    struct statfs12 *buf); }
541298	NOARGS		{ int|compat_30_sys||fhopen(const	\
542			    struct compat_30_fhandle *fhp, int flags); }
543299	NOARGS		{ int|compat_30_sys||fhstat(const 	\
544			    struct cocmpat_30_fhandlez *fhp, 	\
545			    struct stat13 *sb); }
546; syscall numbers for FreeBSD
547300	UNIMPL		modnext
548301	UNIMPL		modstat
549302	UNIMPL		modfnext
550303	UNIMPL		modfind
551304	UNIMPL		kldload
552305	UNIMPL		kldunload
553306	UNIMPL		kldfind
554307	UNIMPL		kldnext
555308	UNIMPL		kldstat
556309	UNIMPL		kldfirstmod
557310	NOARGS		{ pid_t|sys||getsid(pid_t pid); }
558311	UNIMPL		setresuid
559312	UNIMPL		setresgid
560313	UNIMPL		signanosleep
561314	UNIMPL		aio_return
562315	UNIMPL		aio_suspend
563316	UNIMPL		aio_cancel
564317	UNIMPL		aio_error
565318	UNIMPL		aio_read
566319	UNIMPL		aio_write
567320	UNIMPL		lio_listio
568321	NOARGS		{ void|freebsd_sys||yield(void); }
569322	UNIMPL		thr_sleep
570323	UNIMPL		thr_wakeup
571324	NOARGS		{ int|sys||mlockall(int flags); }
572325	NOARGS		{ int|sys||munlockall(void); }
573326	NOARGS		{ int|sys||__getcwd(char *bufp, size_t length); }
574327	STD		{ int|freebsd_sys||sched_setparam(pid_t pid, \
575			    const struct freebsd_sched_param *sp); }
576328	STD		{ int|freebsd_sys||sched_getparam(pid_t pid, \
577			    struct freebsd_sched_param *sp); }
578329	STD		{ int|freebsd_sys||sched_setscheduler(pid_t pid, \
579			    int policy, const struct sched_param *sp); }
580330	STD		{ int|freebsd_sys||sched_getscheduler(pid_t pid); }
581331	STD		{ int|freebsd_sys||sched_yield(void); }
582332	STD		{ int|freebsd_sys||sched_get_priority_max(int policy); }
583333	STD		{ int|freebsd_sys||sched_get_priority_min(int policy); }
584334	UNIMPL		sched_rr_get_interval
585335	STD		{ int|freebsd_sys||utrace(void *addr, size_t len); }
586336	UNIMPL		sendfile
587337	UNIMPL		kldsym
588338	UNIMPL		jail
589339	UNIMPL		pioctl
590340	NOARGS		{ int|sys|14|sigprocmask(int how, \
591			    const sigset_t *set, \
592			    sigset_t *oset); }
593341	NOARGS		{ int|sys|14|sigsuspend(const sigset_t *set); }
594342	STD		{ int|freebsd_sys||sigaction4(int signum, \
595			    const struct freebsd_sigaction4 *nsa, \
596			    struct freebsd_sigaction4 *osa); }
597343	NOARGS		{ int|sys|14|sigpending(const sigset_t *set); }
598344	UNIMPL		4.0 sigreturn
599345	UNIMPL		sigtimedwait
600346	UNIMPL		sigwaitinfo
601347	UNIMPL		__acl_get_file
602348	UNIMPL		__acl_set_file
603349	UNIMPL		__acl_get_fd
604350	UNIMPL		__acl_set_fd
605351	UNIMPL		__acl_delete_file
606352	UNIMPL		__acl_delete_fd
607353	UNIMPL		__acl_aclcheck_file
608354	UNIMPL		__acl_aclcheck_fd
609355	UNIMPL		extattrctl
610356	UNIMPL		extattr_set_file
611357	UNIMPL		extattr_get_file
612358	UNIMPL		extattr_delete_file
613359	UNIMPL		aio_waitcomplete
614360	UNIMPL		getresuid
615361	UNIMPL		getresgid
616362	UNIMPL		kqueue
617363	UNIMPL		kevent
618364	UNIMPL		__cap_get_proc
619365	UNIMPL		__cap_set_proc
620366	UNIMPL		__cap_get_fd
621367	UNIMPL		__cap_get_file
622368	UNIMPL		__cap_set_fd
623369	UNIMPL		__cap_set_file
624370	UNIMPL		lkmressym
625371	UNIMPL		extattr_set_fd
626372	UNIMPL		extattr_get_fd
627373	UNIMPL		extattr_delete_fd
628374	UNIMPL		__setugid
629375	UNIMPL		nfsclnt
630376	UNIMPL		eaccess
631377	UNIMPL		afs_syscall
632378	UNIMPL		nmount
633379	UNIMPL		kse_exit
634380	UNIMPL		kse_wakeup
635381	UNIMPL		kse_create
636382	UNIMPL		kse_thr_interrupt
637383	UNIMPL		kse_release
638384	UNIMPL		__mac_get_proc
639385	UNIMPL		__mac_set_proc
640386	UNIMPL		__mac_get_fd
641387	UNIMPL		__mac_get_file
642388	UNIMPL		__mac_set_fd
643389	UNIMPL		__mac_set_file
644390	UNIMPL		kenv
645391	NOARGS		{ int|sys||lchflags(const char *path, u_long flags); }
646392	NOARGS		{ int|sys||uuidgen(struct uuid *store, int count); }
647393	UNIMPL		sendfile
648394	UNIMPL		mac_syscall
649395	UNIMPL		getfsstat
650396	UNIMPL		statfs
651397	UNIMPL		fsstatfs
652398	UNIMPL		fhstatfs
653399	UNIMPL		nosys
654400	NOARGS		{ int|sys||_ksem_close(intptr_t id); }
655401	NOARGS		{ int|sys||_ksem_post(intptr_t id); }
656402	NOARGS		{ int|sys||_ksem_wait(intptr_t id); }
657403	NOARGS		{ int|sys||_ksem_trywait(intptr_t id); }
658404	UNIMPL		ksem_init
659405	UNIMPL		ksem_open
660406	NOARGS		{ int|sys||_ksem_unlink(const char *name); }
661407	NOARGS		{ int|sys||_ksem_getvalue(intptr_t id, \
662			    unsigned int *value); }
663408	NOARGS		{ int|sys||_ksem_destroy(intptr_t id); }
664409	UNIMPL		__mac_get_pid
665410	UNIMPL		__mac_get_link
666411	UNIMPL		__mac_set_link
667412	UNIMPL		extattr_set_link
668413	UNIMPL		extattr_get_link
669414	UNIMPL		extattr_delete_link
670415	UNIMPL		__mac_execve
671416	UNIMPL		sigaction
672417	UNIMPL		sigreturn
673418	UNIMPL		__xstat
674419	UNIMPL		__xfstat
675420	UNIMPL		__xlstat
676421	UNIMPL		getcontext
677422	UNIMPL		setcontext
678423	UNIMPL		swapcontext
679424	UNIMPL		swapoff
680425	UNIMPL		__acl_get_link
681426	UNIMPL		__acl_set_link
682427	UNIMPL		__acl_delete_link
683428	UNIMPL		__acl_aclcheck_link
684429	UNIMPL		sigwait
685430	UNIMPL		thr_create
686431	UNIMPL		thr_exit
687432	UNIMPL		thr_self
688433	UNIMPL		thr_kill
689434	UNIMPL		_umtx_lock
690435	UNIMPL		_umtx_unlock
691436	UNIMPL		jail_attach
692437	UNIMPL		extattr_list_fd
693438	UNIMPL		extattr_list_file
694439	UNIMPL		extattr_list_link
695