syscalls.master revision 1.61
1	$NetBSD: syscalls.master,v 1.61 2009/01/11 02:45:47 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_ntp.h"
37#include "opt_sysv.h"
38#include "opt_compat_43.h"
39#include "opt_posix.h"
40
41#include "fs_lfs.h"
42#endif
43
44#include <sys/param.h>
45#include <sys/systm.h>
46#include <sys/signal.h>
47#include <sys/mount.h>
48#include <sys/syscallargs.h>
49
50#include <compat/sys/signal.h>
51#include <compat/sys/time.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	NOARGS		{ int sys_open(const char *path, int flags, int mode); }
716	NOARGS		{ int sys_close(int fd); }
727	NOARGS		{ int compat_50_sys_wait4(int pid, int *status, \
73			    int options, struct rusage50 *rusage); }
748	NOARGS		{ int compat_43_sys_creat(const char *path, \
75			    int mode); } ocreat
769	NOARGS		{ int sys_link(const char *path, const char *link); }
7710	NOARGS		{ int sys_unlink(const char *path); }
7811	OBSOL		execv
7912	NOARGS		{ int sys_chdir(const char *path); }
8013	NOARGS		{ int sys_fchdir(int fd); }
8114	NOARGS		{ int compat_50_sys_mknod(const char *path, int mode, int dev); }
8215	NOARGS		{ int sys_chmod(const char *path, int mode); }
8316	NOARGS		{ int sys_chown(const char *path, int uid, int gid); }
8417	NOARGS		{ int sys_obreak(char *nsize); } break
8518	NOARGS		{ int compat_20_sys_getfsstat(struct statfs12 *buf, \
86			    long bufsize, int flags); }
8719	NOARGS		{ long compat_43_sys_lseek(int fd, long offset, \
88			    int whence); } olseek
8920	NOARGS		{ pid_t sys_getpid_with_ppid(void); }
9021	STD		{ int freebsd_sys_mount(int type, const char *path, \
91			    int flags, void *data); }
9222	NOARGS		{ int sys_unmount(const char *path, int flags); }
9323	NOARGS		{ int sys_setuid(uid_t uid); }
9424	NOARGS		{ uid_t sys_getuid_with_euid(void); }
9525	NOARGS		{ uid_t sys_geteuid(void); }
9626	STD		{ int freebsd_sys_ptrace(int req, pid_t pid, \
97			    void *addr, int data); }
9827	NOARGS		{ int sys_recvmsg(int s, struct msghdr *msg, \
99			    int flags); }
10028	NOARGS		{ int sys_sendmsg(int s, void *msg, int flags); }
10129	NOARGS		{ int sys_recvfrom(int s, void *buf, size_t len, \
102			    int flags, void *from, int *fromlenaddr); }
10330	NOARGS		{ int sys_accept(int s, void *name, int *anamelen); }
10431	NOARGS		{ int sys_getpeername(int fdes, void *asa, \
105			    int *alen); }
10632	NOARGS		{ int sys_getsockname(int fdes, void *asa, \
107			    int *alen); }
10833	NOARGS		{ int sys_access(const char *path, int flags); }
10934	NOARGS		{ int sys_chflags(const char *path, int flags); }
11035	NOARGS		{ int sys_fchflags(int fd, int flags); }
11136	NOARGS		{ int sys_sync(void); }
11237	NOARGS		{ int sys_kill(int pid, int signum); }
11338	NOARGS		{ int compat_43_sys_stat(const char *path, \
114			    struct stat43 *ub); } stat43
11539	NOARGS		{ pid_t sys_getppid(void); }
11640	NOARGS		{ int compat_43_sys_lstat(const char *path, \
117			    struct stat43 *ub); } lstat43
11841	NOARGS		{ int sys_dup(u_int fd); }
11942	NOARGS		{ int sys_pipe(void); }
12043	NOARGS		{ gid_t sys_getegid(void); }
12144	NOARGS		{ int sys_profil(void *samples, u_int size, \
122			    u_int offset, u_int scale); }
123#ifdef KTRACE
12445	NOARGS		{ int sys_ktrace(char *fname, int ops, int facs, \
125			    int pid); }
126#else
12745	EXCL		ktrace
128#endif
12946	NOARGS		{ int compat_13_sys_sigaction(int signum, \
130			    const struct sigaction13 *nsa, \
131			    struct sigaction13 *osa); }
13247	NOARGS		{ gid_t sys_getgid_with_egid(void); }
13348	NOARGS		{ int compat_13_sys_sigprocmask(int how, \
134			    int mask); }
13549	NOARGS		{ int sys___getlogin(char *namebuf, u_int namelen); }
13650	NOARGS		{ int sys___setlogin(char *namebuf); }
13751	NOARGS		{ int sys_acct(char *path); }
13852	NOARGS		{ int compat_13_sys_sigpending(void); }
13953	NOARGS		{ int compat_13_sys_sigaltstack( \
140			    const struct sigaltstack13 *nss, \
141			    struct sigaltstack13 *oss); }
14254	STD		{ int freebsd_sys_ioctl(int fd, u_long com, \
143			    void *data); }
14455	NOARGS		{ int sys_reboot(int opt); } oreboot
14556	NOARGS		{ int sys_revoke(const char *path); }
14657	NOARGS		{ int sys_symlink(const char *path, const char *link); }
14758	NOARGS		{ int sys_readlink(const char *path, \
148			    char *buf, int count); }
14959	NOARGS		{ int sys_execve(const char *path, \
150			    char **argp, char **envp); }
15160	NOARGS		{ int sys_umask(int newmask); }
15261	NOARGS		{ int sys_chroot(const char *path); }
15362	NOARGS		{ int compat_43_sys_fstat(int fd, struct stat43 *sb); } \
154			    fstat43
15563	NOARGS		{ int compat_43_sys_getkerninfo(int op, char *where, \
156			    int *size, int arg); } ogetkerninfo
15764	NOARGS		{ int compat_43_sys_getpagesize(void); } ogetpagesize
15865	STD		{ int freebsd_sys_msync(void *addr, size_t len, \
159			    int flags); }
16066	NOARGS		{ int sys_vfork(void); }
16167	OBSOL		vread
16268	OBSOL		vwrite
16369	NOARGS		{ int sys_sbrk(intptr_t incr); }
16470	NOARGS		{ int sys_sstk(int incr); }
16571	NOARGS		{ int compat_43_sys_mmap(void *addr, size_t len, \
166			    int prot, int flags, int fd, long pos); } ommap
16772	NOARGS		{ int sys_ovadvise(int anom); } vadvise
16873	NOARGS		{ int sys_munmap(void *addr, size_t len); }
16974	NOARGS		{ int sys_mprotect(void *addr, size_t len, \
170			    int prot); }
17175	NOARGS		{ int sys_madvise(void *addr, size_t len, \
172			    int behav); }
17376	OBSOL		vhangup
17477	OBSOL		vlimit
17578	NOARGS		{ int sys_mincore(void *addr, size_t len, char *vec); }
17679	NOARGS		{ int sys_getgroups(u_int gidsetsize, gid_t *gidset); }
17780	NOARGS		{ int sys_setgroups(u_int gidsetsize, gid_t *gidset); }
17881	NOARGS		{ int sys_getpgrp(void); }
17982	NOARGS		{ int sys_setpgid(int pid, int pgid); }
18083	NOARGS		{ int compat_50_sys_setitimer(u_int which, \
181			    struct itimerval50 *itv, struct itimerval50 *oitv); }
18284	NOARGS		{ int compat_43_sys_wait(void); } owait
18385	NOARGS		{ int compat_12_sys_swapon(char *name); }
18486	NOARGS		{ int compat_50_sys_getitimer(u_int which, \
185			    struct itimerval50 *itv); }
18687	NOARGS		{ int compat_43_sys_gethostname(char *hostname, \
187			    u_int len); } ogethostname
18888	NOARGS		{ int compat_43_sys_sethostname(char *hostname, \
189			    u_int len); } osethostname
19089	NOARGS		{ int compat_43_sys_getdtablesize(void); } \
191			    ogetdtablesize
19290	NOARGS		{ int sys_dup2(u_int from, u_int to); }
19391	UNIMPL		getdopt
19492	NOARGS		{ int sys_fcntl(int fd, int cmd, void *arg); }
19593	NOARGS		{ int compat_50_sys_select(u_int nd, fd_set *in, \
196			    fd_set *ou, fd_set *ex, struct timeval50 *tv); }
19794	UNIMPL		setdopt
19895	NOARGS		{ int sys_fsync(int fd); }
19996	NOARGS		{ int sys_setpriority(int which, int who, int prio); }
20097	NOARGS		{ int compat_30_sys_socket(int domain, int type, int protocol); }
20198	NOARGS		{ int sys_connect(int s, void *name, int namelen); }
20299	NOARGS		{ int compat_43_sys_accept(int s, void *name, \
203			    int *anamelen); } oaccept
204100	NOARGS		{ int sys_getpriority(int which, int who); }
205101	NOARGS		{ int compat_43_sys_send(int s, void *buf, int len, \
206			    int flags); } osend
207102	NOARGS		{ int compat_43_sys_recv(int s, void *buf, int len, \
208			    int flags); } orecv
209103	STD		{ int freebsd_sys_sigreturn( \
210			    struct freebsd_sigcontext *scp); }
211104	NOARGS		{ int sys_bind(int s, void *name, int namelen); }
212105	NOARGS		{ int sys_setsockopt(int s, int level, int name, \
213			    void *val, int valsize); }
214106	NOARGS		{ int sys_listen(int s, int backlog); }
215107	OBSOL		vtimes
216108	NOARGS		{ int compat_43_sys_sigvec(int signum, \
217			    struct sigvec *nsv, struct sigvec *osv); } osigvec
218109	NOARGS		{ int compat_43_sys_sigblock(int mask); } osigblock
219110	NOARGS		{ int compat_43_sys_sigsetmask(int mask); } osigsetmask
220111	NOARGS		{ int compat_13_sys_sigsuspend(int mask); }
221112	NOARGS		{ int compat_43_sys_sigstack(struct sigstack *nss, \
222			    struct sigstack *oss); } osigstack
223113	NOARGS		{ int compat_43_sys_recvmsg(int s, \
224			    struct omsghdr *msg, int flags); } orecvmsg
225114	NOARGS		{ int compat_43_sys_sendmsg(int s, void *msg, \
226			    int flags); } osendmsg
227#ifdef TRACE
228115	NOARGS		{ int sys_vtrace(int request, int value); }
229#else
230115	OBSOL		vtrace
231#endif
232116	NOARGS		{ int compat_50_sys_gettimeofday(struct timeval50 *tp, \
233			    struct timezone *tzp); }
234117	NOARGS		{ int compat_50_sys_getrusage(int who, \
235			    struct rusage50 *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 compat_50_sys_settimeofday(struct timeval50 *tv, \
244			    struct timezone50 *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 compat_50_sys_utimes(char *path, \
267			    struct timeval50 *tptr); }
268139	OBSOL		4.2 sigreturn
269140	NOARGS		{ int compat_50_sys_adjtime(struct timeval50 *delta, \
270			    struct timeval50 *olddelta); }
271141	NOARGS		{ int compat_43_sys_getpeername(int fdes, void *asa, \
272			    int *alen); } ogetpeername
273142	NOARGS		{ int32_t compat_43_sys_gethostid(void); } ogethostid
274143	NOARGS		{ int compat_43_sys_sethostid(int32_t hostid); } \
275			    osethostid
276144	NOARGS		{ int compat_43_sys_getrlimit(u_int which, \
277			    struct orlimit *rlp); } ogetrlimit
278145	NOARGS		{ int compat_43_sys_setrlimit(u_int which, \
279			    struct orlimit *rlp); } osetrlimit
280146	NOARGS		{ int compat_43_sys_killpg(int pgid, int signum); } \
281			    okillpg
282147	NOARGS		{ int sys_setsid(void); }
283148	NOARGS		{ int sys_quotactl(char *path, int cmd, int uid, \
284			    void *arg); }
285149	NOARGS		{ int compat_43_sys_quota(void); } oquota
286150	NOARGS		{ int compat_43_sys_getsockname(int fdec, void *asa, \
287			    int *alen); } ogetsockname
288
289; Syscalls 151-180 inclusive are reserved for vendor-specific
290; system calls.  (This includes various calls added for compatibity
291; with other Unix variants.)
292; Some of these calls are now supported by BSD...
293151	UNIMPL		sem_lock
294152	UNIMPL		sem_wakeup
295153	UNIMPL		asyncdaemon
296154	UNIMPL
297155	UNIMPL		nfssvc
298156	NOARGS		{ int compat_43_sys_getdirentries(int fd, char *buf, \
299			    u_int count, long *basep); } ogetdirentries
300157	NOARGS		{ int compat_20_sys_statfs(const char *path, \
301			    struct statfs12 *buf); }
302158	NOARGS		{ int compat_20_sys_fstatfs(int fd, \
303			    struct statfs12 *buf); }
304159	UNIMPL
305160	UNIMPL
306#ifdef NFS
307161	NOARGS		{ int compat_30_sys_getfh(const char *fname, \
308			    struct compat_30_fhandle *fhp); }
309#else
310161	UNIMPL		getfh
311#endif
312162	NOARGS		{ int compat_09_sys_getdomainname(char *domainname, \
313			    int len); }
314163	NOARGS		{ int compat_09_sys_setdomainname(char *domainname, \
315			    int len); }
316164	NOARGS		{ int compat_09_sys_uname(struct outsname *name); }
317165	NOARGS		{ int sys_sysarch(int op, char *parms); }
318166	STD		{ int freebsd_sys_rtprio(int function, pid_t pid, \
319			    struct freebsd_rtprio *rtp); }
320167	UNIMPL
321168	UNIMPL
322; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
323#if defined(SYSVSEM) && !defined(_LP64)
324169	STD		{ int freebsd_sys_semsys(int which, int a2, int a3, \
325			    int a4, int a5); }
326#else
327169	UNIMPL		1.0 semsys
328#endif
329; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
330#if defined(SYSVMSG) && !defined(_LP64)
331170	STD		{ int freebsd_sys_msgsys(int which, int a2, int a3, \
332			    int a4, int a5, int a6); }
333#else
334170	UNIMPL		1.0 msgsys
335#endif
336; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
337#if defined(SYSVSHM) && !defined(_LP64)
338171	STD		{ int freebsd_sys_shmsys(int which, int a2, int a3, \
339			    int a4); }
340#else
341171	UNIMPL		1.0 shmsys
342#endif
343172	UNIMPL
344173	NOARGS		{ ssize_t sys_pread(int fd, void *buf, \
345			    size_t nbyte, int pad, off_t offset); }
346174	NOARGS		{ ssize_t sys_pwrite(int fd, const void *buf, \
347			    size_t nbyte, int pad, off_t offset); }
348175	UNIMPL
349#ifdef NTP
350176	STD		{ int freebsd_ntp_adjtime(struct freebsd_timex *tp); }
351#else
352176     EXCL            ntp_adjtime
353#endif
354177	UNIMPL		sfork
355178	UNIMPL		getdescriptor
356179	UNIMPL		setdescriptor
357180	UNIMPL
358
359; Syscalls 180-199 are used by/reserved for BSD
360181	NOARGS		{ int sys_setgid(gid_t gid); }
361182	NOARGS		{ int sys_setegid(gid_t egid); }
362183	NOARGS		{ int sys_seteuid(uid_t euid); }
363#ifdef LFS
364184	NOARGS		{ int sys_lfs_bmapv(fsid_t *fsidp, \
365			    struct block_info *blkiov, int blkcnt); }
366185	NOARGS		{ int sys_lfs_markv(fsid_t *fsidp, \
367			    struct block_info *blkiov, int blkcnt); }
368186	NOARGS		{ int sys_lfs_segclean(fsid_t *fsidp, u_long segment); }
369187	NOARGS		{ int compat_50_sys_lfs_segwait(fsid_t *fsidp, \
370			    struct timeval50 *tv); }
371#else
372184	UNIMPL
373185	UNIMPL
374186	UNIMPL
375187	UNIMPL
376#endif
377188	NOARGS		{ int compat_12_sys_stat(const char *path, \
378			    struct stat12 *ub); }
379189	NOARGS		{ int compat_12_sys_fstat(int fd, \
380			    struct stat12 *sb); }
381190	NOARGS		{ int compat_12_sys_lstat(const char *path, \
382			    struct stat12 *ub); }
383191	NOARGS		{ int sys_pathconf(const char *path, int name); }
384192	NOARGS		{ int sys_fpathconf(int fd, int name); }
385193	UNIMPL
386194	NOARGS		{ int sys_getrlimit(u_int which, struct rlimit *rlp); }
387195	NOARGS		{ int sys_setrlimit(u_int which, struct rlimit *rlp); }
388196	NOARGS		{ int compat_12_sys_getdirentries(int fd, char *buf, \
389			    u_int count, long *basep); }
390197	STD		{ void *freebsd_sys_mmap(void *addr, size_t len, \
391			    int prot, int flags, int fd, long pad, off_t pos); }
392198	NOARGS		{ int sys_nosys(void); } __syscall
393199	NOARGS		{ off_t sys_lseek(int fd, int pad, off_t offset, \
394			    int whence); }
395200	NOARGS		{ int sys_truncate(const char *path, int pad, \
396			    off_t length); }
397201	NOARGS		{ int sys_ftruncate(int fd, int pad, off_t length); }
398202	STD		{ int freebsd_sys_sysctl(int *name, u_int namelen, \
399			    void *old, size_t *oldlenp, void *new, \
400			    size_t newlen); }
401203	NOARGS		{ int sys_mlock(void *addr, size_t len); }
402204	NOARGS		{ int sys_munlock(void *addr, size_t len); }
403#ifdef FREEBSD_BASED_ON_44LITE_R2
404205	STD		{ int freebsd_sys_undelete(char *path); }
405#else
406205	UNIMPL		undelete
407#endif
408206	NOARGS		{ int compat_50_sys_futimes(int fd, \
409			    const struct timeval50 *tptr); }
410207	NOARGS		{ pid_t sys_getpgid(pid_t pid); }
411#if 0
412208	NOARGS		{ int sys_reboot(int opt, char *bootstr); }
413#else
414208	UNIMPL		newreboot
415#endif
416209	NOARGS		{ int sys_poll(struct pollfd *fds, u_int nfds, \
417			    int timeout); }
418;
419; Syscalls 210-219 are reserved for dynamically loaded syscalls
420;
421210	UNIMPL
422211	UNIMPL
423212	UNIMPL
424213	UNIMPL
425214	UNIMPL
426215	UNIMPL
427216	UNIMPL
428217	UNIMPL
429218	UNIMPL
430219	UNIMPL
431;
432; Syscalls 220-239 are reserved for syscalls imported from NetBSD
433;
434#ifdef SYSVSEM
435220	NOARGS		{ int compat_14_sys___semctl(int semid, int semnum, \
436			    int cmd, union __semun *arg); }
437221	NOARGS		{ int sys_semget(key_t key, int nsems, int semflg); }
438222	NOARGS		{ int sys_semop(int semid, struct sembuf *sops, \
439			    u_int nsops); }
440223	NOARGS		{ int sys_semconfig(int flag); }
441#else
442220	UNIMPL		semctl
443221	UNIMPL		semget
444222	UNIMPL		semop
445223	UNIMPL		semconfig
446#endif
447#ifdef SYSVMSG
448224	NOARGS		{ int compat_14_sys_msgctl(int msqid, int cmd, \
449			    struct msqid14_ds *buf); }
450225	NOARGS		{ int sys_msgget(key_t key, int msgflg); }
451226	NOARGS		{ int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \
452			    int msgflg); }
453227	NOARGS		{ int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
454			    long msgtyp, int msgflg); }
455#else
456224	UNIMPL		msgctl
457225	UNIMPL		msgget
458226	UNIMPL		msgsnd
459227	UNIMPL		msgrcv
460#endif
461#ifdef SYSVSHM
462228	NOARGS		{ int sys_shmat(int shmid, void *shmaddr, int shmflg); }
463229	NOARGS		{ int compat_14_sys_shmctl(int shmid, int cmd, \
464			    struct shmid_ds14 *buf); }
465230	NOARGS		{ int sys_shmdt(void *shmaddr); }
466231	NOARGS		{ int sys_shmget(key_t key, int size, int shmflg); }
467#else
468228	UNIMPL		shmat
469229	UNIMPL		shmctl
470230	UNIMPL		shmdt
471231	UNIMPL		shmget
472#endif
473;
474; XXXX
475232	NOARGS		{ int compat_50_sys_clock_gettime(clockid_t clock_id, \
476			    struct timespec50 *tp); }
477233	NOARGS		{ int compat_50_sys_clock_settime(clockid_t clock_id, \
478			    const struct timespec50 *tp); }
479234	NOARGS		{ int compat_50_sys_clock_getres(clockid_t clock_id, \
480			    struct timespec50 *tp); }
481235	UNIMPL		timer_create
482236	UNIMPL		timer_delete
483237	UNIMPL		timer_settime
484238	UNIMPL		timer_gettime
485239	UNIMPL		timer_getoverrun
486240	NOARGS		{ int compat_50_sys_nanosleep( \
487			    const struct timespec50 *rqtp, \
488			    struct timespec50 *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 compat_50_sys_lutimes(const char *path, \
528			    const struct timeval50 *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