syscalls.master revision 1.57
1	$NetBSD: syscalls.master,v 1.57 2007/03/04 06:01:15 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_nfsserver.h"
37#include "opt_ntp.h"
38#include "opt_sysv.h"
39#include "opt_compat_43.h"
40#include "opt_posix.h"
41
42#include "fs_lfs.h"
43#include "fs_nfs.h"
44#endif
45
46#include <sys/param.h>
47#include <sys/systm.h>
48#include <sys/signal.h>
49#include <sys/mount.h>
50#include <sys/syscallargs.h>
51
52#include <compat/sys/signal.h>
53
54#include <compat/freebsd/freebsd_syscallargs.h>
55
56#include <machine/freebsd_machdep.h>
57
58%%
59
60; Reserved/unimplemented system calls in the range 0-150 inclusive
61; are reserved for use in future Berkeley releases.
62; Additional system calls implemented in vendor and other
63; redistributions should be placed in the reserved range at the end
64; of the current calls.
65
660	NOARGS		{ int sys_nosys(void); } syscall
671	NOARGS		{ int sys_exit(int rval); }
682	NOARGS		{ int sys_fork(void); }
693	NOARGS		{ int sys_read(int fd, char *buf, u_int nbyte); }
704	NOARGS		{ int sys_write(int fd, char *buf, u_int nbyte); }
715	STD		{ int freebsd_sys_open(const char *path, int flags, \
72			    int mode); }
736	NOARGS		{ int sys_close(int fd); }
747	NOARGS		{ int sys_wait4(int pid, int *status, int options, \
75			    struct rusage *rusage); }
768	STD		{ int compat_43_freebsd_sys_creat(const char *path, \
77			    int mode); } ocreat
789	STD		{ int freebsd_sys_link(const char *path, \
79			    const char *link); }
8010	STD		{ int freebsd_sys_unlink(const char *path); }
8111	OBSOL		execv
8212	STD		{ int freebsd_sys_chdir(const char *path); }
8313	NOARGS		{ int sys_fchdir(int fd); }
8414	STD		{ int freebsd_sys_mknod(const char *path, int mode, \
85			    int dev); }
8615	STD		{ int freebsd_sys_chmod(const char *path, int mode); }
8716	STD		{ int freebsd_sys_chown(const char *path, int uid, \
88			    int gid); }
8917	NOARGS		{ int sys_obreak(char *nsize); } break
9018	NOARGS		{ int compat_20_sys_getfsstat(struct statfs12 *buf, \
91			    long bufsize, int flags); }
9219	NOARGS		{ long compat_43_sys_lseek(int fd, long offset, \
93			    int whence); } olseek
9420	NOARGS		{ pid_t sys_getpid_with_ppid(void); }
9521	STD		{ int freebsd_sys_mount(int type, const char *path, \
96			    int flags, void *data); }
9722	STD		{ int freebsd_sys_unmount(const char *path, \
98			    int flags); }
9923	NOARGS		{ int sys_setuid(uid_t uid); }
10024	NOARGS		{ uid_t sys_getuid_with_euid(void); }
10125	NOARGS		{ uid_t sys_geteuid(void); }
10226	STD		{ int freebsd_sys_ptrace(int req, pid_t pid, \
103			    void *addr, int data); }
10427	NOARGS		{ int sys_recvmsg(int s, struct msghdr *msg, \
105			    int flags); }
10628	NOARGS		{ int sys_sendmsg(int s, void *msg, int flags); }
10729	NOARGS		{ int sys_recvfrom(int s, void *buf, size_t len, \
108			    int flags, void *from, int *fromlenaddr); }
10930	NOARGS		{ int sys_accept(int s, void *name, int *anamelen); }
11031	NOARGS		{ int sys_getpeername(int fdes, void *asa, \
111			    int *alen); }
11232	NOARGS		{ int sys_getsockname(int fdes, void *asa, \
113			    int *alen); }
11433	STD		{ int freebsd_sys_access(const char *path, int flags); }
11534	STD		{ int freebsd_sys_chflags(const char *path, \
116			    int flags); }
11735	NOARGS		{ int sys_fchflags(int fd, int flags); }
11836	NOARGS		{ int sys_sync(void); }
11937	NOARGS		{ int sys_kill(int pid, int signum); }
12038	STD		{ int compat_43_freebsd_sys_stat(const char *path, \
121			    struct stat43 *ub); } stat43
12239	NOARGS		{ pid_t sys_getppid(void); }
12340	STD		{ int compat_43_freebsd_sys_lstat(const char *path, \
124			    struct stat43 *ub); } lstat43
12541	NOARGS		{ int sys_dup(u_int fd); }
12642	NOARGS		{ int sys_pipe(void); }
12743	NOARGS		{ gid_t sys_getegid(void); }
12844	NOARGS		{ int sys_profil(void *samples, u_int size, \
129			    u_int offset, u_int scale); }
130#ifdef KTRACE
13145	NOARGS		{ int sys_ktrace(char *fname, int ops, int facs, \
132			    int pid); }
133#else
13445	EXCL		ktrace
135#endif
13646	NOARGS		{ int compat_13_sys_sigaction(int signum, \
137			    const struct sigaction13 *nsa, \
138			    struct sigaction13 *osa); }
13947	NOARGS		{ gid_t sys_getgid_with_egid(void); }
14048	NOARGS		{ int compat_13_sys_sigprocmask(int how, \
141			    int mask); }
14249	NOARGS		{ int sys___getlogin(char *namebuf, u_int namelen); }
14350	NOARGS		{ int sys___setlogin(char *namebuf); }
14451	NOARGS		{ int sys_acct(char *path); }
14552	NOARGS		{ int compat_13_sys_sigpending(void); }
14653	NOARGS		{ int compat_13_sys_sigaltstack( \
147			    const struct sigaltstack13 *nss, \
148			    struct sigaltstack13 *oss); }
14954	STD		{ int freebsd_sys_ioctl(int fd, u_long com, \
150			    void *data); }
15155	NOARGS		{ int sys_reboot(int opt); } oreboot
15256	STD		{ int freebsd_sys_revoke(const char *path); }
15357	STD		{ int freebsd_sys_symlink(const char *path, \
154			    const char *link); }
15558	STD		{ int freebsd_sys_readlink(const char *path, \
156			    char *buf, int count); }
15759	STD		{ int freebsd_sys_execve(const char *path, \
158			    char **argp, char **envp); }
15960	NOARGS		{ int sys_umask(int newmask); }
16061	STD		{ int freebsd_sys_chroot(const char *path); }
16162	NOARGS		{ int compat_43_sys_fstat(int fd, struct stat43 *sb); } \
162			    fstat43
16363	NOARGS		{ int compat_43_sys_getkerninfo(int op, char *where, \
164			    int *size, int arg); } ogetkerninfo
16564	NOARGS		{ int compat_43_sys_getpagesize(void); } ogetpagesize
16665	STD		{ int freebsd_sys_msync(void *addr, size_t len, \
167			    int flags); }
16866	NOARGS		{ int sys_vfork(void); }
16967	OBSOL		vread
17068	OBSOL		vwrite
17169	NOARGS		{ int sys_sbrk(intptr_t incr); }
17270	NOARGS		{ int sys_sstk(int incr); }
17371	NOARGS		{ int compat_43_sys_mmap(void *addr, size_t len, \
174			    int prot, int flags, int fd, long pos); } ommap
17572	NOARGS		{ int sys_ovadvise(int anom); } vadvise
17673	NOARGS		{ int sys_munmap(void *addr, size_t len); }
17774	NOARGS		{ int sys_mprotect(void *addr, size_t len, \
178			    int prot); }
17975	NOARGS		{ int sys_madvise(void *addr, size_t len, \
180			    int behav); }
18176	OBSOL		vhangup
18277	OBSOL		vlimit
18378	NOARGS		{ int sys_mincore(void *addr, size_t len, char *vec); }
18479	NOARGS		{ int sys_getgroups(u_int gidsetsize, gid_t *gidset); }
18580	NOARGS		{ int sys_setgroups(u_int gidsetsize, gid_t *gidset); }
18681	NOARGS		{ int sys_getpgrp(void); }
18782	NOARGS		{ int sys_setpgid(int pid, int pgid); }
18883	NOARGS		{ int sys_setitimer(u_int which, \
189			    struct itimerval *itv, struct itimerval *oitv); }
19084	NOARGS		{ int compat_43_sys_wait(void); } owait
19185	NOARGS		{ int compat_12_sys_swapon(char *name); }
19286	NOARGS		{ int sys_getitimer(u_int which, \
193			    struct itimerval *itv); }
19487	NOARGS		{ int compat_43_sys_gethostname(char *hostname, \
195			    u_int len); } ogethostname
19688	NOARGS		{ int compat_43_sys_sethostname(char *hostname, \
197			    u_int len); } osethostname
19889	NOARGS		{ int compat_43_sys_getdtablesize(void); } \
199			    ogetdtablesize
20090	NOARGS		{ int sys_dup2(u_int from, u_int to); }
20191	UNIMPL		getdopt
20292	NOARGS		{ int sys_fcntl(int fd, int cmd, void *arg); }
20393	NOARGS		{ int sys_select(u_int nd, fd_set *in, fd_set *ou, \
204			    fd_set *ex, struct timeval *tv); }
20594	UNIMPL		setdopt
20695	NOARGS		{ int sys_fsync(int fd); }
20796	NOARGS		{ int sys_setpriority(int which, int who, int prio); }
20897	NOARGS		{ int compat_30_sys_socket(int domain, int type, int protocol); }
20998	NOARGS		{ int sys_connect(int s, void *name, int namelen); }
21099	NOARGS		{ int compat_43_sys_accept(int s, void *name, \
211			    int *anamelen); } oaccept
212100	NOARGS		{ int sys_getpriority(int which, int who); }
213101	NOARGS		{ int compat_43_sys_send(int s, void *buf, int len, \
214			    int flags); } osend
215102	NOARGS		{ int compat_43_sys_recv(int s, void *buf, int len, \
216			    int flags); } orecv
217103	STD		{ int freebsd_sys_sigreturn( \
218			    struct freebsd_sigcontext *scp); }
219104	NOARGS		{ int sys_bind(int s, void *name, int namelen); }
220105	NOARGS		{ int sys_setsockopt(int s, int level, int name, \
221			    void *val, int valsize); }
222106	NOARGS		{ int sys_listen(int s, int backlog); }
223107	OBSOL		vtimes
224108	NOARGS		{ int compat_43_sys_sigvec(int signum, \
225			    struct sigvec *nsv, struct sigvec *osv); } osigvec
226109	NOARGS		{ int compat_43_sys_sigblock(int mask); } osigblock
227110	NOARGS		{ int compat_43_sys_sigsetmask(int mask); } osigsetmask
228111	NOARGS		{ int compat_13_sys_sigsuspend(int mask); }
229112	NOARGS		{ int compat_43_sys_sigstack(struct sigstack *nss, \
230			    struct sigstack *oss); } osigstack
231113	NOARGS		{ int compat_43_sys_recvmsg(int s, \
232			    struct omsghdr *msg, int flags); } orecvmsg
233114	NOARGS		{ int compat_43_sys_sendmsg(int s, void *msg, \
234			    int flags); } osendmsg
235#ifdef TRACE
236115	NOARGS		{ int sys_vtrace(int request, int value); }
237#else
238115	OBSOL		vtrace
239#endif
240116	NOARGS		{ int sys_gettimeofday(struct timeval *tp, \
241			    struct timezone *tzp); }
242117	NOARGS		{ int sys_getrusage(int who, struct rusage *rusage); }
243118	NOARGS		{ int sys_getsockopt(int s, int level, int name, \
244			    void *val, int *avalsize); }
245119	OBSOL		resuba
246120	NOARGS		{ int sys_readv(int fd, struct iovec *iovp, \
247			    u_int iovcnt); }
248121	NOARGS		{ int sys_writev(int fd, struct iovec *iovp, \
249			    u_int iovcnt); }
250122	NOARGS		{ int sys_settimeofday(struct timeval *tv, \
251			    struct timezone *tzp); }
252123	NOARGS		{ int sys_fchown(int fd, int uid, int gid); }
253124	NOARGS		{ int sys_fchmod(int fd, int mode); }
254125	NOARGS		{ int compat_43_sys_recvfrom(int s, void *buf, \
255			    size_t len, int flags, void *from, \
256			    int *fromlenaddr); } orecvfrom
257126	NOARGS		{ int sys_setreuid(int ruid, int euid); }
258127	NOARGS		{ int sys_setregid(int rgid, int egid); }
259128	STD		{ int freebsd_sys_rename(const char *from, \
260			    const char *to); }
261129	STD		{ int compat_43_freebsd_sys_truncate(const char *path, \
262			    long length); } otruncate
263130	NOARGS		{ int compat_43_sys_ftruncate(int fd, long length); } \
264			    oftruncate
265131	NOARGS		{ int sys_flock(int fd, int how); }
266132	STD		{ int freebsd_sys_mkfifo(const char *path, int mode); }
267133	NOARGS		{ int sys_sendto(int s, void *buf, size_t len, \
268			    int flags, void *to, int tolen); }
269134	NOARGS		{ int sys_shutdown(int s, int how); }
270135	NOARGS		{ int sys_socketpair(int domain, int type, \
271			    int protocol, int *rsv); }
272136	STD		{ int freebsd_sys_mkdir(const char *path, int mode); }
273137	STD		{ int freebsd_sys_rmdir(const char *path); }
274138	NOARGS		{ int sys_utimes(char *path, struct timeval *tptr); }
275139	OBSOL		4.2 sigreturn
276140	NOARGS		{ int sys_adjtime(struct timeval *delta, \
277			    struct timeval *olddelta); }
278141	NOARGS		{ int compat_43_sys_getpeername(int fdes, void *asa, \
279			    int *alen); } ogetpeername
280142	NOARGS		{ int32_t compat_43_sys_gethostid(void); } ogethostid
281143	NOARGS		{ int compat_43_sys_sethostid(int32_t hostid); } \
282			    osethostid
283144	NOARGS		{ int compat_43_sys_getrlimit(u_int which, \
284			    struct orlimit *rlp); } ogetrlimit
285145	NOARGS		{ int compat_43_sys_setrlimit(u_int which, \
286			    struct orlimit *rlp); } osetrlimit
287146	NOARGS		{ int compat_43_sys_killpg(int pgid, int signum); } \
288			    okillpg
289147	NOARGS		{ int sys_setsid(void); }
290148	NOARGS		{ int sys_quotactl(char *path, int cmd, int uid, \
291			    void *arg); }
292149	NOARGS		{ int compat_43_sys_quota(void); } oquota
293150	NOARGS		{ int compat_43_sys_getsockname(int fdec, void *asa, \
294			    int *alen); } ogetsockname
295
296; Syscalls 151-180 inclusive are reserved for vendor-specific
297; system calls.  (This includes various calls added for compatibity
298; with other Unix variants.)
299; Some of these calls are now supported by BSD...
300151	UNIMPL		sem_lock
301152	UNIMPL		sem_wakeup
302153	UNIMPL		asyncdaemon
303154	UNIMPL
304#if defined(NFS) || defined(NFSSERVER)
305155	NOARGS		{ int sys_nfssvc(int flag, void *argp); }
306#else
307155	UNIMPL		nfssvc
308#endif
309156	NOARGS		{ int compat_43_sys_getdirentries(int fd, char *buf, \
310			    u_int count, long *basep); } ogetdirentries
311157	STD		{ int freebsd_sys_statfs(const char *path, \
312			    struct statfs12 *buf); }
313158	NOARGS		{ int compat_20_sys_fstatfs(int fd, \
314			    struct statfs12 *buf); }
315159	UNIMPL
316160	UNIMPL
317#ifdef NFS
318161	STD		{ int freebsd_sys_getfh(const char *fname, \
319			    struct compat_30_fhandle *fhp); }
320#else
321161	UNIMPL		getfh
322#endif
323162	NOARGS		{ int compat_09_sys_getdomainname(char *domainname, \
324			    int len); }
325163	NOARGS		{ int compat_09_sys_setdomainname(char *domainname, \
326			    int len); }
327164	NOARGS		{ int compat_09_sys_uname(struct outsname *name); }
328165	NOARGS		{ int sys_sysarch(int op, char *parms); }
329166	STD		{ int freebsd_sys_rtprio(int function, pid_t pid, \
330			    struct freebsd_rtprio *rtp); }
331167	UNIMPL
332168	UNIMPL
333; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
334#if defined(SYSVSEM) && !defined(_LP64)
335169	STD		{ int freebsd_sys_semsys(int which, int a2, int a3, \
336			    int a4, int a5); }
337#else
338169	UNIMPL		1.0 semsys
339#endif
340; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
341#if defined(SYSVMSG) && !defined(_LP64)
342170	STD		{ int freebsd_sys_msgsys(int which, int a2, int a3, \
343			    int a4, int a5, int a6); }
344#else
345170	UNIMPL		1.0 msgsys
346#endif
347; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
348#if defined(SYSVSHM) && !defined(_LP64)
349171	STD		{ int freebsd_sys_shmsys(int which, int a2, int a3, \
350			    int a4); }
351#else
352171	UNIMPL		1.0 shmsys
353#endif
354172	UNIMPL
355173	NOARGS		{ ssize_t sys_pread(int fd, void *buf, \
356			    size_t nbyte, int pad, off_t offset); }
357174	NOARGS		{ ssize_t sys_pwrite(int fd, const void *buf, \
358			    size_t nbyte, int pad, off_t offset); }
359175	UNIMPL
360#ifdef NTP
361176	STD		{ int freebsd_ntp_adjtime(struct freebsd_timex *tp); }
362#else
363176     EXCL            ntp_adjtime
364#endif
365177	UNIMPL		sfork
366178	UNIMPL		getdescriptor
367179	UNIMPL		setdescriptor
368180	UNIMPL
369
370; Syscalls 180-199 are used by/reserved for BSD
371181	NOARGS		{ int sys_setgid(gid_t gid); }
372182	NOARGS		{ int sys_setegid(gid_t egid); }
373183	NOARGS		{ int sys_seteuid(uid_t euid); }
374#ifdef LFS
375184	NOARGS		{ int sys_lfs_bmapv(fsid_t *fsidp, \
376			    struct block_info *blkiov, int blkcnt); }
377185	NOARGS		{ int sys_lfs_markv(fsid_t *fsidp, \
378			    struct block_info *blkiov, int blkcnt); }
379186	NOARGS		{ int sys_lfs_segclean(fsid_t *fsidp, u_long segment); }
380187	NOARGS		{ int sys_lfs_segwait(fsid_t *fsidp, struct timeval *tv); }
381#else
382184	UNIMPL
383185	UNIMPL
384186	UNIMPL
385187	UNIMPL
386#endif
387188	STD		{ int freebsd_sys_stat(const char *path, \
388			    struct stat12 *ub); }
389189	NOARGS		{ int compat_12_sys_fstat(int fd, \
390			    struct stat12 *sb); }
391190	STD		{ int freebsd_sys_lstat(const char *path, \
392			    struct stat12 *ub); }
393191	STD		{ int freebsd_sys_pathconf(const char *path, \
394			    int name); }
395192	NOARGS		{ int sys_fpathconf(int fd, int name); }
396193	UNIMPL
397194	NOARGS		{ int sys_getrlimit(u_int which, struct rlimit *rlp); }
398195	NOARGS		{ int sys_setrlimit(u_int which, struct rlimit *rlp); }
399196	NOARGS		{ int compat_12_sys_getdirentries(int fd, char *buf, \
400			    u_int count, long *basep); }
401197	STD		{ void *freebsd_sys_mmap(void *addr, size_t len, \
402			    int prot, int flags, int fd, long pad, off_t pos); }
403198	NOARGS		{ int sys_nosys(void); } __syscall
404199	NOARGS		{ off_t sys_lseek(int fd, int pad, off_t offset, \
405			    int whence); }
406200	STD		{ int freebsd_sys_truncate(const char *path, int pad, \
407			    off_t length); }
408201	NOARGS		{ int sys_ftruncate(int fd, int pad, off_t length); }
409202	STD		{ int freebsd_sys_sysctl(int *name, u_int namelen, \
410			    void *old, size_t *oldlenp, void *new, \
411			    size_t newlen); }
412203	NOARGS		{ int sys_mlock(void *addr, size_t len); }
413204	NOARGS		{ int sys_munlock(void *addr, size_t len); }
414#ifdef FREEBSD_BASED_ON_44LITE_R2
415205	STD		{ int freebsd_sys_undelete(char *path); }
416#else
417205	UNIMPL		undelete
418#endif
419206	NOARGS		{ int sys_futimes(int fd, const struct timeval *tptr); }
420207	NOARGS		{ pid_t sys_getpgid(pid_t pid); }
421#if 0
422208	NOARGS		{ int sys_reboot(int opt, char *bootstr); }
423#else
424208	UNIMPL		newreboot
425#endif
426209	NOARGS		{ int sys_poll(struct pollfd *fds, u_int nfds, \
427			    int timeout); }
428;
429; Syscalls 210-219 are reserved for dynamically loaded syscalls
430;
431210	UNIMPL
432211	UNIMPL
433212	UNIMPL
434213	UNIMPL
435214	UNIMPL
436215	UNIMPL
437216	UNIMPL
438217	UNIMPL
439218	UNIMPL
440219	UNIMPL
441;
442; Syscalls 220-239 are reserved for syscalls imported from NetBSD
443;
444#ifdef SYSVSEM
445220	NOARGS		{ int compat_14_sys___semctl(int semid, int semnum, \
446			    int cmd, union __semun *arg); }
447221	NOARGS		{ int sys_semget(key_t key, int nsems, int semflg); }
448222	NOARGS		{ int sys_semop(int semid, struct sembuf *sops, \
449			    u_int nsops); }
450223	NOARGS		{ int sys_semconfig(int flag); }
451#else
452220	UNIMPL		semctl
453221	UNIMPL		semget
454222	UNIMPL		semop
455223	UNIMPL		semconfig
456#endif
457#ifdef SYSVMSG
458224	NOARGS		{ int compat_14_sys_msgctl(int msqid, int cmd, \
459			    struct msqid14_ds *buf); }
460225	NOARGS		{ int sys_msgget(key_t key, int msgflg); }
461226	NOARGS		{ int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \
462			    int msgflg); }
463227	NOARGS		{ int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
464			    long msgtyp, int msgflg); }
465#else
466224	UNIMPL		msgctl
467225	UNIMPL		msgget
468226	UNIMPL		msgsnd
469227	UNIMPL		msgrcv
470#endif
471#ifdef SYSVSHM
472228	NOARGS		{ int sys_shmat(int shmid, void *shmaddr, int shmflg); }
473229	NOARGS		{ int compat_14_sys_shmctl(int shmid, int cmd, \
474			    struct shmid_ds14 *buf); }
475230	NOARGS		{ int sys_shmdt(void *shmaddr); }
476231	NOARGS		{ int sys_shmget(key_t key, int size, int shmflg); }
477#else
478228	UNIMPL		shmat
479229	UNIMPL		shmctl
480230	UNIMPL		shmdt
481231	UNIMPL		shmget
482#endif
483;
484; XXXX
485232	NOARGS		{ int sys_clock_gettime(clockid_t clock_id, \
486			    struct timespec *tp); }
487233	NOARGS		{ int sys_clock_settime(clockid_t clock_id, \
488			    const struct timespec *tp); }
489234	NOARGS		{ int sys_clock_getres(clockid_t clock_id, \
490			    struct timespec *tp); }
491235	UNIMPL		timer_create
492236	UNIMPL		timer_delete
493237	UNIMPL		timer_settime
494238	UNIMPL		timer_gettime
495239	UNIMPL		timer_getoverrun
496240	NOARGS		{ int sys_nanosleep(const struct timespec *rqtp, \
497			    struct timespec *rmtp); }
498241	UNIMPL
499242	UNIMPL
500243	UNIMPL
501244	UNIMPL
502245	UNIMPL
503246	UNIMPL
504247	UNIMPL
505248	UNIMPL
506249	UNIMPL
507; syscall numbers initially used in OpenBSD
508250	NOARGS		{ int sys_minherit(void *addr, size_t len, \
509			    int inherit); }
510251	STD		{ int freebsd_sys_rfork(int flags); }
511252	UNIMPL		openbsd_poll
512253	NOARGS		{ int sys_issetugid(void); }
513254	STD		{ int freebsd_sys_lchown(const char *path, int uid, \
514			    int gid); }
515255	UNIMPL
516256	UNIMPL
517257	UNIMPL
518258	UNIMPL
519259	UNIMPL
520260	UNIMPL
521261	UNIMPL
522262	UNIMPL
523263	UNIMPL
524264	UNIMPL
525265	UNIMPL
526266	UNIMPL
527267	UNIMPL
528268	UNIMPL
529269	UNIMPL
530270	UNIMPL
531271	UNIMPL
532272	NOARGS		{ int compat_30_sys_getdents(int fd, char *buf, size_t count); }
533273	UNIMPL
534274	NOARGS		{ int sys_lchmod(const char *path, mode_t mode); }
535275	NOARGS		{ int sys_lchown(const char *path, uid_t uid, \
536			    gid_t gid); } netbsd_lchown
537276	NOARGS		{ int sys_lutimes(const char *path, \
538			    const struct timeval *tptr); }
539277	NOARGS		{ int sys___msync13(void *addr, size_t len, int flags); }
540278	NOARGS		{ int compat_30_sys___stat13(const char *path, struct stat13 *ub); }
541279	NOARGS		{ int compat_30_sys___fstat13(int fd, struct stat13 *sb); }
542280	NOARGS		{ int compat_30_sys___lstat13(const char *path, struct stat13 *ub);}
543281	UNIMPL
544282	UNIMPL
545283	UNIMPL
546284	UNIMPL
547285	UNIMPL
548286	UNIMPL
549287	UNIMPL
550288	UNIMPL
551289	UNIMPL
552290	UNIMPL
553291	UNIMPL
554292	UNIMPL
555293	UNIMPL
556294	UNIMPL
557295	UNIMPL
558296	UNIMPL
559297	NOARGS		{ int compat_20_sys_fhstatfs(const struct	\
560			    compat_30_fhandle *fhp, \
561			    struct statfs12 *buf); }
562298	NOARGS		{ int compat_30_sys_fhopen(const	\
563			    struct compat_30_fhandle *fhp, int flags); }
564299	NOARGS		{ int compat_30_sys_fhstat(const 	\
565			    struct cocmpat_30_fhandlez *fhp, 	\
566			    struct stat13 *sb); }
567; syscall numbers for FreeBSD
568300	UNIMPL		modnext
569301	UNIMPL		modstat
570302	UNIMPL		modfnext
571303	UNIMPL		modfind
572304	UNIMPL		kldload
573305	UNIMPL		kldunload
574306	UNIMPL		kldfind
575307	UNIMPL		kldnext
576308	UNIMPL		kldstat
577309	UNIMPL		kldfirstmod
578310	NOARGS		{ pid_t sys_getsid(pid_t pid); }
579311	UNIMPL		setresuid
580312	UNIMPL		setresgid
581313	UNIMPL		signanosleep
582314	UNIMPL		aio_return
583315	UNIMPL		aio_suspend
584316	UNIMPL		aio_cancel
585317	UNIMPL		aio_error
586318	UNIMPL		aio_read
587319	UNIMPL		aio_write
588320	UNIMPL		lio_listio
589321	NOARGS		{ void freebsd_sys_yield(void); }
590322	UNIMPL		thr_sleep
591323	UNIMPL		thr_wakeup
592324	NOARGS		{ int sys_mlockall(int flags); }
593325	NOARGS		{ int sys_munlockall(void); }
594326	NOARGS		{ int sys___getcwd(char *bufp, size_t length); }
595327	STD		{ int freebsd_sys_sched_setparam(pid_t pid, \
596			    const struct freebsd_sched_param *sp); }
597328	STD		{ int freebsd_sys_sched_getparam(pid_t pid, \
598			    struct freebsd_sched_param *sp); }
599329	STD		{ int freebsd_sys_sched_setscheduler(pid_t pid, \
600			    int policy, const struct sched_param *sp); }
601330	STD		{ int freebsd_sys_sched_getscheduler(pid_t pid); }
602331	STD		{ int freebsd_sys_sched_yield(void); }
603332	STD		{ int freebsd_sys_sched_get_priority_max(int policy); }
604333	STD		{ int freebsd_sys_sched_get_priority_min(int policy); }
605334	UNIMPL		sched_rr_get_interval
606335	STD		{ int freebsd_sys_utrace(void *addr, size_t len); }
607336	UNIMPL		sendfile
608337	UNIMPL		kldsym
609338	UNIMPL		jail
610339	UNIMPL		pioctl
611340	NOARGS		{ int sys___sigprocmask14(int how, \
612			    const sigset_t *set, \
613			    sigset_t *oset); }
614341	NOARGS		{ int sys___sigsuspend14(const sigset_t *set); }
615342	STD		{ int freebsd_sys_sigaction4(int signum, \
616			    const struct freebsd_sigaction4 *nsa, \
617			    struct freebsd_sigaction4 *osa); }
618343	NOARGS		{ int sys___sigpending14(const sigset_t *set); }
619344	UNIMPL		4.0 sigreturn
620345	UNIMPL		sigtimedwait
621346	UNIMPL		sigwaitinfo
622347	UNIMPL		__acl_get_file
623348	UNIMPL		__acl_set_file
624349	UNIMPL		__acl_get_fd
625350	UNIMPL		__acl_set_fd
626351	UNIMPL		__acl_delete_file
627352	UNIMPL		__acl_delete_fd
628353	UNIMPL		__acl_aclcheck_file
629354	UNIMPL		__acl_aclcheck_fd
630355	UNIMPL		extattrctl
631356	UNIMPL		extattr_set_file
632357	UNIMPL		extattr_get_file
633358	UNIMPL		extattr_delete_file
634359	UNIMPL		aio_waitcomplete
635360	UNIMPL		getresuid
636361	UNIMPL		getresgid
637362	UNIMPL		kqueue
638363	UNIMPL		kevent
639364	UNIMPL		__cap_get_proc
640365	UNIMPL		__cap_set_proc
641366	UNIMPL		__cap_get_fd
642367	UNIMPL		__cap_get_file
643368	UNIMPL		__cap_set_fd
644369	UNIMPL		__cap_set_file
645370	UNIMPL		lkmressym
646371	UNIMPL		extattr_set_fd
647372	UNIMPL		extattr_get_fd
648373	UNIMPL		extattr_delete_fd
649374	UNIMPL		__setugid
650375	UNIMPL		nfsclnt
651376	UNIMPL		eaccess
652377	UNIMPL		afs_syscall
653378	UNIMPL		nmount
654379	UNIMPL		kse_exit
655380	UNIMPL		kse_wakeup
656381	UNIMPL		kse_create
657382	UNIMPL		kse_thr_interrupt
658383	UNIMPL		kse_release
659384	UNIMPL		__mac_get_proc
660385	UNIMPL		__mac_set_proc
661386	UNIMPL		__mac_get_fd
662387	UNIMPL		__mac_get_file
663388	UNIMPL		__mac_set_fd
664389	UNIMPL		__mac_set_file
665390	UNIMPL		kenv
666391	NOARGS		{ int sys_lchflags(const char *path, u_long flags); }
667392	NOARGS		{ int sys_uuidgen(struct uuid *store, int count); }
668393	UNIMPL		sendfile
669394	UNIMPL		mac_syscall
670395	UNIMPL		getfsstat
671396	UNIMPL		statfs
672397	UNIMPL		fsstatfs
673398	UNIMPL		fhstatfs
674399	UNIMPL		nosys
675#if defined(P1003_1B_SEMAPHORE) || !defined(_KERNEL)
676400	NOARGS		{ int sys__ksem_close(semid_t id); }
677401	NOARGS		{ int sys__ksem_post(semid_t id); }
678402	NOARGS		{ int sys__ksem_wait(semid_t id); }
679403	NOARGS		{ int sys__ksem_trywait(semid_t id); }
680404	UNIMPL		ksem_init
681405	UNIMPL		ksem_open
682406	NOARGS		{ int sys__ksem_unlink(const char *name); }
683407	NOARGS		{ int sys__ksem_getvalue(semid_t id, \
684			    unsigned int *value); }
685408	NOARGS		{ int sys__ksem_destroy(semid_t id); }
686#else
687400	EXCL		ksem_close
688401	EXCL		ksem_post
689402	EXCL		ksem_wait
690403	EXCL		ksem_trywait
691404	EXCL		ksem_init
692405	EXCL		ksem_open
693406	EXCL		ksem_unlink
694407	EXCL		ksem_getvalue
695408	EXCL		ksem_destroy
696#endif
697409	UNIMPL		__mac_get_pid
698410	UNIMPL		__mac_get_link
699411	UNIMPL		__mac_set_link
700412	UNIMPL		extattr_set_link
701413	UNIMPL		extattr_get_link
702414	UNIMPL		extattr_delete_link
703415	UNIMPL		__mac_execve
704416	UNIMPL		sigaction
705417	UNIMPL		sigreturn
706418	UNIMPL		__xstat
707419	UNIMPL		__xfstat
708420	UNIMPL		__xlstat
709421	UNIMPL		getcontext
710422	UNIMPL		setcontext
711423	UNIMPL		swapcontext
712424	UNIMPL		swapoff
713425	UNIMPL		__acl_get_link
714426	UNIMPL		__acl_set_link
715427	UNIMPL		__acl_delete_link
716428	UNIMPL		__acl_aclcheck_link
717429	UNIMPL		sigwait
718430	UNIMPL		thr_create
719431	UNIMPL		thr_exit
720432	UNIMPL		thr_self
721433	UNIMPL		thr_kill
722434	UNIMPL		_umtx_lock
723435	UNIMPL		_umtx_unlock
724436	UNIMPL		jail_attach
725437	UNIMPL		extattr_list_fd
726438	UNIMPL		extattr_list_file
727439	UNIMPL		extattr_list_link
728