syscalls.master revision 1.45
1	$NetBSD: syscalls.master,v 1.45 2004/05/10 20:27:42 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_compat_netbsd.h"
41#include "opt_posix.h"
42
43#include "fs_lfs.h"
44#include "fs_nfs.h"
45#endif
46
47#include <sys/param.h>
48#include <sys/systm.h>
49#include <sys/signal.h>
50#include <sys/mount.h>
51#include <sys/sa.h>
52#include <sys/syscallargs.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
90#ifdef COMPAT_20
9118	NOARGS		{ int compat_20_sys_getfsstat(struct statfs12 *buf, \
92			    long bufsize, int flags); }
93#else
9418	EXCL		compat_20_sys_getfsstat
95#endif
9619	NOARGS		{ long compat_43_sys_lseek(int fd, long offset, \
97			    int whence); } olseek
9820	NOARGS		{ pid_t sys_getpid_with_ppid(void); }
9921	STD		{ int freebsd_sys_mount(int type, const char *path, \
100			    int flags, caddr_t data); }
10122	STD		{ int freebsd_sys_unmount(const char *path, \
102			    int flags); }
10323	NOARGS		{ int sys_setuid(uid_t uid); }
10424	NOARGS		{ uid_t sys_getuid_with_euid(void); }
10525	NOARGS		{ uid_t sys_geteuid(void); }
10626	STD		{ int freebsd_sys_ptrace(int req, pid_t pid, \
107			    caddr_t addr, int data); }
10827	NOARGS		{ int sys_recvmsg(int s, struct msghdr *msg, \
109			    int flags); }
11028	NOARGS		{ int sys_sendmsg(int s, caddr_t msg, int flags); }
11129	NOARGS		{ int sys_recvfrom(int s, caddr_t buf, size_t len, \
112			    int flags, caddr_t from, int *fromlenaddr); }
11330	NOARGS		{ int sys_accept(int s, caddr_t name, int *anamelen); }
11431	NOARGS		{ int sys_getpeername(int fdes, caddr_t asa, \
115			    int *alen); }
11632	NOARGS		{ int sys_getsockname(int fdes, caddr_t asa, \
117			    int *alen); }
11833	STD		{ int freebsd_sys_access(const char *path, int flags); }
11934	STD		{ int freebsd_sys_chflags(const char *path, \
120			    int flags); }
12135	NOARGS		{ int sys_fchflags(int fd, int flags); }
12236	NOARGS		{ int sys_sync(void); }
12337	NOARGS		{ int sys_kill(int pid, int signum); }
12438	STD		{ int compat_43_freebsd_sys_stat(const char *path, \
125			    struct stat43 *ub); } stat43
12639	NOARGS		{ pid_t sys_getppid(void); }
12740	STD		{ int compat_43_freebsd_sys_lstat(const char *path, \
128			    struct stat43 *ub); } lstat43
12941	NOARGS		{ int sys_dup(u_int fd); }
13042	NOARGS		{ int sys_pipe(void); }
13143	NOARGS		{ gid_t sys_getegid(void); }
13244	NOARGS		{ int sys_profil(caddr_t samples, u_int size, \
133			    u_int offset, u_int scale); }
134#ifdef KTRACE
13545	NOARGS		{ int sys_ktrace(char *fname, int ops, int facs, \
136			    int pid); }
137#else
13845	EXCL		ktrace
139#endif
14046	NOARGS		{ int compat_13_sys_sigaction(int signum, \
141			    const struct sigaction13 *nsa, \
142			    struct sigaction13 *osa); }
14347	NOARGS		{ gid_t sys_getgid_with_egid(void); }
14448	NOARGS		{ int compat_13_sys_sigprocmask(int how, \
145			    int mask); }
14649	NOARGS		{ int sys___getlogin(char *namebuf, u_int namelen); }
14750	NOARGS		{ int sys___setlogin(char *namebuf); }
14851	NOARGS		{ int sys_acct(char *path); }
14952	NOARGS		{ int compat_13_sys_sigpending(void); }
15053	NOARGS		{ int compat_13_sys_sigaltstack( \
151			    const struct sigaltstack13 *nss, \
152			    struct sigaltstack13 *oss); }
15354	STD		{ int freebsd_sys_ioctl(int fd, u_long com, \
154			    caddr_t data); }
15555	NOARGS		{ int sys_reboot(int opt); } oreboot
15656	STD		{ int freebsd_sys_revoke(const char *path); }
15757	STD		{ int freebsd_sys_symlink(const char *path, \
158			    const char *link); }
15958	STD		{ int freebsd_sys_readlink(const char *path, \
160			    char *buf, int count); }
16159	STD		{ int freebsd_sys_execve(const char *path, \
162			    char **argp, char **envp); }
16360	NOARGS		{ int sys_umask(int newmask); }
16461	STD		{ int freebsd_sys_chroot(const char *path); }
16562	NOARGS		{ int compat_43_sys_fstat(int fd, struct stat43 *sb); } \
166			    fstat43
16763	NOARGS		{ int compat_43_sys_getkerninfo(int op, char *where, \
168			    int *size, int arg); } ogetkerninfo
16964	NOARGS		{ int compat_43_sys_getpagesize(void); } ogetpagesize
17065	STD		{ int freebsd_sys_msync(caddr_t addr, size_t len, \
171			    int flags); }
17266	NOARGS		{ int sys_vfork(void); }
17367	OBSOL		vread
17468	OBSOL		vwrite
17569	NOARGS		{ int sys_sbrk(intptr_t incr); }
17670	NOARGS		{ int sys_sstk(int incr); }
17771	NOARGS		{ int compat_43_sys_mmap(caddr_t addr, size_t len, \
178			    int prot, int flags, int fd, long pos); } ommap
17972	NOARGS		{ int sys_ovadvise(int anom); } vadvise
18073	NOARGS		{ int sys_munmap(caddr_t addr, size_t len); }
18174	NOARGS		{ int sys_mprotect(caddr_t addr, size_t len, \
182			    int prot); }
18375	NOARGS		{ int sys_madvise(caddr_t addr, size_t len, \
184			    int behav); }
18576	OBSOL		vhangup
18677	OBSOL		vlimit
18778	NOARGS		{ int sys_mincore(caddr_t addr, size_t len, char *vec); }
18879	NOARGS		{ int sys_getgroups(u_int gidsetsize, gid_t *gidset); }
18980	NOARGS		{ int sys_setgroups(u_int gidsetsize, gid_t *gidset); }
19081	NOARGS		{ int sys_getpgrp(void); }
19182	NOARGS		{ int sys_setpgid(int pid, int pgid); }
19283	NOARGS		{ int sys_setitimer(u_int which, \
193			    struct itimerval *itv, struct itimerval *oitv); }
19484	NOARGS		{ int compat_43_sys_wait(void); } owait
19585	NOARGS		{ int compat_12_sys_swapon(char *name); }
19686	NOARGS		{ int sys_getitimer(u_int which, \
197			    struct itimerval *itv); }
19887	NOARGS		{ int compat_43_sys_gethostname(char *hostname, \
199			    u_int len); } ogethostname
20088	NOARGS		{ int compat_43_sys_sethostname(char *hostname, \
201			    u_int len); } osethostname
20289	NOARGS		{ int compat_43_sys_getdtablesize(void); } \
203			    ogetdtablesize
20490	NOARGS		{ int sys_dup2(u_int from, u_int to); }
20591	UNIMPL		getdopt
20692	NOARGS		{ int sys_fcntl(int fd, int cmd, void *arg); }
20793	NOARGS		{ int sys_select(u_int nd, fd_set *in, fd_set *ou, \
208			    fd_set *ex, struct timeval *tv); }
20994	UNIMPL		setdopt
21095	NOARGS		{ int sys_fsync(int fd); }
21196	NOARGS		{ int sys_setpriority(int which, int who, int prio); }
21297	NOARGS		{ int sys_socket(int domain, int type, int protocol); }
21398	NOARGS		{ int sys_connect(int s, caddr_t name, int namelen); }
21499	NOARGS		{ int compat_43_sys_accept(int s, caddr_t name, \
215			    int *anamelen); } oaccept
216100	NOARGS		{ int sys_getpriority(int which, int who); }
217101	NOARGS		{ int compat_43_sys_send(int s, caddr_t buf, int len, \
218			    int flags); } osend
219102	NOARGS		{ int compat_43_sys_recv(int s, caddr_t buf, int len, \
220			    int flags); } orecv
221103	STD		{ int freebsd_sys_sigreturn( \
222			    struct freebsd_sigcontext *scp); }
223104	NOARGS		{ int sys_bind(int s, caddr_t name, int namelen); }
224105	NOARGS		{ int sys_setsockopt(int s, int level, int name, \
225			    caddr_t val, int valsize); }
226106	NOARGS		{ int sys_listen(int s, int backlog); }
227107	OBSOL		vtimes
228108	NOARGS		{ int compat_43_sys_sigvec(int signum, \
229			    struct sigvec *nsv, struct sigvec *osv); } osigvec
230109	NOARGS		{ int compat_43_sys_sigblock(int mask); } osigblock
231110	NOARGS		{ int compat_43_sys_sigsetmask(int mask); } osigsetmask
232111	NOARGS		{ int compat_13_sys_sigsuspend(int mask); }
233112	NOARGS		{ int compat_43_sys_sigstack(struct sigstack *nss, \
234			    struct sigstack *oss); } osigstack
235113	NOARGS		{ int compat_43_sys_recvmsg(int s, \
236			    struct omsghdr *msg, int flags); } orecvmsg
237114	NOARGS		{ int compat_43_sys_sendmsg(int s, caddr_t msg, \
238			    int flags); } osendmsg
239#ifdef TRACE
240115	NOARGS		{ int sys_vtrace(int request, int value); }
241#else
242115	OBSOL		vtrace
243#endif
244116	NOARGS		{ int sys_gettimeofday(struct timeval *tp, \
245			    struct timezone *tzp); }
246117	NOARGS		{ int sys_getrusage(int who, struct rusage *rusage); }
247118	NOARGS		{ int sys_getsockopt(int s, int level, int name, \
248			    caddr_t val, int *avalsize); }
249119	OBSOL		resuba
250120	NOARGS		{ int sys_readv(int fd, struct iovec *iovp, \
251			    u_int iovcnt); }
252121	NOARGS		{ int sys_writev(int fd, struct iovec *iovp, \
253			    u_int iovcnt); }
254122	NOARGS		{ int sys_settimeofday(struct timeval *tv, \
255			    struct timezone *tzp); }
256123	NOARGS		{ int sys_fchown(int fd, int uid, int gid); }
257124	NOARGS		{ int sys_fchmod(int fd, int mode); }
258125	NOARGS		{ int compat_43_sys_recvfrom(int s, caddr_t buf, \
259			    size_t len, int flags, caddr_t from, \
260			    int *fromlenaddr); } orecvfrom
261126	NOARGS		{ int sys_setreuid(int ruid, int euid); }
262127	NOARGS		{ int sys_setregid(int rgid, int egid); }
263128	STD		{ int freebsd_sys_rename(const char *from, \
264			    const char *to); }
265129	STD		{ int compat_43_freebsd_sys_truncate(const char *path, \
266			    long length); } otruncate
267130	NOARGS		{ int compat_43_sys_ftruncate(int fd, long length); } \
268			    oftruncate
269131	NOARGS		{ int sys_flock(int fd, int how); }
270132	STD		{ int freebsd_sys_mkfifo(const char *path, int mode); }
271133	NOARGS		{ int sys_sendto(int s, caddr_t buf, size_t len, \
272			    int flags, caddr_t to, int tolen); }
273134	NOARGS		{ int sys_shutdown(int s, int how); }
274135	NOARGS		{ int sys_socketpair(int domain, int type, \
275			    int protocol, int *rsv); }
276136	STD		{ int freebsd_sys_mkdir(const char *path, int mode); }
277137	STD		{ int freebsd_sys_rmdir(const char *path); }
278138	NOARGS		{ int sys_utimes(char *path, struct timeval *tptr); }
279139	OBSOL		4.2 sigreturn
280140	NOARGS		{ int sys_adjtime(struct timeval *delta, \
281			    struct timeval *olddelta); }
282141	NOARGS		{ int compat_43_sys_getpeername(int fdes, caddr_t asa, \
283			    int *alen); } ogetpeername
284142	NOARGS		{ int32_t compat_43_sys_gethostid(void); } ogethostid
285143	NOARGS		{ int compat_43_sys_sethostid(int32_t hostid); } \
286			    osethostid
287144	NOARGS		{ int compat_43_sys_getrlimit(u_int which, \
288			    struct orlimit *rlp); } ogetrlimit
289145	NOARGS		{ int compat_43_sys_setrlimit(u_int which, \
290			    struct orlimit *rlp); } osetrlimit
291146	NOARGS		{ int compat_43_sys_killpg(int pgid, int signum); } \
292			    okillpg
293147	NOARGS		{ int sys_setsid(void); }
294148	NOARGS		{ int sys_quotactl(char *path, int cmd, int uid, \
295			    caddr_t arg); }
296149	NOARGS		{ int compat_43_sys_quota(void); } oquota
297150	NOARGS		{ int compat_43_sys_getsockname(int fdec, caddr_t asa, \
298			    int *alen); } ogetsockname
299
300; Syscalls 151-180 inclusive are reserved for vendor-specific
301; system calls.  (This includes various calls added for compatibity
302; with other Unix variants.)
303; Some of these calls are now supported by BSD...
304151	UNIMPL		sem_lock
305152	UNIMPL		sem_wakeup
306153	UNIMPL		asyncdaemon
307154	UNIMPL
308#if defined(NFS) || defined(NFSSERVER)
309155	NOARGS		{ int sys_nfssvc(int flag, caddr_t argp); }
310#else
311155	UNIMPL		nfssvc
312#endif
313156	NOARGS		{ int compat_43_sys_getdirentries(int fd, char *buf, \
314			    u_int count, long *basep); } ogetdirentries
315157	STD		{ int freebsd_sys_statfs(const char *path, \
316			    struct statfs12 *buf); }
317#ifdef COMPAT_20
318158	NOARGS		{ int compat_20_sys_fstatfs(int fd, \
319			    struct statfs12 *buf); }
320#else
321158	EXCL		compat_20_sys_fstatfs
322#endif
323159	UNIMPL
324160	UNIMPL
325#ifdef NFS
326161	STD		{ int freebsd_sys_getfh(const char *fname, \
327			    fhandle_t *fhp); }
328#else
329161	UNIMPL		getfh
330#endif
331162	NOARGS		{ int compat_09_sys_getdomainname(char *domainname, \
332			    int len); }
333163	NOARGS		{ int compat_09_sys_setdomainname(char *domainname, \
334			    int len); }
335164	NOARGS		{ int compat_09_sys_uname(struct outsname *name); }
336165	NOARGS		{ int sys_sysarch(int op, char *parms); }
337166	STD		{ int freebsd_sys_rtprio(int function, pid_t pid, \
338			    struct freebsd_rtprio *rtp); }
339167	UNIMPL
340168	UNIMPL
341; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
342#if defined(SYSVSEM) && !defined(_LP64)
343169	STD		{ int freebsd_sys_semsys(int which, int a2, int a3, \
344			    int a4, int a5); }
345#else
346169	UNIMPL		1.0 semsys
347#endif
348; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
349#if defined(SYSVMSG) && !defined(_LP64)
350170	STD		{ int freebsd_sys_msgsys(int which, int a2, int a3, \
351			    int a4, int a5, int a6); }
352#else
353170	UNIMPL		1.0 msgsys
354#endif
355; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
356#if defined(SYSVSHM) && !defined(_LP64)
357171	STD		{ int freebsd_sys_shmsys(int which, int a2, int a3, \
358			    int a4); }
359#else
360171	UNIMPL		1.0 shmsys
361#endif
362172	UNIMPL
363173	NOARGS		{ ssize_t sys_pread(int fd, void *buf, \
364			    size_t nbyte, int pad, off_t offset); }
365174	NOARGS		{ ssize_t sys_pwrite(int fd, const void *buf, \
366			    size_t nbyte, int pad, off_t offset); }
367175	UNIMPL
368#ifdef NTP
369176	STD		{ int freebsd_ntp_adjtime(struct freebsd_timex *tp); }
370#else
371176     EXCL            ntp_adjtime
372#endif
373177	UNIMPL		sfork
374178	UNIMPL		getdescriptor
375179	UNIMPL		setdescriptor
376180	UNIMPL
377
378; Syscalls 180-199 are used by/reserved for BSD
379181	NOARGS		{ int sys_setgid(gid_t gid); }
380182	NOARGS		{ int sys_setegid(gid_t egid); }
381183	NOARGS		{ int sys_seteuid(uid_t euid); }
382#ifdef LFS
383184	NOARGS		{ int sys_lfs_bmapv(fsid_t *fsidp, \
384			    struct block_info *blkiov, int blkcnt); }
385185	NOARGS		{ int sys_lfs_markv(fsid_t *fsidp, \
386			    struct block_info *blkiov, int blkcnt); }
387186	NOARGS		{ int sys_lfs_segclean(fsid_t *fsidp, u_long segment); }
388187	NOARGS		{ int sys_lfs_segwait(fsid_t *fsidp, struct timeval *tv); }
389#else
390184	UNIMPL
391185	UNIMPL
392186	UNIMPL
393187	UNIMPL
394#endif
395188	STD		{ int freebsd_sys_stat(const char *path, \
396			    struct stat12 *ub); }
397189	NOARGS		{ int compat_12_sys_fstat(int fd, \
398			    struct stat12 *sb); }
399190	STD		{ int freebsd_sys_lstat(const char *path, \
400			    struct stat12 *ub); }
401191	STD		{ int freebsd_sys_pathconf(const char *path, \
402			    int name); }
403192	NOARGS		{ int sys_fpathconf(int fd, int name); }
404193	UNIMPL
405194	NOARGS		{ int sys_getrlimit(u_int which, struct rlimit *rlp); }
406195	NOARGS		{ int sys_setrlimit(u_int which, struct rlimit *rlp); }
407196	NOARGS		{ int compat_12_sys_getdirentries(int fd, char *buf, \
408			    u_int count, long *basep); }
409197	STD		{ caddr_t freebsd_sys_mmap(caddr_t addr, size_t len, \
410			    int prot, int flags, int fd, long pad, off_t pos); }
411198	NOARGS		{ int sys_nosys(void); } __syscall
412199	NOARGS		{ off_t sys_lseek(int fd, int pad, off_t offset, \
413			    int whence); }
414200	STD		{ int freebsd_sys_truncate(const char *path, int pad, \
415			    off_t length); }
416201	NOARGS		{ int sys_ftruncate(int fd, int pad, off_t length); }
417202	NOARGS		{ int sys___sysctl(int *name, u_int namelen, \
418			    void *old, size_t *oldlenp, void *new, \
419			    size_t newlen); }
420203	NOARGS		{ int sys_mlock(caddr_t addr, size_t len); }
421204	NOARGS		{ int sys_munlock(caddr_t addr, size_t len); }
422#ifdef FREEBSD_BASED_ON_44LITE_R2
423205	STD		{ int freebsd_sys_undelete(char *path); }
424#else
425205	UNIMPL		undelete
426#endif
427206	NOARGS		{ int sys_futimes(int fd, const struct timeval *tptr); }
428207	NOARGS		{ pid_t sys_getpgid(pid_t pid); }
429#if 0
430208	NOARGS		{ int sys_reboot(int opt, char *bootstr); }
431#else
432208	UNIMPL		newreboot
433#endif
434209	NOARGS		{ int sys_poll(struct pollfd *fds, u_int nfds, \
435			    int timeout); }
436;
437; Syscalls 210-219 are reserved for dynamically loaded syscalls
438;
439210	UNIMPL
440211	UNIMPL
441212	UNIMPL
442213	UNIMPL
443214	UNIMPL
444215	UNIMPL
445216	UNIMPL
446217	UNIMPL
447218	UNIMPL
448219	UNIMPL
449;
450; Syscalls 220-239 are reserved for syscalls imported from NetBSD
451;
452#ifdef SYSVSEM
453220	NOARGS		{ int compat_14_sys___semctl(int semid, int semnum, \
454			    int cmd, union __semun *arg); }
455221	NOARGS		{ int sys_semget(key_t key, int nsems, int semflg); }
456222	NOARGS		{ int sys_semop(int semid, struct sembuf *sops, \
457			    u_int nsops); }
458223	NOARGS		{ int sys_semconfig(int flag); }
459#else
460220	UNIMPL		semctl
461221	UNIMPL		semget
462222	UNIMPL		semop
463223	UNIMPL		semconfig
464#endif
465#ifdef SYSVMSG
466224	NOARGS		{ int compat_14_sys_msgctl(int msqid, int cmd, \
467			    struct msqid14_ds *buf); }
468225	NOARGS		{ int sys_msgget(key_t key, int msgflg); }
469226	NOARGS		{ int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \
470			    int msgflg); }
471227	NOARGS		{ int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
472			    long msgtyp, int msgflg); }
473#else
474224	UNIMPL		msgctl
475225	UNIMPL		msgget
476226	UNIMPL		msgsnd
477227	UNIMPL		msgrcv
478#endif
479#ifdef SYSVSHM
480228	NOARGS		{ int sys_shmat(int shmid, void *shmaddr, int shmflg); }
481229	NOARGS		{ int compat_14_sys_shmctl(int shmid, int cmd, \
482			    struct shmid_ds14 *buf); }
483230	NOARGS		{ int sys_shmdt(void *shmaddr); }
484231	NOARGS		{ int sys_shmget(key_t key, int size, int shmflg); }
485#else
486228	UNIMPL		shmat
487229	UNIMPL		shmctl
488230	UNIMPL		shmdt
489231	UNIMPL		shmget
490#endif
491;
492; XXXX
493232	NOARGS		{ int sys_clock_gettime(clockid_t clock_id, \
494			    struct timespec *tp); }
495233	NOARGS		{ int sys_clock_settime(clockid_t clock_id, \
496			    const struct timespec *tp); }
497234	NOARGS		{ int sys_clock_getres(clockid_t clock_id, \
498			    struct timespec *tp); }
499235	UNIMPL		timer_create
500236	UNIMPL		timer_delete
501237	UNIMPL		timer_settime
502238	UNIMPL		timer_gettime
503239	UNIMPL		timer_getoverrun
504240	NOARGS		{ int sys_nanosleep(const struct timespec *rqtp, \
505			    struct timespec *rmtp); }
506241	UNIMPL
507242	UNIMPL
508243	UNIMPL
509244	UNIMPL
510245	UNIMPL
511246	UNIMPL
512247	UNIMPL
513248	UNIMPL
514249	UNIMPL
515; syscall numbers initially used in OpenBSD
516250	NOARGS		{ int sys_minherit(void *addr, size_t len, \
517			    int inherit); }
518251	STD		{ int freebsd_sys_rfork(int flags); }
519252	UNIMPL		openbsd_poll
520253	NOARGS		{ int sys_issetugid(void); }
521254	STD		{ int freebsd_sys_lchown(const char *path, int uid, \
522			    int gid); }
523255	UNIMPL
524256	UNIMPL
525257	UNIMPL
526258	UNIMPL
527259	UNIMPL
528260	UNIMPL
529261	UNIMPL
530262	UNIMPL
531263	UNIMPL
532264	UNIMPL
533265	UNIMPL
534266	UNIMPL
535267	UNIMPL
536268	UNIMPL
537269	UNIMPL
538270	UNIMPL
539271	UNIMPL
540272	NOARGS		{ int sys_getdents(int fd, char *buf, size_t count); }
541273	UNIMPL
542274	NOARGS		{ int sys_lchmod(const char *path, mode_t mode); }
543275	NOARGS		{ int sys_lchown(const char *path, uid_t uid, \
544			    gid_t gid); } netbsd_lchown
545276	NOARGS		{ int sys_lutimes(const char *path, \
546			    const struct timeval *tptr); }
547277	NOARGS		{ int sys___msync13(void *addr, size_t len, int flags); }
548278	NOARGS		{ int sys___stat13(const char *path, struct stat *ub); }
549279	NOARGS		{ int sys___fstat13(int fd, struct stat *sb); }
550280	NOARGS		{ int sys___lstat13(const char *path, struct stat *ub);}
551281	UNIMPL
552282	UNIMPL
553283	UNIMPL
554284	UNIMPL
555285	UNIMPL
556286	UNIMPL
557287	UNIMPL
558288	UNIMPL
559289	UNIMPL
560290	UNIMPL
561291	UNIMPL
562292	UNIMPL
563293	UNIMPL
564294	UNIMPL
565295	UNIMPL
566296	UNIMPL
567#ifdef COMPAT_20
568297	NOARGS		{ int compat_20_sys_fhstatfs(const fhandle_t *fhp, \
569			    struct statfs12 *buf); }
570#else
571297	EXCL		compat_20_sys_fhstatfs
572#endif
573298	NOARGS		{ int sys_fhopen(const fhandle_t *fhp, int flags); }
574299	NOARGS		{ int sys_fhstat(const fhandle_t *fhp, \
575			    struct stat *sb); }
576; syscall numbers for FreeBSD
577300	UNIMPL		modnext
578301	UNIMPL		modstat
579302	UNIMPL		modfnext
580303	UNIMPL		modfind
581304	UNIMPL		kldload
582305	UNIMPL		kldunload
583306	UNIMPL		kldfind
584307	UNIMPL		kldnext
585308	UNIMPL		kldstat
586309	UNIMPL		kldfirstmod
587310	NOARGS		{ pid_t sys_getsid(pid_t pid); }
588311	UNIMPL		setresuid
589312	UNIMPL		setresgid
590313	UNIMPL		signanosleep
591314	UNIMPL		aio_return
592315	UNIMPL		aio_suspend
593316	UNIMPL		aio_cancel
594317	UNIMPL		aio_error
595318	UNIMPL		aio_read
596319	UNIMPL		aio_write
597320	UNIMPL		lio_listio
598321	NOARGS		{ void freebsd_sys_yield(void); }
599322	UNIMPL		thr_sleep
600323	UNIMPL		thr_wakeup
601324	NOARGS		{ int sys_mlockall(int flags); }
602325	NOARGS		{ int sys_munlockall(void); }
603326	NOARGS		{ int sys___getcwd(char *bufp, size_t length); }
604327	STD		{ int freebsd_sys_sched_setparam(pid_t pid, \
605			    const struct freebsd_sched_param *sp); }
606328	STD		{ int freebsd_sys_sched_getparam(pid_t pid, \
607			    struct freebsd_sched_param *sp); }
608329	STD		{ int freebsd_sys_sched_setscheduler(pid_t pid, \
609			    int policy, const struct sched_param *sp); }
610330	STD		{ int freebsd_sys_sched_getscheduler(pid_t pid); }
611331	STD		{ int freebsd_sys_sched_yield(void); }
612332	STD		{ int freebsd_sys_sched_get_priority_max(int policy); }
613333	STD		{ int freebsd_sys_sched_get_priority_min(int policy); }
614334	UNIMPL		sched_rr_get_interval
615335	STD		{ int freebsd_sys_utrace(void *addr, size_t len); }
616336	UNIMPL		sendfile
617337	UNIMPL		kldsym
618338	UNIMPL		jail
619339	UNIMPL		pioctl
620340	NOARGS		{ int sys___sigprocmask14(int how, \
621			    const sigset_t *set, \
622			    sigset_t *oset); }
623341	NOARGS		{ int sys___sigsuspend14(const sigset_t *set); }
624342	STD		{ int freebsd_sys_sigaction4(int signum, \
625			    const struct freebsd_sigaction4 *nsa, \
626			    struct freebsd_sigaction4 *osa); }
627343	NOARGS		{ int sys___sigpending14(const sigset_t *set); }
628344	UNIMPL		4.0 sigreturn
629345	UNIMPL		sigtimedwait
630346	UNIMPL		sigwaitinfo
631347	UNIMPL		__acl_get_file
632348	UNIMPL		__acl_set_file
633349	UNIMPL		__acl_get_fd
634350	UNIMPL		__acl_set_fd
635351	UNIMPL		__acl_delete_file
636352	UNIMPL		__acl_delete_fd
637353	UNIMPL		__acl_aclcheck_file
638354	UNIMPL		__acl_aclcheck_fd
639355	UNIMPL		extattrctl
640356	UNIMPL		extattr_set_file
641357	UNIMPL		extattr_get_file
642358	UNIMPL		extattr_delete_file
643359	UNIMPL		aio_waitcomplete
644360	UNIMPL		getresuid
645361	UNIMPL		getresgid
646362	UNIMPL		kqueue
647363	UNIMPL		kevent
648364	UNIMPL		__cap_get_proc
649365	UNIMPL		__cap_set_proc
650366	UNIMPL		__cap_get_fd
651367	UNIMPL		__cap_get_file
652368	UNIMPL		__cap_set_fd
653369	UNIMPL		__cap_set_file
654370	UNIMPL		lkmressym
655371	UNIMPL		extattr_set_fd
656372	UNIMPL		extattr_get_fd
657373	UNIMPL		extattr_delete_fd
658374	UNIMPL		__setugid
659375	UNIMPL		nfsclnt
660376	UNIMPL		eaccess
661377	UNIMPL		afs_syscall
662378	UNIMPL		nmount
663379	UNIMPL		kse_exit
664380	UNIMPL		kse_wakeup
665381	UNIMPL		kse_create
666382	UNIMPL		kse_thr_interrupt
667383	UNIMPL		kse_release
668384	UNIMPL		__mac_get_proc
669385	UNIMPL		__mac_set_proc
670386	UNIMPL		__mac_get_fd
671387	UNIMPL		__mac_get_file
672388	UNIMPL		__mac_set_fd
673389	UNIMPL		__mac_set_file
674390	UNIMPL		kenv
675391	NOARGS		{ int sys_lchflags(const char *path, u_long flags); }
676392	NOARGS		{ int sys_uuidgen(struct uuid *store, int count); }
677393	UNIMPL		sendfile
678394	UNIMPL		mac_syscall
679395	UNIMPL		getfsstat
680396	UNIMPL		statfs
681397	UNIMPL		fsstatfs
682398	UNIMPL		fhstatfs
683399	UNIMPL		nosys
684#if defined(P1003_1B_SEMAPHORE) || !defined(_KERNEL)
685400	NOARGS		{ int sys__ksem_close(semid_t id); }
686401	NOARGS		{ int sys__ksem_post(semid_t id); }
687402	NOARGS		{ int sys__ksem_wait(semid_t id); }
688403	NOARGS		{ int sys__ksem_trywait(semid_t id); }
689404	UNIMPL		ksem_init
690405	UNIMPL		ksem_open
691406	NOARGS		{ int sys__ksem_unlink(const char *name); }
692407	NOARGS		{ int sys__ksem_getvalue(semid_t id, \
693			    unsigned int *value); }
694408	NOARGS		{ int sys__ksem_destroy(semid_t id); }
695#else
696400	EXCL		ksem_close
697401	EXCL		ksem_post
698402	EXCL		ksem_wait
699403	EXCL		ksem_trywait
700404	EXCL		ksem_init
701405	EXCL		ksem_open
702406	EXCL		ksem_unlink
703407	EXCL		ksem_getvalue
704408	EXCL		ksem_destroy
705#endif
706409	UNIMPL		__mac_get_pid
707410	UNIMPL		__mac_get_link
708411	UNIMPL		__mac_set_link
709412	UNIMPL		extattr_set_link
710413	UNIMPL		extattr_get_link
711414	UNIMPL		extattr_delete_link
712415	UNIMPL		__mac_execve
713416	UNIMPL		sigaction
714417	UNIMPL		sigreturn
715418	UNIMPL		__xstat
716419	UNIMPL		__xfstat
717420	UNIMPL		__xlstat
718421	UNIMPL		getcontext
719422	UNIMPL		setcontext
720423	UNIMPL		swapcontext
721424	UNIMPL		swapoff
722425	UNIMPL		__acl_get_link
723426	UNIMPL		__acl_set_link
724427	UNIMPL		__acl_delete_link
725428	UNIMPL		__acl_aclcheck_link
726429	UNIMPL		sigwait
727430	UNIMPL		thr_create
728431	UNIMPL		thr_exit
729432	UNIMPL		thr_self
730433	UNIMPL		thr_kill
731434	UNIMPL		_umtx_lock
732435	UNIMPL		_umtx_unlock
733436	UNIMPL		jail_attach
734437	UNIMPL		extattr_list_fd
735438	UNIMPL		extattr_list_file
736439	UNIMPL		extattr_list_link
737