syscalls.master revision 1.59
1	$NetBSD: syscalls.master,v 1.59 2008/11/14 15:49:20 ad Exp $
2
3;	from: @(#)syscalls.master	8.2 (Berkeley) 1/13/94
4
5; NetBSD COMPAT_FREEBSD system call name/number "master" file.
6; (See syscalls.conf to see what it is processed into.)
7;
8; Fields: number type [type-dependent ...]
9;	number	system call number, must be in order
10;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
11;		the compatibility options defined in syscalls.conf.
12;
13; types:
14;	STD	always included
15;	OBSOL	obsolete, not included in system
16;	UNIMPL	unimplemented, not included in system
17;	NODEF	included, but don't define the syscall number
18;	NOARGS	included, but don't define the syscall args structure
19;
20; The compat options are defined in the syscalls.conf file, and the
21; compat option name is prefixed to the syscall name.  Other than
22; that, they're like NODEF (for 'compat' options), or STD (for
23; 'libcompat' options).
24;
25; The type-dependent arguments are as follows:
26; For STD, NODEF, NOARGS, and compat syscalls:
27;	{ pseudo-proto } [alias]
28; For other syscalls:
29;	[comment]
30;
31; #ifdef's, etc. may be included, and are copied to the output files.
32; #include's are copied to the syscall names and switch definition files only.
33
34#if defined(_KERNEL_OPT)
35#include "opt_ktrace.h"
36#include "opt_nfsserver.h"
37#include "opt_ntp.h"
38#include "opt_sysv.h"
39#include "opt_compat_43.h"
40#include "opt_posix.h"
41
42#include "fs_lfs.h"
43#include "fs_nfs.h"
44#endif
45
46#include <sys/param.h>
47#include <sys/systm.h>
48#include <sys/signal.h>
49#include <sys/mount.h>
50#include <sys/syscallargs.h>
51
52#include <compat/sys/signal.h>
53
54#include <compat/freebsd/freebsd_syscallargs.h>
55
56#include <machine/freebsd_machdep.h>
57
58%%
59
60; Reserved/unimplemented system calls in the range 0-150 inclusive
61; are reserved for use in future Berkeley releases.
62; Additional system calls implemented in vendor and other
63; redistributions should be placed in the reserved range at the end
64; of the current calls.
65
660	NOARGS		{ int sys_nosys(void); } syscall
671	NOARGS		{ int sys_exit(int rval); }
682	NOARGS		{ int sys_fork(void); }
693	NOARGS		{ int sys_read(int fd, char *buf, u_int nbyte); }
704	NOARGS		{ int sys_write(int fd, char *buf, u_int nbyte); }
715	NOARGS		{ int sys_open(const char *path, int flags, 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	NOARGS		{ int compat_43_sys_creat(const char *path, \
76			    int mode); } ocreat
779	NOARGS		{ int sys_link(const char *path, const char *link); }
7810	NOARGS		{ int sys_unlink(const char *path); }
7911	OBSOL		execv
8012	NOARGS		{ int sys_chdir(const char *path); }
8113	NOARGS		{ int sys_fchdir(int fd); }
8214	NOARGS		{ int sys_mknod(const char *path, int mode, int dev); }
8315	NOARGS		{ int sys_chmod(const char *path, int mode); }
8416	NOARGS		{ int sys_chown(const char *path, int uid, int gid); }
8517	NOARGS		{ int sys_obreak(char *nsize); } break
8618	NOARGS		{ int compat_20_sys_getfsstat(struct statfs12 *buf, \
87			    long bufsize, int flags); }
8819	NOARGS		{ long compat_43_sys_lseek(int fd, long offset, \
89			    int whence); } olseek
9020	NOARGS		{ pid_t sys_getpid_with_ppid(void); }
9121	STD		{ int freebsd_sys_mount(int type, const char *path, \
92			    int flags, void *data); }
9322	NOARGS		{ int sys_unmount(const char *path, int flags); }
9423	NOARGS		{ int sys_setuid(uid_t uid); }
9524	NOARGS		{ uid_t sys_getuid_with_euid(void); }
9625	NOARGS		{ uid_t sys_geteuid(void); }
9726	STD		{ int freebsd_sys_ptrace(int req, pid_t pid, \
98			    void *addr, int data); }
9927	NOARGS		{ int sys_recvmsg(int s, struct msghdr *msg, \
100			    int flags); }
10128	NOARGS		{ int sys_sendmsg(int s, void *msg, int flags); }
10229	NOARGS		{ int sys_recvfrom(int s, void *buf, size_t len, \
103			    int flags, void *from, int *fromlenaddr); }
10430	NOARGS		{ int sys_accept(int s, void *name, int *anamelen); }
10531	NOARGS		{ int sys_getpeername(int fdes, void *asa, \
106			    int *alen); }
10732	NOARGS		{ int sys_getsockname(int fdes, void *asa, \
108			    int *alen); }
10933	NOARGS		{ int sys_access(const char *path, int flags); }
11034	NOARGS		{ int sys_chflags(const char *path, int flags); }
11135	NOARGS		{ int sys_fchflags(int fd, int flags); }
11236	NOARGS		{ int sys_sync(void); }
11337	NOARGS		{ int sys_kill(int pid, int signum); }
11438	NOARGS		{ int compat_43_sys_stat(const char *path, \
115			    struct stat43 *ub); } stat43
11639	NOARGS		{ pid_t sys_getppid(void); }
11740	NOARGS		{ int compat_43_sys_lstat(const char *path, \
118			    struct stat43 *ub); } lstat43
11941	NOARGS		{ int sys_dup(u_int fd); }
12042	NOARGS		{ int sys_pipe(void); }
12143	NOARGS		{ gid_t sys_getegid(void); }
12244	NOARGS		{ int sys_profil(void *samples, u_int size, \
123			    u_int offset, u_int scale); }
124#ifdef KTRACE
12545	NOARGS		{ int sys_ktrace(char *fname, int ops, int facs, \
126			    int pid); }
127#else
12845	EXCL		ktrace
129#endif
13046	NOARGS		{ int compat_13_sys_sigaction(int signum, \
131			    const struct sigaction13 *nsa, \
132			    struct sigaction13 *osa); }
13347	NOARGS		{ gid_t sys_getgid_with_egid(void); }
13448	NOARGS		{ int compat_13_sys_sigprocmask(int how, \
135			    int mask); }
13649	NOARGS		{ int sys___getlogin(char *namebuf, u_int namelen); }
13750	NOARGS		{ int sys___setlogin(char *namebuf); }
13851	NOARGS		{ int sys_acct(char *path); }
13952	NOARGS		{ int compat_13_sys_sigpending(void); }
14053	NOARGS		{ int compat_13_sys_sigaltstack( \
141			    const struct sigaltstack13 *nss, \
142			    struct sigaltstack13 *oss); }
14354	STD		{ int freebsd_sys_ioctl(int fd, u_long com, \
144			    void *data); }
14555	NOARGS		{ int sys_reboot(int opt); } oreboot
14656	NOARGS		{ int sys_revoke(const char *path); }
14757	NOARGS		{ int sys_symlink(const char *path, const char *link); }
14858	NOARGS		{ int sys_readlink(const char *path, \
149			    char *buf, int count); }
15059	NOARGS		{ int sys_execve(const char *path, \
151			    char **argp, char **envp); }
15260	NOARGS		{ int sys_umask(int newmask); }
15361	NOARGS		{ int sys_chroot(const char *path); }
15462	NOARGS		{ int compat_43_sys_fstat(int fd, struct stat43 *sb); } \
155			    fstat43
15663	NOARGS		{ int compat_43_sys_getkerninfo(int op, char *where, \
157			    int *size, int arg); } ogetkerninfo
15864	NOARGS		{ int compat_43_sys_getpagesize(void); } ogetpagesize
15965	STD		{ int freebsd_sys_msync(void *addr, size_t len, \
160			    int flags); }
16166	NOARGS		{ int sys_vfork(void); }
16267	OBSOL		vread
16368	OBSOL		vwrite
16469	NOARGS		{ int sys_sbrk(intptr_t incr); }
16570	NOARGS		{ int sys_sstk(int incr); }
16671	NOARGS		{ int compat_43_sys_mmap(void *addr, size_t len, \
167			    int prot, int flags, int fd, long pos); } ommap
16872	NOARGS		{ int sys_ovadvise(int anom); } vadvise
16973	NOARGS		{ int sys_munmap(void *addr, size_t len); }
17074	NOARGS		{ int sys_mprotect(void *addr, size_t len, \
171			    int prot); }
17275	NOARGS		{ int sys_madvise(void *addr, size_t len, \
173			    int behav); }
17476	OBSOL		vhangup
17577	OBSOL		vlimit
17678	NOARGS		{ int sys_mincore(void *addr, size_t len, char *vec); }
17779	NOARGS		{ int sys_getgroups(u_int gidsetsize, gid_t *gidset); }
17880	NOARGS		{ int sys_setgroups(u_int gidsetsize, gid_t *gidset); }
17981	NOARGS		{ int sys_getpgrp(void); }
18082	NOARGS		{ int sys_setpgid(int pid, int pgid); }
18183	NOARGS		{ int sys_setitimer(u_int which, \
182			    struct itimerval *itv, struct itimerval *oitv); }
18384	NOARGS		{ int compat_43_sys_wait(void); } owait
18485	NOARGS		{ int compat_12_sys_swapon(char *name); }
18586	NOARGS		{ int sys_getitimer(u_int which, \
186			    struct itimerval *itv); }
18787	NOARGS		{ int compat_43_sys_gethostname(char *hostname, \
188			    u_int len); } ogethostname
18988	NOARGS		{ int compat_43_sys_sethostname(char *hostname, \
190			    u_int len); } osethostname
19189	NOARGS		{ int compat_43_sys_getdtablesize(void); } \
192			    ogetdtablesize
19390	NOARGS		{ int sys_dup2(u_int from, u_int to); }
19491	UNIMPL		getdopt
19592	NOARGS		{ int sys_fcntl(int fd, int cmd, void *arg); }
19693	NOARGS		{ int sys_select(u_int nd, fd_set *in, fd_set *ou, \
197			    fd_set *ex, struct timeval *tv); }
19894	UNIMPL		setdopt
19995	NOARGS		{ int sys_fsync(int fd); }
20096	NOARGS		{ int sys_setpriority(int which, int who, int prio); }
20197	NOARGS		{ int compat_30_sys_socket(int domain, int type, int protocol); }
20298	NOARGS		{ int sys_connect(int s, void *name, int namelen); }
20399	NOARGS		{ int compat_43_sys_accept(int s, void *name, \
204			    int *anamelen); } oaccept
205100	NOARGS		{ int sys_getpriority(int which, int who); }
206101	NOARGS		{ int compat_43_sys_send(int s, void *buf, int len, \
207			    int flags); } osend
208102	NOARGS		{ int compat_43_sys_recv(int s, void *buf, int len, \
209			    int flags); } orecv
210103	STD		{ int freebsd_sys_sigreturn( \
211			    struct freebsd_sigcontext *scp); }
212104	NOARGS		{ int sys_bind(int s, void *name, int namelen); }
213105	NOARGS		{ int sys_setsockopt(int s, int level, int name, \
214			    void *val, int valsize); }
215106	NOARGS		{ int sys_listen(int s, int backlog); }
216107	OBSOL		vtimes
217108	NOARGS		{ int compat_43_sys_sigvec(int signum, \
218			    struct sigvec *nsv, struct sigvec *osv); } osigvec
219109	NOARGS		{ int compat_43_sys_sigblock(int mask); } osigblock
220110	NOARGS		{ int compat_43_sys_sigsetmask(int mask); } osigsetmask
221111	NOARGS		{ int compat_13_sys_sigsuspend(int mask); }
222112	NOARGS		{ int compat_43_sys_sigstack(struct sigstack *nss, \
223			    struct sigstack *oss); } osigstack
224113	NOARGS		{ int compat_43_sys_recvmsg(int s, \
225			    struct omsghdr *msg, int flags); } orecvmsg
226114	NOARGS		{ int compat_43_sys_sendmsg(int s, void *msg, \
227			    int flags); } osendmsg
228#ifdef TRACE
229115	NOARGS		{ int sys_vtrace(int request, int value); }
230#else
231115	OBSOL		vtrace
232#endif
233116	NOARGS		{ int sys_gettimeofday(struct timeval *tp, \
234			    struct timezone *tzp); }
235117	NOARGS		{ int sys_getrusage(int who, struct rusage *rusage); }
236118	NOARGS		{ int sys_getsockopt(int s, int level, int name, \
237			    void *val, int *avalsize); }
238119	OBSOL		resuba
239120	NOARGS		{ int sys_readv(int fd, struct iovec *iovp, \
240			    u_int iovcnt); }
241121	NOARGS		{ int sys_writev(int fd, struct iovec *iovp, \
242			    u_int iovcnt); }
243122	NOARGS		{ int sys_settimeofday(struct timeval *tv, \
244			    struct timezone *tzp); }
245123	NOARGS		{ int sys_fchown(int fd, int uid, int gid); }
246124	NOARGS		{ int sys_fchmod(int fd, int mode); }
247125	NOARGS		{ int compat_43_sys_recvfrom(int s, void *buf, \
248			    size_t len, int flags, void *from, \
249			    int *fromlenaddr); } orecvfrom
250126	NOARGS		{ int sys_setreuid(int ruid, int euid); }
251127	NOARGS		{ int sys_setregid(int rgid, int egid); }
252128	NOARGS		{ int sys_rename(const char *from, const char *to); }
253129	NOARGS		{ int compat_43_sys_truncate(const char *path, \
254			    long length); } otruncate
255130	NOARGS		{ int compat_43_sys_ftruncate(int fd, long length); } \
256			    oftruncate
257131	NOARGS		{ int sys_flock(int fd, int how); }
258132	NOARGS		{ int sys_mkfifo(const char *path, int mode); }
259133	NOARGS		{ int sys_sendto(int s, void *buf, size_t len, \
260			    int flags, void *to, int tolen); }
261134	NOARGS		{ int sys_shutdown(int s, int how); }
262135	NOARGS		{ int sys_socketpair(int domain, int type, \
263			    int protocol, int *rsv); }
264136	NOARGS		{ int sys_mkdir(const char *path, int mode); }
265137	NOARGS		{ int sys_rmdir(const char *path); }
266138	NOARGS		{ int sys_utimes(char *path, struct timeval *tptr); }
267139	OBSOL		4.2 sigreturn
268140	NOARGS		{ int sys_adjtime(struct timeval *delta, \
269			    struct timeval *olddelta); }
270141	NOARGS		{ int compat_43_sys_getpeername(int fdes, void *asa, \
271			    int *alen); } ogetpeername
272142	NOARGS		{ int32_t compat_43_sys_gethostid(void); } ogethostid
273143	NOARGS		{ int compat_43_sys_sethostid(int32_t hostid); } \
274			    osethostid
275144	NOARGS		{ int compat_43_sys_getrlimit(u_int which, \
276			    struct orlimit *rlp); } ogetrlimit
277145	NOARGS		{ int compat_43_sys_setrlimit(u_int which, \
278			    struct orlimit *rlp); } osetrlimit
279146	NOARGS		{ int compat_43_sys_killpg(int pgid, int signum); } \
280			    okillpg
281147	NOARGS		{ int sys_setsid(void); }
282148	NOARGS		{ int sys_quotactl(char *path, int cmd, int uid, \
283			    void *arg); }
284149	NOARGS		{ int compat_43_sys_quota(void); } oquota
285150	NOARGS		{ int compat_43_sys_getsockname(int fdec, void *asa, \
286			    int *alen); } ogetsockname
287
288; Syscalls 151-180 inclusive are reserved for vendor-specific
289; system calls.  (This includes various calls added for compatibity
290; with other Unix variants.)
291; Some of these calls are now supported by BSD...
292151	UNIMPL		sem_lock
293152	UNIMPL		sem_wakeup
294153	UNIMPL		asyncdaemon
295154	UNIMPL
296#if defined(NFS) || defined(NFSSERVER)
297155	NOARGS		{ int sys_nfssvc(int flag, void *argp); }
298#else
299155	UNIMPL		nfssvc
300#endif
301156	NOARGS		{ int compat_43_sys_getdirentries(int fd, char *buf, \
302			    u_int count, long *basep); } ogetdirentries
303157	NOARGS		{ int compat_20_sys_statfs(const char *path, \
304			    struct statfs12 *buf); }
305158	NOARGS		{ int compat_20_sys_fstatfs(int fd, \
306			    struct statfs12 *buf); }
307159	UNIMPL
308160	UNIMPL
309#ifdef NFS
310161	NOARGS		{ int compat_30_sys_getfh(const char *fname, \
311			    struct compat_30_fhandle *fhp); }
312#else
313161	UNIMPL		getfh
314#endif
315162	NOARGS		{ int compat_09_sys_getdomainname(char *domainname, \
316			    int len); }
317163	NOARGS		{ int compat_09_sys_setdomainname(char *domainname, \
318			    int len); }
319164	NOARGS		{ int compat_09_sys_uname(struct outsname *name); }
320165	NOARGS		{ int sys_sysarch(int op, char *parms); }
321166	STD		{ int freebsd_sys_rtprio(int function, pid_t pid, \
322			    struct freebsd_rtprio *rtp); }
323167	UNIMPL
324168	UNIMPL
325; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
326#if defined(SYSVSEM) && !defined(_LP64)
327169	STD		{ int freebsd_sys_semsys(int which, int a2, int a3, \
328			    int a4, int a5); }
329#else
330169	UNIMPL		1.0 semsys
331#endif
332; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
333#if defined(SYSVMSG) && !defined(_LP64)
334170	STD		{ int freebsd_sys_msgsys(int which, int a2, int a3, \
335			    int a4, int a5, int a6); }
336#else
337170	UNIMPL		1.0 msgsys
338#endif
339; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
340#if defined(SYSVSHM) && !defined(_LP64)
341171	STD		{ int freebsd_sys_shmsys(int which, int a2, int a3, \
342			    int a4); }
343#else
344171	UNIMPL		1.0 shmsys
345#endif
346172	UNIMPL
347173	NOARGS		{ ssize_t sys_pread(int fd, void *buf, \
348			    size_t nbyte, int pad, off_t offset); }
349174	NOARGS		{ ssize_t sys_pwrite(int fd, const void *buf, \
350			    size_t nbyte, int pad, off_t offset); }
351175	UNIMPL
352#ifdef NTP
353176	STD		{ int freebsd_ntp_adjtime(struct freebsd_timex *tp); }
354#else
355176     EXCL            ntp_adjtime
356#endif
357177	UNIMPL		sfork
358178	UNIMPL		getdescriptor
359179	UNIMPL		setdescriptor
360180	UNIMPL
361
362; Syscalls 180-199 are used by/reserved for BSD
363181	NOARGS		{ int sys_setgid(gid_t gid); }
364182	NOARGS		{ int sys_setegid(gid_t egid); }
365183	NOARGS		{ int sys_seteuid(uid_t euid); }
366#ifdef LFS
367184	NOARGS		{ int sys_lfs_bmapv(fsid_t *fsidp, \
368			    struct block_info *blkiov, int blkcnt); }
369185	NOARGS		{ int sys_lfs_markv(fsid_t *fsidp, \
370			    struct block_info *blkiov, int blkcnt); }
371186	NOARGS		{ int sys_lfs_segclean(fsid_t *fsidp, u_long segment); }
372187	NOARGS		{ int sys_lfs_segwait(fsid_t *fsidp, struct timeval *tv); }
373#else
374184	UNIMPL
375185	UNIMPL
376186	UNIMPL
377187	UNIMPL
378#endif
379188	NOARGS		{ int compat_12_sys_stat(const char *path, \
380			    struct stat12 *ub); }
381189	NOARGS		{ int compat_12_sys_fstat(int fd, \
382			    struct stat12 *sb); }
383190	NOARGS		{ int compat_12_sys_lstat(const char *path, \
384			    struct stat12 *ub); }
385191	NOARGS		{ int sys_pathconf(const char *path, int name); }
386192	NOARGS		{ int sys_fpathconf(int fd, int name); }
387193	UNIMPL
388194	NOARGS		{ int sys_getrlimit(u_int which, struct rlimit *rlp); }
389195	NOARGS		{ int sys_setrlimit(u_int which, struct rlimit *rlp); }
390196	NOARGS		{ int compat_12_sys_getdirentries(int fd, char *buf, \
391			    u_int count, long *basep); }
392197	STD		{ void *freebsd_sys_mmap(void *addr, size_t len, \
393			    int prot, int flags, int fd, long pad, off_t pos); }
394198	NOARGS		{ int sys_nosys(void); } __syscall
395199	NOARGS		{ off_t sys_lseek(int fd, int pad, off_t offset, \
396			    int whence); }
397200	NOARGS		{ int sys_truncate(const char *path, int pad, \
398			    off_t length); }
399201	NOARGS		{ int sys_ftruncate(int fd, int pad, off_t length); }
400202	STD		{ int freebsd_sys_sysctl(int *name, u_int namelen, \
401			    void *old, size_t *oldlenp, void *new, \
402			    size_t newlen); }
403203	NOARGS		{ int sys_mlock(void *addr, size_t len); }
404204	NOARGS		{ int sys_munlock(void *addr, size_t len); }
405#ifdef FREEBSD_BASED_ON_44LITE_R2
406205	STD		{ int freebsd_sys_undelete(char *path); }
407#else
408205	UNIMPL		undelete
409#endif
410206	NOARGS		{ int sys_futimes(int fd, const struct timeval *tptr); }
411207	NOARGS		{ pid_t sys_getpgid(pid_t pid); }
412#if 0
413208	NOARGS		{ int sys_reboot(int opt, char *bootstr); }
414#else
415208	UNIMPL		newreboot
416#endif
417209	NOARGS		{ int sys_poll(struct pollfd *fds, u_int nfds, \
418			    int timeout); }
419;
420; Syscalls 210-219 are reserved for dynamically loaded syscalls
421;
422210	UNIMPL
423211	UNIMPL
424212	UNIMPL
425213	UNIMPL
426214	UNIMPL
427215	UNIMPL
428216	UNIMPL
429217	UNIMPL
430218	UNIMPL
431219	UNIMPL
432;
433; Syscalls 220-239 are reserved for syscalls imported from NetBSD
434;
435#ifdef SYSVSEM
436220	NOARGS		{ int compat_14_sys___semctl(int semid, int semnum, \
437			    int cmd, union __semun *arg); }
438221	NOARGS		{ int sys_semget(key_t key, int nsems, int semflg); }
439222	NOARGS		{ int sys_semop(int semid, struct sembuf *sops, \
440			    u_int nsops); }
441223	NOARGS		{ int sys_semconfig(int flag); }
442#else
443220	UNIMPL		semctl
444221	UNIMPL		semget
445222	UNIMPL		semop
446223	UNIMPL		semconfig
447#endif
448#ifdef SYSVMSG
449224	NOARGS		{ int compat_14_sys_msgctl(int msqid, int cmd, \
450			    struct msqid14_ds *buf); }
451225	NOARGS		{ int sys_msgget(key_t key, int msgflg); }
452226	NOARGS		{ int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \
453			    int msgflg); }
454227	NOARGS		{ int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
455			    long msgtyp, int msgflg); }
456#else
457224	UNIMPL		msgctl
458225	UNIMPL		msgget
459226	UNIMPL		msgsnd
460227	UNIMPL		msgrcv
461#endif
462#ifdef SYSVSHM
463228	NOARGS		{ int sys_shmat(int shmid, void *shmaddr, int shmflg); }
464229	NOARGS		{ int compat_14_sys_shmctl(int shmid, int cmd, \
465			    struct shmid_ds14 *buf); }
466230	NOARGS		{ int sys_shmdt(void *shmaddr); }
467231	NOARGS		{ int sys_shmget(key_t key, int size, int shmflg); }
468#else
469228	UNIMPL		shmat
470229	UNIMPL		shmctl
471230	UNIMPL		shmdt
472231	UNIMPL		shmget
473#endif
474;
475; XXXX
476232	NOARGS		{ int sys_clock_gettime(clockid_t clock_id, \
477			    struct timespec *tp); }
478233	NOARGS		{ int sys_clock_settime(clockid_t clock_id, \
479			    const struct timespec *tp); }
480234	NOARGS		{ int sys_clock_getres(clockid_t clock_id, \
481			    struct timespec *tp); }
482235	UNIMPL		timer_create
483236	UNIMPL		timer_delete
484237	UNIMPL		timer_settime
485238	UNIMPL		timer_gettime
486239	UNIMPL		timer_getoverrun
487240	NOARGS		{ int sys_nanosleep(const struct timespec *rqtp, \
488			    struct timespec *rmtp); }
489241	UNIMPL
490242	UNIMPL
491243	UNIMPL
492244	UNIMPL
493245	UNIMPL
494246	UNIMPL
495247	UNIMPL
496248	UNIMPL
497249	UNIMPL
498; syscall numbers initially used in OpenBSD
499250	NOARGS		{ int sys_minherit(void *addr, size_t len, \
500			    int inherit); }
501251	STD		{ int freebsd_sys_rfork(int flags); }
502252	UNIMPL		openbsd_poll
503253	NOARGS		{ int sys_issetugid(void); }
504254	NOARGS		{ int sys_lchown(const char *path, int uid, int gid); }
505255	UNIMPL
506256	UNIMPL
507257	UNIMPL
508258	UNIMPL
509259	UNIMPL
510260	UNIMPL
511261	UNIMPL
512262	UNIMPL
513263	UNIMPL
514264	UNIMPL
515265	UNIMPL
516266	UNIMPL
517267	UNIMPL
518268	UNIMPL
519269	UNIMPL
520270	UNIMPL
521271	UNIMPL
522272	NOARGS		{ int compat_30_sys_getdents(int fd, char *buf, size_t count); }
523273	UNIMPL
524274	NOARGS		{ int sys_lchmod(const char *path, mode_t mode); }
525275	NOARGS		{ int sys_lchown(const char *path, uid_t uid, \
526			    gid_t gid); } netbsd_lchown
527276	NOARGS		{ int sys_lutimes(const char *path, \
528			    const struct timeval *tptr); }
529277	NOARGS		{ int sys___msync13(void *addr, size_t len, int flags); }
530278	NOARGS		{ int compat_30_sys___stat13(const char *path, struct stat13 *ub); }
531279	NOARGS		{ int compat_30_sys___fstat13(int fd, struct stat13 *sb); }
532280	NOARGS		{ int compat_30_sys___lstat13(const char *path, struct stat13 *ub);}
533281	UNIMPL
534282	UNIMPL
535283	UNIMPL
536284	UNIMPL
537285	UNIMPL
538286	UNIMPL
539287	UNIMPL
540288	UNIMPL
541289	UNIMPL
542290	UNIMPL
543291	UNIMPL
544292	UNIMPL
545293	UNIMPL
546294	UNIMPL
547295	UNIMPL
548296	UNIMPL
549297	NOARGS		{ int compat_20_sys_fhstatfs(const struct	\
550			    compat_30_fhandle *fhp, \
551			    struct statfs12 *buf); }
552298	NOARGS		{ int compat_30_sys_fhopen(const	\
553			    struct compat_30_fhandle *fhp, int flags); }
554299	NOARGS		{ int compat_30_sys_fhstat(const 	\
555			    struct cocmpat_30_fhandlez *fhp, 	\
556			    struct stat13 *sb); }
557; syscall numbers for FreeBSD
558300	UNIMPL		modnext
559301	UNIMPL		modstat
560302	UNIMPL		modfnext
561303	UNIMPL		modfind
562304	UNIMPL		kldload
563305	UNIMPL		kldunload
564306	UNIMPL		kldfind
565307	UNIMPL		kldnext
566308	UNIMPL		kldstat
567309	UNIMPL		kldfirstmod
568310	NOARGS		{ pid_t sys_getsid(pid_t pid); }
569311	UNIMPL		setresuid
570312	UNIMPL		setresgid
571313	UNIMPL		signanosleep
572314	UNIMPL		aio_return
573315	UNIMPL		aio_suspend
574316	UNIMPL		aio_cancel
575317	UNIMPL		aio_error
576318	UNIMPL		aio_read
577319	UNIMPL		aio_write
578320	UNIMPL		lio_listio
579321	NOARGS		{ void freebsd_sys_yield(void); }
580322	UNIMPL		thr_sleep
581323	UNIMPL		thr_wakeup
582324	NOARGS		{ int sys_mlockall(int flags); }
583325	NOARGS		{ int sys_munlockall(void); }
584326	NOARGS		{ int sys___getcwd(char *bufp, size_t length); }
585327	STD		{ int freebsd_sys_sched_setparam(pid_t pid, \
586			    const struct freebsd_sched_param *sp); }
587328	STD		{ int freebsd_sys_sched_getparam(pid_t pid, \
588			    struct freebsd_sched_param *sp); }
589329	STD		{ int freebsd_sys_sched_setscheduler(pid_t pid, \
590			    int policy, const struct sched_param *sp); }
591330	STD		{ int freebsd_sys_sched_getscheduler(pid_t pid); }
592331	STD		{ int freebsd_sys_sched_yield(void); }
593332	STD		{ int freebsd_sys_sched_get_priority_max(int policy); }
594333	STD		{ int freebsd_sys_sched_get_priority_min(int policy); }
595334	UNIMPL		sched_rr_get_interval
596335	STD		{ int freebsd_sys_utrace(void *addr, size_t len); }
597336	UNIMPL		sendfile
598337	UNIMPL		kldsym
599338	UNIMPL		jail
600339	UNIMPL		pioctl
601340	NOARGS		{ int sys___sigprocmask14(int how, \
602			    const sigset_t *set, \
603			    sigset_t *oset); }
604341	NOARGS		{ int sys___sigsuspend14(const sigset_t *set); }
605342	STD		{ int freebsd_sys_sigaction4(int signum, \
606			    const struct freebsd_sigaction4 *nsa, \
607			    struct freebsd_sigaction4 *osa); }
608343	NOARGS		{ int sys___sigpending14(const sigset_t *set); }
609344	UNIMPL		4.0 sigreturn
610345	UNIMPL		sigtimedwait
611346	UNIMPL		sigwaitinfo
612347	UNIMPL		__acl_get_file
613348	UNIMPL		__acl_set_file
614349	UNIMPL		__acl_get_fd
615350	UNIMPL		__acl_set_fd
616351	UNIMPL		__acl_delete_file
617352	UNIMPL		__acl_delete_fd
618353	UNIMPL		__acl_aclcheck_file
619354	UNIMPL		__acl_aclcheck_fd
620355	UNIMPL		extattrctl
621356	UNIMPL		extattr_set_file
622357	UNIMPL		extattr_get_file
623358	UNIMPL		extattr_delete_file
624359	UNIMPL		aio_waitcomplete
625360	UNIMPL		getresuid
626361	UNIMPL		getresgid
627362	UNIMPL		kqueue
628363	UNIMPL		kevent
629364	UNIMPL		__cap_get_proc
630365	UNIMPL		__cap_set_proc
631366	UNIMPL		__cap_get_fd
632367	UNIMPL		__cap_get_file
633368	UNIMPL		__cap_set_fd
634369	UNIMPL		__cap_set_file
635370	UNIMPL		lkmressym
636371	UNIMPL		extattr_set_fd
637372	UNIMPL		extattr_get_fd
638373	UNIMPL		extattr_delete_fd
639374	UNIMPL		__setugid
640375	UNIMPL		nfsclnt
641376	UNIMPL		eaccess
642377	UNIMPL		afs_syscall
643378	UNIMPL		nmount
644379	UNIMPL		kse_exit
645380	UNIMPL		kse_wakeup
646381	UNIMPL		kse_create
647382	UNIMPL		kse_thr_interrupt
648383	UNIMPL		kse_release
649384	UNIMPL		__mac_get_proc
650385	UNIMPL		__mac_set_proc
651386	UNIMPL		__mac_get_fd
652387	UNIMPL		__mac_get_file
653388	UNIMPL		__mac_set_fd
654389	UNIMPL		__mac_set_file
655390	UNIMPL		kenv
656391	NOARGS		{ int sys_lchflags(const char *path, u_long flags); }
657392	NOARGS		{ int sys_uuidgen(struct uuid *store, int count); }
658393	UNIMPL		sendfile
659394	UNIMPL		mac_syscall
660395	UNIMPL		getfsstat
661396	UNIMPL		statfs
662397	UNIMPL		fsstatfs
663398	UNIMPL		fhstatfs
664399	UNIMPL		nosys
665#if defined(P1003_1B_SEMAPHORE) || !defined(_KERNEL)
666400	NOARGS		{ int sys__ksem_close(intptr_t id); }
667401	NOARGS		{ int sys__ksem_post(intptr_t id); }
668402	NOARGS		{ int sys__ksem_wait(intptr_t id); }
669403	NOARGS		{ int sys__ksem_trywait(intptr_t id); }
670404	UNIMPL		ksem_init
671405	UNIMPL		ksem_open
672406	NOARGS		{ int sys__ksem_unlink(const char *name); }
673407	NOARGS		{ int sys__ksem_getvalue(intptr_t id, \
674			    unsigned int *value); }
675408	NOARGS		{ int sys__ksem_destroy(intptr_t id); }
676#else
677400	EXCL		ksem_close
678401	EXCL		ksem_post
679402	EXCL		ksem_wait
680403	EXCL		ksem_trywait
681404	EXCL		ksem_init
682405	EXCL		ksem_open
683406	EXCL		ksem_unlink
684407	EXCL		ksem_getvalue
685408	EXCL		ksem_destroy
686#endif
687409	UNIMPL		__mac_get_pid
688410	UNIMPL		__mac_get_link
689411	UNIMPL		__mac_set_link
690412	UNIMPL		extattr_set_link
691413	UNIMPL		extattr_get_link
692414	UNIMPL		extattr_delete_link
693415	UNIMPL		__mac_execve
694416	UNIMPL		sigaction
695417	UNIMPL		sigreturn
696418	UNIMPL		__xstat
697419	UNIMPL		__xfstat
698420	UNIMPL		__xlstat
699421	UNIMPL		getcontext
700422	UNIMPL		setcontext
701423	UNIMPL		swapcontext
702424	UNIMPL		swapoff
703425	UNIMPL		__acl_get_link
704426	UNIMPL		__acl_set_link
705427	UNIMPL		__acl_delete_link
706428	UNIMPL		__acl_aclcheck_link
707429	UNIMPL		sigwait
708430	UNIMPL		thr_create
709431	UNIMPL		thr_exit
710432	UNIMPL		thr_self
711433	UNIMPL		thr_kill
712434	UNIMPL		_umtx_lock
713435	UNIMPL		_umtx_unlock
714436	UNIMPL		jail_attach
715437	UNIMPL		extattr_list_fd
716438	UNIMPL		extattr_list_file
717439	UNIMPL		extattr_list_link
718