syscalls.master revision 1.65
11.65Sbouyer	$NetBSD: syscalls.master,v 1.65 2011/03/06 17:08:34 bouyer Exp $
21.1Smycroft
31.1Smycroft;	from: @(#)syscalls.master	8.2 (Berkeley) 1/13/94
41.1Smycroft
51.1Smycroft; NetBSD COMPAT_FREEBSD system call name/number "master" file.
61.1Smycroft; (See syscalls.conf to see what it is processed into.)
71.1Smycroft;
81.1Smycroft; Fields: number type [type-dependent ...]
91.1Smycroft;	number	system call number, must be in order
101.1Smycroft;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
111.1Smycroft;		the compatibility options defined in syscalls.conf.
121.1Smycroft;
131.1Smycroft; types:
141.1Smycroft;	STD	always included
151.1Smycroft;	OBSOL	obsolete, not included in system
161.1Smycroft;	UNIMPL	unimplemented, not included in system
171.1Smycroft;	NODEF	included, but don't define the syscall number
181.1Smycroft;	NOARGS	included, but don't define the syscall args structure
191.1Smycroft;
201.1Smycroft; The compat options are defined in the syscalls.conf file, and the
211.1Smycroft; compat option name is prefixed to the syscall name.  Other than
221.1Smycroft; that, they're like NODEF (for 'compat' options), or STD (for
231.1Smycroft; 'libcompat' options).
241.1Smycroft;
251.1Smycroft; The type-dependent arguments are as follows:
261.1Smycroft; For STD, NODEF, NOARGS, and compat syscalls:
271.1Smycroft;	{ pseudo-proto } [alias]
281.1Smycroft; For other syscalls:
291.1Smycroft;	[comment]
301.1Smycroft;
311.1Smycroft; #ifdef's, etc. may be included, and are copied to the output files.
321.15Sthorpej; #include's are copied to the syscall names and switch definition files only.
331.17Sthorpej
341.35Smrg#if defined(_KERNEL_OPT)
351.17Sthorpej#include "opt_ktrace.h"
361.29Sbjh21#include "opt_ntp.h"
371.20Stron#include "opt_sysv.h"
381.21Schristos#include "opt_compat_43.h"
391.42Sjdolecek#include "opt_posix.h"
401.32Smycroft#endif
411.1Smycroft
421.1Smycroft#include <sys/param.h>
431.1Smycroft#include <sys/systm.h>
441.1Smycroft#include <sys/signal.h>
451.1Smycroft#include <sys/mount.h>
461.1Smycroft#include <sys/syscallargs.h>
471.1Smycroft
481.49Schristos#include <compat/sys/signal.h>
491.61Schristos#include <compat/sys/time.h>
501.49Schristos
511.1Smycroft#include <compat/freebsd/freebsd_syscallargs.h>
521.1Smycroft
531.1Smycroft#include <machine/freebsd_machdep.h>
541.32Smycroft
551.32Smycroft%%
561.1Smycroft
571.1Smycroft; Reserved/unimplemented system calls in the range 0-150 inclusive
581.1Smycroft; are reserved for use in future Berkeley releases.
591.1Smycroft; Additional system calls implemented in vendor and other
601.1Smycroft; redistributions should be placed in the reserved range at the end
611.1Smycroft; of the current calls.
621.1Smycroft
631.62Spooka0	NOARGS		{ int|sys||nosys(void); } syscall
641.62Spooka1	NOARGS		{ int|sys||exit(int rval); }
651.62Spooka2	NOARGS		{ int|sys||fork(void); }
661.62Spooka3	NOARGS		{ int|sys||read(int fd, char *buf, u_int nbyte); }
671.62Spooka4	NOARGS		{ int|sys||write(int fd, char *buf, u_int nbyte); }
681.62Spooka5	NOARGS		{ int|sys||open(const char *path, int flags, int mode); }
691.62Spooka6	NOARGS		{ int|sys||close(int fd); }
701.62Spooka7	NOARGS		{ int|compat_50_sys||wait4(int pid, int *status, \
711.61Schristos			    int options, struct rusage50 *rusage); }
721.62Spooka8	NOARGS		{ int|compat_43_sys||creat(const char *path, \
731.1Smycroft			    int mode); } ocreat
741.62Spooka9	NOARGS		{ int|sys||link(const char *path, const char *link); }
751.62Spooka10	NOARGS		{ int|sys||unlink(const char *path); }
761.1Smycroft11	OBSOL		execv
771.62Spooka12	NOARGS		{ int|sys||chdir(const char *path); }
781.62Spooka13	NOARGS		{ int|sys||fchdir(int fd); }
791.62Spooka14	NOARGS		{ int|compat_50_sys||mknod(const char *path, int mode, int dev); }
801.62Spooka15	NOARGS		{ int|sys||chmod(const char *path, int mode); }
811.62Spooka16	NOARGS		{ int|sys||chown(const char *path, int uid, int gid); }
821.62Spooka17	NOARGS		{ int|sys||obreak(char *nsize); } break
831.62Spooka18	NOARGS		{ int|compat_20_sys||getfsstat(struct statfs12 *buf, \
841.44Schristos			    long bufsize, int flags); }
851.62Spooka19	NOARGS		{ long|compat_43_sys||lseek(int fd, long offset, \
861.1Smycroft			    int whence); } olseek
871.62Spooka20	NOARGS		{ pid_t|sys||getpid_with_ppid(void); }
881.62Spooka21	STD		{ int|freebsd_sys||mount(int type, const char *path, \
891.57Schristos			    int flags, void *data); }
901.62Spooka22	NOARGS		{ int|sys||unmount(const char *path, int flags); }
911.62Spooka23	NOARGS		{ int|sys||setuid(uid_t uid); }
921.62Spooka24	NOARGS		{ uid_t|sys||getuid_with_euid(void); }
931.62Spooka25	NOARGS		{ uid_t|sys||geteuid(void); }
941.62Spooka26	STD		{ int|freebsd_sys||ptrace(int req, pid_t pid, \
951.57Schristos			    void *addr, int data); }
961.62Spooka27	NOARGS		{ int|sys||recvmsg(int s, struct msghdr *msg, \
971.1Smycroft			    int flags); }
981.62Spooka28	NOARGS		{ int|sys||sendmsg(int s, void *msg, int flags); }
991.62Spooka29	NOARGS		{ int|sys||recvfrom(int s, void *buf, size_t len, \
1001.57Schristos			    int flags, void *from, int *fromlenaddr); }
1011.62Spooka30	NOARGS		{ int|sys||accept(int s, void *name, int *anamelen); }
1021.62Spooka31	NOARGS		{ int|sys||getpeername(int fdes, void *asa, \
1031.1Smycroft			    int *alen); }
1041.62Spooka32	NOARGS		{ int|sys||getsockname(int fdes, void *asa, \
1051.1Smycroft			    int *alen); }
1061.62Spooka33	NOARGS		{ int|sys||access(const char *path, int flags); }
1071.62Spooka34	NOARGS		{ int|sys||chflags(const char *path, int flags); }
1081.62Spooka35	NOARGS		{ int|sys||fchflags(int fd, int flags); }
1091.62Spooka36	NOARGS		{ int|sys||sync(void); }
1101.62Spooka37	NOARGS		{ int|sys||kill(int pid, int signum); }
1111.62Spooka38	NOARGS		{ int|compat_43_sys||stat(const char *path, \
1121.11Schristos			    struct stat43 *ub); } stat43
1131.62Spooka39	NOARGS		{ pid_t|sys||getppid(void); }
1141.62Spooka40	NOARGS		{ int|compat_43_sys||lstat(const char *path, \
1151.11Schristos			    struct stat43 *ub); } lstat43
1161.62Spooka41	NOARGS		{ int|sys||dup(u_int fd); }
1171.62Spooka42	NOARGS		{ int|sys||pipe(void); }
1181.62Spooka43	NOARGS		{ gid_t|sys||getegid(void); }
1191.62Spooka44	NOARGS		{ int|sys||profil(void *samples, u_int size, \
1201.1Smycroft			    u_int offset, u_int scale); }
1211.1Smycroft#ifdef KTRACE
1221.62Spooka45	NOARGS		{ int|sys||ktrace(char *fname, int ops, int facs, \
1231.1Smycroft			    int pid); }
1241.1Smycroft#else
1251.34Sjdolecek45	EXCL		ktrace
1261.1Smycroft#endif
1271.62Spooka46	NOARGS		{ int|compat_13_sys||sigaction(int signum, \
1281.19Smycroft			    const struct sigaction13 *nsa, \
1291.19Smycroft			    struct sigaction13 *osa); }
1301.62Spooka47	NOARGS		{ gid_t|sys||getgid_with_egid(void); }
1311.62Spooka48	NOARGS		{ int|compat_13_sys||sigprocmask(int how, \
1321.19Smycroft			    int mask); }
1331.62Spooka49	NOARGS		{ int|sys||__getlogin(char *namebuf, u_int namelen); }
1341.62Spooka50	NOARGS		{ int|sys||__setlogin(char *namebuf); }
1351.62Spooka51	NOARGS		{ int|sys||acct(char *path); }
1361.62Spooka52	NOARGS		{ int|compat_13_sys||sigpending(void); }
1371.62Spooka53	NOARGS		{ int|compat_13_sys||sigaltstack( \
1381.13Sveego			    const struct sigaltstack13 *nss, \
1391.13Sveego			    struct sigaltstack13 *oss); }
1401.62Spooka54	STD		{ int|freebsd_sys||ioctl(int fd, u_long com, \
1411.57Schristos			    void *data); }
1421.62Spooka55	NOARGS		{ int|sys||reboot(int opt); } oreboot
1431.62Spooka56	NOARGS		{ int|sys||revoke(const char *path); }
1441.62Spooka57	NOARGS		{ int|sys||symlink(const char *path, const char *link); }
1451.62Spooka58	NOARGS		{ int|sys||readlink(const char *path, \
1461.22Schristos			    char *buf, int count); }
1471.62Spooka59	NOARGS		{ int|sys||execve(const char *path, \
1481.22Schristos			    char **argp, char **envp); }
1491.62Spooka60	NOARGS		{ int|sys||umask(int newmask); }
1501.62Spooka61	NOARGS		{ int|sys||chroot(const char *path); }
1511.62Spooka62	NOARGS		{ int|compat_43_sys||fstat(int fd, struct stat43 *sb); } \
1521.11Schristos			    fstat43
1531.62Spooka63	NOARGS		{ int|compat_43_sys||getkerninfo(int op, char *where, \
1541.1Smycroft			    int *size, int arg); } ogetkerninfo
1551.62Spooka64	NOARGS		{ int|compat_43_sys||getpagesize(void); } ogetpagesize
1561.62Spooka65	STD		{ int|freebsd_sys||msync(void *addr, size_t len, \
1571.1Smycroft			    int flags); }
1581.62Spooka66	NOARGS		{ int|sys||vfork(void); }
1591.1Smycroft67	OBSOL		vread
1601.1Smycroft68	OBSOL		vwrite
1611.62Spooka69	NOARGS		{ int|sys||sbrk(intptr_t incr); }
1621.62Spooka70	NOARGS		{ int|sys||sstk(int incr); }
1631.62Spooka71	NOARGS		{ int|compat_43_sys||mmap(void *addr, size_t len, \
1641.1Smycroft			    int prot, int flags, int fd, long pos); } ommap
1651.62Spooka72	NOARGS		{ int|sys||ovadvise(int anom); } vadvise
1661.62Spooka73	NOARGS		{ int|sys||munmap(void *addr, size_t len); }
1671.62Spooka74	NOARGS		{ int|sys||mprotect(void *addr, size_t len, \
1681.1Smycroft			    int prot); }
1691.62Spooka75	NOARGS		{ int|sys||madvise(void *addr, size_t len, \
1701.1Smycroft			    int behav); }
1711.1Smycroft76	OBSOL		vhangup
1721.1Smycroft77	OBSOL		vlimit
1731.62Spooka78	NOARGS		{ int|sys||mincore(void *addr, size_t len, char *vec); }
1741.62Spooka79	NOARGS		{ int|sys||getgroups(u_int gidsetsize, gid_t *gidset); }
1751.62Spooka80	NOARGS		{ int|sys||setgroups(u_int gidsetsize, gid_t *gidset); }
1761.62Spooka81	NOARGS		{ int|sys||getpgrp(void); }
1771.62Spooka82	NOARGS		{ int|sys||setpgid(int pid, int pgid); }
1781.62Spooka83	NOARGS		{ int|compat_50_sys||setitimer(u_int which, \
1791.61Schristos			    struct itimerval50 *itv, struct itimerval50 *oitv); }
1801.62Spooka84	NOARGS		{ int|compat_43_sys||wait(void); } owait
1811.62Spooka85	NOARGS		{ int|compat_12_sys||swapon(char *name); }
1821.62Spooka86	NOARGS		{ int|compat_50_sys||getitimer(u_int which, \
1831.61Schristos			    struct itimerval50 *itv); }
1841.62Spooka87	NOARGS		{ int|compat_43_sys||gethostname(char *hostname, \
1851.1Smycroft			    u_int len); } ogethostname
1861.62Spooka88	NOARGS		{ int|compat_43_sys||sethostname(char *hostname, \
1871.1Smycroft			    u_int len); } osethostname
1881.62Spooka89	NOARGS		{ int|compat_43_sys||getdtablesize(void); } \
1891.1Smycroft			    ogetdtablesize
1901.62Spooka90	NOARGS		{ int|sys||dup2(u_int from, u_int to); }
1911.1Smycroft91	UNIMPL		getdopt
1921.62Spooka92	NOARGS		{ int|sys||fcntl(int fd, int cmd, void *arg); }
1931.62Spooka93	NOARGS		{ int|compat_50_sys||select(u_int nd, fd_set *in, \
1941.61Schristos			    fd_set *ou, fd_set *ex, struct timeval50 *tv); }
1951.1Smycroft94	UNIMPL		setdopt
1961.62Spooka95	NOARGS		{ int|sys||fsync(int fd); }
1971.62Spooka96	NOARGS		{ int|sys||setpriority(int which, int who, int prio); }
1981.62Spooka97	NOARGS		{ int|compat_30_sys||socket(int domain, int type, int protocol); }
1991.62Spooka98	NOARGS		{ int|sys||connect(int s, void *name, int namelen); }
2001.62Spooka99	NOARGS		{ int|compat_43_sys||accept(int s, void *name, \
2011.1Smycroft			    int *anamelen); } oaccept
2021.62Spooka100	NOARGS		{ int|sys||getpriority(int which, int who); }
2031.62Spooka101	NOARGS		{ int|compat_43_sys||send(int s, void *buf, int len, \
2041.1Smycroft			    int flags); } osend
2051.62Spooka102	NOARGS		{ int|compat_43_sys||recv(int s, void *buf, int len, \
2061.1Smycroft			    int flags); } orecv
2071.62Spooka103	STD		{ int|freebsd_sys||sigreturn( \
2081.1Smycroft			    struct freebsd_sigcontext *scp); }
2091.62Spooka104	NOARGS		{ int|sys||bind(int s, void *name, int namelen); }
2101.62Spooka105	NOARGS		{ int|sys||setsockopt(int s, int level, int name, \
2111.57Schristos			    void *val, int valsize); }
2121.62Spooka106	NOARGS		{ int|sys||listen(int s, int backlog); }
2131.1Smycroft107	OBSOL		vtimes
2141.62Spooka108	NOARGS		{ int|compat_43_sys||sigvec(int signum, \
2151.1Smycroft			    struct sigvec *nsv, struct sigvec *osv); } osigvec
2161.62Spooka109	NOARGS		{ int|compat_43_sys||sigblock(int mask); } osigblock
2171.62Spooka110	NOARGS		{ int|compat_43_sys||sigsetmask(int mask); } osigsetmask
2181.62Spooka111	NOARGS		{ int|compat_13_sys||sigsuspend(int mask); }
2191.62Spooka112	NOARGS		{ int|compat_43_sys||sigstack(struct sigstack *nss, \
2201.1Smycroft			    struct sigstack *oss); } osigstack
2211.62Spooka113	NOARGS		{ int|compat_43_sys||recvmsg(int s, \
2221.1Smycroft			    struct omsghdr *msg, int flags); } orecvmsg
2231.62Spooka114	NOARGS		{ int|compat_43_sys||sendmsg(int s, void *msg, \
2241.1Smycroft			    int flags); } osendmsg
2251.1Smycroft#ifdef TRACE
2261.62Spooka115	NOARGS		{ int|sys||vtrace(int request, int value); }
2271.1Smycroft#else
2281.1Smycroft115	OBSOL		vtrace
2291.1Smycroft#endif
2301.62Spooka116	NOARGS		{ int|compat_50_sys||gettimeofday(struct timeval50 *tp, \
2311.1Smycroft			    struct timezone *tzp); }
2321.62Spooka117	NOARGS		{ int|compat_50_sys||getrusage(int who, \
2331.61Schristos			    struct rusage50 *rusage); }
2341.62Spooka118	NOARGS		{ int|sys||getsockopt(int s, int level, int name, \
2351.57Schristos			    void *val, int *avalsize); }
2361.1Smycroft119	OBSOL		resuba
2371.62Spooka120	NOARGS		{ int|sys||readv(int fd, struct iovec *iovp, \
2381.1Smycroft			    u_int iovcnt); }
2391.62Spooka121	NOARGS		{ int|sys||writev(int fd, struct iovec *iovp, \
2401.1Smycroft			    u_int iovcnt); }
2411.62Spooka122	NOARGS		{ int|compat_50_sys||settimeofday(struct timeval50 *tv, \
2421.61Schristos			    struct timezone50 *tzp); }
2431.62Spooka123	NOARGS		{ int|sys||fchown(int fd, int uid, int gid); }
2441.62Spooka124	NOARGS		{ int|sys||fchmod(int fd, int mode); }
2451.62Spooka125	NOARGS		{ int|compat_43_sys||recvfrom(int s, void *buf, \
2461.57Schristos			    size_t len, int flags, void *from, \
2471.1Smycroft			    int *fromlenaddr); } orecvfrom
2481.62Spooka126	NOARGS		{ int|sys||setreuid(int ruid, int euid); }
2491.62Spooka127	NOARGS		{ int|sys||setregid(int rgid, int egid); }
2501.62Spooka128	NOARGS		{ int|sys||rename(const char *from, const char *to); }
2511.62Spooka129	NOARGS		{ int|compat_43_sys||truncate(const char *path, \
2521.1Smycroft			    long length); } otruncate
2531.62Spooka130	NOARGS		{ int|compat_43_sys||ftruncate(int fd, long length); } \
2541.2Smycroft			    oftruncate
2551.62Spooka131	NOARGS		{ int|sys||flock(int fd, int how); }
2561.62Spooka132	NOARGS		{ int|sys||mkfifo(const char *path, int mode); }
2571.62Spooka133	NOARGS		{ int|sys||sendto(int s, void *buf, size_t len, \
2581.57Schristos			    int flags, void *to, int tolen); }
2591.62Spooka134	NOARGS		{ int|sys||shutdown(int s, int how); }
2601.62Spooka135	NOARGS		{ int|sys||socketpair(int domain, int type, \
2611.1Smycroft			    int protocol, int *rsv); }
2621.62Spooka136	NOARGS		{ int|sys||mkdir(const char *path, int mode); }
2631.62Spooka137	NOARGS		{ int|sys||rmdir(const char *path); }
2641.62Spooka138	NOARGS		{ int|compat_50_sys||utimes(char *path, \
2651.61Schristos			    struct timeval50 *tptr); }
2661.1Smycroft139	OBSOL		4.2 sigreturn
2671.62Spooka140	NOARGS		{ int|compat_50_sys||adjtime(struct timeval50 *delta, \
2681.61Schristos			    struct timeval50 *olddelta); }
2691.62Spooka141	NOARGS		{ int|compat_43_sys||getpeername(int fdes, void *asa, \
2701.1Smycroft			    int *alen); } ogetpeername
2711.62Spooka142	NOARGS		{ int32_t|compat_43_sys||gethostid(void); } ogethostid
2721.62Spooka143	NOARGS		{ int|compat_43_sys||sethostid(int32_t hostid); } \
2731.1Smycroft			    osethostid
2741.62Spooka144	NOARGS		{ int|compat_43_sys||getrlimit(u_int which, \
2751.10Smycroft			    struct orlimit *rlp); } ogetrlimit
2761.62Spooka145	NOARGS		{ int|compat_43_sys||setrlimit(u_int which, \
2771.10Smycroft			    struct orlimit *rlp); } osetrlimit
2781.62Spooka146	NOARGS		{ int|compat_43_sys||killpg(int pgid, int signum); } \
2791.1Smycroft			    okillpg
2801.62Spooka147	NOARGS		{ int|sys||setsid(void); }
2811.65Sbouyer148	NOARGS		{ int|compat_50_sys||quotactl(char *path, int cmd, \
2821.65Sbouyer			    int uid, void *arg); }
2831.62Spooka149	NOARGS		{ int|compat_43_sys||quota(void); } oquota
2841.62Spooka150	NOARGS		{ int|compat_43_sys||getsockname(int fdec, void *asa, \
2851.1Smycroft			    int *alen); } ogetsockname
2861.1Smycroft
2871.1Smycroft; Syscalls 151-180 inclusive are reserved for vendor-specific
2881.1Smycroft; system calls.  (This includes various calls added for compatibity
2891.1Smycroft; with other Unix variants.)
2901.1Smycroft; Some of these calls are now supported by BSD...
2911.27Stv151	UNIMPL		sem_lock
2921.27Stv152	UNIMPL		sem_wakeup
2931.27Stv153	UNIMPL		asyncdaemon
2941.1Smycroft154	UNIMPL
2951.27Stv155	UNIMPL		nfssvc
2961.62Spooka156	NOARGS		{ int|compat_43_sys||getdirentries(int fd, char *buf, \
2971.1Smycroft			    u_int count, long *basep); } ogetdirentries
2981.62Spooka157	NOARGS		{ int|compat_20_sys||statfs(const char *path, \
2991.44Schristos			    struct statfs12 *buf); }
3001.62Spooka158	NOARGS		{ int|compat_20_sys||fstatfs(int fd, \
3011.44Schristos			    struct statfs12 *buf); }
3021.1Smycroft159	UNIMPL
3031.1Smycroft160	UNIMPL
3041.62Spooka161	NOARGS		{ int|compat_30_sys||getfh(const char *fname, \
3051.53Smartin			    struct compat_30_fhandle *fhp); }
3061.62Spooka162	NOARGS		{ int|compat_09_sys||getdomainname(char *domainname, \
3071.1Smycroft			    int len); }
3081.62Spooka163	NOARGS		{ int|compat_09_sys||setdomainname(char *domainname, \
3091.1Smycroft			    int len); }
3101.62Spooka164	NOARGS		{ int|compat_09_sys||uname(struct outsname *name); }
3111.62Spooka165	NOARGS		{ int|sys||sysarch(int op, char *parms); }
3121.62Spooka166	STD		{ int|freebsd_sys||rtprio(int function, pid_t pid, \
3131.1Smycroft			    struct freebsd_rtprio *rtp); }
3141.1Smycroft167	UNIMPL
3151.1Smycroft168	UNIMPL
3161.1Smycroft; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
3171.37Seeh#if defined(SYSVSEM) && !defined(_LP64)
3181.62Spooka169	STD		{ int|freebsd_sys||semsys(int which, int a2, int a3, \
3191.1Smycroft			    int a4, int a5); }
3201.1Smycroft#else
3211.1Smycroft169	UNIMPL		1.0 semsys
3221.1Smycroft#endif
3231.1Smycroft; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
3241.37Seeh#if defined(SYSVMSG) && !defined(_LP64)
3251.62Spooka170	STD		{ int|freebsd_sys||msgsys(int which, int a2, int a3, \
3261.1Smycroft			    int a4, int a5, int a6); }
3271.1Smycroft#else
3281.1Smycroft170	UNIMPL		1.0 msgsys
3291.1Smycroft#endif
3301.1Smycroft; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
3311.37Seeh#if defined(SYSVSHM) && !defined(_LP64)
3321.62Spooka171	STD		{ int|freebsd_sys||shmsys(int which, int a2, int a3, \
3331.1Smycroft			    int a4); }
3341.1Smycroft#else
3351.1Smycroft171	UNIMPL		1.0 shmsys
3361.1Smycroft#endif
3371.1Smycroft172	UNIMPL
3381.62Spooka173	NOARGS		{ ssize_t|sys||pread(int fd, void *buf, \
3391.27Stv			    size_t nbyte, int pad, off_t offset); }
3401.62Spooka174	NOARGS		{ ssize_t|sys||pwrite(int fd, const void *buf, \
3411.27Stv			    size_t nbyte, int pad, off_t offset); }
3421.1Smycroft175	UNIMPL
3431.30Sitojun#ifdef NTP
3441.62Spooka176	STD		{ int|freebsd||ntp_adjtime(struct freebsd_timex *tp); }
3451.29Sbjh21#else
3461.29Sbjh21176     EXCL            ntp_adjtime
3471.29Sbjh21#endif
3481.27Stv177	UNIMPL		sfork
3491.27Stv178	UNIMPL		getdescriptor
3501.27Stv179	UNIMPL		setdescriptor
3511.1Smycroft180	UNIMPL
3521.1Smycroft
3531.1Smycroft; Syscalls 180-199 are used by/reserved for BSD
3541.62Spooka181	NOARGS		{ int|sys||setgid(gid_t gid); }
3551.62Spooka182	NOARGS		{ int|sys||setegid(gid_t egid); }
3561.62Spooka183	NOARGS		{ int|sys||seteuid(uid_t euid); }
3571.1Smycroft184	UNIMPL
3581.1Smycroft185	UNIMPL
3591.1Smycroft186	UNIMPL
3601.1Smycroft187	UNIMPL
3611.62Spooka188	NOARGS		{ int|compat_12_sys||stat(const char *path, \
3621.12Schristos			    struct stat12 *ub); }
3631.62Spooka189	NOARGS		{ int|compat_12_sys||fstat(int fd, \
3641.12Schristos			    struct stat12 *sb); }
3651.62Spooka190	NOARGS		{ int|compat_12_sys||lstat(const char *path, \
3661.12Schristos			    struct stat12 *ub); }
3671.62Spooka191	NOARGS		{ int|sys||pathconf(const char *path, int name); }
3681.62Spooka192	NOARGS		{ int|sys||fpathconf(int fd, int name); }
3691.1Smycroft193	UNIMPL
3701.62Spooka194	NOARGS		{ int|sys||getrlimit(u_int which, struct rlimit *rlp); }
3711.62Spooka195	NOARGS		{ int|sys||setrlimit(u_int which, struct rlimit *rlp); }
3721.62Spooka196	NOARGS		{ int|compat_12_sys||getdirentries(int fd, char *buf, \
3731.1Smycroft			    u_int count, long *basep); }
3741.62Spooka197	STD		{ void *|freebsd_sys||mmap(void *addr, size_t len, \
3751.41Spooka			    int prot, int flags, int fd, long pad, off_t pos); }
3761.62Spooka198	NOARGS		{ int|sys||nosys(void); } __syscall
3771.62Spooka199	NOARGS		{ off_t|sys||lseek(int fd, int pad, off_t offset, \
3781.1Smycroft			    int whence); }
3791.62Spooka200	NOARGS		{ int|sys||truncate(const char *path, int pad, \
3801.1Smycroft			    off_t length); }
3811.62Spooka201	NOARGS		{ int|sys||ftruncate(int fd, int pad, off_t length); }
3821.62Spooka202	STD		{ int|freebsd_sys||sysctl(int *name, u_int namelen, \
3831.1Smycroft			    void *old, size_t *oldlenp, void *new, \
3841.1Smycroft			    size_t newlen); }
3851.62Spooka203	NOARGS		{ int|sys||mlock(void *addr, size_t len); }
3861.62Spooka204	NOARGS		{ int|sys||munlock(void *addr, size_t len); }
3871.1Smycroft#ifdef FREEBSD_BASED_ON_44LITE_R2
3881.62Spooka205	STD		{ int|freebsd_sys||undelete(char *path); }
3891.1Smycroft#else
3901.27Stv205	UNIMPL		undelete
3911.1Smycroft#endif
3921.62Spooka206	NOARGS		{ int|compat_50_sys||futimes(int fd, \
3931.61Schristos			    const struct timeval50 *tptr); }
3941.62Spooka207	NOARGS		{ pid_t|sys||getpgid(pid_t pid); }
3951.22Schristos#if 0
3961.62Spooka208	NOARGS		{ int|sys||reboot(int opt, char *bootstr); }
3971.22Schristos#else
3981.22Schristos208	UNIMPL		newreboot
3991.22Schristos#endif
4001.62Spooka209	NOARGS		{ int|sys||poll(struct pollfd *fds, u_int nfds, \
4011.22Schristos			    int timeout); }
4021.1Smycroft;
4031.1Smycroft; Syscalls 210-219 are reserved for dynamically loaded syscalls
4041.1Smycroft;
4051.1Smycroft210	UNIMPL
4061.1Smycroft211	UNIMPL
4071.1Smycroft212	UNIMPL
4081.1Smycroft213	UNIMPL
4091.1Smycroft214	UNIMPL
4101.1Smycroft215	UNIMPL
4111.1Smycroft216	UNIMPL
4121.1Smycroft217	UNIMPL
4131.1Smycroft218	UNIMPL
4141.1Smycroft219	UNIMPL
4151.9Senami;
4161.9Senami; Syscalls 220-239 are reserved for syscalls imported from NetBSD
4171.9Senami;
4181.22Schristos#ifdef SYSVSEM
4191.62Spooka220	NOARGS		{ int|compat_14_sys||__semctl(int semid, int semnum, \
4201.25Sthorpej			    int cmd, union __semun *arg); }
4211.62Spooka221	NOARGS		{ int|sys||semget(key_t key, int nsems, int semflg); }
4221.62Spooka222	NOARGS		{ int|sys||semop(int semid, struct sembuf *sops, \
4231.22Schristos			    u_int nsops); }
4241.62Spooka223	NOARGS		{ int|sys||semconfig(int flag); }
4251.22Schristos#else
4261.22Schristos220	UNIMPL		semctl
4271.22Schristos221	UNIMPL		semget
4281.22Schristos222	UNIMPL		semop
4291.22Schristos223	UNIMPL		semconfig
4301.22Schristos#endif
4311.22Schristos#ifdef SYSVMSG
4321.62Spooka224	NOARGS		{ int|compat_14_sys||msgctl(int msqid, int cmd, \
4331.25Sthorpej			    struct msqid14_ds *buf); }
4341.62Spooka225	NOARGS		{ int|sys||msgget(key_t key, int msgflg); }
4351.62Spooka226	NOARGS		{ int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \
4361.22Schristos			    int msgflg); }
4371.62Spooka227	NOARGS		{ int|sys||msgrcv(int msqid, void *msgp, size_t msgsz, \
4381.22Schristos			    long msgtyp, int msgflg); }
4391.22Schristos#else
4401.22Schristos224	UNIMPL		msgctl
4411.22Schristos225	UNIMPL		msgget
4421.22Schristos226	UNIMPL		msgsnd
4431.22Schristos227	UNIMPL		msgrcv
4441.22Schristos#endif
4451.22Schristos#ifdef SYSVSHM
4461.62Spooka228	NOARGS		{ int|sys||shmat(int shmid, void *shmaddr, int shmflg); }
4471.62Spooka229	NOARGS		{ int|compat_14_sys||shmctl(int shmid, int cmd, \
4481.25Sthorpej			    struct shmid_ds14 *buf); }
4491.62Spooka230	NOARGS		{ int|sys||shmdt(void *shmaddr); }
4501.62Spooka231	NOARGS		{ int|sys||shmget(key_t key, int size, int shmflg); }
4511.22Schristos#else
4521.22Schristos228	UNIMPL		shmat
4531.22Schristos229	UNIMPL		shmctl
4541.22Schristos230	UNIMPL		shmdt
4551.22Schristos231	UNIMPL		shmget
4561.22Schristos#endif
4571.22Schristos;
4581.22Schristos; XXXX
4591.62Spooka232	NOARGS		{ int|compat_50_sys||clock_gettime(clockid_t clock_id, \
4601.61Schristos			    struct timespec50 *tp); }
4611.62Spooka233	NOARGS		{ int|compat_50_sys||clock_settime(clockid_t clock_id, \
4621.61Schristos			    const struct timespec50 *tp); }
4631.62Spooka234	NOARGS		{ int|compat_50_sys||clock_getres(clockid_t clock_id, \
4641.61Schristos			    struct timespec50 *tp); }
4651.22Schristos235	UNIMPL		timer_create
4661.22Schristos236	UNIMPL		timer_delete
4671.22Schristos237	UNIMPL		timer_settime
4681.22Schristos238	UNIMPL		timer_gettime
4691.22Schristos239	UNIMPL		timer_getoverrun
4701.62Spooka240	NOARGS		{ int|compat_50_sys||nanosleep( \
4711.61Schristos			    const struct timespec50 *rqtp, \
4721.61Schristos			    struct timespec50 *rmtp); }
4731.9Senami241	UNIMPL
4741.9Senami242	UNIMPL
4751.9Senami243	UNIMPL
4761.9Senami244	UNIMPL
4771.9Senami245	UNIMPL
4781.9Senami246	UNIMPL
4791.9Senami247	UNIMPL
4801.9Senami248	UNIMPL
4811.9Senami249	UNIMPL
4821.22Schristos; syscall numbers initially used in OpenBSD
4831.62Spooka250	NOARGS		{ int|sys||minherit(void *addr, size_t len, \
4841.36Sjdolecek			    int inherit); }
4851.62Spooka251	STD		{ int|freebsd_sys||rfork(int flags); }
4861.22Schristos252	UNIMPL		openbsd_poll
4871.62Spooka253	NOARGS		{ int|sys||issetugid(void); }
4881.62Spooka254	NOARGS		{ int|sys||lchown(const char *path, int uid, int gid); }
4891.22Schristos255	UNIMPL
4901.22Schristos256	UNIMPL
4911.22Schristos257	UNIMPL
4921.22Schristos258	UNIMPL
4931.22Schristos259	UNIMPL
4941.22Schristos260	UNIMPL
4951.22Schristos261	UNIMPL
4961.22Schristos262	UNIMPL
4971.22Schristos263	UNIMPL
4981.22Schristos264	UNIMPL
4991.22Schristos265	UNIMPL
5001.22Schristos266	UNIMPL
5011.22Schristos267	UNIMPL
5021.22Schristos268	UNIMPL
5031.22Schristos269	UNIMPL
5041.22Schristos270	UNIMPL
5051.22Schristos271	UNIMPL
5061.62Spooka272	NOARGS		{ int|compat_30_sys||getdents(int fd, char *buf, size_t count); }
5071.22Schristos273	UNIMPL
5081.62Spooka274	NOARGS		{ int|sys||lchmod(const char *path, mode_t mode); }
5091.62Spooka275	NOARGS		{ int|sys||lchown(const char *path, uid_t uid, \
5101.22Schristos			    gid_t gid); } netbsd_lchown
5111.62Spooka276	NOARGS		{ int|compat_50_sys||lutimes(const char *path, \
5121.61Schristos			    const struct timeval50 *tptr); }
5131.62Spooka277	NOARGS		{ int|sys|13|msync(void *addr, size_t len, int flags); }
5141.62Spooka278	NOARGS		{ int|compat_30_sys|13|stat(const char *path, struct stat13 *ub); }
5151.62Spooka279	NOARGS		{ int|compat_30_sys|13|fstat(int fd, struct stat13 *sb); }
5161.62Spooka280	NOARGS		{ int|compat_30_sys|13|lstat(const char *path, struct stat13 *ub);}
5171.22Schristos281	UNIMPL
5181.22Schristos282	UNIMPL
5191.22Schristos283	UNIMPL
5201.22Schristos284	UNIMPL
5211.22Schristos285	UNIMPL
5221.22Schristos286	UNIMPL
5231.22Schristos287	UNIMPL
5241.22Schristos288	UNIMPL
5251.22Schristos289	UNIMPL
5261.22Schristos290	UNIMPL
5271.22Schristos291	UNIMPL
5281.22Schristos292	UNIMPL
5291.22Schristos293	UNIMPL
5301.22Schristos294	UNIMPL
5311.22Schristos295	UNIMPL
5321.22Schristos296	UNIMPL
5331.62Spooka297	NOARGS		{ int|compat_20_sys||fhstatfs(const struct	\
5341.53Smartin			    compat_30_fhandle *fhp, \
5351.44Schristos			    struct statfs12 *buf); }
5361.62Spooka298	NOARGS		{ int|compat_30_sys||fhopen(const	\
5371.53Smartin			    struct compat_30_fhandle *fhp, int flags); }
5381.62Spooka299	NOARGS		{ int|compat_30_sys||fhstat(const 	\
5391.53Smartin			    struct cocmpat_30_fhandlez *fhp, 	\
5401.51Schristos			    struct stat13 *sb); }
5411.22Schristos; syscall numbers for FreeBSD
5421.22Schristos300	UNIMPL		modnext
5431.22Schristos301	UNIMPL		modstat
5441.22Schristos302	UNIMPL		modfnext
5451.22Schristos303	UNIMPL		modfind
5461.22Schristos304	UNIMPL		kldload
5471.22Schristos305	UNIMPL		kldunload
5481.22Schristos306	UNIMPL		kldfind
5491.22Schristos307	UNIMPL		kldnext
5501.22Schristos308	UNIMPL		kldstat
5511.22Schristos309	UNIMPL		kldfirstmod
5521.62Spooka310	NOARGS		{ pid_t|sys||getsid(pid_t pid); }
5531.22Schristos311	UNIMPL		setresuid
5541.22Schristos312	UNIMPL		setresgid
5551.22Schristos313	UNIMPL		signanosleep
5561.22Schristos314	UNIMPL		aio_return
5571.22Schristos315	UNIMPL		aio_suspend
5581.22Schristos316	UNIMPL		aio_cancel
5591.22Schristos317	UNIMPL		aio_error
5601.22Schristos318	UNIMPL		aio_read
5611.22Schristos319	UNIMPL		aio_write
5621.22Schristos320	UNIMPL		lio_listio
5631.62Spooka321	NOARGS		{ void|freebsd_sys||yield(void); }
5641.22Schristos322	UNIMPL		thr_sleep
5651.22Schristos323	UNIMPL		thr_wakeup
5661.62Spooka324	NOARGS		{ int|sys||mlockall(int flags); }
5671.62Spooka325	NOARGS		{ int|sys||munlockall(void); }
5681.62Spooka326	NOARGS		{ int|sys||__getcwd(char *bufp, size_t length); }
5691.62Spooka327	STD		{ int|freebsd_sys||sched_setparam(pid_t pid, \
5701.39Sgmcgarry			    const struct freebsd_sched_param *sp); }
5711.62Spooka328	STD		{ int|freebsd_sys||sched_getparam(pid_t pid, \
5721.39Sgmcgarry			    struct freebsd_sched_param *sp); }
5731.62Spooka329	STD		{ int|freebsd_sys||sched_setscheduler(pid_t pid, \
5741.39Sgmcgarry			    int policy, const struct sched_param *sp); }
5751.62Spooka330	STD		{ int|freebsd_sys||sched_getscheduler(pid_t pid); }
5761.62Spooka331	STD		{ int|freebsd_sys||sched_yield(void); }
5771.62Spooka332	STD		{ int|freebsd_sys||sched_get_priority_max(int policy); }
5781.62Spooka333	STD		{ int|freebsd_sys||sched_get_priority_min(int policy); }
5791.22Schristos334	UNIMPL		sched_rr_get_interval
5801.62Spooka335	STD		{ int|freebsd_sys||utrace(void *addr, size_t len); }
5811.22Schristos336	UNIMPL		sendfile
5821.22Schristos337	UNIMPL		kldsym
5831.27Stv338	UNIMPL		jail
5841.27Stv339	UNIMPL		pioctl
5851.62Spooka340	NOARGS		{ int|sys|14|sigprocmask(int how, \
5861.28Sonoe			    const sigset_t *set, \
5871.28Sonoe			    sigset_t *oset); }
5881.62Spooka341	NOARGS		{ int|sys|14|sigsuspend(const sigset_t *set); }
5891.62Spooka342	STD		{ int|freebsd_sys||sigaction4(int signum, \
5901.28Sonoe			    const struct freebsd_sigaction4 *nsa, \
5911.28Sonoe			    struct freebsd_sigaction4 *osa); }
5921.62Spooka343	NOARGS		{ int|sys|14|sigpending(const sigset_t *set); }
5931.27Stv344	UNIMPL		4.0 sigreturn
5941.27Stv345	UNIMPL		sigtimedwait
5951.27Stv346	UNIMPL		sigwaitinfo
5961.27Stv347	UNIMPL		__acl_get_file
5971.27Stv348	UNIMPL		__acl_set_file
5981.27Stv349	UNIMPL		__acl_get_fd
5991.27Stv350	UNIMPL		__acl_set_fd
6001.27Stv351	UNIMPL		__acl_delete_file
6011.27Stv352	UNIMPL		__acl_delete_fd
6021.27Stv353	UNIMPL		__acl_aclcheck_file
6031.27Stv354	UNIMPL		__acl_aclcheck_fd
6041.27Stv355	UNIMPL		extattrctl
6051.27Stv356	UNIMPL		extattr_set_file
6061.27Stv357	UNIMPL		extattr_get_file
6071.27Stv358	UNIMPL		extattr_delete_file
6081.27Stv359	UNIMPL		aio_waitcomplete
6091.27Stv360	UNIMPL		getresuid
6101.27Stv361	UNIMPL		getresgid
6111.27Stv362	UNIMPL		kqueue
6121.27Stv363	UNIMPL		kevent
6131.42Sjdolecek364	UNIMPL		__cap_get_proc
6141.42Sjdolecek365	UNIMPL		__cap_set_proc
6151.42Sjdolecek366	UNIMPL		__cap_get_fd
6161.42Sjdolecek367	UNIMPL		__cap_get_file
6171.42Sjdolecek368	UNIMPL		__cap_set_fd
6181.42Sjdolecek369	UNIMPL		__cap_set_file
6191.42Sjdolecek370	UNIMPL		lkmressym
6201.42Sjdolecek371	UNIMPL		extattr_set_fd
6211.42Sjdolecek372	UNIMPL		extattr_get_fd
6221.42Sjdolecek373	UNIMPL		extattr_delete_fd
6231.42Sjdolecek374	UNIMPL		__setugid
6241.42Sjdolecek375	UNIMPL		nfsclnt
6251.42Sjdolecek376	UNIMPL		eaccess
6261.42Sjdolecek377	UNIMPL		afs_syscall
6271.42Sjdolecek378	UNIMPL		nmount
6281.42Sjdolecek379	UNIMPL		kse_exit
6291.42Sjdolecek380	UNIMPL		kse_wakeup
6301.42Sjdolecek381	UNIMPL		kse_create
6311.42Sjdolecek382	UNIMPL		kse_thr_interrupt
6321.42Sjdolecek383	UNIMPL		kse_release
6331.42Sjdolecek384	UNIMPL		__mac_get_proc
6341.42Sjdolecek385	UNIMPL		__mac_set_proc
6351.42Sjdolecek386	UNIMPL		__mac_get_fd
6361.42Sjdolecek387	UNIMPL		__mac_get_file
6371.42Sjdolecek388	UNIMPL		__mac_set_fd
6381.42Sjdolecek389	UNIMPL		__mac_set_file
6391.42Sjdolecek390	UNIMPL		kenv
6401.62Spooka391	NOARGS		{ int|sys||lchflags(const char *path, u_long flags); }
6411.62Spooka392	NOARGS		{ int|sys||uuidgen(struct uuid *store, int count); }
6421.42Sjdolecek393	UNIMPL		sendfile
6431.42Sjdolecek394	UNIMPL		mac_syscall
6441.42Sjdolecek395	UNIMPL		getfsstat
6451.42Sjdolecek396	UNIMPL		statfs
6461.42Sjdolecek397	UNIMPL		fsstatfs
6471.42Sjdolecek398	UNIMPL		fhstatfs
6481.42Sjdolecek399	UNIMPL		nosys
6491.42Sjdolecek#if defined(P1003_1B_SEMAPHORE) || !defined(_KERNEL)
6501.62Spooka400	NOARGS		{ int|sys||_ksem_close(intptr_t id); }
6511.62Spooka401	NOARGS		{ int|sys||_ksem_post(intptr_t id); }
6521.62Spooka402	NOARGS		{ int|sys||_ksem_wait(intptr_t id); }
6531.62Spooka403	NOARGS		{ int|sys||_ksem_trywait(intptr_t id); }
6541.42Sjdolecek404	UNIMPL		ksem_init
6551.42Sjdolecek405	UNIMPL		ksem_open
6561.62Spooka406	NOARGS		{ int|sys||_ksem_unlink(const char *name); }
6571.62Spooka407	NOARGS		{ int|sys||_ksem_getvalue(intptr_t id, \
6581.42Sjdolecek			    unsigned int *value); }
6591.62Spooka408	NOARGS		{ int|sys||_ksem_destroy(intptr_t id); }
6601.42Sjdolecek#else
6611.42Sjdolecek400	EXCL		ksem_close
6621.42Sjdolecek401	EXCL		ksem_post
6631.42Sjdolecek402	EXCL		ksem_wait
6641.42Sjdolecek403	EXCL		ksem_trywait
6651.42Sjdolecek404	EXCL		ksem_init
6661.42Sjdolecek405	EXCL		ksem_open
6671.42Sjdolecek406	EXCL		ksem_unlink
6681.42Sjdolecek407	EXCL		ksem_getvalue
6691.42Sjdolecek408	EXCL		ksem_destroy
6701.42Sjdolecek#endif
6711.42Sjdolecek409	UNIMPL		__mac_get_pid
6721.42Sjdolecek410	UNIMPL		__mac_get_link
6731.42Sjdolecek411	UNIMPL		__mac_set_link
6741.42Sjdolecek412	UNIMPL		extattr_set_link
6751.42Sjdolecek413	UNIMPL		extattr_get_link
6761.42Sjdolecek414	UNIMPL		extattr_delete_link
6771.42Sjdolecek415	UNIMPL		__mac_execve
6781.42Sjdolecek416	UNIMPL		sigaction
6791.42Sjdolecek417	UNIMPL		sigreturn
6801.42Sjdolecek418	UNIMPL		__xstat
6811.42Sjdolecek419	UNIMPL		__xfstat
6821.42Sjdolecek420	UNIMPL		__xlstat
6831.42Sjdolecek421	UNIMPL		getcontext
6841.42Sjdolecek422	UNIMPL		setcontext
6851.42Sjdolecek423	UNIMPL		swapcontext
6861.42Sjdolecek424	UNIMPL		swapoff
6871.42Sjdolecek425	UNIMPL		__acl_get_link
6881.42Sjdolecek426	UNIMPL		__acl_set_link
6891.42Sjdolecek427	UNIMPL		__acl_delete_link
6901.42Sjdolecek428	UNIMPL		__acl_aclcheck_link
6911.42Sjdolecek429	UNIMPL		sigwait
6921.42Sjdolecek430	UNIMPL		thr_create
6931.42Sjdolecek431	UNIMPL		thr_exit
6941.42Sjdolecek432	UNIMPL		thr_self
6951.42Sjdolecek433	UNIMPL		thr_kill
6961.42Sjdolecek434	UNIMPL		_umtx_lock
6971.42Sjdolecek435	UNIMPL		_umtx_unlock
6981.42Sjdolecek436	UNIMPL		jail_attach
6991.42Sjdolecek437	UNIMPL		extattr_list_fd
7001.42Sjdolecek438	UNIMPL		extattr_list_file
7011.42Sjdolecek439	UNIMPL		extattr_list_link
702