syscalls.master revision 1.42
1	$NetBSD: syscalls.master,v 1.42 2003/11/26 19:22:57 jdolecek 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 sys_getfsstat(struct statfs *buf, long bufsize, \
90			    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 statfs *buf); }
312158	NOARGS		{ int sys_fstatfs(int fd, struct statfs *buf); }
313159	UNIMPL
314160	UNIMPL
315#ifdef NFS
316161	STD		{ int freebsd_sys_getfh(const char *fname, \
317			    fhandle_t *fhp); }
318#else
319161	UNIMPL		getfh
320#endif
321162	NOARGS		{ int compat_09_sys_getdomainname(char *domainname, \
322			    int len); }
323163	NOARGS		{ int compat_09_sys_setdomainname(char *domainname, \
324			    int len); }
325164	NOARGS		{ int compat_09_sys_uname(struct outsname *name); }
326165	NOARGS		{ int sys_sysarch(int op, char *parms); }
327166	STD		{ int freebsd_sys_rtprio(int function, pid_t pid, \
328			    struct freebsd_rtprio *rtp); }
329167	UNIMPL
330168	UNIMPL
331; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
332#if defined(SYSVSEM) && !defined(_LP64)
333169	STD		{ int freebsd_sys_semsys(int which, int a2, int a3, \
334			    int a4, int a5); }
335#else
336169	UNIMPL		1.0 semsys
337#endif
338; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
339#if defined(SYSVMSG) && !defined(_LP64)
340170	STD		{ int freebsd_sys_msgsys(int which, int a2, int a3, \
341			    int a4, int a5, int a6); }
342#else
343170	UNIMPL		1.0 msgsys
344#endif
345; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
346#if defined(SYSVSHM) && !defined(_LP64)
347171	STD		{ int freebsd_sys_shmsys(int which, int a2, int a3, \
348			    int a4); }
349#else
350171	UNIMPL		1.0 shmsys
351#endif
352172	UNIMPL
353173	NOARGS		{ ssize_t sys_pread(int fd, void *buf, \
354			    size_t nbyte, int pad, off_t offset); }
355174	NOARGS		{ ssize_t sys_pwrite(int fd, const void *buf, \
356			    size_t nbyte, int pad, off_t offset); }
357175	UNIMPL
358#ifdef NTP
359176	STD		{ int freebsd_ntp_adjtime(struct freebsd_timex *tp); }
360#else
361176     EXCL            ntp_adjtime
362#endif
363177	UNIMPL		sfork
364178	UNIMPL		getdescriptor
365179	UNIMPL		setdescriptor
366180	UNIMPL
367
368; Syscalls 180-199 are used by/reserved for BSD
369181	NOARGS		{ int sys_setgid(gid_t gid); }
370182	NOARGS		{ int sys_setegid(gid_t egid); }
371183	NOARGS		{ int sys_seteuid(uid_t euid); }
372#ifdef LFS
373184	NOARGS		{ int sys_lfs_bmapv(fsid_t *fsidp, \
374			    struct block_info *blkiov, int blkcnt); }
375185	NOARGS		{ int sys_lfs_markv(fsid_t *fsidp, \
376			    struct block_info *blkiov, int blkcnt); }
377186	NOARGS		{ int sys_lfs_segclean(fsid_t *fsidp, u_long segment); }
378187	NOARGS		{ int sys_lfs_segwait(fsid_t *fsidp, struct timeval *tv); }
379#else
380184	UNIMPL
381185	UNIMPL
382186	UNIMPL
383187	UNIMPL
384#endif
385188	STD		{ int freebsd_sys_stat(const char *path, \
386			    struct stat12 *ub); }
387189	NOARGS		{ int compat_12_sys_fstat(int fd, \
388			    struct stat12 *sb); }
389190	STD		{ int freebsd_sys_lstat(const char *path, \
390			    struct stat12 *ub); }
391191	STD		{ int freebsd_sys_pathconf(const char *path, \
392			    int name); }
393192	NOARGS		{ int sys_fpathconf(int fd, int name); }
394193	UNIMPL
395194	NOARGS		{ int sys_getrlimit(u_int which, struct rlimit *rlp); }
396195	NOARGS		{ int sys_setrlimit(u_int which, struct rlimit *rlp); }
397196	NOARGS		{ int compat_12_sys_getdirentries(int fd, char *buf, \
398			    u_int count, long *basep); }
399197	STD		{ caddr_t freebsd_sys_mmap(caddr_t addr, size_t len, \
400			    int prot, int flags, int fd, long pad, off_t pos); }
401198	NOARGS		{ int sys_nosys(void); } __syscall
402199	NOARGS		{ off_t sys_lseek(int fd, int pad, off_t offset, \
403			    int whence); }
404200	STD		{ int freebsd_sys_truncate(const char *path, int pad, \
405			    off_t length); }
406201	NOARGS		{ int sys_ftruncate(int fd, int pad, off_t length); }
407202	NOARGS		{ int sys___sysctl(int *name, u_int namelen, \
408			    void *old, size_t *oldlenp, void *new, \
409			    size_t newlen); }
410203	NOARGS		{ int sys_mlock(caddr_t addr, size_t len); }
411204	NOARGS		{ int sys_munlock(caddr_t addr, size_t len); }
412#ifdef FREEBSD_BASED_ON_44LITE_R2
413205	STD		{ int freebsd_sys_undelete(char *path); }
414#else
415205	UNIMPL		undelete
416#endif
417206	NOARGS		{ int sys_futimes(int fd, const struct timeval *tptr); }
418207	NOARGS		{ pid_t sys_getpgid(pid_t pid); }
419#if 0
420208	NOARGS		{ int sys_reboot(int opt, char *bootstr); }
421#else
422208	UNIMPL		newreboot
423#endif
424209	NOARGS		{ int sys_poll(struct pollfd *fds, u_int nfds, \
425			    int timeout); }
426;
427; Syscalls 210-219 are reserved for dynamically loaded syscalls
428;
429210	UNIMPL
430211	UNIMPL
431212	UNIMPL
432213	UNIMPL
433214	UNIMPL
434215	UNIMPL
435216	UNIMPL
436217	UNIMPL
437218	UNIMPL
438219	UNIMPL
439;
440; Syscalls 220-239 are reserved for syscalls imported from NetBSD
441;
442#ifdef SYSVSEM
443220	NOARGS		{ int compat_14_sys___semctl(int semid, int semnum, \
444			    int cmd, union __semun *arg); }
445221	NOARGS		{ int sys_semget(key_t key, int nsems, int semflg); }
446222	NOARGS		{ int sys_semop(int semid, struct sembuf *sops, \
447			    u_int nsops); }
448223	NOARGS		{ int sys_semconfig(int flag); }
449#else
450220	UNIMPL		semctl
451221	UNIMPL		semget
452222	UNIMPL		semop
453223	UNIMPL		semconfig
454#endif
455#ifdef SYSVMSG
456224	NOARGS		{ int compat_14_sys_msgctl(int msqid, int cmd, \
457			    struct msqid14_ds *buf); }
458225	NOARGS		{ int sys_msgget(key_t key, int msgflg); }
459226	NOARGS		{ int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \
460			    int msgflg); }
461227	NOARGS		{ int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
462			    long msgtyp, int msgflg); }
463#else
464224	UNIMPL		msgctl
465225	UNIMPL		msgget
466226	UNIMPL		msgsnd
467227	UNIMPL		msgrcv
468#endif
469#ifdef SYSVSHM
470228	NOARGS		{ int sys_shmat(int shmid, void *shmaddr, int shmflg); }
471229	NOARGS		{ int compat_14_sys_shmctl(int shmid, int cmd, \
472			    struct shmid_ds14 *buf); }
473230	NOARGS		{ int sys_shmdt(void *shmaddr); }
474231	NOARGS		{ int sys_shmget(key_t key, int size, int shmflg); }
475#else
476228	UNIMPL		shmat
477229	UNIMPL		shmctl
478230	UNIMPL		shmdt
479231	UNIMPL		shmget
480#endif
481;
482; XXXX
483232	NOARGS		{ int sys_clock_gettime(clockid_t clock_id, \
484			    struct timespec *tp); }
485233	NOARGS		{ int sys_clock_settime(clockid_t clock_id, \
486			    const struct timespec *tp); }
487234	NOARGS		{ int sys_clock_getres(clockid_t clock_id, \
488			    struct timespec *tp); }
489235	UNIMPL		timer_create
490236	UNIMPL		timer_delete
491237	UNIMPL		timer_settime
492238	UNIMPL		timer_gettime
493239	UNIMPL		timer_getoverrun
494240	NOARGS		{ int sys_nanosleep(const struct timespec *rqtp, \
495			    struct timespec *rmtp); }
496241	UNIMPL
497242	UNIMPL
498243	UNIMPL
499244	UNIMPL
500245	UNIMPL
501246	UNIMPL
502247	UNIMPL
503248	UNIMPL
504249	UNIMPL
505; syscall numbers initially used in OpenBSD
506250	NOARGS		{ int sys_minherit(void *addr, size_t len, \
507			    int inherit); }
508251	STD		{ int freebsd_sys_rfork(int flags); }
509252	UNIMPL		openbsd_poll
510253	NOARGS		{ int sys_issetugid(void); }
511254	STD		{ int freebsd_sys_lchown(const char *path, int uid, \
512			    int gid); }
513255	UNIMPL
514256	UNIMPL
515257	UNIMPL
516258	UNIMPL
517259	UNIMPL
518260	UNIMPL
519261	UNIMPL
520262	UNIMPL
521263	UNIMPL
522264	UNIMPL
523265	UNIMPL
524266	UNIMPL
525267	UNIMPL
526268	UNIMPL
527269	UNIMPL
528270	UNIMPL
529271	UNIMPL
530272	NOARGS		{ int sys_getdents(int fd, char *buf, size_t count); }
531273	UNIMPL
532274	NOARGS		{ int sys_lchmod(const char *path, mode_t mode); }
533275	NOARGS		{ int sys_lchown(const char *path, uid_t uid, \
534			    gid_t gid); } netbsd_lchown
535276	NOARGS		{ int sys_lutimes(const char *path, \
536			    const struct timeval *tptr); }
537277	NOARGS		{ int sys___msync13(void *addr, size_t len, int flags); }
538278	NOARGS		{ int sys___stat13(const char *path, struct stat *ub); }
539279	NOARGS		{ int sys___fstat13(int fd, struct stat *sb); }
540280	NOARGS		{ int sys___lstat13(const char *path, struct stat *ub);}
541281	UNIMPL
542282	UNIMPL
543283	UNIMPL
544284	UNIMPL
545285	UNIMPL
546286	UNIMPL
547287	UNIMPL
548288	UNIMPL
549289	UNIMPL
550290	UNIMPL
551291	UNIMPL
552292	UNIMPL
553293	UNIMPL
554294	UNIMPL
555295	UNIMPL
556296	UNIMPL
557297	NOARGS		{ int sys_fhstatfs(const fhandle_t *fhp, \
558			    struct statfs *buf); }
559298	NOARGS		{ int sys_fhopen(const fhandle_t *fhp, int flags); }
560299	NOARGS		{ int sys_fhstat(const fhandle_t *fhp, \
561			    struct stat *sb); }
562; syscall numbers for FreeBSD
563300	UNIMPL		modnext
564301	UNIMPL		modstat
565302	UNIMPL		modfnext
566303	UNIMPL		modfind
567304	UNIMPL		kldload
568305	UNIMPL		kldunload
569306	UNIMPL		kldfind
570307	UNIMPL		kldnext
571308	UNIMPL		kldstat
572309	UNIMPL		kldfirstmod
573310	NOARGS		{ pid_t sys_getsid(pid_t pid); }
574311	UNIMPL		setresuid
575312	UNIMPL		setresgid
576313	UNIMPL		signanosleep
577314	UNIMPL		aio_return
578315	UNIMPL		aio_suspend
579316	UNIMPL		aio_cancel
580317	UNIMPL		aio_error
581318	UNIMPL		aio_read
582319	UNIMPL		aio_write
583320	UNIMPL		lio_listio
584321	NOARGS		{ void freebsd_sys_yield(void); }
585322	UNIMPL		thr_sleep
586323	UNIMPL		thr_wakeup
587324	NOARGS		{ int sys_mlockall(int flags); }
588325	NOARGS		{ int sys_munlockall(void); }
589326	NOARGS		{ int sys___getcwd(char *bufp, size_t length); }
590327	STD		{ int freebsd_sys_sched_setparam(pid_t pid, \
591			    const struct freebsd_sched_param *sp); }
592328	STD		{ int freebsd_sys_sched_getparam(pid_t pid, \
593			    struct freebsd_sched_param *sp); }
594329	STD		{ int freebsd_sys_sched_setscheduler(pid_t pid, \
595			    int policy, const struct sched_param *sp); }
596330	STD		{ int freebsd_sys_sched_getscheduler(pid_t pid); }
597331	STD		{ int freebsd_sys_sched_yield(void); }
598332	STD		{ int freebsd_sys_sched_get_priority_max(int policy); }
599333	STD		{ int freebsd_sys_sched_get_priority_min(int policy); }
600334	UNIMPL		sched_rr_get_interval
601335	STD		{ int freebsd_sys_utrace(void *addr, size_t len); }
602336	UNIMPL		sendfile
603337	UNIMPL		kldsym
604338	UNIMPL		jail
605339	UNIMPL		pioctl
606340	NOARGS		{ int sys___sigprocmask14(int how, \
607			    const sigset_t *set, \
608			    sigset_t *oset); }
609341	NOARGS		{ int sys___sigsuspend14(const sigset_t *set); }
610342	STD		{ int freebsd_sys_sigaction4(int signum, \
611			    const struct freebsd_sigaction4 *nsa, \
612			    struct freebsd_sigaction4 *osa); }
613343	NOARGS		{ int sys___sigpending14(const sigset_t *set); }
614344	UNIMPL		4.0 sigreturn
615345	UNIMPL		sigtimedwait
616346	UNIMPL		sigwaitinfo
617347	UNIMPL		__acl_get_file
618348	UNIMPL		__acl_set_file
619349	UNIMPL		__acl_get_fd
620350	UNIMPL		__acl_set_fd
621351	UNIMPL		__acl_delete_file
622352	UNIMPL		__acl_delete_fd
623353	UNIMPL		__acl_aclcheck_file
624354	UNIMPL		__acl_aclcheck_fd
625355	UNIMPL		extattrctl
626356	UNIMPL		extattr_set_file
627357	UNIMPL		extattr_get_file
628358	UNIMPL		extattr_delete_file
629359	UNIMPL		aio_waitcomplete
630360	UNIMPL		getresuid
631361	UNIMPL		getresgid
632362	UNIMPL		kqueue
633363	UNIMPL		kevent
634364	UNIMPL		__cap_get_proc
635365	UNIMPL		__cap_set_proc
636366	UNIMPL		__cap_get_fd
637367	UNIMPL		__cap_get_file
638368	UNIMPL		__cap_set_fd
639369	UNIMPL		__cap_set_file
640370	UNIMPL		lkmressym
641371	UNIMPL		extattr_set_fd
642372	UNIMPL		extattr_get_fd
643373	UNIMPL		extattr_delete_fd
644374	UNIMPL		__setugid
645375	UNIMPL		nfsclnt
646376	UNIMPL		eaccess
647377	UNIMPL		afs_syscall
648378	UNIMPL		nmount
649379	UNIMPL		kse_exit
650380	UNIMPL		kse_wakeup
651381	UNIMPL		kse_create
652382	UNIMPL		kse_thr_interrupt
653383	UNIMPL		kse_release
654384	UNIMPL		__mac_get_proc
655385	UNIMPL		__mac_set_proc
656386	UNIMPL		__mac_get_fd
657387	UNIMPL		__mac_get_file
658388	UNIMPL		__mac_set_fd
659389	UNIMPL		__mac_set_file
660390	UNIMPL		kenv
661391	NOARGS		{ int sys_lchflags(const char *path, u_long flags); }
662392	UNIMPL		uuidgen
663393	UNIMPL		sendfile
664394	UNIMPL		mac_syscall
665395	UNIMPL		getfsstat
666396	UNIMPL		statfs
667397	UNIMPL		fsstatfs
668398	UNIMPL		fhstatfs
669399	UNIMPL		nosys
670#if defined(P1003_1B_SEMAPHORE) || !defined(_KERNEL)
671400	NOARGS		{ int sys__ksem_close(semid_t id); }
672401	NOARGS		{ int sys__ksem_post(semid_t id); }
673402	NOARGS		{ int sys__ksem_wait(semid_t id); }
674403	NOARGS		{ int sys__ksem_trywait(semid_t id); }
675404	UNIMPL		ksem_init
676405	UNIMPL		ksem_open
677406	NOARGS		{ int sys__ksem_unlink(const char *name); }
678407	NOARGS		{ int sys__ksem_getvalue(semid_t id, \
679			    unsigned int *value); }
680408	NOARGS		{ int sys__ksem_destroy(semid_t id); }
681#else
682400	EXCL		ksem_close
683401	EXCL		ksem_post
684402	EXCL		ksem_wait
685403	EXCL		ksem_trywait
686404	EXCL		ksem_init
687405	EXCL		ksem_open
688406	EXCL		ksem_unlink
689407	EXCL		ksem_getvalue
690408	EXCL		ksem_destroy
691#endif
692409	UNIMPL		__mac_get_pid
693410	UNIMPL		__mac_get_link
694411	UNIMPL		__mac_set_link
695412	UNIMPL		extattr_set_link
696413	UNIMPL		extattr_get_link
697414	UNIMPL		extattr_delete_link
698415	UNIMPL		__mac_execve
699416	UNIMPL		sigaction
700417	UNIMPL		sigreturn
701418	UNIMPL		__xstat
702419	UNIMPL		__xfstat
703420	UNIMPL		__xlstat
704421	UNIMPL		getcontext
705422	UNIMPL		setcontext
706423	UNIMPL		swapcontext
707424	UNIMPL		swapoff
708425	UNIMPL		__acl_get_link
709426	UNIMPL		__acl_set_link
710427	UNIMPL		__acl_delete_link
711428	UNIMPL		__acl_aclcheck_link
712429	UNIMPL		sigwait
713430	UNIMPL		thr_create
714431	UNIMPL		thr_exit
715432	UNIMPL		thr_self
716433	UNIMPL		thr_kill
717434	UNIMPL		_umtx_lock
718435	UNIMPL		_umtx_unlock
719436	UNIMPL		jail_attach
720437	UNIMPL		extattr_list_fd
721438	UNIMPL		extattr_list_file
722439	UNIMPL		extattr_list_link
723