syscalls.master revision 1.48
1	$NetBSD: syscalls.master,v 1.48 2005/08/19 02:03:57 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/sa.h>
51#include <sys/syscallargs.h>
52
53#include <compat/freebsd/freebsd_syscallargs.h>
54
55#include <machine/freebsd_machdep.h>
56
57%%
58
59; Reserved/unimplemented system calls in the range 0-150 inclusive
60; are reserved for use in future Berkeley releases.
61; Additional system calls implemented in vendor and other
62; redistributions should be placed in the reserved range at the end
63; of the current calls.
64
650	NOARGS		{ int sys_nosys(void); } syscall
661	NOARGS		{ int sys_exit(int rval); }
672	NOARGS		{ int sys_fork(void); }
683	NOARGS		{ int sys_read(int fd, char *buf, u_int nbyte); }
694	NOARGS		{ int sys_write(int fd, char *buf, u_int nbyte); }
705	STD		{ int freebsd_sys_open(const char *path, int flags, \
71			    int mode); }
726	NOARGS		{ int sys_close(int fd); }
737	NOARGS		{ int sys_wait4(int pid, int *status, int options, \
74			    struct rusage *rusage); }
758	STD		{ int compat_43_freebsd_sys_creat(const char *path, \
76			    int mode); } ocreat
779	STD		{ int freebsd_sys_link(const char *path, \
78			    const char *link); }
7910	STD		{ int freebsd_sys_unlink(const char *path); }
8011	OBSOL		execv
8112	STD		{ int freebsd_sys_chdir(const char *path); }
8213	NOARGS		{ int sys_fchdir(int fd); }
8314	STD		{ int freebsd_sys_mknod(const char *path, int mode, \
84			    int dev); }
8515	STD		{ int freebsd_sys_chmod(const char *path, int mode); }
8616	STD		{ int freebsd_sys_chown(const char *path, int uid, \
87			    int gid); }
8817	NOARGS		{ int sys_obreak(char *nsize); } break
8918	NOARGS		{ int compat_20_sys_getfsstat(struct statfs12 *buf, \
90			    long bufsize, int flags); }
9119	NOARGS		{ long compat_43_sys_lseek(int fd, long offset, \
92			    int whence); } olseek
9320	NOARGS		{ pid_t sys_getpid_with_ppid(void); }
9421	STD		{ int freebsd_sys_mount(int type, const char *path, \
95			    int flags, caddr_t data); }
9622	STD		{ int freebsd_sys_unmount(const char *path, \
97			    int flags); }
9823	NOARGS		{ int sys_setuid(uid_t uid); }
9924	NOARGS		{ uid_t sys_getuid_with_euid(void); }
10025	NOARGS		{ uid_t sys_geteuid(void); }
10126	STD		{ int freebsd_sys_ptrace(int req, pid_t pid, \
102			    caddr_t addr, int data); }
10327	NOARGS		{ int sys_recvmsg(int s, struct msghdr *msg, \
104			    int flags); }
10528	NOARGS		{ int sys_sendmsg(int s, caddr_t msg, int flags); }
10629	NOARGS		{ int sys_recvfrom(int s, caddr_t buf, size_t len, \
107			    int flags, caddr_t from, int *fromlenaddr); }
10830	NOARGS		{ int sys_accept(int s, caddr_t name, int *anamelen); }
10931	NOARGS		{ int sys_getpeername(int fdes, caddr_t asa, \
110			    int *alen); }
11132	NOARGS		{ int sys_getsockname(int fdes, caddr_t asa, \
112			    int *alen); }
11333	STD		{ int freebsd_sys_access(const char *path, int flags); }
11434	STD		{ int freebsd_sys_chflags(const char *path, \
115			    int flags); }
11635	NOARGS		{ int sys_fchflags(int fd, int flags); }
11736	NOARGS		{ int sys_sync(void); }
11837	NOARGS		{ int sys_kill(int pid, int signum); }
11938	STD		{ int compat_43_freebsd_sys_stat(const char *path, \
120			    struct stat43 *ub); } stat43
12139	NOARGS		{ pid_t sys_getppid(void); }
12240	STD		{ int compat_43_freebsd_sys_lstat(const char *path, \
123			    struct stat43 *ub); } lstat43
12441	NOARGS		{ int sys_dup(u_int fd); }
12542	NOARGS		{ int sys_pipe(void); }
12643	NOARGS		{ gid_t sys_getegid(void); }
12744	NOARGS		{ int sys_profil(caddr_t samples, u_int size, \
128			    u_int offset, u_int scale); }
129#ifdef KTRACE
13045	NOARGS		{ int sys_ktrace(char *fname, int ops, int facs, \
131			    int pid); }
132#else
13345	EXCL		ktrace
134#endif
13546	NOARGS		{ int compat_13_sys_sigaction(int signum, \
136			    const struct sigaction13 *nsa, \
137			    struct sigaction13 *osa); }
13847	NOARGS		{ gid_t sys_getgid_with_egid(void); }
13948	NOARGS		{ int compat_13_sys_sigprocmask(int how, \
140			    int mask); }
14149	NOARGS		{ int sys___getlogin(char *namebuf, u_int namelen); }
14250	NOARGS		{ int sys___setlogin(char *namebuf); }
14351	NOARGS		{ int sys_acct(char *path); }
14452	NOARGS		{ int compat_13_sys_sigpending(void); }
14553	NOARGS		{ int compat_13_sys_sigaltstack( \
146			    const struct sigaltstack13 *nss, \
147			    struct sigaltstack13 *oss); }
14854	STD		{ int freebsd_sys_ioctl(int fd, u_long com, \
149			    caddr_t data); }
15055	NOARGS		{ int sys_reboot(int opt); } oreboot
15156	STD		{ int freebsd_sys_revoke(const char *path); }
15257	STD		{ int freebsd_sys_symlink(const char *path, \
153			    const char *link); }
15458	STD		{ int freebsd_sys_readlink(const char *path, \
155			    char *buf, int count); }
15659	STD		{ int freebsd_sys_execve(const char *path, \
157			    char **argp, char **envp); }
15860	NOARGS		{ int sys_umask(int newmask); }
15961	STD		{ int freebsd_sys_chroot(const char *path); }
16062	NOARGS		{ int compat_43_sys_fstat(int fd, struct stat43 *sb); } \
161			    fstat43
16263	NOARGS		{ int compat_43_sys_getkerninfo(int op, char *where, \
163			    int *size, int arg); } ogetkerninfo
16464	NOARGS		{ int compat_43_sys_getpagesize(void); } ogetpagesize
16565	STD		{ int freebsd_sys_msync(caddr_t addr, size_t len, \
166			    int flags); }
16766	NOARGS		{ int sys_vfork(void); }
16867	OBSOL		vread
16968	OBSOL		vwrite
17069	NOARGS		{ int sys_sbrk(intptr_t incr); }
17170	NOARGS		{ int sys_sstk(int incr); }
17271	NOARGS		{ int compat_43_sys_mmap(caddr_t addr, size_t len, \
173			    int prot, int flags, int fd, long pos); } ommap
17472	NOARGS		{ int sys_ovadvise(int anom); } vadvise
17573	NOARGS		{ int sys_munmap(caddr_t addr, size_t len); }
17674	NOARGS		{ int sys_mprotect(caddr_t addr, size_t len, \
177			    int prot); }
17875	NOARGS		{ int sys_madvise(caddr_t addr, size_t len, \
179			    int behav); }
18076	OBSOL		vhangup
18177	OBSOL		vlimit
18278	NOARGS		{ int sys_mincore(caddr_t addr, size_t len, char *vec); }
18379	NOARGS		{ int sys_getgroups(u_int gidsetsize, gid_t *gidset); }
18480	NOARGS		{ int sys_setgroups(u_int gidsetsize, gid_t *gidset); }
18581	NOARGS		{ int sys_getpgrp(void); }
18682	NOARGS		{ int sys_setpgid(int pid, int pgid); }
18783	NOARGS		{ int sys_setitimer(u_int which, \
188			    struct itimerval *itv, struct itimerval *oitv); }
18984	NOARGS		{ int compat_43_sys_wait(void); } owait
19085	NOARGS		{ int compat_12_sys_swapon(char *name); }
19186	NOARGS		{ int sys_getitimer(u_int which, \
192			    struct itimerval *itv); }
19387	NOARGS		{ int compat_43_sys_gethostname(char *hostname, \
194			    u_int len); } ogethostname
19588	NOARGS		{ int compat_43_sys_sethostname(char *hostname, \
196			    u_int len); } osethostname
19789	NOARGS		{ int compat_43_sys_getdtablesize(void); } \
198			    ogetdtablesize
19990	NOARGS		{ int sys_dup2(u_int from, u_int to); }
20091	UNIMPL		getdopt
20192	NOARGS		{ int sys_fcntl(int fd, int cmd, void *arg); }
20293	NOARGS		{ int sys_select(u_int nd, fd_set *in, fd_set *ou, \
203			    fd_set *ex, struct timeval *tv); }
20494	UNIMPL		setdopt
20595	NOARGS		{ int sys_fsync(int fd); }
20696	NOARGS		{ int sys_setpriority(int which, int who, int prio); }
20797	NOARGS		{ int sys_socket(int domain, int type, int protocol); }
20898	NOARGS		{ int sys_connect(int s, caddr_t name, int namelen); }
20999	NOARGS		{ int compat_43_sys_accept(int s, caddr_t name, \
210			    int *anamelen); } oaccept
211100	NOARGS		{ int sys_getpriority(int which, int who); }
212101	NOARGS		{ int compat_43_sys_send(int s, caddr_t buf, int len, \
213			    int flags); } osend
214102	NOARGS		{ int compat_43_sys_recv(int s, caddr_t buf, int len, \
215			    int flags); } orecv
216103	STD		{ int freebsd_sys_sigreturn( \
217			    struct freebsd_sigcontext *scp); }
218104	NOARGS		{ int sys_bind(int s, caddr_t name, int namelen); }
219105	NOARGS		{ int sys_setsockopt(int s, int level, int name, \
220			    caddr_t val, int valsize); }
221106	NOARGS		{ int sys_listen(int s, int backlog); }
222107	OBSOL		vtimes
223108	NOARGS		{ int compat_43_sys_sigvec(int signum, \
224			    struct sigvec *nsv, struct sigvec *osv); } osigvec
225109	NOARGS		{ int compat_43_sys_sigblock(int mask); } osigblock
226110	NOARGS		{ int compat_43_sys_sigsetmask(int mask); } osigsetmask
227111	NOARGS		{ int compat_13_sys_sigsuspend(int mask); }
228112	NOARGS		{ int compat_43_sys_sigstack(struct sigstack *nss, \
229			    struct sigstack *oss); } osigstack
230113	NOARGS		{ int compat_43_sys_recvmsg(int s, \
231			    struct omsghdr *msg, int flags); } orecvmsg
232114	NOARGS		{ int compat_43_sys_sendmsg(int s, caddr_t msg, \
233			    int flags); } osendmsg
234#ifdef TRACE
235115	NOARGS		{ int sys_vtrace(int request, int value); }
236#else
237115	OBSOL		vtrace
238#endif
239116	NOARGS		{ int sys_gettimeofday(struct timeval *tp, \
240			    struct timezone *tzp); }
241117	NOARGS		{ int sys_getrusage(int who, struct rusage *rusage); }
242118	NOARGS		{ int sys_getsockopt(int s, int level, int name, \
243			    caddr_t val, int *avalsize); }
244119	OBSOL		resuba
245120	NOARGS		{ int sys_readv(int fd, struct iovec *iovp, \
246			    u_int iovcnt); }
247121	NOARGS		{ int sys_writev(int fd, struct iovec *iovp, \
248			    u_int iovcnt); }
249122	NOARGS		{ int sys_settimeofday(struct timeval *tv, \
250			    struct timezone *tzp); }
251123	NOARGS		{ int sys_fchown(int fd, int uid, int gid); }
252124	NOARGS		{ int sys_fchmod(int fd, int mode); }
253125	NOARGS		{ int compat_43_sys_recvfrom(int s, caddr_t buf, \
254			    size_t len, int flags, caddr_t from, \
255			    int *fromlenaddr); } orecvfrom
256126	NOARGS		{ int sys_setreuid(int ruid, int euid); }
257127	NOARGS		{ int sys_setregid(int rgid, int egid); }
258128	STD		{ int freebsd_sys_rename(const char *from, \
259			    const char *to); }
260129	STD		{ int compat_43_freebsd_sys_truncate(const char *path, \
261			    long length); } otruncate
262130	NOARGS		{ int compat_43_sys_ftruncate(int fd, long length); } \
263			    oftruncate
264131	NOARGS		{ int sys_flock(int fd, int how); }
265132	STD		{ int freebsd_sys_mkfifo(const char *path, int mode); }
266133	NOARGS		{ int sys_sendto(int s, caddr_t buf, size_t len, \
267			    int flags, caddr_t to, int tolen); }
268134	NOARGS		{ int sys_shutdown(int s, int how); }
269135	NOARGS		{ int sys_socketpair(int domain, int type, \
270			    int protocol, int *rsv); }
271136	STD		{ int freebsd_sys_mkdir(const char *path, int mode); }
272137	STD		{ int freebsd_sys_rmdir(const char *path); }
273138	NOARGS		{ int sys_utimes(char *path, struct timeval *tptr); }
274139	OBSOL		4.2 sigreturn
275140	NOARGS		{ int sys_adjtime(struct timeval *delta, \
276			    struct timeval *olddelta); }
277141	NOARGS		{ int compat_43_sys_getpeername(int fdes, caddr_t asa, \
278			    int *alen); } ogetpeername
279142	NOARGS		{ int32_t compat_43_sys_gethostid(void); } ogethostid
280143	NOARGS		{ int compat_43_sys_sethostid(int32_t hostid); } \
281			    osethostid
282144	NOARGS		{ int compat_43_sys_getrlimit(u_int which, \
283			    struct orlimit *rlp); } ogetrlimit
284145	NOARGS		{ int compat_43_sys_setrlimit(u_int which, \
285			    struct orlimit *rlp); } osetrlimit
286146	NOARGS		{ int compat_43_sys_killpg(int pgid, int signum); } \
287			    okillpg
288147	NOARGS		{ int sys_setsid(void); }
289148	NOARGS		{ int sys_quotactl(char *path, int cmd, int uid, \
290			    caddr_t arg); }
291149	NOARGS		{ int compat_43_sys_quota(void); } oquota
292150	NOARGS		{ int compat_43_sys_getsockname(int fdec, caddr_t asa, \
293			    int *alen); } ogetsockname
294
295; Syscalls 151-180 inclusive are reserved for vendor-specific
296; system calls.  (This includes various calls added for compatibity
297; with other Unix variants.)
298; Some of these calls are now supported by BSD...
299151	UNIMPL		sem_lock
300152	UNIMPL		sem_wakeup
301153	UNIMPL		asyncdaemon
302154	UNIMPL
303#if defined(NFS) || defined(NFSSERVER)
304155	NOARGS		{ int sys_nfssvc(int flag, caddr_t argp); }
305#else
306155	UNIMPL		nfssvc
307#endif
308156	NOARGS		{ int compat_43_sys_getdirentries(int fd, char *buf, \
309			    u_int count, long *basep); } ogetdirentries
310157	STD		{ int freebsd_sys_statfs(const char *path, \
311			    struct statfs12 *buf); }
312158	NOARGS		{ int compat_20_sys_fstatfs(int fd, \
313			    struct statfs12 *buf); }
314159	UNIMPL
315160	UNIMPL
316#ifdef NFS
317161	STD		{ int freebsd_sys_getfh(const char *fname, \
318			    fhandle_t *fhp); }
319#else
320161	UNIMPL		getfh
321#endif
322162	NOARGS		{ int compat_09_sys_getdomainname(char *domainname, \
323			    int len); }
324163	NOARGS		{ int compat_09_sys_setdomainname(char *domainname, \
325			    int len); }
326164	NOARGS		{ int compat_09_sys_uname(struct outsname *name); }
327165	NOARGS		{ int sys_sysarch(int op, char *parms); }
328166	STD		{ int freebsd_sys_rtprio(int function, pid_t pid, \
329			    struct freebsd_rtprio *rtp); }
330167	UNIMPL
331168	UNIMPL
332; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
333#if defined(SYSVSEM) && !defined(_LP64)
334169	STD		{ int freebsd_sys_semsys(int which, int a2, int a3, \
335			    int a4, int a5); }
336#else
337169	UNIMPL		1.0 semsys
338#endif
339; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
340#if defined(SYSVMSG) && !defined(_LP64)
341170	STD		{ int freebsd_sys_msgsys(int which, int a2, int a3, \
342			    int a4, int a5, int a6); }
343#else
344170	UNIMPL		1.0 msgsys
345#endif
346; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
347#if defined(SYSVSHM) && !defined(_LP64)
348171	STD		{ int freebsd_sys_shmsys(int which, int a2, int a3, \
349			    int a4); }
350#else
351171	UNIMPL		1.0 shmsys
352#endif
353172	UNIMPL
354173	NOARGS		{ ssize_t sys_pread(int fd, void *buf, \
355			    size_t nbyte, int pad, off_t offset); }
356174	NOARGS		{ ssize_t sys_pwrite(int fd, const void *buf, \
357			    size_t nbyte, int pad, off_t offset); }
358175	UNIMPL
359#ifdef NTP
360176	STD		{ int freebsd_ntp_adjtime(struct freebsd_timex *tp); }
361#else
362176     EXCL            ntp_adjtime
363#endif
364177	UNIMPL		sfork
365178	UNIMPL		getdescriptor
366179	UNIMPL		setdescriptor
367180	UNIMPL
368
369; Syscalls 180-199 are used by/reserved for BSD
370181	NOARGS		{ int sys_setgid(gid_t gid); }
371182	NOARGS		{ int sys_setegid(gid_t egid); }
372183	NOARGS		{ int sys_seteuid(uid_t euid); }
373#ifdef LFS
374184	NOARGS		{ int sys_lfs_bmapv(fsid_t *fsidp, \
375			    struct block_info *blkiov, int blkcnt); }
376185	NOARGS		{ int sys_lfs_markv(fsid_t *fsidp, \
377			    struct block_info *blkiov, int blkcnt); }
378186	NOARGS		{ int sys_lfs_segclean(fsid_t *fsidp, u_long segment); }
379187	NOARGS		{ int sys_lfs_segwait(fsid_t *fsidp, struct timeval *tv); }
380#else
381184	UNIMPL
382185	UNIMPL
383186	UNIMPL
384187	UNIMPL
385#endif
386188	STD		{ int freebsd_sys_stat(const char *path, \
387			    struct stat12 *ub); }
388189	NOARGS		{ int compat_12_sys_fstat(int fd, \
389			    struct stat12 *sb); }
390190	STD		{ int freebsd_sys_lstat(const char *path, \
391			    struct stat12 *ub); }
392191	STD		{ int freebsd_sys_pathconf(const char *path, \
393			    int name); }
394192	NOARGS		{ int sys_fpathconf(int fd, int name); }
395193	UNIMPL
396194	NOARGS		{ int sys_getrlimit(u_int which, struct rlimit *rlp); }
397195	NOARGS		{ int sys_setrlimit(u_int which, struct rlimit *rlp); }
398196	NOARGS		{ int compat_12_sys_getdirentries(int fd, char *buf, \
399			    u_int count, long *basep); }
400197	STD		{ caddr_t freebsd_sys_mmap(caddr_t addr, size_t len, \
401			    int prot, int flags, int fd, long pad, off_t pos); }
402198	NOARGS		{ int sys_nosys(void); } __syscall
403199	NOARGS		{ off_t sys_lseek(int fd, int pad, off_t offset, \
404			    int whence); }
405200	STD		{ int freebsd_sys_truncate(const char *path, int pad, \
406			    off_t length); }
407201	NOARGS		{ int sys_ftruncate(int fd, int pad, off_t length); }
408202	STD		{ int freebsd_sys_sysctl(int *name, u_int namelen, \
409			    void *old, size_t *oldlenp, void *new, \
410			    size_t newlen); }
411203	NOARGS		{ int sys_mlock(caddr_t addr, size_t len); }
412204	NOARGS		{ int sys_munlock(caddr_t addr, size_t len); }
413#ifdef FREEBSD_BASED_ON_44LITE_R2
414205	STD		{ int freebsd_sys_undelete(char *path); }
415#else
416205	UNIMPL		undelete
417#endif
418206	NOARGS		{ int sys_futimes(int fd, const struct timeval *tptr); }
419207	NOARGS		{ pid_t sys_getpgid(pid_t pid); }
420#if 0
421208	NOARGS		{ int sys_reboot(int opt, char *bootstr); }
422#else
423208	UNIMPL		newreboot
424#endif
425209	NOARGS		{ int sys_poll(struct pollfd *fds, u_int nfds, \
426			    int timeout); }
427;
428; Syscalls 210-219 are reserved for dynamically loaded syscalls
429;
430210	UNIMPL
431211	UNIMPL
432212	UNIMPL
433213	UNIMPL
434214	UNIMPL
435215	UNIMPL
436216	UNIMPL
437217	UNIMPL
438218	UNIMPL
439219	UNIMPL
440;
441; Syscalls 220-239 are reserved for syscalls imported from NetBSD
442;
443#ifdef SYSVSEM
444220	NOARGS		{ int compat_14_sys___semctl(int semid, int semnum, \
445			    int cmd, union __semun *arg); }
446221	NOARGS		{ int sys_semget(key_t key, int nsems, int semflg); }
447222	NOARGS		{ int sys_semop(int semid, struct sembuf *sops, \
448			    u_int nsops); }
449223	NOARGS		{ int sys_semconfig(int flag); }
450#else
451220	UNIMPL		semctl
452221	UNIMPL		semget
453222	UNIMPL		semop
454223	UNIMPL		semconfig
455#endif
456#ifdef SYSVMSG
457224	NOARGS		{ int compat_14_sys_msgctl(int msqid, int cmd, \
458			    struct msqid14_ds *buf); }
459225	NOARGS		{ int sys_msgget(key_t key, int msgflg); }
460226	NOARGS		{ int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \
461			    int msgflg); }
462227	NOARGS		{ int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
463			    long msgtyp, int msgflg); }
464#else
465224	UNIMPL		msgctl
466225	UNIMPL		msgget
467226	UNIMPL		msgsnd
468227	UNIMPL		msgrcv
469#endif
470#ifdef SYSVSHM
471228	NOARGS		{ int sys_shmat(int shmid, void *shmaddr, int shmflg); }
472229	NOARGS		{ int compat_14_sys_shmctl(int shmid, int cmd, \
473			    struct shmid_ds14 *buf); }
474230	NOARGS		{ int sys_shmdt(void *shmaddr); }
475231	NOARGS		{ int sys_shmget(key_t key, int size, int shmflg); }
476#else
477228	UNIMPL		shmat
478229	UNIMPL		shmctl
479230	UNIMPL		shmdt
480231	UNIMPL		shmget
481#endif
482;
483; XXXX
484232	NOARGS		{ int sys_clock_gettime(clockid_t clock_id, \
485			    struct timespec *tp); }
486233	NOARGS		{ int sys_clock_settime(clockid_t clock_id, \
487			    const struct timespec *tp); }
488234	NOARGS		{ int sys_clock_getres(clockid_t clock_id, \
489			    struct timespec *tp); }
490235	UNIMPL		timer_create
491236	UNIMPL		timer_delete
492237	UNIMPL		timer_settime
493238	UNIMPL		timer_gettime
494239	UNIMPL		timer_getoverrun
495240	NOARGS		{ int sys_nanosleep(const struct timespec *rqtp, \
496			    struct timespec *rmtp); }
497241	UNIMPL
498242	UNIMPL
499243	UNIMPL
500244	UNIMPL
501245	UNIMPL
502246	UNIMPL
503247	UNIMPL
504248	UNIMPL
505249	UNIMPL
506; syscall numbers initially used in OpenBSD
507250	NOARGS		{ int sys_minherit(void *addr, size_t len, \
508			    int inherit); }
509251	STD		{ int freebsd_sys_rfork(int flags); }
510252	UNIMPL		openbsd_poll
511253	NOARGS		{ int sys_issetugid(void); }
512254	STD		{ int freebsd_sys_lchown(const char *path, int uid, \
513			    int gid); }
514255	UNIMPL
515256	UNIMPL
516257	UNIMPL
517258	UNIMPL
518259	UNIMPL
519260	UNIMPL
520261	UNIMPL
521262	UNIMPL
522263	UNIMPL
523264	UNIMPL
524265	UNIMPL
525266	UNIMPL
526267	UNIMPL
527268	UNIMPL
528269	UNIMPL
529270	UNIMPL
530271	UNIMPL
531272	NOARGS		{ int compat_30_sys_getdents(int fd, char *buf, size_t count); }
532273	UNIMPL
533274	NOARGS		{ int sys_lchmod(const char *path, mode_t mode); }
534275	NOARGS		{ int sys_lchown(const char *path, uid_t uid, \
535			    gid_t gid); } netbsd_lchown
536276	NOARGS		{ int sys_lutimes(const char *path, \
537			    const struct timeval *tptr); }
538277	NOARGS		{ int sys___msync13(void *addr, size_t len, int flags); }
539278	NOARGS		{ int compat_30_sys___stat13(const char *path, struct stat30 *ub); }
540279	NOARGS		{ int compat_30_sys___fstat13(int fd, struct stat30 *sb); }
541280	NOARGS		{ int compat_30_sys___lstat13(const char *path, struct stat30 *ub);}
542281	UNIMPL
543282	UNIMPL
544283	UNIMPL
545284	UNIMPL
546285	UNIMPL
547286	UNIMPL
548287	UNIMPL
549288	UNIMPL
550289	UNIMPL
551290	UNIMPL
552291	UNIMPL
553292	UNIMPL
554293	UNIMPL
555294	UNIMPL
556295	UNIMPL
557296	UNIMPL
558297	NOARGS		{ int compat_20_sys_fhstatfs(const fhandle_t *fhp, \
559			    struct statfs12 *buf); }
560298	NOARGS		{ int sys_fhopen(const fhandle_t *fhp, int flags); }
561299	NOARGS		{ int sys_fhstat(const fhandle_t *fhp, \
562			    struct stat *sb); }
563; syscall numbers for FreeBSD
564300	UNIMPL		modnext
565301	UNIMPL		modstat
566302	UNIMPL		modfnext
567303	UNIMPL		modfind
568304	UNIMPL		kldload
569305	UNIMPL		kldunload
570306	UNIMPL		kldfind
571307	UNIMPL		kldnext
572308	UNIMPL		kldstat
573309	UNIMPL		kldfirstmod
574310	NOARGS		{ pid_t sys_getsid(pid_t pid); }
575311	UNIMPL		setresuid
576312	UNIMPL		setresgid
577313	UNIMPL		signanosleep
578314	UNIMPL		aio_return
579315	UNIMPL		aio_suspend
580316	UNIMPL		aio_cancel
581317	UNIMPL		aio_error
582318	UNIMPL		aio_read
583319	UNIMPL		aio_write
584320	UNIMPL		lio_listio
585321	NOARGS		{ void freebsd_sys_yield(void); }
586322	UNIMPL		thr_sleep
587323	UNIMPL		thr_wakeup
588324	NOARGS		{ int sys_mlockall(int flags); }
589325	NOARGS		{ int sys_munlockall(void); }
590326	NOARGS		{ int sys___getcwd(char *bufp, size_t length); }
591327	STD		{ int freebsd_sys_sched_setparam(pid_t pid, \
592			    const struct freebsd_sched_param *sp); }
593328	STD		{ int freebsd_sys_sched_getparam(pid_t pid, \
594			    struct freebsd_sched_param *sp); }
595329	STD		{ int freebsd_sys_sched_setscheduler(pid_t pid, \
596			    int policy, const struct sched_param *sp); }
597330	STD		{ int freebsd_sys_sched_getscheduler(pid_t pid); }
598331	STD		{ int freebsd_sys_sched_yield(void); }
599332	STD		{ int freebsd_sys_sched_get_priority_max(int policy); }
600333	STD		{ int freebsd_sys_sched_get_priority_min(int policy); }
601334	UNIMPL		sched_rr_get_interval
602335	STD		{ int freebsd_sys_utrace(void *addr, size_t len); }
603336	UNIMPL		sendfile
604337	UNIMPL		kldsym
605338	UNIMPL		jail
606339	UNIMPL		pioctl
607340	NOARGS		{ int sys___sigprocmask14(int how, \
608			    const sigset_t *set, \
609			    sigset_t *oset); }
610341	NOARGS		{ int sys___sigsuspend14(const sigset_t *set); }
611342	STD		{ int freebsd_sys_sigaction4(int signum, \
612			    const struct freebsd_sigaction4 *nsa, \
613			    struct freebsd_sigaction4 *osa); }
614343	NOARGS		{ int sys___sigpending14(const sigset_t *set); }
615344	UNIMPL		4.0 sigreturn
616345	UNIMPL		sigtimedwait
617346	UNIMPL		sigwaitinfo
618347	UNIMPL		__acl_get_file
619348	UNIMPL		__acl_set_file
620349	UNIMPL		__acl_get_fd
621350	UNIMPL		__acl_set_fd
622351	UNIMPL		__acl_delete_file
623352	UNIMPL		__acl_delete_fd
624353	UNIMPL		__acl_aclcheck_file
625354	UNIMPL		__acl_aclcheck_fd
626355	UNIMPL		extattrctl
627356	UNIMPL		extattr_set_file
628357	UNIMPL		extattr_get_file
629358	UNIMPL		extattr_delete_file
630359	UNIMPL		aio_waitcomplete
631360	UNIMPL		getresuid
632361	UNIMPL		getresgid
633362	UNIMPL		kqueue
634363	UNIMPL		kevent
635364	UNIMPL		__cap_get_proc
636365	UNIMPL		__cap_set_proc
637366	UNIMPL		__cap_get_fd
638367	UNIMPL		__cap_get_file
639368	UNIMPL		__cap_set_fd
640369	UNIMPL		__cap_set_file
641370	UNIMPL		lkmressym
642371	UNIMPL		extattr_set_fd
643372	UNIMPL		extattr_get_fd
644373	UNIMPL		extattr_delete_fd
645374	UNIMPL		__setugid
646375	UNIMPL		nfsclnt
647376	UNIMPL		eaccess
648377	UNIMPL		afs_syscall
649378	UNIMPL		nmount
650379	UNIMPL		kse_exit
651380	UNIMPL		kse_wakeup
652381	UNIMPL		kse_create
653382	UNIMPL		kse_thr_interrupt
654383	UNIMPL		kse_release
655384	UNIMPL		__mac_get_proc
656385	UNIMPL		__mac_set_proc
657386	UNIMPL		__mac_get_fd
658387	UNIMPL		__mac_get_file
659388	UNIMPL		__mac_set_fd
660389	UNIMPL		__mac_set_file
661390	UNIMPL		kenv
662391	NOARGS		{ int sys_lchflags(const char *path, u_long flags); }
663392	NOARGS		{ int sys_uuidgen(struct uuid *store, int count); }
664393	UNIMPL		sendfile
665394	UNIMPL		mac_syscall
666395	UNIMPL		getfsstat
667396	UNIMPL		statfs
668397	UNIMPL		fsstatfs
669398	UNIMPL		fhstatfs
670399	UNIMPL		nosys
671#if defined(P1003_1B_SEMAPHORE) || !defined(_KERNEL)
672400	NOARGS		{ int sys__ksem_close(semid_t id); }
673401	NOARGS		{ int sys__ksem_post(semid_t id); }
674402	NOARGS		{ int sys__ksem_wait(semid_t id); }
675403	NOARGS		{ int sys__ksem_trywait(semid_t id); }
676404	UNIMPL		ksem_init
677405	UNIMPL		ksem_open
678406	NOARGS		{ int sys__ksem_unlink(const char *name); }
679407	NOARGS		{ int sys__ksem_getvalue(semid_t id, \
680			    unsigned int *value); }
681408	NOARGS		{ int sys__ksem_destroy(semid_t id); }
682#else
683400	EXCL		ksem_close
684401	EXCL		ksem_post
685402	EXCL		ksem_wait
686403	EXCL		ksem_trywait
687404	EXCL		ksem_init
688405	EXCL		ksem_open
689406	EXCL		ksem_unlink
690407	EXCL		ksem_getvalue
691408	EXCL		ksem_destroy
692#endif
693409	UNIMPL		__mac_get_pid
694410	UNIMPL		__mac_get_link
695411	UNIMPL		__mac_set_link
696412	UNIMPL		extattr_set_link
697413	UNIMPL		extattr_get_link
698414	UNIMPL		extattr_delete_link
699415	UNIMPL		__mac_execve
700416	UNIMPL		sigaction
701417	UNIMPL		sigreturn
702418	UNIMPL		__xstat
703419	UNIMPL		__xfstat
704420	UNIMPL		__xlstat
705421	UNIMPL		getcontext
706422	UNIMPL		setcontext
707423	UNIMPL		swapcontext
708424	UNIMPL		swapoff
709425	UNIMPL		__acl_get_link
710426	UNIMPL		__acl_set_link
711427	UNIMPL		__acl_delete_link
712428	UNIMPL		__acl_aclcheck_link
713429	UNIMPL		sigwait
714430	UNIMPL		thr_create
715431	UNIMPL		thr_exit
716432	UNIMPL		thr_self
717433	UNIMPL		thr_kill
718434	UNIMPL		_umtx_lock
719435	UNIMPL		_umtx_unlock
720436	UNIMPL		jail_attach
721437	UNIMPL		extattr_list_fd
722438	UNIMPL		extattr_list_file
723439	UNIMPL		extattr_list_link
724