syscalls.master revision 1.191
11.191Spooka	$NetBSD: syscalls.master,v 1.191 2008/03/11 22:50:10 pooka Exp $
21.28Smycroft
31.22Scgd;	@(#)syscalls.master	8.2 (Berkeley) 1/13/94
41.1Sglass
51.23Scgd; NetBSD system call name/number "master" file.
61.23Scgd; (See syscalls.conf to see what it is processed into.)
71.23Scgd;
81.23Scgd; Fields: number type [type-dependent ...]
91.1Sglass;	number	system call number, must be in order
101.190Smartin;	type	one of STD, OBSOL, UNIMPL, IGNORED, NODEF, NOARGS, or one of
111.24Smycroft;		the compatibility options defined in syscalls.conf.
121.23Scgd;
131.191Spooka; Optional fields are specified after the type field
141.191Spooka; (NOTE! they must be specified in this order):
151.191Spooka;     MPSAFE:	the system call is MP-safe.
161.191Spooka;     RUMP:	the system call can be called directly from rumps
171.108Sthorpej;
181.1Sglass; types:
191.1Sglass;	STD	always included
201.23Scgd;	OBSOL	obsolete, not included in system
211.190Smartin;	IGNORED	syscall is a null op, but always succeeds
221.24Smycroft;	UNIMPL	unimplemented, not included in system
231.92Schristos;	EXCL	implemented, but not included in system
241.23Scgd;	NODEF	included, but don't define the syscall number
251.23Scgd;	NOARGS	included, but don't define the syscall args structure
261.43Scgd;	INDIR	included, but don't define the syscall args structure,
271.43Scgd;		and allow it to be "really" varargs.
281.23Scgd;
291.23Scgd; The compat options are defined in the syscalls.conf file, and the
301.23Scgd; compat option name is prefixed to the syscall name.  Other than
311.23Scgd; that, they're like NODEF (for 'compat' options), or STD (for
321.23Scgd; 'libcompat' options).
331.23Scgd;
341.23Scgd; The type-dependent arguments are as follows:
351.23Scgd; For STD, NODEF, NOARGS, and compat syscalls:
361.23Scgd;	{ pseudo-proto } [alias]
371.23Scgd; For other syscalls:
381.23Scgd;	[comment]
391.23Scgd;
401.23Scgd; #ifdef's, etc. may be included, and are copied to the output files.
411.70Sthorpej; #include's are copied to the syscall names and switch definition files only.
421.77Sthorpej
431.78Sthorpej#include "opt_nfsserver.h"
441.102Sbjh21#include "opt_ntp.h"
451.81Sjonathan#include "opt_compat_netbsd.h"
461.85Stron#include "opt_sysv.h"
471.87Schristos#include "opt_compat_43.h"
481.119Schristos#include "opt_posix.h"
491.70Sthorpej
501.70Sthorpej#include "fs_lfs.h"
511.70Sthorpej#include "fs_nfs.h"
521.1Sglass
531.23Scgd#include <sys/param.h>
541.23Scgd#include <sys/systm.h>
551.23Scgd#include <sys/signal.h>
561.23Scgd#include <sys/mount.h>
571.23Scgd#include <sys/syscallargs.h>
581.103Smycroft
591.103Smycroft%%
601.1Sglass
611.1Sglass; Reserved/unimplemented system calls in the range 0-150 inclusive
621.1Sglass; are reserved for use in future Berkeley releases.
631.1Sglass; Additional system calls implemented in vendor and other
641.1Sglass; redistributions should be placed in the reserved range at the end
651.1Sglass; of the current calls.
661.1Sglass
671.179Sdsl0	INDIR		{ int sys_syscall(int code, \
681.179Sdsl			    ... register_t args[SYS_MAXSYSARGS]); }
691.182Sad1	STD MPSAFE	{ void sys_exit(int rval); }
701.182Sad2	STD MPSAFE	{ int sys_fork(void); }
711.191Spooka3	STD MPSAFE RUMP	{ ssize_t sys_read(int fd, void *buf, size_t nbyte); }
721.191Spooka4	STD MPSAFE RUMP	{ ssize_t sys_write(int fd, const void *buf, \
731.46Scgd			    size_t nbyte); }
741.191Spooka5	STD MPSAFE RUMP	{ int sys_open(const char *path, \
751.60Schristos			    int flags, ... mode_t mode); }
761.191Spooka6	STD MPSAFE RUMP	{ int sys_close(int fd); }
771.182Sad7	STD MPSAFE	{ int sys_wait4(int pid, int *status, int options, \
781.23Scgd			    struct rusage *rusage); }
791.182Sad8	COMPAT_43 MPSAFE	{ int sys_creat(const char *path, mode_t mode); } ocreat
801.191Spooka9	STD MPSAFE RUMP	{ int sys_link(const char *path, const char *link); }
811.191Spooka10	STD MPSAFE RUMP	{ int sys_unlink(const char *path); }
821.23Scgd11	OBSOL		execv
831.191Spooka12	STD MPSAFE RUMP	{ int sys_chdir(const char *path); }
841.191Spooka13	STD MPSAFE RUMP	{ int sys_fchdir(int fd); }
851.191Spooka14	STD MPSAFE RUMP	{ int sys_mknod(const char *path, mode_t mode, \
861.60Schristos			    dev_t dev); }
871.191Spooka15	STD MPSAFE RUMP	{ int sys_chmod(const char *path, mode_t mode); }
881.191Spooka16	STD MPSAFE RUMP	{ int sys_chown(const char *path, uid_t uid, \
891.46Scgd			    gid_t gid); }
901.182Sad17	STD MPSAFE	{ int sys_obreak(char *nsize); } break
911.183Sad18	COMPAT_20 MPSAFE	{ int sys_getfsstat(struct statfs12 *buf, \
921.139Schristos			    long bufsize, int flags); }
931.182Sad19	COMPAT_43 MPSAFE	{ long sys_lseek(int fd, long offset, int whence); } \
941.29Smycroft			    olseek
951.104Smycroft#ifdef COMPAT_43
961.163Sad20	STD MPSAFE	{ pid_t sys_getpid_with_ppid(void); } getpid
971.104Smycroft#else
981.108Sthorpej20	STD MPSAFE	{ pid_t sys_getpid(void); }
991.104Smycroft#endif
1001.189Sad21	COMPAT_40 MPSAFE	{ int sys_mount(const char *type, const char *path, \
1011.46Scgd			    int flags, void *data); }
1021.191Spooka22	STD MPSAFE RUMP	{ int sys_unmount(const char *path, int flags); }
1031.183Sad23	STD MPSAFE	{ int sys_setuid(uid_t uid); }
1041.104Smycroft#ifdef COMPAT_43
1051.183Sad24	STD MPSAFE	{ uid_t sys_getuid_with_euid(void); } getuid
1061.104Smycroft#else
1071.163Sad24	STD MPSAFE	{ uid_t sys_getuid(void); }
1081.104Smycroft#endif
1091.163Sad25	STD MPSAFE	{ uid_t sys_geteuid(void); }
1101.183Sad26	STD MPSAFE	{ int sys_ptrace(int req, pid_t pid, void *addr, \
1111.23Scgd			    int data); }
1121.182Sad27	STD 		{ ssize_t sys_recvmsg(int s, struct msghdr *msg, \
1131.28Smycroft			    int flags); }
1141.182Sad28	STD 		{ ssize_t sys_sendmsg(int s, \
1151.46Scgd			    const struct msghdr *msg, int flags); }
1161.182Sad29	STD 		{ ssize_t sys_recvfrom(int s, void *buf, size_t len, \
1171.46Scgd			    int flags, struct sockaddr *from, \
1181.88Skleink			    unsigned int *fromlenaddr); }
1191.46Scgd30	STD		{ int sys_accept(int s, struct sockaddr *name, \
1201.88Skleink			    unsigned int *anamelen); }
1211.46Scgd31	STD		{ int sys_getpeername(int fdes, struct sockaddr *asa, \
1221.88Skleink			    unsigned int *alen); }
1231.46Scgd32	STD		{ int sys_getsockname(int fdes, struct sockaddr *asa, \
1241.88Skleink			    unsigned int *alen); }
1251.191Spooka33	STD MPSAFE RUMP	{ int sys_access(const char *path, int flags); }
1261.191Spooka34	STD MPSAFE RUMP	{ int sys_chflags(const char *path, u_long flags); }
1271.191Spooka35	STD MPSAFE RUMP	{ int sys_fchflags(int fd, u_long flags); }
1281.191Spooka36	STD MPSAFE RUMP	{ void sys_sync(void); }
1291.182Sad37	STD MPSAFE	{ int sys_kill(int pid, int signum); }
1301.182Sad38	COMPAT_43 MPSAFE	{ int sys_stat(const char *path, struct stat43 *ub); } \
1311.60Schristos			    stat43
1321.163Sad39	STD MPSAFE	{ pid_t sys_getppid(void); }
1331.182Sad40	COMPAT_43 MPSAFE	{ int sys_lstat(const char *path, \
1341.60Schristos			    struct stat43 *ub); } lstat43
1351.182Sad41	STD MPSAFE	{ int sys_dup(int fd); }
1361.182Sad42	STD MPSAFE	{ int sys_pipe(void); }
1371.163Sad43	STD MPSAFE	{ gid_t sys_getegid(void); }
1381.168Sdrochner44	STD MPSAFE	{ int sys_profil(char *samples, size_t size, \
1391.30Scgd			    u_long offset, u_int scale); }
1401.182Sad45	STD MPSAFE	{ int sys_ktrace(const char *fname, int ops, \
1411.46Scgd			    int facs, int pid); }
1421.163Sad46	COMPAT_13 MPSAFE	{ int sys_sigaction(int signum, \
1431.82Smycroft			    const struct sigaction13 *nsa, \
1441.82Smycroft			    struct sigaction13 *osa); } sigaction13
1451.104Smycroft#ifdef COMPAT_43
1461.163Sad47	STD MPSAFE	{ gid_t sys_getgid_with_egid(void); } getgid
1471.104Smycroft#else
1481.163Sad47	STD MPSAFE	{ gid_t sys_getgid(void); }
1491.104Smycroft#endif
1501.163Sad48	COMPAT_13 MPSAFE	{ int sys_sigprocmask(int how, \
1511.82Smycroft			    int mask); } sigprocmask13
1521.163Sad49	STD MPSAFE	{ int sys___getlogin(char *namebuf, size_t namelen); }
1531.183Sad50	STD MPSAFE 	{ int sys___setlogin(const char *namebuf); }
1541.183Sad51	STD MPSAFE	{ int sys_acct(const char *path); }
1551.163Sad52	COMPAT_13 MPSAFE	{ int sys_sigpending(void); } sigpending13
1561.163Sad53	COMPAT_13 MPSAFE	{ int sys_sigaltstack( \
1571.82Smycroft			    const struct sigaltstack13 *nss, \
1581.82Smycroft			    struct sigaltstack13 *oss); } sigaltstack13
1591.182Sad54	STD MPSAFE	{ int sys_ioctl(int fd, \
1601.61Schristos			    u_long com, ... void *data); }
1611.34Smrg55	COMPAT_12	{ int sys_reboot(int opt); } oreboot
1621.182Sad56	STD MPSAFE	{ int sys_revoke(const char *path); }
1631.191Spooka57	STD MPSAFE RUMP	{ int sys_symlink(const char *path, \
1641.46Scgd			    const char *link); }
1651.191Spooka58	STD MPSAFE RUMP	{ ssize_t sys_readlink(const char *path, char *buf, \
1661.72Skleink			    size_t count); }
1671.182Sad59	STD MPSAFE	{ int sys_execve(const char *path, \
1681.46Scgd			    char * const *argp, char * const *envp); }
1691.182Sad60	STD MPSAFE	{ mode_t sys_umask(mode_t newmask); }
1701.183Sad61	STD MPSAFE	{ int sys_chroot(const char *path); }
1711.183Sad62	COMPAT_43 MPSAFE	{ int sys_fstat(int fd, struct stat43 *sb); } fstat43
1721.183Sad63	COMPAT_43 MPSAFE	{ int sys_getkerninfo(int op, char *where, int *size, \
1731.29Smycroft			    int arg); } ogetkerninfo
1741.183Sad64	COMPAT_43 MPSAFE { int sys_getpagesize(void); } ogetpagesize
1751.183Sad65	COMPAT_12 MPSAFE { int sys_msync(void *addr, size_t len); }
1761.67Sthorpej; XXX COMPAT_??? for 4.4BSD-compatible vfork(2)?
1771.182Sad66	STD MPSAFE	{ int sys_vfork(void); }
1781.23Scgd67	OBSOL		vread
1791.23Scgd68	OBSOL		vwrite
1801.182Sad69	STD MPSAFE	{ int sys_sbrk(intptr_t incr); }
1811.182Sad70	STD MPSAFE	{ int sys_sstk(int incr); }
1821.183Sad71	COMPAT_43 MPSAFE	{ int sys_mmap(void *addr, size_t len, int prot, \
1831.29Smycroft			    int flags, int fd, long pos); } ommap
1841.182Sad72	STD MPSAFE	{ int sys_ovadvise(int anom); } vadvise
1851.182Sad73	STD MPSAFE	{ int sys_munmap(void *addr, size_t len); }
1861.182Sad74	STD MPSAFE	{ int sys_mprotect(void *addr, size_t len, \
1871.28Smycroft			    int prot); }
1881.182Sad75	STD MPSAFE	{ int sys_madvise(void *addr, size_t len, \
1891.28Smycroft			    int behav); }
1901.23Scgd76	OBSOL		vhangup
1911.23Scgd77	OBSOL		vlimit
1921.182Sad78	STD MPSAFE	{ int sys_mincore(void *addr, size_t len, \
1931.28Smycroft			    char *vec); }
1941.163Sad79	STD MPSAFE	{ int sys_getgroups(int gidsetsize, \
1951.59Smycroft			    gid_t *gidset); }
1961.183Sad80	STD MPSAFE	{ int sys_setgroups(int gidsetsize, \
1971.46Scgd			    const gid_t *gidset); }
1981.163Sad81	STD MPSAFE 	{ int sys_getpgrp(void); }
1991.183Sad82	STD MPSAFE	{ int sys_setpgid(int pid, int pgid); }
2001.58Smycroft83	STD		{ int sys_setitimer(int which, \
2011.46Scgd			    const struct itimerval *itv, \
2021.46Scgd			    struct itimerval *oitv); }
2031.182Sad84	COMPAT_43 MPSAFE	{ int sys_wait(void); } owait
2041.183Sad85	COMPAT_12 MPSAFE	{ int sys_swapon(const char *name); } oswapon
2051.58Smycroft86	STD		{ int sys_getitimer(int which, \
2061.28Smycroft			    struct itimerval *itv); }
2071.183Sad87	COMPAT_43 MPSAFE	{ int sys_gethostname(char *hostname, u_int len); } \
2081.29Smycroft			    ogethostname
2091.183Sad88	COMPAT_43 MPSAFE	{ int sys_sethostname(char *hostname, u_int len); } \
2101.29Smycroft			    osethostname
2111.182Sad89	COMPAT_43 MPSAFE	{ int sys_getdtablesize(void); } ogetdtablesize
2121.182Sad90	STD MPSAFE	{ int sys_dup2(int from, int to); }
2131.23Scgd91	UNIMPL		getdopt
2141.182Sad92	STD MPSAFE	{ int sys_fcntl(int fd, int cmd, ... void *arg); }
2151.182Sad93	STD MPSAFE	{ int sys_select(int nd, fd_set *in, fd_set *ou, \
2161.23Scgd			    fd_set *ex, struct timeval *tv); }
2171.23Scgd94	UNIMPL		setdopt
2181.182Sad95	STD MPSAFE	{ int sys_fsync(int fd); }
2191.176Sad96	STD MPSAFE	{ int sys_setpriority(int which, id_t who, int prio); }
2201.154Smrg97	COMPAT_30	{ int sys_socket(int domain, int type, int protocol); }
2211.46Scgd98	STD		{ int sys_connect(int s, const struct sockaddr *name, \
2221.88Skleink			    unsigned int namelen); }
2231.167Schristos99	COMPAT_43	{ int sys_accept(int s, void *name, \
2241.46Scgd			    int *anamelen); } oaccept
2251.163Sad100	STD MPSAFE	{ int sys_getpriority(int which, id_t who); }
2261.167Schristos101	COMPAT_43	{ int sys_send(int s, void *buf, int len, \
2271.29Smycroft			    int flags); } osend
2281.167Schristos102	COMPAT_43	{ int sys_recv(int s, void *buf, int len, \
2291.29Smycroft			    int flags); } orecv
2301.163Sad103	COMPAT_13 MPSAFE	{ int sys_sigreturn(struct sigcontext13 *sigcntxp); } \
2311.83Smycroft			    sigreturn13
2321.46Scgd104	STD		{ int sys_bind(int s, const struct sockaddr *name, \
2331.88Skleink			    unsigned int namelen); }
2341.28Smycroft105	STD		{ int sys_setsockopt(int s, int level, int name, \
2351.88Skleink			    const void *val, unsigned int valsize); }
2361.28Smycroft106	STD		{ int sys_listen(int s, int backlog); }
2371.23Scgd107	OBSOL		vtimes
2381.163Sad108	COMPAT_43 MPSAFE	{ int sys_sigvec(int signum, struct sigvec *nsv, \
2391.29Smycroft			    struct sigvec *osv); } osigvec
2401.163Sad109	COMPAT_43 MPSAFE	{ int sys_sigblock(int mask); } osigblock
2411.163Sad110	COMPAT_43 MPSAFE	{ int sys_sigsetmask(int mask); } osigsetmask
2421.163Sad111	COMPAT_13 MPSAFE	{ int sys_sigsuspend(int mask); } sigsuspend13
2431.163Sad112	COMPAT_43 MPSAFE	{ int sys_sigstack(struct sigstack *nss, \
2441.29Smycroft			    struct sigstack *oss); } osigstack
2451.28Smycroft113	COMPAT_43	{ int sys_recvmsg(int s, struct omsghdr *msg, \
2461.29Smycroft			    int flags); } orecvmsg
2471.167Schristos114	COMPAT_43	{ int sys_sendmsg(int s, void *msg, int flags); } \
2481.29Smycroft			    osendmsg
2491.23Scgd115	OBSOL		vtrace
2501.173Sad116	STD MPSAFE	{ int sys_gettimeofday(struct timeval *tp, \
2511.141Skleink			    void *tzp); }
2521.176Sad117	STD MPSAFE	{ int sys_getrusage(int who, struct rusage *rusage); }
2531.28Smycroft118	STD		{ int sys_getsockopt(int s, int level, int name, \
2541.88Skleink			    void *val, unsigned int *avalsize); }
2551.26Scgd119	OBSOL		resuba
2561.182Sad120	STD MPSAFE	{ ssize_t sys_readv(int fd, \
2571.58Smycroft			    const struct iovec *iovp, int iovcnt); }
2581.182Sad121	STD MPSAFE	{ ssize_t sys_writev(int fd, \
2591.58Smycroft			    const struct iovec *iovp, int iovcnt); }
2601.183Sad122	STD MPSAFE	{ int sys_settimeofday(const struct timeval *tv, \
2611.141Skleink			    const void *tzp); }
2621.182Sad123	STD MPSAFE	{ int sys_fchown(int fd, uid_t uid, gid_t gid); }
2631.182Sad124	STD MPSAFE	{ int sys_fchmod(int fd, mode_t mode); }
2641.167Schristos125	COMPAT_43	{ int sys_recvfrom(int s, void *buf, size_t len, \
2651.167Schristos			    int flags, void *from, int *fromlenaddr); } \
2661.29Smycroft			    orecvfrom
2671.183Sad126	STD MPSAFE	{ int sys_setreuid(uid_t ruid, uid_t euid); }
2681.183Sad127	STD MPSAFE	{ int sys_setregid(gid_t rgid, gid_t egid); }
2691.191Spooka128	STD MPSAFE RUMP	{ int sys_rename(const char *from, const char *to); }
2701.182Sad129	COMPAT_43 MPSAFE	{ int sys_truncate(const char *path, long length); } \
2711.29Smycroft			    otruncate
2721.182Sad130	COMPAT_43 MPSAFE	{ int sys_ftruncate(int fd, long length); } oftruncate
2731.182Sad131	STD MPSAFE	{ int sys_flock(int fd, int how); }
2741.182Sad132	STD MPSAFE	{ int sys_mkfifo(const char *path, mode_t mode); }
2751.182Sad133	STD 		{ ssize_t sys_sendto(int s, const void *buf, \
2761.46Scgd			    size_t len, int flags, const struct sockaddr *to, \
2771.88Skleink			    unsigned int tolen); }
2781.28Smycroft134	STD		{ int sys_shutdown(int s, int how); }
2791.28Smycroft135	STD		{ int sys_socketpair(int domain, int type, \
2801.28Smycroft			    int protocol, int *rsv); }
2811.191Spooka136	STD MPSAFE RUMP	{ int sys_mkdir(const char *path, mode_t mode); }
2821.191Spooka137	STD MPSAFE RUMP	{ int sys_rmdir(const char *path); }
2831.182Sad138	STD MPSAFE	{ int sys_utimes(const char *path, \
2841.46Scgd			    const struct timeval *tptr); }
2851.23Scgd139	OBSOL		4.2 sigreturn
2861.46Scgd140	STD		{ int sys_adjtime(const struct timeval *delta, \
2871.23Scgd			    struct timeval *olddelta); }
2881.167Schristos141	COMPAT_43	{ int sys_getpeername(int fdes, void *asa, \
2891.29Smycroft			    int *alen); } ogetpeername
2901.182Sad142	COMPAT_43 MPSAFE	{ int32_t sys_gethostid(void); } ogethostid
2911.182Sad143	COMPAT_43 MPSAFE	{ int sys_sethostid(int32_t hostid); } osethostid
2921.176Sad144	COMPAT_43 MPSAFE	{ int sys_getrlimit(int which, \
2931.58Smycroft			    struct orlimit *rlp); } ogetrlimit
2941.183Sad145	COMPAT_43 MPSAFE	{ int sys_setrlimit(int which, \
2951.58Smycroft			    const struct orlimit *rlp); } osetrlimit
2961.182Sad146	COMPAT_43 MPSAFE	{ int sys_killpg(int pgid, int signum); } okillpg
2971.183Sad147	STD MPSAFE 	{ int sys_setsid(void); }
2981.183Sad148	STD MPSAFE	{ int sys_quotactl(const char *path, int cmd, \
2991.167Schristos			    int uid, void *arg); }
3001.183Sad149	COMPAT_43 MPSAFE	{ int sys_quota(void); } oquota
3011.167Schristos150	COMPAT_43	{ int sys_getsockname(int fdec, void *asa, \
3021.29Smycroft			    int *alen); } ogetsockname
3031.1Sglass
3041.1Sglass; Syscalls 151-180 inclusive are reserved for vendor-specific
3051.1Sglass; system calls.  (This includes various calls added for compatibity
3061.1Sglass; with other Unix variants.)
3071.1Sglass; Some of these calls are now supported by BSD...
3081.23Scgd151	UNIMPL
3091.23Scgd152	UNIMPL
3101.23Scgd153	UNIMPL
3111.23Scgd154	UNIMPL
3121.92Schristos#if defined(NFS) || defined(NFSSERVER) || !defined(_KERNEL)
3131.46Scgd155	STD		{ int sys_nfssvc(int flag, void *argp); }
3141.1Sglass#else
3151.92Schristos155	EXCL		nfssvc
3161.1Sglass#endif
3171.183Sad156	COMPAT_43 MPSAFE { int sys_getdirentries(int fd, char *buf, \
3181.29Smycroft			    u_int count, long *basep); } ogetdirentries
3191.183Sad157	COMPAT_20 MPSAFE	{ int sys_statfs(const char *path, \
3201.139Schristos			    struct statfs12 *buf); }
3211.183Sad158	COMPAT_20 MPSAFE	{ int sys_fstatfs(int fd, struct statfs12 *buf); }
3221.23Scgd159	UNIMPL
3231.23Scgd160	UNIMPL
3241.183Sad161	COMPAT_30 MPSAFE { int sys_getfh(const char *fname, \
3251.155Smartin			    struct compat_30_fhandle *fhp); }
3261.183Sad162	COMPAT_09 MPSAFE { int sys_getdomainname(char *domainname, int len); } \
3271.29Smycroft			    ogetdomainname
3281.183Sad163	COMPAT_09 MPSAFE { int sys_setdomainname(char *domainname, int len); } \
3291.29Smycroft			    osetdomainname
3301.182Sad164	COMPAT_09 MPSAFE	{ int sys_uname(struct outsname *name); } ouname
3311.71Sperry165	STD		{ int sys_sysarch(int op, void *parms); }
3321.23Scgd166	UNIMPL
3331.23Scgd167	UNIMPL
3341.23Scgd168	UNIMPL
3351.23Scgd; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
3361.111Seeh#if (defined(SYSVSEM) || !defined(_KERNEL)) && !defined(_LP64)
3371.172Sad169	COMPAT_10 MPSAFE	{ int sys_semsys(int which, int a2, int a3, int a4, \
3381.29Smycroft			    int a5); } osemsys
3391.9Scgd#else
3401.92Schristos169	EXCL		1.0 semsys
3411.9Scgd#endif
3421.23Scgd; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
3431.111Seeh#if (defined(SYSVMSG) || !defined(_KERNEL)) && !defined(_LP64)
3441.182Sad170	COMPAT_10 MPSAFE	{ int sys_msgsys(int which, int a2, int a3, int a4, \
3451.29Smycroft			    int a5, int a6); } omsgsys
3461.9Scgd#else
3471.92Schristos170	EXCL		1.0 msgsys
3481.9Scgd#endif
3491.23Scgd; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
3501.111Seeh#if (defined(SYSVSHM) || !defined(_KERNEL)) && !defined(_LP64)
3511.182Sad171	COMPAT_10 MPSAFE	{ int sys_shmsys(int which, int a2, int a3, int a4); } \
3521.29Smycroft			    oshmsys
3531.1Sglass#else
3541.92Schristos171	EXCL		1.0 shmsys
3551.1Sglass#endif
3561.23Scgd172	UNIMPL
3571.182Sad173	STD MPSAFE	{ ssize_t sys_pread(int fd, void *buf, \
3581.80Sthorpej			    size_t nbyte, int pad, off_t offset); }
3591.182Sad174	STD MPSAFE	{ ssize_t sys_pwrite(int fd, const void *buf, \
3601.80Sthorpej			    size_t nbyte, int pad, off_t offset); }
3611.102Sbjh21; For some reason, ntp_gettime doesn't want to raise SIGSYS when it's excluded.
3621.153Sdrochner175	COMPAT_30	{ int sys_ntp_gettime(struct ntptimeval30 *ntvp); }
3631.102Sbjh21#if defined(NTP) || !defined(_KERNEL)
3641.38Sthorpej176	STD		{ int sys_ntp_adjtime(struct timex *tp); }
3651.102Sbjh21#else
3661.102Sbjh21176	EXCL		ntp_adjtime
3671.102Sbjh21#endif
3681.23Scgd177	UNIMPL
3691.23Scgd178	UNIMPL
3701.23Scgd179	UNIMPL
3711.23Scgd180	UNIMPL
3721.1Sglass
3731.1Sglass; Syscalls 180-199 are used by/reserved for BSD
3741.183Sad181	STD MPSAFE	{ int sys_setgid(gid_t gid); }
3751.183Sad182	STD MPSAFE	{ int sys_setegid(gid_t egid); }
3761.183Sad183	STD MPSAFE	{ int sys_seteuid(uid_t euid); }
3771.92Schristos#if defined(LFS) || !defined(_KERNEL)
3781.92Schristos184	STD		{ int sys_lfs_bmapv(fsid_t *fsidp, \
3791.23Scgd			    struct block_info *blkiov, int blkcnt); }
3801.92Schristos185	STD		{ int sys_lfs_markv(fsid_t *fsidp, \
3811.23Scgd			    struct block_info *blkiov, int blkcnt); }
3821.92Schristos186	STD		{ int sys_lfs_segclean(fsid_t *fsidp, u_long segment); }
3831.92Schristos187	STD		{ int sys_lfs_segwait(fsid_t *fsidp, \
3841.92Schristos			    struct timeval *tv); }
3851.92Schristos#else
3861.92Schristos184	EXCL		lfs_bmapv
3871.92Schristos185	EXCL		lfs_markv
3881.92Schristos186	EXCL		lfs_segclean
3891.92Schristos187	EXCL		lfs_segwait
3901.23Scgd#endif
3911.182Sad188	COMPAT_12 MPSAFE	{ int sys_stat(const char *path, struct stat12 *ub); } \
3921.60Schristos			    stat12
3931.182Sad189	COMPAT_12 MPSAFE	{ int sys_fstat(int fd, struct stat12 *sb); } fstat12
3941.182Sad190	COMPAT_12 MPSAFE	{ int sys_lstat(const char *path, \
3951.60Schristos			    struct stat12 *ub); } lstat12
3961.182Sad191	STD MPSAFE	{ long sys_pathconf(const char *path, int name); }
3971.182Sad192	STD MPSAFE	{ long sys_fpathconf(int fd, int name); }
3981.23Scgd193	UNIMPL
3991.182Sad194	STD MPSAFE	{ int sys_getrlimit(int which, \
4001.58Smycroft			    struct rlimit *rlp); }
4011.183Sad195	STD MPSAFE	{ int sys_setrlimit(int which, \
4021.46Scgd			    const struct rlimit *rlp); }
4031.183Sad196	COMPAT_12 MPSAFE	{ int sys_getdirentries(int fd, char *buf, \
4041.28Smycroft			    u_int count, long *basep); }
4051.182Sad197	STD MPSAFE	{ void *sys_mmap(void *addr, size_t len, int prot, \
4061.23Scgd			    int flags, int fd, long pad, off_t pos); }
4071.179Sdsl198	INDIR		{ quad_t sys___syscall(quad_t code, \
4081.179Sdsl			    ... register_t args[SYS_MAXSYSARGS]); }
4091.182Sad199	STD MPSAFE	{ off_t sys_lseek(int fd, int pad, off_t offset, \
4101.23Scgd			    int whence); }
4111.191Spooka200	STD MPSAFE RUMP	{ int sys_truncate(const char *path, int pad, \
4121.46Scgd			    off_t length); }
4131.182Sad201	STD MPSAFE	{ int sys_ftruncate(int fd, int pad, off_t length); }
4141.182Sad202	STD MPSAFE	{ int sys___sysctl(const int *name, u_int namelen, \
4151.151Sdrochner			    void *old, size_t *oldlenp, const void *new, \
4161.28Smycroft			    size_t newlen); }
4171.182Sad203	STD MPSAFE	{ int sys_mlock(const void *addr, size_t len); }
4181.182Sad204	STD MPSAFE	{ int sys_munlock(const void *addr, size_t len); }
4191.182Sad205	STD MPSAFE	{ int sys_undelete(const char *path); }
4201.182Sad206	STD MPSAFE	{ int sys_futimes(int fd, \
4211.46Scgd			    const struct timeval *tptr); }
4221.163Sad207	STD MPSAFE	{ pid_t sys_getpgid(pid_t pid); }
4231.34Smrg208	STD		{ int sys_reboot(int opt, char *bootstr); }
4241.182Sad209	STD MPSAFE	{ int sys_poll(struct pollfd *fds, u_int nfds, \
4251.35Smycroft			    int timeout); }
4261.11Scgd;
4271.11Scgd; Syscalls 210-219 are reserved for dynamically loaded syscalls
4281.11Scgd;
4291.92Schristos#if defined(LKM) || !defined(_KERNEL)
4301.28Smycroft210	NODEF		{ int sys_lkmnosys(void); }
4311.28Smycroft211	NODEF		{ int sys_lkmnosys(void); }
4321.28Smycroft212	NODEF		{ int sys_lkmnosys(void); }
4331.28Smycroft213	NODEF		{ int sys_lkmnosys(void); }
4341.28Smycroft214	NODEF		{ int sys_lkmnosys(void); }
4351.28Smycroft215	NODEF		{ int sys_lkmnosys(void); }
4361.28Smycroft216	NODEF		{ int sys_lkmnosys(void); }
4371.28Smycroft217	NODEF		{ int sys_lkmnosys(void); }
4381.28Smycroft218	NODEF		{ int sys_lkmnosys(void); }
4391.28Smycroft219	NODEF		{ int sys_lkmnosys(void); }
4401.11Scgd#else	/* !LKM */
4411.92Schristos210	EXCL		lkmnosys
4421.92Schristos211	EXCL		lkmnosys
4431.92Schristos212	EXCL		lkmnosys
4441.92Schristos213	EXCL		lkmnosys
4451.92Schristos214	EXCL		lkmnosys
4461.92Schristos215	EXCL		lkmnosys
4471.92Schristos216	EXCL		lkmnosys
4481.92Schristos217	EXCL		lkmnosys
4491.92Schristos218	EXCL		lkmnosys
4501.92Schristos219	EXCL		lkmnosys
4511.6Scgd#endif	/* !LKM */
4521.49Skleink; System calls 220-300 are reserved for use by NetBSD
4531.92Schristos#if defined(SYSVSEM) || !defined(_KERNEL)
4541.172Sad220	COMPAT_14 MPSAFE	{ int sys___semctl(int semid, int semnum, int cmd, \
4551.97Sthorpej			    union __semun *arg); }
4561.172Sad221	STD MPSAFE	{ int sys_semget(key_t key, int nsems, int semflg); }
4571.172Sad222	STD MPSAFE	{ int sys_semop(int semid, struct sembuf *sops, \
4581.74Skleink			    size_t nsops); }
4591.172Sad223	STD MPSAFE	{ int sys_semconfig(int flag); }
4601.23Scgd#else
4611.97Sthorpej220	EXCL		compat_14_semctl
4621.92Schristos221	EXCL		semget
4631.92Schristos222	EXCL		semop
4641.92Schristos223	EXCL		semconfig
4651.23Scgd#endif
4661.92Schristos#if defined(SYSVMSG) || !defined(_KERNEL)
4671.163Sad224	COMPAT_14 MPSAFE { int sys_msgctl(int msqid, int cmd, \
4681.97Sthorpej			    struct msqid_ds14 *buf); }
4691.163Sad225	STD MPSAFE	{ int sys_msgget(key_t key, int msgflg); }
4701.163Sad226	STD MPSAFE	{ int sys_msgsnd(int msqid, const void *msgp, \
4711.74Skleink			    size_t msgsz, int msgflg); }
4721.163Sad227	STD MPSAFE	{ ssize_t sys_msgrcv(int msqid, void *msgp, \
4731.74Skleink			    size_t msgsz, long msgtyp, int msgflg); }
4741.23Scgd#else
4751.163Sad224	EXCL 		compat_14_msgctl
4761.163Sad225	EXCL 		msgget
4771.163Sad226	EXCL 		msgsnd
4781.163Sad227	EXCL 		msgrcv
4791.23Scgd#endif
4801.92Schristos#if defined(SYSVSHM) || !defined(_KERNEL)
4811.182Sad228	STD MPSAFE	{ void *sys_shmat(int shmid, const void *shmaddr, \
4821.44Scgd			    int shmflg); }
4831.182Sad229	COMPAT_14 MPSAFE { int sys_shmctl(int shmid, int cmd, \
4841.97Sthorpej			    struct shmid_ds14 *buf); }
4851.182Sad230	STD MPSAFE	{ int sys_shmdt(const void *shmaddr); }
4861.182Sad231	STD MPSAFE	{ int sys_shmget(key_t key, size_t size, int shmflg); }
4871.23Scgd#else
4881.92Schristos228	EXCL		shmat
4891.97Sthorpej229	EXCL		compat_14_shmctl
4901.92Schristos230	EXCL		shmdt
4911.92Schristos231	EXCL		shmget
4921.23Scgd#endif
4931.175Sad232	STD MPSAFE	{ int sys_clock_gettime(clockid_t clock_id, \
4941.49Skleink			    struct timespec *tp); }
4951.183Sad233	STD MPSAFE	{ int sys_clock_settime(clockid_t clock_id, \
4961.49Skleink			    const struct timespec *tp); }
4971.175Sad234	STD MPSAFE	{ int sys_clock_getres(clockid_t clock_id, \
4981.49Skleink			    struct timespec *tp); }
4991.118Sthorpej235	STD		{ int sys_timer_create(clockid_t clock_id, \
5001.118Sthorpej			    struct sigevent *evp, timer_t *timerid); }
5011.118Sthorpej236	STD		{ int sys_timer_delete(timer_t timerid); }
5021.118Sthorpej237	STD		{ int sys_timer_settime(timer_t timerid, int flags, \
5031.118Sthorpej			    const struct itimerspec *value, \
5041.118Sthorpej			    struct itimerspec *ovalue); }
5051.118Sthorpej238	STD		{ int sys_timer_gettime(timer_t timerid, struct \
5061.118Sthorpej			    itimerspec *value); }
5071.118Sthorpej239	STD		{ int sys_timer_getoverrun(timer_t timerid); }
5081.54Sveego;
5091.54Sveego; Syscalls 240-269 are reserved for other IEEE Std1003.1b syscalls
5101.54Sveego;
5111.163Sad240	STD MPSAFE	{ int sys_nanosleep(const struct timespec *rqtp, \
5121.49Skleink			    struct timespec *rmtp); }
5131.182Sad241	STD MPSAFE	{ int sys_fdatasync(int fd); }
5141.182Sad242	STD MPSAFE	{ int sys_mlockall(int flags); }
5151.182Sad243	STD MPSAFE	{ int sys_munlockall(void); }
5161.163Sad244	STD MPSAFE	{ int sys___sigtimedwait(const sigset_t *set, \
5171.127Sjdolecek			    siginfo_t *info, \
5181.127Sjdolecek			    struct timespec *timeout); }
5191.127Sjdolecek245	UNIMPL		sys_sigqueue
5201.185Sad246	STD MPSAFE	{ int sys_modctl(int cmd, void *arg); }
5211.133Schristos#if defined(P1003_1B_SEMAPHORE) || (!defined(_KERNEL) && defined(_LIBC))
5221.182Sad247	STD MPSAFE	{ int sys__ksem_init(unsigned int value, semid_t *idp); }
5231.182Sad248	STD MPSAFE	{ int sys__ksem_open(const char *name, int oflag, \
5241.119Schristos			    mode_t mode, unsigned int value, semid_t *idp); }
5251.182Sad249	STD MPSAFE	{ int sys__ksem_unlink(const char *name); }
5261.182Sad250	STD MPSAFE	{ int sys__ksem_close(semid_t id); }
5271.182Sad251	STD MPSAFE	{ int sys__ksem_post(semid_t id); }
5281.182Sad252	STD MPSAFE	{ int sys__ksem_wait(semid_t id); }
5291.182Sad253	STD MPSAFE	{ int sys__ksem_trywait(semid_t id); }
5301.182Sad254	STD MPSAFE	{ int sys__ksem_getvalue(semid_t id, \
5311.119Schristos			    unsigned int *value); }
5321.182Sad255	STD MPSAFE	{ int sys__ksem_destroy(semid_t id); }
5331.124Sthorpej256	UNIMPL		sys__ksem_timedwait
5341.119Schristos#else
5351.122Schristos247	EXCL		sys__ksem_init
5361.122Schristos248	EXCL		sys__ksem_open
5371.122Schristos249	EXCL 		sys__ksem_unlink
5381.122Schristos250	EXCL		sys__ksem_close
5391.122Schristos251	EXCL		sys__ksem_post
5401.122Schristos252	EXCL		sys__ksem_wait
5411.122Schristos253	EXCL		sys__ksem_trywait
5421.122Schristos254	EXCL		sys__ksem_getvalue
5431.122Schristos255	EXCL		sys__ksem_destroy
5441.124Sthorpej256	UNIMPL		sys__ksem_timedwait
5451.119Schristos#endif
5461.182Sad257	STD MPSAFE	{ mqd_t sys_mq_open(const char * name, int oflag, \
5471.177Srmind			    mode_t mode, struct mq_attr *attr); }
5481.182Sad258	STD MPSAFE	{ int sys_mq_close(mqd_t mqdes); }
5491.182Sad259	STD MPSAFE	{ int sys_mq_unlink(const char *name); }
5501.182Sad260	STD MPSAFE	{ int sys_mq_getattr(mqd_t mqdes, \
5511.177Srmind			    struct mq_attr *mqstat); }
5521.182Sad261	STD MPSAFE	{ int sys_mq_setattr(mqd_t mqdes, \
5531.177Srmind			    const struct mq_attr *mqstat, \
5541.177Srmind			    struct mq_attr *omqstat); }
5551.182Sad262	STD MPSAFE	{ int sys_mq_notify(mqd_t mqdes, \
5561.177Srmind			    const struct sigevent *notification); }
5571.182Sad263	STD MPSAFE	{ int sys_mq_send(mqd_t mqdes, const char *msg_ptr, \
5581.177Srmind			    size_t msg_len, unsigned msg_prio); }
5591.182Sad264	STD MPSAFE	{ ssize_t sys_mq_receive(mqd_t mqdes, char *msg_ptr, \
5601.177Srmind			    size_t msg_len, unsigned *msg_prio); }
5611.182Sad265	STD MPSAFE	{ int sys_mq_timedsend(mqd_t mqdes, \
5621.177Srmind			    const char *msg_ptr, size_t msg_len, \
5631.177Srmind			    unsigned msg_prio, \
5641.177Srmind			    const struct timespec *abs_timeout); }
5651.182Sad266	STD MPSAFE	{ ssize_t sys_mq_timedreceive(mqd_t mqdes, \
5661.177Srmind			    char *msg_ptr, size_t msg_len, unsigned *msg_prio, \
5671.177Srmind			    const struct timespec *abs_timeout); }
5681.49Skleink267	UNIMPL
5691.49Skleink268	UNIMPL
5701.49Skleink269	UNIMPL
5711.182Sad270	STD MPSAFE	{ int sys___posix_rename(const char *from, \
5721.49Skleink			    const char *to); }
5731.182Sad271	STD MPSAFE	{ int sys_swapctl(int cmd, void *arg, int misc); }
5741.182Sad272	COMPAT_30 MPSAFE	{ int sys_getdents(int fd, char *buf, size_t count); }
5751.182Sad273	STD MPSAFE	{ int sys_minherit(void *addr, size_t len, \
5761.54Sveego			    int inherit); }
5771.191Spooka274	STD MPSAFE RUMP	{ int sys_lchmod(const char *path, mode_t mode); }
5781.191Spooka275	STD MPSAFE RUMP	{ int sys_lchown(const char *path, uid_t uid, \
5791.56Senami			    gid_t gid); }
5801.182Sad276	STD MPSAFE	{ int sys_lutimes(const char *path, \
5811.56Senami			    const struct timeval *tptr); }
5821.182Sad277	STD MPSAFE	{ int sys___msync13(void *addr, size_t len, int flags); }
5831.182Sad278	COMPAT_30 MPSAFE	{ int sys___stat13(const char *path, struct stat13 *ub); }
5841.182Sad279	COMPAT_30 MPSAFE	{ int sys___fstat13(int fd, struct stat13 *sb); }
5851.182Sad280	COMPAT_30 MPSAFE	{ int sys___lstat13(const char *path, struct stat13 *ub); }
5861.163Sad281	STD MPSAFE	{ int sys___sigaltstack14( \
5871.82Smycroft			    const struct sigaltstack *nss, \
5881.82Smycroft			    struct sigaltstack *oss); }
5891.182Sad282	STD MPSAFE	{ int sys___vfork14(void); }
5901.182Sad283	STD MPSAFE	{ int sys___posix_chown(const char *path, uid_t uid, \
5911.69Skleink			    gid_t gid); }
5921.182Sad284	STD MPSAFE	{ int sys___posix_fchown(int fd, uid_t uid, \
5931.69Skleink			    gid_t gid); }
5941.182Sad285	STD MPSAFE	{ int sys___posix_lchown(const char *path, uid_t uid, \
5951.69Skleink			    gid_t gid); }
5961.163Sad286	STD MPSAFE	{ pid_t sys_getsid(pid_t pid); }
5971.182Sad287	STD MPSAFE	{ pid_t sys___clone(int flags, void *stack); }
5981.182Sad288	STD MPSAFE	{ int sys_fktrace(int fd, int ops, \
5991.73Schristos			    int facs, int pid); }
6001.182Sad289	STD MPSAFE	{ ssize_t sys_preadv(int fd, \
6011.79Sthorpej			    const struct iovec *iovp, int iovcnt, \
6021.80Sthorpej			    int pad, off_t offset); }
6031.182Sad290	STD MPSAFE	{ ssize_t sys_pwritev(int fd, \
6041.79Sthorpej			    const struct iovec *iovp, int iovcnt, \
6051.80Sthorpej			    int pad, off_t offset); }
6061.163Sad291	COMPAT_16 MPSAFE	{ int sys___sigaction14(int signum, \
6071.82Smycroft			    const struct sigaction *nsa, \
6081.82Smycroft			    struct sigaction *osa); }
6091.163Sad292	STD MPSAFE	{ int sys___sigpending14(sigset_t *set); }
6101.163Sad293	STD MPSAFE	{ int sys___sigprocmask14(int how, \
6111.82Smycroft			    const sigset_t *set, \
6121.82Smycroft			    sigset_t *oset); }
6131.163Sad294	STD MPSAFE	{ int sys___sigsuspend14(const sigset_t *set); }
6141.163Sad295	COMPAT_16 MPSAFE { int sys___sigreturn14(struct sigcontext *sigcntxp); }
6151.182Sad296	STD MPSAFE	{ int sys___getcwd(char *bufp, size_t length); }
6161.182Sad297	STD MPSAFE	{ int sys_fchroot(int fd); }
6171.183Sad298	COMPAT_30 MPSAFE	{ int sys_fhopen(const struct compat_30_fhandle *fhp, int flags); }
6181.183Sad299	COMPAT_30 MPSAFE	{ int sys_fhstat(const struct compat_30_fhandle *fhp, \
6191.152Schristos			    struct stat13 *sb); }
6201.183Sad300	COMPAT_20 MPSAFE	{ int sys_fhstatfs(const struct compat_30_fhandle *fhp, \
6211.139Schristos			    struct statfs12 *buf); }
6221.97Sthorpej#if defined(SYSVSEM) || !defined(_KERNEL)
6231.172Sad301	STD MPSAFE	{ int sys_____semctl13(int semid, int semnum, int cmd, \
6241.99Schristos			    ... union __semun *arg); }
6251.97Sthorpej#else
6261.99Schristos301	EXCL		____semctl13
6271.97Sthorpej#endif
6281.97Sthorpej#if defined(SYSVMSG) || !defined(_KERNEL)
6291.163Sad302	STD MPSAFE	{ int sys___msgctl13(int msqid, int cmd, \
6301.97Sthorpej			    struct msqid_ds *buf); }
6311.97Sthorpej#else
6321.97Sthorpej302	EXCL		__msgctl13
6331.97Sthorpej#endif
6341.97Sthorpej#if defined(SYSVSHM) || !defined(_KERNEL)
6351.182Sad303	STD MPSAFE	{ int sys___shmctl13(int shmid, int cmd, \
6361.97Sthorpej			    struct shmid_ds *buf); }
6371.97Sthorpej#else
6381.97Sthorpej303	EXCL		__shmctl13
6391.97Sthorpej#endif
6401.182Sad304	STD MPSAFE	{ int sys_lchflags(const char *path, u_long flags); }
6411.163Sad305	STD MPSAFE	{ int sys_issetugid(void); }
6421.163Sad306	STD MPSAFE	{ int sys_utrace(const char *label, void *addr, \
6431.118Sthorpej				size_t len); }
6441.176Sad307	STD MPSAFE	{ int sys_getcontext(struct __ucontext *ucp); }
6451.176Sad308	STD MPSAFE	{ int sys_setcontext(const struct __ucontext *ucp); }
6461.182Sad309	STD MPSAFE	{ int sys__lwp_create(const struct __ucontext *ucp, \
6471.118Sthorpej				u_long flags, lwpid_t *new_lwp); }
6481.182Sad310	STD MPSAFE	{ int sys__lwp_exit(void); }
6491.163Sad311	STD MPSAFE	{ lwpid_t sys__lwp_self(void); }
6501.163Sad312	STD MPSAFE	{ int sys__lwp_wait(lwpid_t wait_for, \
6511.118Sthorpej				lwpid_t *departed); }
6521.163Sad313	STD MPSAFE	{ int sys__lwp_suspend(lwpid_t target); }
6531.163Sad314	STD MPSAFE	{ int sys__lwp_continue(lwpid_t target); }
6541.163Sad315	STD MPSAFE	{ int sys__lwp_wakeup(lwpid_t target); }
6551.163Sad316	STD MPSAFE	{ void *sys__lwp_getprivate(void); }
6561.163Sad317	STD MPSAFE	{ void sys__lwp_setprivate(void *ptr); }
6571.182Sad318	STD MPSAFE	{ int sys__lwp_kill(lwpid_t target, int signo); }
6581.163Sad319	STD MPSAFE	{ int sys__lwp_detach(lwpid_t target); }
6591.163Sad320	STD MPSAFE	{ int sys__lwp_park(const struct timespec *ts, \
6601.175Sad				lwpid_t unpark, const void *hint, \
6611.175Sad				const void *unparkhint); }
6621.164Sad321	STD MPSAFE	{ int sys__lwp_unpark(lwpid_t target, const void *hint); }
6631.166Sdrochner322	STD MPSAFE	{ ssize_t sys__lwp_unpark_all(const lwpid_t *targets, \
6641.164Sad				size_t ntargets, const void *hint); }
6651.182Sad323	STD MPSAFE	{ int sys__lwp_setname(lwpid_t target, \
6661.178Sad				const char *name); }
6671.182Sad324	STD MPSAFE	{ int sys__lwp_getname(lwpid_t target, \
6681.178Sad				char *name, size_t len); }
6691.182Sad325	STD MPSAFE	{ int sys__lwp_ctl(int features, \
6701.180Sad				struct lwpctl **address); }
6711.180Sad; Syscalls 326-339 reserved for LWP syscalls.
6721.107Snathanw326	UNIMPL
6731.107Snathanw327	UNIMPL
6741.107Snathanw328	UNIMPL
6751.107Snathanw329	UNIMPL
6761.165Sad; Obsolete SA system calls.  Must remain until libc's major version is bumped.
6771.165Sad330	STD MPSAFE	{ int sys_sa_register(void); }
6781.165Sad331	STD MPSAFE	{ int sys_sa_stacks(void); }
6791.165Sad332	STD MPSAFE	{ int sys_sa_enable(void); }
6801.165Sad333	STD MPSAFE	{ int sys_sa_setconcurrency(void); }
6811.165Sad334	STD MPSAFE	{ int sys_sa_yield(void); }
6821.165Sad335	STD MPSAFE	{ int sys_sa_preempt(void); }
6831.165Sad336	STD MPSAFE	{ int sys_sa_unblockyield(void); }
6841.107Snathanw337	UNIMPL
6851.107Snathanw338	UNIMPL
6861.107Snathanw339	UNIMPL
6871.163Sad340	STD MPSAFE	{ int sys___sigaction_sigtramp(int signum, \
6881.112Sthorpej			    const struct sigaction *nsa, \
6891.112Sthorpej			    struct sigaction *osa, \
6901.132Smatt			    const void *tramp, int vers); }
6911.113Sbriggs341	STD		{ int sys_pmc_get_info(int ctr, int op, void *args); }
6921.113Sbriggs342	STD		{ int sys_pmc_control(int ctr, int op, void *args); }
6931.182Sad343	STD MPSAFE	{ int sys_rasctl(void *addr, size_t len, int op); }
6941.116Sjdolecek344	STD		{ int sys_kqueue(void); }
6951.116Sjdolecek345	STD		{ int sys_kevent(int fd, \
6961.116Sjdolecek			    const struct kevent *changelist, size_t nchanges, \
6971.116Sjdolecek			    struct kevent *eventlist, size_t nevents, \
6981.116Sjdolecek			    const struct timespec *timeout); }
6991.184Srmind
7001.184Srmind; Scheduling system calls.
7011.184Srmind346	STD MPSAFE	{ int sys__sched_setparam(pid_t pid, lwpid_t lid, \
7021.188Syamt			    int policy, const struct sched_param *params); }
7031.184Srmind347	STD MPSAFE	{ int sys__sched_getparam(pid_t pid, lwpid_t lid, \
7041.188Syamt			    int *policy, struct sched_param *params); }
7051.184Srmind348	STD MPSAFE	{ int sys__sched_setaffinity(pid_t pid, lwpid_t lid, \
7061.184Srmind			    size_t size, void *cpuset); }
7071.184Srmind349	STD MPSAFE	{ int sys__sched_getaffinity(pid_t pid, lwpid_t lid, \
7081.184Srmind			    size_t size, void *cpuset); }
7091.163Sad350	STD MPSAFE	{ int sys_sched_yield(void); }
7101.184Srmind351	UNIMPL
7111.184Srmind352	UNIMPL
7121.184Srmind353	UNIMPL
7131.134Sthorpej
7141.182Sad354	STD MPSAFE	{ int sys_fsync_range(int fd, int flags, off_t start, \
7151.134Sthorpej			    off_t length); }
7161.183Sad355	STD MPSAFE	{ int sys_uuidgen(struct uuid *store, int count); }
7171.183Sad356	STD MPSAFE	{ int sys_getvfsstat(struct statvfs *buf, \
7181.139Schristos			    size_t bufsize, int flags); }
7191.183Sad357	STD MPSAFE	{ int sys_statvfs1(const char *path, \
7201.139Schristos			    struct statvfs *buf, int flags); }
7211.183Sad358	STD MPSAFE	{ int sys_fstatvfs1(int fd, struct statvfs *buf, \
7221.139Schristos			    int flags); }
7231.183Sad359	COMPAT_30 MPSAFE	{ int sys_fhstatvfs1(const struct compat_30_fhandle *fhp, \
7241.139Schristos			    struct statvfs *buf, int flags); }
7251.186Sad360	STD MPSAFE	{ int sys_extattrctl(const char *path, int cmd, \
7261.143Sthorpej			    const char *filename, int attrnamespace, \
7271.143Sthorpej			    const char *attrname); }
7281.186Sad361	STD MPSAFE	{ int sys_extattr_set_file(const char *path, \
7291.143Sthorpej			    int attrnamespace, const char *attrname, \
7301.143Sthorpej			    const void *data, size_t nbytes); }
7311.186Sad362	STD MPSAFE	{ ssize_t sys_extattr_get_file(const char *path, \
7321.143Sthorpej			    int attrnamespace, const char *attrname, \
7331.143Sthorpej			    void *data, size_t nbytes); }
7341.186Sad363	STD MPSAFE	{ int sys_extattr_delete_file(const char *path, \
7351.143Sthorpej			    int attrnamespace, const char *attrname); }
7361.186Sad364	STD MPSAFE	{ int sys_extattr_set_fd(int fd, \
7371.143Sthorpej			    int attrnamespace, const char *attrname, \
7381.143Sthorpej			    const void *data, size_t nbytes); }
7391.186Sad365	STD MPSAFE	{ ssize_t sys_extattr_get_fd(int fd, \
7401.143Sthorpej			    int attrnamespace, const char *attrname, \
7411.143Sthorpej			    void *data, size_t nbytes); }
7421.186Sad366	STD MPSAFE	{ int sys_extattr_delete_fd(int fd, \
7431.143Sthorpej			    int attrnamespace, const char *attrname); }
7441.186Sad367	STD MPSAFE	{ int sys_extattr_set_link(const char *path, \
7451.143Sthorpej			    int attrnamespace, const char *attrname, \
7461.143Sthorpej			    const void *data, size_t nbytes); }
7471.186Sad368	STD MPSAFE	{ ssize_t sys_extattr_get_link(const char *path, \
7481.143Sthorpej			    int attrnamespace, const char *attrname, \
7491.143Sthorpej			    void *data, size_t nbytes); }
7501.186Sad369	STD MPSAFE	{ int sys_extattr_delete_link(const char *path, \
7511.143Sthorpej			    int attrnamespace, const char *attrname); }
7521.186Sad370	STD MPSAFE	{ ssize_t sys_extattr_list_fd(int fd, \
7531.143Sthorpej			    int attrnamespace, void *data, size_t nbytes); }
7541.186Sad371	STD MPSAFE	{ ssize_t sys_extattr_list_file(const char *path, \
7551.143Sthorpej			    int attrnamespace, void *data, size_t nbytes); }
7561.186Sad372	STD MPSAFE	{ ssize_t sys_extattr_list_link(const char *path, \
7571.143Sthorpej			    int attrnamespace, void *data, size_t nbytes); }
7581.182Sad373	STD MPSAFE	{ int sys_pselect(int nd, fd_set *in, fd_set *ou, \
7591.145Smatt			    fd_set *ex, const struct timespec *ts, \
7601.145Smatt			    const sigset_t *mask); }
7611.182Sad374	STD MPSAFE	{ int sys_pollts(struct pollfd *fds, u_int nfds, \
7621.145Smatt			    const struct timespec *ts, const sigset_t *mask); }
7631.186Sad375	STD MPSAFE	{ int sys_setxattr(const char *path, \
7641.147Sthorpej			    const char *name, void *value, size_t size, \
7651.147Sthorpej			    int flags); }
7661.186Sad376	STD MPSAFE	{ int sys_lsetxattr(const char *path, \
7671.147Sthorpej			    const char *name, void *value, size_t size, \
7681.147Sthorpej			    int flags); }
7691.186Sad377	STD MPSAFE	{ int sys_fsetxattr(int fd, \
7701.147Sthorpej			    const char *name, void *value, size_t size, \
7711.147Sthorpej			    int flags); }
7721.186Sad378	STD MPSAFE	{ int sys_getxattr(const char *path, \
7731.147Sthorpej			    const char *name, void *value, size_t size); }
7741.186Sad379	STD MPSAFE	{ int sys_lgetxattr(const char *path, \
7751.147Sthorpej			    const char *name, void *value, size_t size); }
7761.186Sad380	STD MPSAFE	{ int sys_fgetxattr(int fd, \
7771.147Sthorpej			    const char *name, void *value, size_t size); }
7781.186Sad381	STD MPSAFE	{ int sys_listxattr(const char *path, \
7791.147Sthorpej			    char *list, size_t size); }
7801.186Sad382	STD MPSAFE	{ int sys_llistxattr(const char *path, \
7811.147Sthorpej			    char *list, size_t size); }
7821.186Sad383	STD MPSAFE	{ int sys_flistxattr(int fd, \
7831.147Sthorpej			    char *list, size_t size); }
7841.186Sad384	STD MPSAFE	{ int sys_removexattr(const char *path, \
7851.147Sthorpej			    const char *name); }
7861.186Sad385	STD MPSAFE	{ int sys_lremovexattr(const char *path, \
7871.147Sthorpej			    const char *name); }
7881.186Sad386	STD MPSAFE	{ int sys_fremovexattr(int fd, \
7891.147Sthorpej			    const char *name); }
7901.182Sad387	STD MPSAFE	{ int sys___stat30(const char *path, struct stat *ub); }
7911.182Sad388	STD MPSAFE	{ int sys___fstat30(int fd, struct stat *sb); }
7921.182Sad389	STD MPSAFE	{ int sys___lstat30(const char *path, struct stat *ub); }
7931.182Sad390	STD MPSAFE	{ int sys___getdents30(int fd, char *buf, size_t count); }
7941.190Smartin391	IGNORED		old posix_fadvise
7951.183Sad392	COMPAT_30 MPSAFE	{ int sys___fhstat30(const struct compat_30_fhandle \
7961.156Smartin			    *fhp, struct stat *sb); }
7971.153Sdrochner393	STD		{ int sys___ntp_gettime30(struct ntptimeval *ntvp); }
7981.154Smrg394	STD		{ int sys___socket30(int domain, int type, int protocol); }
7991.183Sad395	STD MPSAFE	{ int sys___getfh30(const char *fname, void *fhp, \
8001.156Smartin			    size_t *fh_size); }
8011.183Sad396	STD MPSAFE	{ int sys___fhopen40(const void *fhp, size_t fh_size,\
8021.156Smartin			    int flags); }
8031.183Sad397	STD MPSAFE	{ int sys___fhstatvfs140(const void *fhp, \
8041.156Smartin			    size_t fh_size, struct statvfs *buf, int flags); }
8051.183Sad398	STD MPSAFE	{ int sys___fhstat40(const void *fhp, \
8061.156Smartin			    size_t fh_size, struct stat *sb); }
8071.169Srmind
8081.169Srmind; Asynchronous I/O system calls
8091.182Sad399	STD MPSAFE	{ int sys_aio_cancel(int fildes, struct aiocb *aiocbp); }
8101.176Sad400	STD MPSAFE	{ int sys_aio_error(const struct aiocb *aiocbp); }
8111.182Sad401	STD MPSAFE	{ int sys_aio_fsync(int op, struct aiocb *aiocbp); }
8121.182Sad402	STD MPSAFE	{ int sys_aio_read(struct aiocb *aiocbp); }
8131.176Sad403	STD MPSAFE	{ int sys_aio_return(struct aiocb *aiocbp); }
8141.182Sad404	STD MPSAFE	{ int sys_aio_suspend(const struct aiocb *const *list, \
8151.169Srmind			    int nent, const struct timespec *timeout); }
8161.182Sad405	STD MPSAFE	{ int sys_aio_write(struct aiocb *aiocbp); }
8171.182Sad406	STD MPSAFE	{ int sys_lio_listio(int mode, struct aiocb *const *list, \
8181.169Srmind			    int nent, struct sigevent *sig); }
8191.171Sjoerg
8201.170Sdsl407	UNIMPL
8211.170Sdsl408	UNIMPL
8221.170Sdsl409	UNIMPL
8231.170Sdsl
8241.189Sad410	STD MPSAFE	{ int sys___mount50(const char *type, \
8251.170Sdsl			    const char *path, int flags, void *data, \
8261.170Sdsl			    size_t data_len); }
8271.182Sad411	STD MPSAFE	{ void *sys_mremap(void *old_address, size_t old_size, \
8281.171Sjoerg			    void *new_address, size_t new_size, int flags); }
8291.184Srmind
8301.184Srmind; Processor-sets system calls
8311.184Srmind412	STD MPSAFE	{ int sys_pset_create(psetid_t *psid); }
8321.184Srmind413	STD MPSAFE	{ int sys_pset_destroy(psetid_t psid); }
8331.184Srmind414	STD MPSAFE	{ int sys_pset_assign(psetid_t psid, cpuid_t cpuid, \
8341.184Srmind			    psetid_t *opsid); }
8351.184Srmind415	STD MPSAFE	{ int sys__pset_bind(idtype_t idtype, id_t first_id, \
8361.184Srmind			    id_t second_id, psetid_t psid, psetid_t *opsid); }
8371.187Smartin416	STD MPSAFE	{ int sys___posix_fadvise50(int fd, int pad, \
8381.187Smartin			    off_t offset, off_t len, int advice); }
839