syscalls.master revision 1.41
1	$NetBSD: syscalls.master,v 1.41 2003/09/18 14:44:09 pooka 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
41#include "fs_lfs.h"
42#include "fs_nfs.h"
43#endif
44
45#include <sys/param.h>
46#include <sys/systm.h>
47#include <sys/signal.h>
48#include <sys/mount.h>
49#include <sys/sa.h>
50#include <sys/syscallargs.h>
51
52#include <compat/freebsd/freebsd_syscallargs.h>
53
54#include <machine/freebsd_machdep.h>
55
56%%
57
58; Reserved/unimplemented system calls in the range 0-150 inclusive
59; are reserved for use in future Berkeley releases.
60; Additional system calls implemented in vendor and other
61; redistributions should be placed in the reserved range at the end
62; of the current calls.
63
640	NOARGS		{ int sys_nosys(void); } syscall
651	NOARGS		{ int sys_exit(int rval); }
662	NOARGS		{ int sys_fork(void); }
673	NOARGS		{ int sys_read(int fd, char *buf, u_int nbyte); }
684	NOARGS		{ int sys_write(int fd, char *buf, u_int nbyte); }
695	STD		{ int freebsd_sys_open(const char *path, int flags, \
70			    int mode); }
716	NOARGS		{ int sys_close(int fd); }
727	NOARGS		{ int sys_wait4(int pid, int *status, int options, \
73			    struct rusage *rusage); }
748	STD		{ int compat_43_freebsd_sys_creat(const char *path, \
75			    int mode); } ocreat
769	STD		{ int freebsd_sys_link(const char *path, \
77			    const char *link); }
7810	STD		{ int freebsd_sys_unlink(const char *path); }
7911	OBSOL		execv
8012	STD		{ int freebsd_sys_chdir(const char *path); }
8113	NOARGS		{ int sys_fchdir(int fd); }
8214	STD		{ int freebsd_sys_mknod(const char *path, int mode, \
83			    int dev); }
8415	STD		{ int freebsd_sys_chmod(const char *path, int mode); }
8516	STD		{ int freebsd_sys_chown(const char *path, int uid, \
86			    int gid); }
8717	NOARGS		{ int sys_obreak(char *nsize); } break
8818	NOARGS		{ int sys_getfsstat(struct statfs *buf, long bufsize, \
89			    int flags); }
9019	NOARGS		{ long compat_43_sys_lseek(int fd, long offset, \
91			    int whence); } olseek
9220	NOARGS		{ pid_t sys_getpid_with_ppid(void); }
9321	STD		{ int freebsd_sys_mount(int type, const char *path, \
94			    int flags, caddr_t data); }
9522	STD		{ int freebsd_sys_unmount(const char *path, \
96			    int flags); }
9723	NOARGS		{ int sys_setuid(uid_t uid); }
9824	NOARGS		{ uid_t sys_getuid_with_euid(void); }
9925	NOARGS		{ uid_t sys_geteuid(void); }
10026	STD		{ int freebsd_sys_ptrace(int req, pid_t pid, \
101			    caddr_t addr, int data); }
10227	NOARGS		{ int sys_recvmsg(int s, struct msghdr *msg, \
103			    int flags); }
10428	NOARGS		{ int sys_sendmsg(int s, caddr_t msg, int flags); }
10529	NOARGS		{ int sys_recvfrom(int s, caddr_t buf, size_t len, \
106			    int flags, caddr_t from, int *fromlenaddr); }
10730	NOARGS		{ int sys_accept(int s, caddr_t name, int *anamelen); }
10831	NOARGS		{ int sys_getpeername(int fdes, caddr_t asa, \
109			    int *alen); }
11032	NOARGS		{ int sys_getsockname(int fdes, caddr_t asa, \
111			    int *alen); }
11233	STD		{ int freebsd_sys_access(const char *path, int flags); }
11334	STD		{ int freebsd_sys_chflags(const char *path, \
114			    int flags); }
11535	NOARGS		{ int sys_fchflags(int fd, int flags); }
11636	NOARGS		{ int sys_sync(void); }
11737	NOARGS		{ int sys_kill(int pid, int signum); }
11838	STD		{ int compat_43_freebsd_sys_stat(const char *path, \
119			    struct stat43 *ub); } stat43
12039	NOARGS		{ pid_t sys_getppid(void); }
12140	STD		{ int compat_43_freebsd_sys_lstat(const char *path, \
122			    struct stat43 *ub); } lstat43
12341	NOARGS		{ int sys_dup(u_int fd); }
12442	NOARGS		{ int sys_pipe(void); }
12543	NOARGS		{ gid_t sys_getegid(void); }
12644	NOARGS		{ int sys_profil(caddr_t samples, u_int size, \
127			    u_int offset, u_int scale); }
128#ifdef KTRACE
12945	NOARGS		{ int sys_ktrace(char *fname, int ops, int facs, \
130			    int pid); }
131#else
13245	EXCL		ktrace
133#endif
13446	NOARGS		{ int compat_13_sys_sigaction(int signum, \
135			    const struct sigaction13 *nsa, \
136			    struct sigaction13 *osa); }
13747	NOARGS		{ gid_t sys_getgid_with_egid(void); }
13848	NOARGS		{ int compat_13_sys_sigprocmask(int how, \
139			    int mask); }
14049	NOARGS		{ int sys___getlogin(char *namebuf, u_int namelen); }
14150	NOARGS		{ int sys___setlogin(char *namebuf); }
14251	NOARGS		{ int sys_acct(char *path); }
14352	NOARGS		{ int compat_13_sys_sigpending(void); }
14453	NOARGS		{ int compat_13_sys_sigaltstack( \
145			    const struct sigaltstack13 *nss, \
146			    struct sigaltstack13 *oss); }
14754	STD		{ int freebsd_sys_ioctl(int fd, u_long com, \
148			    caddr_t data); }
14955	NOARGS		{ int sys_reboot(int opt); } oreboot
15056	STD		{ int freebsd_sys_revoke(const char *path); }
15157	STD		{ int freebsd_sys_symlink(const char *path, \
152			    const char *link); }
15358	STD		{ int freebsd_sys_readlink(const char *path, \
154			    char *buf, int count); }
15559	STD		{ int freebsd_sys_execve(const char *path, \
156			    char **argp, char **envp); }
15760	NOARGS		{ int sys_umask(int newmask); }
15861	STD		{ int freebsd_sys_chroot(const char *path); }
15962	NOARGS		{ int compat_43_sys_fstat(int fd, struct stat43 *sb); } \
160			    fstat43
16163	NOARGS		{ int compat_43_sys_getkerninfo(int op, char *where, \
162			    int *size, int arg); } ogetkerninfo
16364	NOARGS		{ int compat_43_sys_getpagesize(void); } ogetpagesize
16465	STD		{ int freebsd_sys_msync(caddr_t addr, size_t len, \
165			    int flags); }
16666	NOARGS		{ int sys_vfork(void); }
16767	OBSOL		vread
16868	OBSOL		vwrite
16969	NOARGS		{ int sys_sbrk(intptr_t incr); }
17070	NOARGS		{ int sys_sstk(int incr); }
17171	NOARGS		{ int compat_43_sys_mmap(caddr_t addr, size_t len, \
172			    int prot, int flags, int fd, long pos); } ommap
17372	NOARGS		{ int sys_ovadvise(int anom); } vadvise
17473	NOARGS		{ int sys_munmap(caddr_t addr, size_t len); }
17574	NOARGS		{ int sys_mprotect(caddr_t addr, size_t len, \
176			    int prot); }
17775	NOARGS		{ int sys_madvise(caddr_t addr, size_t len, \
178			    int behav); }
17976	OBSOL		vhangup
18077	OBSOL		vlimit
18178	NOARGS		{ int sys_mincore(caddr_t addr, size_t len, char *vec); }
18279	NOARGS		{ int sys_getgroups(u_int gidsetsize, gid_t *gidset); }
18380	NOARGS		{ int sys_setgroups(u_int gidsetsize, gid_t *gidset); }
18481	NOARGS		{ int sys_getpgrp(void); }
18582	NOARGS		{ int sys_setpgid(int pid, int pgid); }
18683	NOARGS		{ int sys_setitimer(u_int which, \
187			    struct itimerval *itv, struct itimerval *oitv); }
18884	NOARGS		{ int compat_43_sys_wait(void); } owait
18985	NOARGS		{ int compat_12_sys_swapon(char *name); }
19086	NOARGS		{ int sys_getitimer(u_int which, \
191			    struct itimerval *itv); }
19287	NOARGS		{ int compat_43_sys_gethostname(char *hostname, \
193			    u_int len); } ogethostname
19488	NOARGS		{ int compat_43_sys_sethostname(char *hostname, \
195			    u_int len); } osethostname
19689	NOARGS		{ int compat_43_sys_getdtablesize(void); } \
197			    ogetdtablesize
19890	NOARGS		{ int sys_dup2(u_int from, u_int to); }
19991	UNIMPL		getdopt
20092	NOARGS		{ int sys_fcntl(int fd, int cmd, void *arg); }
20193	NOARGS		{ int sys_select(u_int nd, fd_set *in, fd_set *ou, \
202			    fd_set *ex, struct timeval *tv); }
20394	UNIMPL		setdopt
20495	NOARGS		{ int sys_fsync(int fd); }
20596	NOARGS		{ int sys_setpriority(int which, int who, int prio); }
20697	NOARGS		{ int sys_socket(int domain, int type, int protocol); }
20798	NOARGS		{ int sys_connect(int s, caddr_t name, int namelen); }
20899	NOARGS		{ int compat_43_sys_accept(int s, caddr_t name, \
209			    int *anamelen); } oaccept
210100	NOARGS		{ int sys_getpriority(int which, int who); }
211101	NOARGS		{ int compat_43_sys_send(int s, caddr_t buf, int len, \
212			    int flags); } osend
213102	NOARGS		{ int compat_43_sys_recv(int s, caddr_t buf, int len, \
214			    int flags); } orecv
215103	STD		{ int freebsd_sys_sigreturn( \
216			    struct freebsd_sigcontext *scp); }
217104	NOARGS		{ int sys_bind(int s, caddr_t name, int namelen); }
218105	NOARGS		{ int sys_setsockopt(int s, int level, int name, \
219			    caddr_t val, int valsize); }
220106	NOARGS		{ int sys_listen(int s, int backlog); }
221107	OBSOL		vtimes
222108	NOARGS		{ int compat_43_sys_sigvec(int signum, \
223			    struct sigvec *nsv, struct sigvec *osv); } osigvec
224109	NOARGS		{ int compat_43_sys_sigblock(int mask); } osigblock
225110	NOARGS		{ int compat_43_sys_sigsetmask(int mask); } osigsetmask
226111	NOARGS		{ int compat_13_sys_sigsuspend(int mask); }
227112	NOARGS		{ int compat_43_sys_sigstack(struct sigstack *nss, \
228			    struct sigstack *oss); } osigstack
229113	NOARGS		{ int compat_43_sys_recvmsg(int s, \
230			    struct omsghdr *msg, int flags); } orecvmsg
231114	NOARGS		{ int compat_43_sys_sendmsg(int s, caddr_t msg, \
232			    int flags); } osendmsg
233#ifdef TRACE
234115	NOARGS		{ int sys_vtrace(int request, int value); }
235#else
236115	OBSOL		vtrace
237#endif
238116	NOARGS		{ int sys_gettimeofday(struct timeval *tp, \
239			    struct timezone *tzp); }
240117	NOARGS		{ int sys_getrusage(int who, struct rusage *rusage); }
241118	NOARGS		{ int sys_getsockopt(int s, int level, int name, \
242			    caddr_t val, int *avalsize); }
243119	OBSOL		resuba
244120	NOARGS		{ int sys_readv(int fd, struct iovec *iovp, \
245			    u_int iovcnt); }
246121	NOARGS		{ int sys_writev(int fd, struct iovec *iovp, \
247			    u_int iovcnt); }
248122	NOARGS		{ int sys_settimeofday(struct timeval *tv, \
249			    struct timezone *tzp); }
250123	NOARGS		{ int sys_fchown(int fd, int uid, int gid); }
251124	NOARGS		{ int sys_fchmod(int fd, int mode); }
252125	NOARGS		{ int compat_43_sys_recvfrom(int s, caddr_t buf, \
253			    size_t len, int flags, caddr_t from, \
254			    int *fromlenaddr); } orecvfrom
255126	NOARGS		{ int sys_setreuid(int ruid, int euid); }
256127	NOARGS		{ int sys_setregid(int rgid, int egid); }
257128	STD		{ int freebsd_sys_rename(const char *from, \
258			    const char *to); }
259129	STD		{ int compat_43_freebsd_sys_truncate(const char *path, \
260			    long length); } otruncate
261130	NOARGS		{ int compat_43_sys_ftruncate(int fd, long length); } \
262			    oftruncate
263131	NOARGS		{ int sys_flock(int fd, int how); }
264132	STD		{ int freebsd_sys_mkfifo(const char *path, int mode); }
265133	NOARGS		{ int sys_sendto(int s, caddr_t buf, size_t len, \
266			    int flags, caddr_t to, int tolen); }
267134	NOARGS		{ int sys_shutdown(int s, int how); }
268135	NOARGS		{ int sys_socketpair(int domain, int type, \
269			    int protocol, int *rsv); }
270136	STD		{ int freebsd_sys_mkdir(const char *path, int mode); }
271137	STD		{ int freebsd_sys_rmdir(const char *path); }
272138	NOARGS		{ int sys_utimes(char *path, struct timeval *tptr); }
273139	OBSOL		4.2 sigreturn
274140	NOARGS		{ int sys_adjtime(struct timeval *delta, \
275			    struct timeval *olddelta); }
276141	NOARGS		{ int compat_43_sys_getpeername(int fdes, caddr_t asa, \
277			    int *alen); } ogetpeername
278142	NOARGS		{ int32_t compat_43_sys_gethostid(void); } ogethostid
279143	NOARGS		{ int compat_43_sys_sethostid(int32_t hostid); } \
280			    osethostid
281144	NOARGS		{ int compat_43_sys_getrlimit(u_int which, \
282			    struct orlimit *rlp); } ogetrlimit
283145	NOARGS		{ int compat_43_sys_setrlimit(u_int which, \
284			    struct orlimit *rlp); } osetrlimit
285146	NOARGS		{ int compat_43_sys_killpg(int pgid, int signum); } \
286			    okillpg
287147	NOARGS		{ int sys_setsid(void); }
288148	NOARGS		{ int sys_quotactl(char *path, int cmd, int uid, \
289			    caddr_t arg); }
290149	NOARGS		{ int compat_43_sys_quota(void); } oquota
291150	NOARGS		{ int compat_43_sys_getsockname(int fdec, caddr_t asa, \
292			    int *alen); } ogetsockname
293
294; Syscalls 151-180 inclusive are reserved for vendor-specific
295; system calls.  (This includes various calls added for compatibity
296; with other Unix variants.)
297; Some of these calls are now supported by BSD...
298151	UNIMPL		sem_lock
299152	UNIMPL		sem_wakeup
300153	UNIMPL		asyncdaemon
301154	UNIMPL
302#if defined(NFS) || defined(NFSSERVER)
303155	NOARGS		{ int sys_nfssvc(int flag, caddr_t argp); }
304#else
305155	UNIMPL		nfssvc
306#endif
307156	NOARGS		{ int compat_43_sys_getdirentries(int fd, char *buf, \
308			    u_int count, long *basep); } ogetdirentries
309157	STD		{ int freebsd_sys_statfs(const char *path, \
310			    struct statfs *buf); }
311158	NOARGS		{ int sys_fstatfs(int fd, struct statfs *buf); }
312159	UNIMPL
313160	UNIMPL
314#ifdef NFS
315161	STD		{ int freebsd_sys_getfh(const char *fname, \
316			    fhandle_t *fhp); }
317#else
318161	UNIMPL		getfh
319#endif
320162	NOARGS		{ int compat_09_sys_getdomainname(char *domainname, \
321			    int len); }
322163	NOARGS		{ int compat_09_sys_setdomainname(char *domainname, \
323			    int len); }
324164	NOARGS		{ int compat_09_sys_uname(struct outsname *name); }
325165	NOARGS		{ int sys_sysarch(int op, char *parms); }
326166	STD		{ int freebsd_sys_rtprio(int function, pid_t pid, \
327			    struct freebsd_rtprio *rtp); }
328167	UNIMPL
329168	UNIMPL
330; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
331#if defined(SYSVSEM) && !defined(_LP64)
332169	STD		{ int freebsd_sys_semsys(int which, int a2, int a3, \
333			    int a4, int a5); }
334#else
335169	UNIMPL		1.0 semsys
336#endif
337; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
338#if defined(SYSVMSG) && !defined(_LP64)
339170	STD		{ int freebsd_sys_msgsys(int which, int a2, int a3, \
340			    int a4, int a5, int a6); }
341#else
342170	UNIMPL		1.0 msgsys
343#endif
344; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
345#if defined(SYSVSHM) && !defined(_LP64)
346171	STD		{ int freebsd_sys_shmsys(int which, int a2, int a3, \
347			    int a4); }
348#else
349171	UNIMPL		1.0 shmsys
350#endif
351172	UNIMPL
352173	NOARGS		{ ssize_t sys_pread(int fd, void *buf, \
353			    size_t nbyte, int pad, off_t offset); }
354174	NOARGS		{ ssize_t sys_pwrite(int fd, const void *buf, \
355			    size_t nbyte, int pad, off_t offset); }
356175	UNIMPL
357#ifdef NTP
358176	STD		{ int freebsd_ntp_adjtime(struct freebsd_timex *tp); }
359#else
360176     EXCL            ntp_adjtime
361#endif
362177	UNIMPL		sfork
363178	UNIMPL		getdescriptor
364179	UNIMPL		setdescriptor
365180	UNIMPL
366
367; Syscalls 180-199 are used by/reserved for BSD
368181	NOARGS		{ int sys_setgid(gid_t gid); }
369182	NOARGS		{ int sys_setegid(gid_t egid); }
370183	NOARGS		{ int sys_seteuid(uid_t euid); }
371#ifdef LFS
372184	NOARGS		{ int sys_lfs_bmapv(fsid_t *fsidp, \
373			    struct block_info *blkiov, int blkcnt); }
374185	NOARGS		{ int sys_lfs_markv(fsid_t *fsidp, \
375			    struct block_info *blkiov, int blkcnt); }
376186	NOARGS		{ int sys_lfs_segclean(fsid_t *fsidp, u_long segment); }
377187	NOARGS		{ int sys_lfs_segwait(fsid_t *fsidp, struct timeval *tv); }
378#else
379184	UNIMPL
380185	UNIMPL
381186	UNIMPL
382187	UNIMPL
383#endif
384188	STD		{ int freebsd_sys_stat(const char *path, \
385			    struct stat12 *ub); }
386189	NOARGS		{ int compat_12_sys_fstat(int fd, \
387			    struct stat12 *sb); }
388190	STD		{ int freebsd_sys_lstat(const char *path, \
389			    struct stat12 *ub); }
390191	STD		{ int freebsd_sys_pathconf(const char *path, \
391			    int name); }
392192	NOARGS		{ int sys_fpathconf(int fd, int name); }
393193	UNIMPL
394194	NOARGS		{ int sys_getrlimit(u_int which, struct rlimit *rlp); }
395195	NOARGS		{ int sys_setrlimit(u_int which, struct rlimit *rlp); }
396196	NOARGS		{ int compat_12_sys_getdirentries(int fd, char *buf, \
397			    u_int count, long *basep); }
398197	STD		{ caddr_t freebsd_sys_mmap(caddr_t addr, size_t len, \
399			    int prot, int flags, int fd, long pad, off_t pos); }
400198	NOARGS		{ int sys_nosys(void); } __syscall
401199	NOARGS		{ off_t sys_lseek(int fd, int pad, off_t offset, \
402			    int whence); }
403200	STD		{ int freebsd_sys_truncate(const char *path, int pad, \
404			    off_t length); }
405201	NOARGS		{ int sys_ftruncate(int fd, int pad, off_t length); }
406202	NOARGS		{ int sys___sysctl(int *name, u_int namelen, \
407			    void *old, size_t *oldlenp, void *new, \
408			    size_t newlen); }
409203	NOARGS		{ int sys_mlock(caddr_t addr, size_t len); }
410204	NOARGS		{ int sys_munlock(caddr_t addr, size_t len); }
411#ifdef FREEBSD_BASED_ON_44LITE_R2
412205	STD		{ int freebsd_sys_undelete(char *path); }
413#else
414205	UNIMPL		undelete
415#endif
416206	NOARGS		{ int sys_futimes(int fd, const struct timeval *tptr); }
417207	NOARGS		{ pid_t sys_getpgid(pid_t pid); }
418#if 0
419208	NOARGS		{ int sys_reboot(int opt, char *bootstr); }
420#else
421208	UNIMPL		newreboot
422#endif
423209	NOARGS		{ int sys_poll(struct pollfd *fds, u_int nfds, \
424			    int timeout); }
425;
426; Syscalls 210-219 are reserved for dynamically loaded syscalls
427;
428210	UNIMPL
429211	UNIMPL
430212	UNIMPL
431213	UNIMPL
432214	UNIMPL
433215	UNIMPL
434216	UNIMPL
435217	UNIMPL
436218	UNIMPL
437219	UNIMPL
438;
439; Syscalls 220-239 are reserved for syscalls imported from NetBSD
440;
441#ifdef SYSVSEM
442220	NOARGS		{ int compat_14_sys___semctl(int semid, int semnum, \
443			    int cmd, union __semun *arg); }
444221	NOARGS		{ int sys_semget(key_t key, int nsems, int semflg); }
445222	NOARGS		{ int sys_semop(int semid, struct sembuf *sops, \
446			    u_int nsops); }
447223	NOARGS		{ int sys_semconfig(int flag); }
448#else
449220	UNIMPL		semctl
450221	UNIMPL		semget
451222	UNIMPL		semop
452223	UNIMPL		semconfig
453#endif
454#ifdef SYSVMSG
455224	NOARGS		{ int compat_14_sys_msgctl(int msqid, int cmd, \
456			    struct msqid14_ds *buf); }
457225	NOARGS		{ int sys_msgget(key_t key, int msgflg); }
458226	NOARGS		{ int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \
459			    int msgflg); }
460227	NOARGS		{ int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
461			    long msgtyp, int msgflg); }
462#else
463224	UNIMPL		msgctl
464225	UNIMPL		msgget
465226	UNIMPL		msgsnd
466227	UNIMPL		msgrcv
467#endif
468#ifdef SYSVSHM
469228	NOARGS		{ int sys_shmat(int shmid, void *shmaddr, int shmflg); }
470229	NOARGS		{ int compat_14_sys_shmctl(int shmid, int cmd, \
471			    struct shmid_ds14 *buf); }
472230	NOARGS		{ int sys_shmdt(void *shmaddr); }
473231	NOARGS		{ int sys_shmget(key_t key, int size, int shmflg); }
474#else
475228	UNIMPL		shmat
476229	UNIMPL		shmctl
477230	UNIMPL		shmdt
478231	UNIMPL		shmget
479#endif
480;
481; XXXX
482232	NOARGS		{ int sys_clock_gettime(clockid_t clock_id, \
483			    struct timespec *tp); }
484233	NOARGS		{ int sys_clock_settime(clockid_t clock_id, \
485			    const struct timespec *tp); }
486234	NOARGS		{ int sys_clock_getres(clockid_t clock_id, \
487			    struct timespec *tp); }
488235	UNIMPL		timer_create
489236	UNIMPL		timer_delete
490237	UNIMPL		timer_settime
491238	UNIMPL		timer_gettime
492239	UNIMPL		timer_getoverrun
493240	NOARGS		{ int sys_nanosleep(const struct timespec *rqtp, \
494			    struct timespec *rmtp); }
495241	UNIMPL
496242	UNIMPL
497243	UNIMPL
498244	UNIMPL
499245	UNIMPL
500246	UNIMPL
501247	UNIMPL
502248	UNIMPL
503249	UNIMPL
504; syscall numbers initially used in OpenBSD
505250	NOARGS		{ int sys_minherit(void *addr, size_t len, \
506			    int inherit); }
507251	STD		{ int freebsd_sys_rfork(int flags); }
508252	UNIMPL		openbsd_poll
509253	NOARGS		{ int sys_issetugid(void); }
510254	STD		{ int freebsd_sys_lchown(const char *path, int uid, \
511			    int gid); }
512255	UNIMPL
513256	UNIMPL
514257	UNIMPL
515258	UNIMPL
516259	UNIMPL
517260	UNIMPL
518261	UNIMPL
519262	UNIMPL
520263	UNIMPL
521264	UNIMPL
522265	UNIMPL
523266	UNIMPL
524267	UNIMPL
525268	UNIMPL
526269	UNIMPL
527270	UNIMPL
528271	UNIMPL
529272	NOARGS		{ int sys_getdents(int fd, char *buf, size_t count); }
530273	UNIMPL
531274	NOARGS		{ int sys_lchmod(const char *path, mode_t mode); }
532275	NOARGS		{ int sys_lchown(const char *path, uid_t uid, \
533			    gid_t gid); } netbsd_lchown
534276	NOARGS		{ int sys_lutimes(const char *path, \
535			    const struct timeval *tptr); }
536277	NOARGS		{ int sys___msync13(void *addr, size_t len, int flags); }
537278	NOARGS		{ int sys___stat13(const char *path, struct stat *ub); }
538279	NOARGS		{ int sys___fstat13(int fd, struct stat *sb); }
539280	NOARGS		{ int sys___lstat13(const char *path, struct stat *ub);}
540281	UNIMPL
541282	UNIMPL
542283	UNIMPL
543284	UNIMPL
544285	UNIMPL
545286	UNIMPL
546287	UNIMPL
547288	UNIMPL
548289	UNIMPL
549290	UNIMPL
550291	UNIMPL
551292	UNIMPL
552293	UNIMPL
553294	UNIMPL
554295	UNIMPL
555296	UNIMPL
556297	NOARGS		{ int sys_fhstatfs(const fhandle_t *fhp, \
557			    struct statfs *buf); }
558298	NOARGS		{ int sys_fhopen(const fhandle_t *fhp, int flags); }
559299	NOARGS		{ int sys_fhstat(const fhandle_t *fhp, \
560			    struct stat *sb); }
561; syscall numbers for FreeBSD
562300	UNIMPL		modnext
563301	UNIMPL		modstat
564302	UNIMPL		modfnext
565303	UNIMPL		modfind
566304	UNIMPL		kldload
567305	UNIMPL		kldunload
568306	UNIMPL		kldfind
569307	UNIMPL		kldnext
570308	UNIMPL		kldstat
571309	UNIMPL		kldfirstmod
572310	NOARGS		{ pid_t sys_getsid(pid_t pid); }
573311	UNIMPL		setresuid
574312	UNIMPL		setresgid
575313	UNIMPL		signanosleep
576314	UNIMPL		aio_return
577315	UNIMPL		aio_suspend
578316	UNIMPL		aio_cancel
579317	UNIMPL		aio_error
580318	UNIMPL		aio_read
581319	UNIMPL		aio_write
582320	UNIMPL		lio_listio
583321	NOARGS		{ void freebsd_sys_yield(void); }
584322	UNIMPL		thr_sleep
585323	UNIMPL		thr_wakeup
586324	NOARGS		{ int sys_mlockall(int flags); }
587325	NOARGS		{ int sys_munlockall(void); }
588326	NOARGS		{ int sys___getcwd(char *bufp, size_t length); }
589327	STD		{ int freebsd_sys_sched_setparam(pid_t pid, \
590			    const struct freebsd_sched_param *sp); }
591328	STD		{ int freebsd_sys_sched_getparam(pid_t pid, \
592			    struct freebsd_sched_param *sp); }
593329	STD		{ int freebsd_sys_sched_setscheduler(pid_t pid, \
594			    int policy, const struct sched_param *sp); }
595330	STD		{ int freebsd_sys_sched_getscheduler(pid_t pid); }
596331	STD		{ int freebsd_sys_sched_yield(void); }
597332	STD		{ int freebsd_sys_sched_get_priority_max(int policy); }
598333	STD		{ int freebsd_sys_sched_get_priority_min(int policy); }
599334	UNIMPL		sched_rr_get_interval
600335	STD		{ int freebsd_sys_utrace(void *addr, size_t len); }
601336	UNIMPL		sendfile
602337	UNIMPL		kldsym
603338	UNIMPL		jail
604339	UNIMPL		pioctl
605340	NOARGS		{ int sys___sigprocmask14(int how, \
606			    const sigset_t *set, \
607			    sigset_t *oset); }
608341	NOARGS		{ int sys___sigsuspend14(const sigset_t *set); }
609342	STD		{ int freebsd_sys_sigaction4(int signum, \
610			    const struct freebsd_sigaction4 *nsa, \
611			    struct freebsd_sigaction4 *osa); }
612343	NOARGS		{ int sys___sigpending14(const sigset_t *set); }
613344	UNIMPL		4.0 sigreturn
614345	UNIMPL		sigtimedwait
615346	UNIMPL		sigwaitinfo
616347	UNIMPL		__acl_get_file
617348	UNIMPL		__acl_set_file
618349	UNIMPL		__acl_get_fd
619350	UNIMPL		__acl_set_fd
620351	UNIMPL		__acl_delete_file
621352	UNIMPL		__acl_delete_fd
622353	UNIMPL		__acl_aclcheck_file
623354	UNIMPL		__acl_aclcheck_fd
624355	UNIMPL		extattrctl
625356	UNIMPL		extattr_set_file
626357	UNIMPL		extattr_get_file
627358	UNIMPL		extattr_delete_file
628359	UNIMPL		aio_waitcomplete
629360	UNIMPL		getresuid
630361	UNIMPL		getresgid
631362	UNIMPL		kqueue
632363	UNIMPL		kevent
633