syscalls.master revision 1.316
11.316Schristos $NetBSD: syscalls.master,v 1.316 2024/10/09 16:27:28 christos 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.217Spooka; (NOTE! they *must* be specified in this order): 151.274Spgoyette; MODULAR modname :attempt to autoload system call module if not present 161.245Spooka; RUMP: generate rump syscall entry point 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.245Spooka; NOERR included, syscall does not set errno 291.259Schristos; EXTERN implemented, but as 3rd party module 301.23Scgd; 311.227Spooka; arguments: 321.227Spooka; PAD argument not part of the C interface, used only for padding 331.227Spooka; 341.23Scgd; The compat options are defined in the syscalls.conf file, and the 351.23Scgd; compat option name is prefixed to the syscall name. Other than 361.23Scgd; that, they're like NODEF (for 'compat' options), or STD (for 371.23Scgd; 'libcompat' options). 381.23Scgd; 391.23Scgd; The type-dependent arguments are as follows: 401.23Scgd; For STD, NODEF, NOARGS, and compat syscalls: 411.221Spooka; { return_type|prefix|compat(optional)|basename(pseudo-proto); } [alias] 421.23Scgd; For other syscalls: 431.23Scgd; [comment] 441.23Scgd; 451.23Scgd; #ifdef's, etc. may be included, and are copied to the output files. 461.70Sthorpej; #include's are copied to the syscall names and switch definition files only. 471.77Sthorpej 481.296Schristos#ifdef _KERNEL_OPT 491.223Sapb#include "opt_modular.h" 501.102Sbjh21#include "opt_ntp.h" 511.85Stron#include "opt_sysv.h" 521.296Schristos#endif 531.70Sthorpej 541.23Scgd#include <sys/param.h> 551.23Scgd#include <sys/systm.h> 561.23Scgd#include <sys/signal.h> 571.249Schristos#include <sys/socket.h> 581.23Scgd#include <sys/mount.h> 591.204Stsutsui#include <sys/sched.h> 601.283Schristos#include <sys/idtype.h> 611.23Scgd#include <sys/syscallargs.h> 621.305Schristos#include <sys/acl.h> 631.103Smycroft 641.103Smycroft%% 651.1Sglass 661.1Sglass; Reserved/unimplemented system calls in the range 0-150 inclusive 671.1Sglass; are reserved for use in future Berkeley releases. 681.1Sglass; Additional system calls implemented in vendor and other 691.1Sglass; redistributions should be placed in the reserved range at the end 701.1Sglass; of the current calls. 711.1Sglass 721.221Spooka0 INDIR { int|sys||syscall(int code, \ 731.179Sdsl ... register_t args[SYS_MAXSYSARGS]); } 741.300Schristos1 STD { void|sys||exit(int rval); } 751.300Schristos2 STD { int|sys||fork(void); } 761.299Schristos3 STD RUMP { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 771.299Schristos4 STD RUMP { ssize_t|sys||write(int fd, const void *buf, \ 781.46Scgd size_t nbyte); } 791.299Schristos5 STD RUMP { int|sys||open(const char *path, \ 801.60Schristos int flags, ... mode_t mode); } 811.299Schristos6 STD RUMP { int|sys||close(int fd); } 821.294Spgoyette7 COMPAT_50 MODULAR compat_50 { int|sys||wait4(pid_t pid, int *status, \ 831.219Schristos int options, struct rusage50 *rusage); } 841.294Spgoyette8 COMPAT_43 MODULAR compat_43 \ 851.274Spgoyette { int|sys||creat(const char *path, mode_t mode); } ocreat 861.299Schristos9 STD RUMP { int|sys||link(const char *path, const char *link); } 871.299Schristos10 STD RUMP { int|sys||unlink(const char *path); } 881.23Scgd11 OBSOL execv 891.299Schristos12 STD RUMP { int|sys||chdir(const char *path); } 901.299Schristos13 STD RUMP { int|sys||fchdir(int fd); } 911.294Spgoyette14 COMPAT_50 MODULAR compat_50 RUMP \ 921.274Spgoyette { int|sys||mknod(const char *path, mode_t mode, uint32_t dev); } 931.299Schristos15 STD RUMP { int|sys||chmod(const char *path, mode_t mode); } 941.299Schristos16 STD RUMP { int|sys||chown(const char *path, uid_t uid, \ 951.46Scgd gid_t gid); } 961.300Schristos17 STD { int|sys||obreak(char *nsize); } break 971.294Spgoyette18 COMPAT_20 MODULAR compat_20 { int|sys||getfsstat(struct statfs12 *buf, \ 981.139Schristos long bufsize, int flags); } 991.294Spgoyette19 COMPAT_43 MODULAR compat_43 \ 1001.274Spgoyette { long|sys||lseek(int fd, long offset, int whence); }\ 1011.29Smycroft olseek 1021.300Schristos20 NOERR RUMP { pid_t|sys||getpid_with_ppid(void); } getpid 1031.294Spgoyette21 COMPAT_40 MODULAR compat_40 \ 1041.274Spgoyette { int|sys||mount(const char *type, const char *path, \ 1051.46Scgd int flags, void *data); } 1061.299Schristos22 STD RUMP { int|sys||unmount(const char *path, int flags); } 1071.299Schristos23 STD RUMP { int|sys||setuid(uid_t uid); } 1081.300Schristos24 NOERR RUMP { uid_t|sys||getuid_with_euid(void); } getuid 1091.300Schristos25 NOERR RUMP { uid_t|sys||geteuid(void); } 1101.300Schristos26 STD MODULAR ptrace \ 1111.286Spgoyette { int|sys||ptrace(int req, pid_t pid, void *addr, \ 1121.23Scgd int data); } 1131.299Schristos27 STD RUMP { ssize_t|sys||recvmsg(int s, struct msghdr *msg, \ 1141.28Smycroft int flags); } 1151.299Schristos28 STD RUMP { ssize_t|sys||sendmsg(int s, \ 1161.46Scgd const struct msghdr *msg, int flags); } 1171.299Schristos29 STD RUMP { ssize_t|sys||recvfrom(int s, void *buf, size_t len, \ 1181.46Scgd int flags, struct sockaddr *from, \ 1191.249Schristos socklen_t *fromlenaddr); } 1201.221Spooka30 STD RUMP { int|sys||accept(int s, struct sockaddr *name, \ 1211.249Schristos socklen_t *anamelen); } 1221.222Spooka31 STD RUMP { int|sys||getpeername(int fdes, struct sockaddr *asa, \ 1231.249Schristos socklen_t *alen); } 1241.222Spooka32 STD RUMP { int|sys||getsockname(int fdes, struct sockaddr *asa, \ 1251.249Schristos socklen_t *alen); } 1261.299Schristos33 STD RUMP { int|sys||access(const char *path, int flags); } 1271.299Schristos34 STD RUMP { int|sys||chflags(const char *path, u_long flags); } 1281.299Schristos35 STD RUMP { int|sys||fchflags(int fd, u_long flags); } 1291.300Schristos36 NOERR RUMP { void|sys||sync(void); } 1301.300Schristos37 STD { int|sys||kill(pid_t pid, int signum); } 1311.294Spgoyette38 COMPAT_43 MODULAR compat_43 \ 1321.274Spgoyette { int|sys||stat(const char *path, struct stat43 *ub); } stat43 1331.300Schristos39 NOERR RUMP { pid_t|sys||getppid(void); } 1341.294Spgoyette40 COMPAT_43 MODULAR compat_43 \ 1351.274Spgoyette { int|sys||lstat(const char *path, \ 1361.60Schristos struct stat43 *ub); } lstat43 1371.299Schristos41 STD RUMP { int|sys||dup(int fd); } 1381.299Schristos42 STD RUMP { int|sys||pipe(void); } 1391.300Schristos43 NOERR RUMP { gid_t|sys||getegid(void); } 1401.300Schristos44 STD { int|sys||profil(char *samples, size_t size, \ 1411.30Scgd u_long offset, u_int scale); } 1421.299Schristos45 STD RUMP { int|sys||ktrace(const char *fname, int ops, \ 1431.243Schristos int facs, pid_t pid); } 1441.294Spgoyette46 COMPAT_13 MODULAR compat_13 { int|sys||sigaction(int signum, \ 1451.82Smycroft const struct sigaction13 *nsa, \ 1461.82Smycroft struct sigaction13 *osa); } sigaction13 1471.300Schristos47 NOERR RUMP { gid_t|sys||getgid_with_egid(void); } getgid 1481.294Spgoyette48 COMPAT_13 MODULAR compat_13 { int|sys||sigprocmask(int how, \ 1491.82Smycroft int mask); } sigprocmask13 1501.299Schristos49 STD RUMP { int|sys||__getlogin(char *namebuf, size_t namelen); } 1511.300Schristos50 STD RUMP { int|sys||__setlogin(const char *namebuf); } 1521.300Schristos51 STD { int|sys||acct(const char *path); } 1531.294Spgoyette52 COMPAT_13 MODULAR compat_13 { int|sys||sigpending(void); } sigpending13 1541.294Spgoyette53 COMPAT_13 MODULAR compat_13 { int|sys||sigaltstack( \ 1551.82Smycroft const struct sigaltstack13 *nss, \ 1561.82Smycroft struct sigaltstack13 *oss); } sigaltstack13 1571.221Spooka54 STD RUMP { int|sys||ioctl(int fd, \ 1581.61Schristos u_long com, ... void *data); } 1591.294Spgoyette55 COMPAT_12 MODULAR compat_12 { int|sys||reboot(int opt); } oreboot 1601.299Schristos56 STD RUMP { int|sys||revoke(const char *path); } 1611.299Schristos57 STD RUMP { int|sys||symlink(const char *path, \ 1621.46Scgd const char *link); } 1631.299Schristos58 STD RUMP { ssize_t|sys||readlink(const char *path, char *buf, \ 1641.72Skleink size_t count); } 1651.300Schristos59 STD { int|sys||execve(const char *path, \ 1661.46Scgd char * const *argp, char * const *envp); } 1671.299Schristos60 STD RUMP { mode_t|sys||umask(mode_t newmask); } 1681.299Schristos61 STD RUMP { int|sys||chroot(const char *path); } 1691.294Spgoyette62 COMPAT_43 MODULAR compat_43 \ 1701.274Spgoyette { int|sys||fstat(int fd, struct stat43 *sb); } fstat43 1711.294Spgoyette63 COMPAT_43 MODULAR compat_43 \ 1721.274Spgoyette { int|sys||getkerninfo(int op, char *where, int *size, \ 1731.29Smycroft int arg); } ogetkerninfo 1741.294Spgoyette64 COMPAT_43 MODULAR compat_43 \ 1751.274Spgoyette { int|sys||getpagesize(void); } ogetpagesize 1761.294Spgoyette65 COMPAT_12 MODULAR compat_12 { int|sys||msync(void *addr, size_t len); } 1771.67Sthorpej; XXX COMPAT_??? for 4.4BSD-compatible vfork(2)? 1781.300Schristos66 STD { int|sys||vfork(void); } 1791.23Scgd67 OBSOL vread 1801.23Scgd68 OBSOL vwrite 1811.300Schristos69 OBSOL sbrk 1821.300Schristos70 OBSOL sstk 1831.294Spgoyette71 COMPAT_43 MODULAR compat_43 \ 1841.274Spgoyette { int|sys||mmap(void *addr, size_t len, int prot, \ 1851.29Smycroft int flags, int fd, long pos); } ommap 1861.300Schristos72 STD { int|sys||ovadvise(int anom); } vadvise 1871.300Schristos73 STD { int|sys||munmap(void *addr, size_t len); } 1881.300Schristos74 STD { int|sys||mprotect(void *addr, size_t len, \ 1891.28Smycroft int prot); } 1901.300Schristos75 STD { int|sys||madvise(void *addr, size_t len, \ 1911.28Smycroft int behav); } 1921.23Scgd76 OBSOL vhangup 1931.23Scgd77 OBSOL vlimit 1941.300Schristos78 STD { int|sys||mincore(void *addr, size_t len, \ 1951.28Smycroft char *vec); } 1961.299Schristos79 STD RUMP { int|sys||getgroups(int gidsetsize, \ 1971.59Smycroft gid_t *gidset); } 1981.299Schristos80 STD RUMP { int|sys||setgroups(int gidsetsize, \ 1991.46Scgd const gid_t *gidset); } 2001.299Schristos81 STD RUMP { int|sys||getpgrp(void); } 2011.299Schristos82 STD RUMP { int|sys||setpgid(pid_t pid, pid_t pgid); } 2021.294Spgoyette83 COMPAT_50 MODULAR compat_50 { int|sys||setitimer(int which, \ 2031.219Schristos const struct itimerval50 *itv, \ 2041.219Schristos struct itimerval50 *oitv); } 2051.294Spgoyette84 COMPAT_43 MODULAR compat_43 { int|sys||wait(void); } owait 2061.294Spgoyette85 COMPAT_12 MODULAR compat_12 { int|sys||swapon(const char *name); } \ 2071.294Spgoyette oswapon 2081.294Spgoyette86 COMPAT_50 MODULAR compat_50 { int|sys||getitimer(int which, \ 2091.219Schristos struct itimerval50 *itv); } 2101.294Spgoyette87 COMPAT_43 MODULAR compat_43 \ 2111.274Spgoyette { int|sys||gethostname(char *hostname, u_int len); } \ 2121.29Smycroft ogethostname 2131.294Spgoyette88 COMPAT_43 MODULAR compat_43 \ 2141.274Spgoyette { int|sys||sethostname(char *hostname, u_int len); } \ 2151.29Smycroft osethostname 2161.294Spgoyette89 COMPAT_43 MODULAR compat_43 \ 2171.274Spgoyette { int|sys||getdtablesize(void); } ogetdtablesize 2181.299Schristos90 STD RUMP { int|sys||dup2(int from, int to); } 2191.306Sriastrad91 STD RUMP { ssize_t|sys||getrandom(void *buf, size_t buflen, \ 2201.306Sriastrad unsigned int flags); } 2211.226Spooka92 STD RUMP { int|sys||fcntl(int fd, int cmd, ... void *arg); } 2221.294Spgoyette93 COMPAT_50 MODULAR compat_50 RUMP \ 2231.274Spgoyette { int|sys||select(int nd, fd_set *in, fd_set *ou, \ 2241.219Schristos fd_set *ex, struct timeval50 *tv); } 2251.23Scgd94 UNIMPL setdopt 2261.300Schristos95 STD RUMP { int|sys||fsync(int fd); } 2271.300Schristos96 STD { int|sys||setpriority(int which, id_t who, int prio); } 2281.294Spgoyette97 COMPAT_30 MODULAR compat_30 \ 2291.274Spgoyette { int|sys||socket(int domain, int type, int protocol); } 2301.221Spooka98 STD RUMP { int|sys||connect(int s, const struct sockaddr *name, \ 2311.249Schristos socklen_t namelen); } 2321.294Spgoyette99 COMPAT_43 MODULAR compat_43 \ 2331.274Spgoyette { int|sys||accept(int s, void *name, \ 2341.249Schristos socklen_t *anamelen); } oaccept 2351.300Schristos100 STD { int|sys||getpriority(int which, id_t who); } 2361.294Spgoyette101 COMPAT_43 MODULAR compat_43 { int|sys||send(int s, void *buf, int len, \ 2371.29Smycroft int flags); } osend 2381.294Spgoyette102 COMPAT_43 MODULAR compat_43 { int|sys||recv(int s, void *buf, int len, \ 2391.29Smycroft int flags); } orecv 2401.294Spgoyette103 COMPAT_13 MODULAR compat_13 \ 2411.274Spgoyette { int|sys||sigreturn(struct sigcontext13 *sigcntxp); } \ 2421.83Smycroft sigreturn13 2431.221Spooka104 STD RUMP { int|sys||bind(int s, const struct sockaddr *name, \ 2441.249Schristos socklen_t namelen); } 2451.221Spooka105 STD RUMP { int|sys||setsockopt(int s, int level, int name, \ 2461.249Schristos const void *val, socklen_t valsize); } 2471.221Spooka106 STD RUMP { int|sys||listen(int s, int backlog); } 2481.23Scgd107 OBSOL vtimes 2491.294Spgoyette108 COMPAT_43 MODULAR compat_43 \ 2501.274Spgoyette { int|sys||sigvec(int signum, struct sigvec *nsv, \ 2511.29Smycroft struct sigvec *osv); } osigvec 2521.274Spgoyette109 COMPAT_43 MODULAR compat { int|sys||sigblock(int mask); } osigblock 2531.274Spgoyette110 COMPAT_43 MODULAR compat { int|sys||sigsetmask(int mask); } osigsetmask 2541.274Spgoyette111 COMPAT_13 MODULAR compat { int|sys||sigsuspend(int mask); } sigsuspend13 2551.294Spgoyette112 COMPAT_43 MODULAR compat_43 { int|sys||sigstack(struct sigstack *nss, \ 2561.29Smycroft struct sigstack *oss); } osigstack 2571.294Spgoyette113 COMPAT_43 MODULAR compat_43 \ 2581.274Spgoyette { int|sys||recvmsg(int s, struct omsghdr *msg, \ 2591.29Smycroft int flags); } orecvmsg 2601.294Spgoyette114 COMPAT_43 MODULAR compat_43 \ 2611.274Spgoyette { int|sys||sendmsg(int s, void *msg, int flags); } osendmsg 2621.23Scgd115 OBSOL vtrace 2631.294Spgoyette116 COMPAT_50 MODULAR compat_50 \ 2641.294Spgoyette { int|sys||gettimeofday(struct timeval50 *tp, void *tzp); } 2651.294Spgoyette117 COMPAT_50 MODULAR compat_50 \ 2661.274Spgoyette { int|sys||getrusage(int who, struct rusage50 *rusage); } 2671.221Spooka118 STD RUMP { int|sys||getsockopt(int s, int level, int name, \ 2681.249Schristos void *val, socklen_t *avalsize); } 2691.26Scgd119 OBSOL resuba 2701.299Schristos120 STD RUMP { ssize_t|sys||readv(int fd, \ 2711.58Smycroft const struct iovec *iovp, int iovcnt); } 2721.299Schristos121 STD RUMP { ssize_t|sys||writev(int fd, \ 2731.58Smycroft const struct iovec *iovp, int iovcnt); } 2741.294Spgoyette122 COMPAT_50 MODULAR compat_50 \ 2751.274Spgoyette { int|sys||settimeofday(const struct timeval50 *tv, \ 2761.141Skleink const void *tzp); } 2771.299Schristos123 STD RUMP { int|sys||fchown(int fd, uid_t uid, gid_t gid); } 2781.299Schristos124 STD RUMP { int|sys||fchmod(int fd, mode_t mode); } 2791.294Spgoyette125 COMPAT_43 MODULAR compat_43 \ 2801.274Spgoyette { int|sys||recvfrom(int s, void *buf, size_t len, \ 2811.249Schristos int flags, void *from, socklen_t *fromlenaddr); } \ 2821.29Smycroft orecvfrom 2831.299Schristos126 STD RUMP { int|sys||setreuid(uid_t ruid, uid_t euid); } 2841.299Schristos127 STD RUMP { int|sys||setregid(gid_t rgid, gid_t egid); } 2851.299Schristos128 STD RUMP { int|sys||rename(const char *from, const char *to); } 2861.294Spgoyette129 COMPAT_43 MODULAR compat_43 \ 2871.274Spgoyette { int|sys||truncate(const char *path, long length); } otruncate 2881.294Spgoyette130 COMPAT_43 MODULAR compat_43 \ 2891.274Spgoyette { int|sys||ftruncate(int fd, long length); } oftruncate 2901.299Schristos131 STD RUMP { int|sys||flock(int fd, int how); } 2911.299Schristos132 STD RUMP { int|sys||mkfifo(const char *path, mode_t mode); } 2921.299Schristos133 STD RUMP { ssize_t|sys||sendto(int s, const void *buf, \ 2931.46Scgd size_t len, int flags, const struct sockaddr *to, \ 2941.249Schristos socklen_t tolen); } 2951.299Schristos134 STD RUMP { int|sys||shutdown(int s, int how); } 2961.299Schristos135 STD RUMP { int|sys||socketpair(int domain, int type, \ 2971.28Smycroft int protocol, int *rsv); } 2981.299Schristos136 STD RUMP { int|sys||mkdir(const char *path, mode_t mode); } 2991.299Schristos137 STD RUMP { int|sys||rmdir(const char *path); } 3001.294Spgoyette138 COMPAT_50 MODULAR compat_50 RUMP { int|sys||utimes(const char *path, \ 3011.219Schristos const struct timeval50 *tptr); } 3021.23Scgd139 OBSOL 4.2 sigreturn 3031.294Spgoyette140 COMPAT_50 MODULAR compat_50 \ 3041.274Spgoyette { int|sys||adjtime(const struct timeval50 *delta, \ 3051.219Schristos struct timeval50 *olddelta); } 3061.294Spgoyette141 COMPAT_43 MODULAR compat_43 \ 3071.274Spgoyette { int|sys||getpeername(int fdes, void *asa, \ 3081.249Schristos socklen_t *alen); } ogetpeername 3091.294Spgoyette142 COMPAT_43 MODULAR compat_43 \ 3101.274Spgoyette { int32_t|sys||gethostid(void); } ogethostid 3111.294Spgoyette143 COMPAT_43 MODULAR compat_43 \ 3121.274Spgoyette { int|sys||sethostid(int32_t hostid); } osethostid 3131.294Spgoyette144 COMPAT_43 MODULAR compat_43 \ 3141.274Spgoyette { int|sys||getrlimit(int which, \ 3151.58Smycroft struct orlimit *rlp); } ogetrlimit 3161.294Spgoyette145 COMPAT_43 MODULAR compat_43 { int|sys||setrlimit(int which, \ 3171.58Smycroft const struct orlimit *rlp); } osetrlimit 3181.294Spgoyette146 COMPAT_43 MODULAR compat_43 \ 3191.274Spgoyette { int|sys||killpg(int pgid, int signum); } okillpg 3201.300Schristos147 STD RUMP { int|sys||setsid(void); } 3211.297Spgoyette148 COMPAT_50 MODULAR compat_50_quota \ 3221.297Spgoyette { int|sys||quotactl(const char *path, \ 3231.295Schristos int cmd, int uid, void *arg); } 3241.294Spgoyette149 COMPAT_43 MODULAR compat_43 { int|sys||quota(void); } oquota 3251.294Spgoyette150 COMPAT_43 MODULAR compat_43 { int|sys||getsockname(int fdec, \ 3261.294Spgoyette void *asa, socklen_t *alen); } ogetsockname 3271.1Sglass 3281.1Sglass; Syscalls 151-180 inclusive are reserved for vendor-specific 3291.1Sglass; system calls. (This includes various calls added for compatibity 3301.1Sglass; with other Unix variants.) 3311.1Sglass; Some of these calls are now supported by BSD... 3321.23Scgd151 UNIMPL 3331.23Scgd152 UNIMPL 3341.23Scgd153 UNIMPL 3351.23Scgd154 UNIMPL 3361.301Schristos155 STD MODULAR nfsserver RUMP { int|sys||nfssvc(int flag, void *argp); } 3371.294Spgoyette156 COMPAT_43 MODULAR compat_43 \ 3381.274Spgoyette { int|sys||getdirentries(int fd, char *buf, \ 3391.29Smycroft u_int count, long *basep); } ogetdirentries 3401.294Spgoyette157 COMPAT_20 MODULAR compat_20 { int|sys||statfs(const char *path, \ 3411.139Schristos struct statfs12 *buf); } 3421.294Spgoyette158 COMPAT_20 MODULAR compat_20 \ 3431.274Spgoyette { int|sys||fstatfs(int fd, struct statfs12 *buf); } 3441.23Scgd159 UNIMPL 3451.23Scgd160 UNIMPL 3461.294Spgoyette161 COMPAT_30 MODULAR compat_30 { int|sys||getfh(const char *fname, \ 3471.155Smartin struct compat_30_fhandle *fhp); } 3481.294Spgoyette162 COMPAT_09 MODULAR compat_09 \ 3491.274Spgoyette { int|sys||getdomainname(char *domainname, int len); } \ 3501.29Smycroft ogetdomainname 3511.294Spgoyette163 COMPAT_09 MODULAR compat_09 \ 3521.274Spgoyette { int|sys||setdomainname(char *domainname, int len); } \ 3531.29Smycroft osetdomainname 3541.274Spgoyette164 COMPAT_09 MODULAR compat \ 3551.274Spgoyette { int|sys||uname(struct outsname *name); } ouname 3561.300Schristos165 STD { int|sys||sysarch(int op, void *parms); } 3571.304Sthorpej166 STD { int|sys||__futex(int *uaddr, int op, int val, \ 3581.304Sthorpej const struct timespec *timeout, \ 3591.304Sthorpej int *uaddr2, int val2, int val3); } 3601.304Sthorpej167 STD { int|sys||__futex_set_robust_list(void *head, \ 3611.304Sthorpej size_t len); } 3621.304Sthorpej168 STD { int|sys||__futex_get_robust_list(lwpid_t lwpid, \ 3631.304Sthorpej void **headp, size_t *lenp); } 3641.23Scgd; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 3651.277Spgoyette#if !defined(_LP64) 3661.294Spgoyette169 COMPAT_10 MODULAR compat_sysv_10 \ 3671.274Spgoyette { int|sys||semsys(int which, int a2, int a3, int a4, \ 3681.29Smycroft int a5); } osemsys 3691.9Scgd#else 3701.92Schristos169 EXCL 1.0 semsys 3711.9Scgd#endif 3721.23Scgd; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 3731.277Spgoyette#if !defined(_LP64) 3741.294Spgoyette170 COMPAT_10 MODULAR compat_sysv_10 \ 3751.274Spgoyette { int|sys||msgsys(int which, int a2, int a3, int a4, \ 3761.29Smycroft int a5, int a6); } omsgsys 3771.9Scgd#else 3781.92Schristos170 EXCL 1.0 msgsys 3791.9Scgd#endif 3801.23Scgd; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 3811.277Spgoyette#if !defined(_LP64) 3821.294Spgoyette171 COMPAT_10 MODULAR compat_sysv_10 \ 3831.274Spgoyette { int|sys||shmsys(int which, int a2, int a3, int a4); } \ 3841.29Smycroft oshmsys 3851.1Sglass#else 3861.92Schristos171 EXCL 1.0 shmsys 3871.1Sglass#endif 3881.23Scgd172 UNIMPL 3891.299Schristos173 STD RUMP { ssize_t|sys||pread(int fd, void *buf, \ 3901.227Spooka size_t nbyte, int PAD, off_t offset); } 3911.299Schristos174 STD RUMP { ssize_t|sys||pwrite(int fd, const void *buf, \ 3921.227Spooka size_t nbyte, int PAD, off_t offset); } 3931.102Sbjh21; For some reason, ntp_gettime doesn't want to raise SIGSYS when it's excluded. 3941.294Spgoyette175 COMPAT_30 MODULAR compat_30 \ 3951.294Spgoyette { int|sys||ntp_gettime(struct ntptimeval30 *ntvp); } 3961.216Sad#if defined(NTP) || !defined(_KERNEL_OPT) 3971.300Schristos176 STD { int|sys||ntp_adjtime(struct timex *tp); } 3981.102Sbjh21#else 3991.102Sbjh21176 EXCL ntp_adjtime 4001.102Sbjh21#endif 4011.308Sthorpej177 STD { int|sys||timerfd_create(clockid_t clock_id, \ 4021.308Sthorpej int flags); } 4031.308Sthorpej178 STD { int|sys||timerfd_settime(int fd, int flags, \ 4041.308Sthorpej const struct itimerspec *new_value, \ 4051.308Sthorpej struct itimerspec *old_value); } 4061.308Sthorpej179 STD { int|sys||timerfd_gettime(int fd, \ 4071.308Sthorpej struct itimerspec *curr_value); } 4081.23Scgd180 UNIMPL 4091.1Sglass 4101.1Sglass; Syscalls 180-199 are used by/reserved for BSD 4111.299Schristos181 STD RUMP { int|sys||setgid(gid_t gid); } 4121.299Schristos182 STD RUMP { int|sys||setegid(gid_t egid); } 4131.299Schristos183 STD RUMP { int|sys||seteuid(uid_t euid); } 4141.274Spgoyette184 STD MODULAR lfs { int|sys||lfs_bmapv(fsid_t *fsidp, \ 4151.23Scgd struct block_info *blkiov, int blkcnt); } 4161.274Spgoyette185 STD MODULAR lfs { int|sys||lfs_markv(fsid_t *fsidp, \ 4171.23Scgd struct block_info *blkiov, int blkcnt); } 4181.274Spgoyette186 STD MODULAR lfs { int|sys||lfs_segclean(fsid_t *fsidp, u_long segment); } 4191.294Spgoyette187 COMPAT_50 MODULAR compat_50 { int|sys||lfs_segwait(fsid_t *fsidp, \ 4201.219Schristos struct timeval50 *tv); } 4211.294Spgoyette188 COMPAT_12 MODULAR compat_12 \ 4221.274Spgoyette { int|sys||stat(const char *path, struct stat12 *ub); } stat12 4231.294Spgoyette189 COMPAT_12 MODULAR compat_12 \ 4241.274Spgoyette { int|sys||fstat(int fd, struct stat12 *sb); } fstat12 4251.294Spgoyette190 COMPAT_12 MODULAR compat_12 { int|sys||lstat(const char *path, \ 4261.60Schristos struct stat12 *ub); } lstat12 4271.299Schristos191 STD RUMP { long|sys||pathconf(const char *path, int name); } 4281.299Schristos192 STD RUMP { long|sys||fpathconf(int fd, int name); } 4291.293Srjs193 STD RUMP { int|sys||getsockopt2(int s, int level, int name, \ 4301.293Srjs void *val, socklen_t *avalsize); } 4311.299Schristos194 STD RUMP { int|sys||getrlimit(int which, \ 4321.58Smycroft struct rlimit *rlp); } 4331.299Schristos195 STD RUMP { int|sys||setrlimit(int which, \ 4341.46Scgd const struct rlimit *rlp); } 4351.294Spgoyette196 COMPAT_12 MODULAR compat_12 \ 4361.274Spgoyette { int|sys||getdirentries(int fd, char *buf, \ 4371.28Smycroft u_int count, long *basep); } 4381.300Schristos197 STD { void *|sys||mmap(void *addr, size_t len, int prot, \ 4391.227Spooka int flags, int fd, long PAD, off_t pos); } 4401.221Spooka198 INDIR { quad_t|sys||__syscall(quad_t code, \ 4411.179Sdsl ... register_t args[SYS_MAXSYSARGS]); } 4421.299Schristos199 STD RUMP { off_t|sys||lseek(int fd, int PAD, off_t offset, \ 4431.23Scgd int whence); } 4441.299Schristos200 STD RUMP { int|sys||truncate(const char *path, int PAD, \ 4451.46Scgd off_t length); } 4461.299Schristos201 STD RUMP { int|sys||ftruncate(int fd, int PAD, off_t length); } 4471.300Schristos202 STD RUMP { int|sys||__sysctl(const int *name, u_int namelen, \ 4481.269Sjoerg void *oldv, size_t *oldlenp, const void *newv, \ 4491.28Smycroft size_t newlen); } 4501.300Schristos203 STD { int|sys||mlock(const void *addr, size_t len); } 4511.300Schristos204 STD { int|sys||munlock(const void *addr, size_t len); } 4521.300Schristos205 STD { int|sys||undelete(const char *path); } 4531.294Spgoyette206 COMPAT_50 MODULAR compat_50 RUMP { int|sys||futimes(int fd, \ 4541.219Schristos const struct timeval50 *tptr); } 4551.299Schristos207 STD RUMP { pid_t|sys||getpgid(pid_t pid); } 4561.299Schristos208 STD RUMP { int|sys||reboot(int opt, char *bootstr); } 4571.299Schristos209 STD RUMP { int|sys||poll(struct pollfd *fds, u_int nfds, \ 4581.35Smycroft int timeout); } 4591.11Scgd; 4601.11Scgd; Syscalls 210-219 are reserved for dynamically loaded syscalls 4611.11Scgd; 4621.274Spgoyette210 EXTERN MODULAR openafs { int|sys||afssys(long id, long a1, long a2, \ 4631.259Schristos long a3, long a4, long a5, long a6); } 4641.212Sad211 UNIMPL 4651.212Sad212 UNIMPL 4661.212Sad213 UNIMPL 4671.212Sad214 UNIMPL 4681.212Sad215 UNIMPL 4691.212Sad216 UNIMPL 4701.212Sad217 UNIMPL 4711.212Sad218 UNIMPL 4721.212Sad219 UNIMPL 4731.49Skleink; System calls 220-300 are reserved for use by NetBSD 4741.294Spgoyette220 COMPAT_14 MODULAR compat_sysv_14 \ 4751.274Spgoyette { int|sys||__semctl(int semid, int semnum, int cmd, \ 4761.97Sthorpej union __semun *arg); } 4771.277Spgoyette221 STD MODULAR sysv_ipc { int|sys||semget(key_t key, int nsems, \ 4781.277Spgoyette int semflg); } 4791.277Spgoyette222 STD MODULAR sysv_ipc { int|sys||semop(int semid, struct sembuf *sops, \ 4801.74Skleink size_t nsops); } 4811.277Spgoyette223 STD MODULAR sysv_ipc { int|sys||semconfig(int flag); } 4821.294Spgoyette224 COMPAT_14 MODULAR compat_sysv_14 { int|sys||msgctl(int msqid, int cmd, \ 4831.97Sthorpej struct msqid_ds14 *buf); } 4841.277Spgoyette225 STD MODULAR sysv_ipc { int|sys||msgget(key_t key, int msgflg); } 4851.277Spgoyette226 STD MODULAR sysv_ipc { int|sys||msgsnd(int msqid, const void *msgp, \ 4861.74Skleink size_t msgsz, int msgflg); } 4871.277Spgoyette227 STD MODULAR sysv_ipc { ssize_t|sys||msgrcv(int msqid, void *msgp, \ 4881.74Skleink size_t msgsz, long msgtyp, int msgflg); } 4891.277Spgoyette228 STD MODULAR sysv_ipc { void *|sys||shmat(int shmid, \ 4901.277Spgoyette const void *shmaddr, int shmflg); } 4911.294Spgoyette229 COMPAT_14 MODULAR compat_sysv_14 { int|sys||shmctl(int shmid, int cmd, \ 4921.97Sthorpej struct shmid_ds14 *buf); } 4931.277Spgoyette230 STD MODULAR sysv_ipc { int|sys||shmdt(const void *shmaddr); } 4941.277Spgoyette231 STD MODULAR sysv_ipc { int|sys||shmget(key_t key, size_t size, \ 4951.277Spgoyette int shmflg); } 4961.294Spgoyette232 COMPAT_50 MODULAR compat_50 \ 4971.294Spgoyette { int|sys||clock_gettime(clockid_t clock_id, \ 4981.294Spgoyette struct timespec50 *tp); } 4991.294Spgoyette233 COMPAT_50 MODULAR compat_50 \ 5001.294Spgoyette { int|sys||clock_settime(clockid_t clock_id, \ 5011.294Spgoyette const struct timespec50 *tp); } 5021.294Spgoyette234 COMPAT_50 MODULAR compat_50 \ 5031.294Spgoyette { int|sys||clock_getres(clockid_t clock_id, \ 5041.294Spgoyette struct timespec50 *tp); } 5051.299Schristos235 STD RUMP { int|sys||timer_create(clockid_t clock_id, \ 5061.118Sthorpej struct sigevent *evp, timer_t *timerid); } 5071.299Schristos236 STD RUMP { int|sys||timer_delete(timer_t timerid); } 5081.294Spgoyette237 COMPAT_50 MODULAR compat_50 { int|sys||timer_settime(timer_t timerid, \ 5091.274Spgoyette int flags, const struct itimerspec50 *value, \ 5101.219Schristos struct itimerspec50 *ovalue); } 5111.294Spgoyette238 COMPAT_50 MODULAR compat_50 { int|sys||timer_gettime(timer_t timerid, \ 5121.274Spgoyette struct itimerspec50 *value); } 5131.299Schristos239 STD RUMP { int|sys||timer_getoverrun(timer_t timerid); } 5141.54Sveego; 5151.54Sveego; Syscalls 240-269 are reserved for other IEEE Std1003.1b syscalls 5161.54Sveego; 5171.294Spgoyette240 COMPAT_50 MODULAR compat_50 \ 5181.274Spgoyette { int|sys||nanosleep(const struct timespec50 *rqtp, \ 5191.219Schristos struct timespec50 *rmtp); } 5201.299Schristos241 STD RUMP { int|sys||fdatasync(int fd); } 5211.300Schristos242 STD { int|sys||mlockall(int flags); } 5221.300Schristos243 STD { int|sys||munlockall(void); } 5231.294Spgoyette244 COMPAT_50 MODULAR compat_50 \ 5241.274Spgoyette { int|sys||__sigtimedwait(const sigset_t *set, \ 5251.274Spgoyette siginfo_t *info, struct timespec50 *timeout); } 5261.240Schristos245 STD { int|sys||sigqueueinfo(pid_t pid, \ 5271.240Schristos const siginfo_t *info); } 5281.300Schristos246 STD RUMP { int|sys||modctl(int cmd, void *arg); } 5291.301Schristos247 STD MODULAR ksem RUMP { int|sys||_ksem_init(unsigned int value, intptr_t *idp); } 5301.301Schristos248 STD MODULAR ksem RUMP { int|sys||_ksem_open(const char *name, int oflag, \ 5311.214Sad mode_t mode, unsigned int value, intptr_t *idp); } 5321.301Schristos249 STD MODULAR ksem RUMP { int|sys||_ksem_unlink(const char *name); } 5331.301Schristos250 STD MODULAR ksem RUMP { int|sys||_ksem_close(intptr_t id); } 5341.301Schristos251 STD MODULAR ksem RUMP { int|sys||_ksem_post(intptr_t id); } 5351.301Schristos252 STD MODULAR ksem RUMP { int|sys||_ksem_wait(intptr_t id); } 5361.301Schristos253 STD MODULAR ksem RUMP { int|sys||_ksem_trywait(intptr_t id); } 5371.301Schristos254 STD MODULAR ksem RUMP { int|sys||_ksem_getvalue(intptr_t id, \ 5381.119Schristos unsigned int *value); } 5391.301Schristos255 STD MODULAR ksem RUMP { int|sys||_ksem_destroy(intptr_t id); } 5401.301Schristos256 STD MODULAR ksem RUMP { int|sys||_ksem_timedwait(intptr_t id, \ 5411.258Sjoerg const struct timespec *abstime); } 5421.274Spgoyette257 STD MODULAR mqueue \ 5431.274Spgoyette { mqd_t|sys||mq_open(const char * name, int oflag, \ 5441.177Srmind mode_t mode, struct mq_attr *attr); } 5451.274Spgoyette258 STD MODULAR mqueue { int|sys||mq_close(mqd_t mqdes); } 5461.274Spgoyette259 STD MODULAR mqueue { int|sys||mq_unlink(const char *name); } 5471.274Spgoyette260 STD MODULAR mqueue \ 5481.274Spgoyette { int|sys||mq_getattr(mqd_t mqdes, \ 5491.177Srmind struct mq_attr *mqstat); } 5501.274Spgoyette261 STD MODULAR mqueue \ 5511.274Spgoyette { int|sys||mq_setattr(mqd_t mqdes, \ 5521.177Srmind const struct mq_attr *mqstat, \ 5531.177Srmind struct mq_attr *omqstat); } 5541.274Spgoyette262 STD MODULAR mqueue \ 5551.274Spgoyette { int|sys||mq_notify(mqd_t mqdes, \ 5561.177Srmind const struct sigevent *notification); } 5571.274Spgoyette263 STD MODULAR mqueue \ 5581.274Spgoyette { int|sys||mq_send(mqd_t mqdes, const char *msg_ptr, \ 5591.177Srmind size_t msg_len, unsigned msg_prio); } 5601.274Spgoyette264 STD MODULAR mqueue \ 5611.274Spgoyette { ssize_t|sys||mq_receive(mqd_t mqdes, char *msg_ptr, \ 5621.177Srmind size_t msg_len, unsigned *msg_prio); } 5631.294Spgoyette265 COMPAT_50 MODULAR compat_50 \ 5641.294Spgoyette { int|sys||mq_timedsend(mqd_t mqdes, \ 5651.294Spgoyette const char *msg_ptr, size_t msg_len, \ 5661.294Spgoyette unsigned msg_prio, \ 5671.294Spgoyette const struct timespec50 *abs_timeout); } 5681.294Spgoyette266 COMPAT_50 MODULAR compat_50 \ 5691.294Spgoyette { ssize_t|sys||mq_timedreceive(mqd_t mqdes, \ 5701.294Spgoyette char *msg_ptr, size_t msg_len, unsigned *msg_prio, \ 5711.294Spgoyette const struct timespec50 *abs_timeout); } 5721.308Sthorpej267 STD { int|sys||eventfd(unsigned int val, int flags); } 5731.49Skleink268 UNIMPL 5741.49Skleink269 UNIMPL 5751.299Schristos270 STD RUMP { int|sys||__posix_rename(const char *from, \ 5761.49Skleink const char *to); } 5771.300Schristos271 STD { int|sys||swapctl(int cmd, void *arg, int misc); } 5781.294Spgoyette272 COMPAT_30 MODULAR compat_30 \ 5791.294Spgoyette { int|sys||getdents(int fd, char *buf, size_t count); } 5801.300Schristos273 STD { int|sys||minherit(void *addr, size_t len, \ 5811.54Sveego int inherit); } 5821.299Schristos274 STD RUMP { int|sys||lchmod(const char *path, mode_t mode); } 5831.299Schristos275 STD RUMP { int|sys||lchown(const char *path, uid_t uid, \ 5841.56Senami gid_t gid); } 5851.294Spgoyette276 COMPAT_50 MODULAR compat_50 RUMP { int|sys||lutimes(const char *path, \ 5861.219Schristos const struct timeval50 *tptr); } 5871.300Schristos277 STD { int|sys|13|msync(void *addr, size_t len, int flags); } 5881.294Spgoyette278 COMPAT_30 MODULAR compat_30 \ 5891.274Spgoyette { int|sys|13|stat(const char *path, struct stat13 *ub); } 5901.294Spgoyette279 COMPAT_30 MODULAR compat_30 \ 5911.274Spgoyette { int|sys|13|fstat(int fd, struct stat13 *sb); } 5921.294Spgoyette280 COMPAT_30 MODULAR compat_30 \ 5931.274Spgoyette { int|sys|13|lstat(const char *path, struct stat13 *ub); } 5941.309Sthorpej281 STD { int|sys|14|sigaltstack(const stack_t *nss, \ 5951.309Sthorpej stack_t *oss); } 5961.300Schristos282 STD { int|sys|14|vfork(void); } 5971.299Schristos283 STD RUMP { int|sys||__posix_chown(const char *path, uid_t uid, \ 5981.69Skleink gid_t gid); } 5991.299Schristos284 STD RUMP { int|sys||__posix_fchown(int fd, uid_t uid, \ 6001.69Skleink gid_t gid); } 6011.299Schristos285 STD RUMP { int|sys||__posix_lchown(const char *path, uid_t uid, \ 6021.69Skleink gid_t gid); } 6031.299Schristos286 STD RUMP { pid_t|sys||getsid(pid_t pid); } 6041.300Schristos287 STD { pid_t|sys||__clone(int flags, void *stack); } 6051.299Schristos288 STD RUMP { int|sys||fktrace(int fd, int ops, \ 6061.243Schristos int facs, pid_t pid); } 6071.299Schristos289 STD RUMP { ssize_t|sys||preadv(int fd, \ 6081.79Sthorpej const struct iovec *iovp, int iovcnt, \ 6091.227Spooka int PAD, off_t offset); } 6101.299Schristos290 STD RUMP { ssize_t|sys||pwritev(int fd, \ 6111.79Sthorpej const struct iovec *iovp, int iovcnt, \ 6121.227Spooka int PAD, off_t offset); } 6131.294Spgoyette291 COMPAT_16 MODULAR compat_16 { int|sys|14|sigaction(int signum, \ 6141.82Smycroft const struct sigaction *nsa, \ 6151.82Smycroft struct sigaction *osa); } 6161.300Schristos292 STD { int|sys|14|sigpending(sigset_t *set); } 6171.300Schristos293 STD { int|sys|14|sigprocmask(int how, \ 6181.82Smycroft const sigset_t *set, \ 6191.82Smycroft sigset_t *oset); } 6201.300Schristos294 STD { int|sys|14|sigsuspend(const sigset_t *set); } 6211.294Spgoyette295 COMPAT_16 MODULAR compat_16 \ 6221.274Spgoyette { int|sys|14|sigreturn(struct sigcontext *sigcntxp); } 6231.299Schristos296 STD RUMP { int|sys||__getcwd(char *bufp, size_t length); } 6241.299Schristos297 STD RUMP { int|sys||fchroot(int fd); } 6251.294Spgoyette298 COMPAT_30 MODULAR compat_30 \ 6261.274Spgoyette { int|sys||fhopen(const struct compat_30_fhandle *fhp, int flags); } 6271.294Spgoyette299 COMPAT_30 MODULAR compat_30 \ 6281.274Spgoyette { int|sys||fhstat(const struct compat_30_fhandle *fhp, \ 6291.152Schristos struct stat13 *sb); } 6301.294Spgoyette300 COMPAT_20 MODULAR compat_20 \ 6311.274Spgoyette { int|sys||fhstatfs(const struct compat_30_fhandle *fhp, \ 6321.139Schristos struct statfs12 *buf); } 6331.294Spgoyette301 COMPAT_50 MODULAR compat_sysv_50 \ 6341.274Spgoyette { int|sys|13|__semctl(int semid, int semnum, int cmd, \ 6351.99Schristos ... union __semun *arg); } 6361.294Spgoyette302 COMPAT_50 MODULAR compat_sysv_50 \ 6371.294Spgoyette { int|sys|13|msgctl(int msqid, int cmd, struct msqid_ds *buf); } 6381.294Spgoyette303 COMPAT_50 MODULAR compat_sysv_50 \ 6391.294Spgoyette { int|sys|13|shmctl(int shmid, int cmd, \ 6401.219Schristos struct shmid_ds13 *buf); } 6411.299Schristos304 STD RUMP { int|sys||lchflags(const char *path, u_long flags); } 6421.300Schristos305 NOERR RUMP { int|sys||issetugid(void); } 6431.266Spooka306 STD RUMP { int|sys||utrace(const char *label, void *addr, \ 6441.118Sthorpej size_t len); } 6451.300Schristos307 STD { int|sys||getcontext(struct __ucontext *ucp); } 6461.300Schristos308 STD { int|sys||setcontext(const struct __ucontext *ucp); } 6471.300Schristos309 STD { int|sys||_lwp_create(const struct __ucontext *ucp, \ 6481.118Sthorpej u_long flags, lwpid_t *new_lwp); } 6491.300Schristos310 STD { int|sys||_lwp_exit(void); } 6501.300Schristos311 STD { lwpid_t|sys||_lwp_self(void); } 6511.300Schristos312 STD { int|sys||_lwp_wait(lwpid_t wait_for, \ 6521.118Sthorpej lwpid_t *departed); } 6531.300Schristos313 STD { int|sys||_lwp_suspend(lwpid_t target); } 6541.300Schristos314 STD { int|sys||_lwp_continue(lwpid_t target); } 6551.300Schristos315 STD { int|sys||_lwp_wakeup(lwpid_t target); } 6561.300Schristos316 STD { void *|sys||_lwp_getprivate(void); } 6571.300Schristos317 STD { void|sys||_lwp_setprivate(void *ptr); } 6581.300Schristos318 STD { int|sys||_lwp_kill(lwpid_t target, int signo); } 6591.300Schristos319 STD { int|sys||_lwp_detach(lwpid_t target); } 6601.294Spgoyette320 COMPAT_50 MODULAR compat_50 \ 6611.274Spgoyette { int|sys||_lwp_park(const struct timespec50 *ts, \ 6621.175Sad lwpid_t unpark, const void *hint, \ 6631.175Sad const void *unparkhint); } 6641.300Schristos321 STD { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } 6651.300Schristos322 STD { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, \ 6661.164Sad size_t ntargets, const void *hint); } 6671.300Schristos323 STD { int|sys||_lwp_setname(lwpid_t target, \ 6681.178Sad const char *name); } 6691.300Schristos324 STD { int|sys||_lwp_getname(lwpid_t target, \ 6701.178Sad char *name, size_t len); } 6711.300Schristos325 STD { int|sys||_lwp_ctl(int features, \ 6721.180Sad struct lwpctl **address); } 6731.302Sthorpej; Syscalls 326-339 reserved for LWP syscalls. 6741.302Sthorpej326 UNIMPL 6751.107Snathanw327 UNIMPL 6761.107Snathanw328 UNIMPL 6771.107Snathanw329 UNIMPL 6781.256Smatt; SA system calls. 6791.294Spgoyette330 COMPAT_60 MODULAR compat_60 \ 6801.300Schristos { int|sys||sa_register(void *newv, void **oldv, \ 6811.257Smatt int flags, ssize_t stackinfo_offset); } 6821.294Spgoyette331 COMPAT_60 MODULAR compat_60 \ 6831.294Spgoyette { int|sys||sa_stacks(int num, stack_t *stacks); } 6841.294Spgoyette332 COMPAT_60 MODULAR compat_60 \ 6851.294Spgoyette { int|sys||sa_enable(void); } 6861.294Spgoyette333 COMPAT_60 MODULAR compat_60 \ 6871.294Spgoyette { int|sys||sa_setconcurrency(int concurrency); } 6881.294Spgoyette334 COMPAT_60 MODULAR compat_60 \ 6891.294Spgoyette { int|sys||sa_yield(void); } 6901.294Spgoyette335 COMPAT_60 MODULAR compat_60 \ 6911.294Spgoyette { int|sys||sa_preempt(int sa_id); } 6921.300Schristos336 OBSOL sys_sa_unblockyield 6931.209Swrstuden; 6941.209Swrstuden; Syscalls 337-339 are reserved for other scheduler activation syscalls. 6951.209Swrstuden; 6961.107Snathanw337 UNIMPL 6971.107Snathanw338 UNIMPL 6981.107Snathanw339 UNIMPL 6991.300Schristos340 STD { int|sys||__sigaction_sigtramp(int signum, \ 7001.112Sthorpej const struct sigaction *nsa, \ 7011.112Sthorpej struct sigaction *osa, \ 7021.132Smatt const void *tramp, int vers); } 7031.292Smaxv341 OBSOL sys_pmc_get_info 7041.292Smaxv342 OBSOL sys_pmc_control 7051.300Schristos343 STD { int|sys||rasctl(void *addr, size_t len, int op); } 7061.224Spooka344 STD RUMP { int|sys||kqueue(void); } 7071.294Spgoyette345 COMPAT_50 MODULAR compat_50 RUMP { int|sys||kevent(int fd, \ 7081.311Schristos const struct kevent100 *changelist, size_t nchanges, \ 7091.311Schristos struct kevent100 *eventlist, size_t nevents, \ 7101.219Schristos const struct timespec50 *timeout); } 7111.184Srmind 7121.184Srmind; Scheduling system calls. 7131.300Schristos346 STD { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, \ 7141.188Syamt int policy, const struct sched_param *params); } 7151.300Schristos347 STD { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, \ 7161.188Syamt int *policy, struct sched_param *params); } 7171.300Schristos348 STD { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, \ 7181.202Schristos size_t size, const cpuset_t *cpuset); } 7191.300Schristos349 STD { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, \ 7201.202Schristos size_t size, cpuset_t *cpuset); } 7211.300Schristos350 STD { int|sys||sched_yield(void); } 7221.285Schristos351 STD { int|sys||_sched_protect(int priority); } 7231.184Srmind352 UNIMPL 7241.184Srmind353 UNIMPL 7251.134Sthorpej 7261.226Spooka354 STD RUMP { int|sys||fsync_range(int fd, int flags, off_t start, \ 7271.134Sthorpej off_t length); } 7281.300Schristos355 STD { int|sys||uuidgen(struct uuid *store, int count); } 7291.296Schristos356 COMPAT_90 MODULAR compat_90 { \ 7301.296Schristos int|sys||getvfsstat(struct statvfs90 *buf, \ 7311.139Schristos size_t bufsize, int flags); } 7321.296Schristos357 COMPAT_90 MODULAR compat_90 { int|sys||statvfs1(const char *path, \ 7331.296Schristos struct statvfs90 *buf, int flags); } 7341.296Schristos358 COMPAT_90 MODULAR compat_90 { int|sys||fstatvfs1(int fd, \ 7351.296Schristos struct statvfs90 *buf, int flags); } 7361.296Schristos359 COMPAT_30 MODULAR compat_30 { int|sys||fhstatvfs1( \ 7371.296Schristos const struct compat_30_fhandle *fhp, \ 7381.296Schristos struct statvfs90 *buf, int flags); } 7391.299Schristos360 STD RUMP { int|sys||extattrctl(const char *path, int cmd, \ 7401.143Sthorpej const char *filename, int attrnamespace, \ 7411.143Sthorpej const char *attrname); } 7421.299Schristos361 STD RUMP { int|sys||extattr_set_file(const char *path, \ 7431.143Sthorpej int attrnamespace, const char *attrname, \ 7441.143Sthorpej const void *data, size_t nbytes); } 7451.299Schristos362 STD RUMP { ssize_t|sys||extattr_get_file(const char *path, \ 7461.143Sthorpej int attrnamespace, const char *attrname, \ 7471.143Sthorpej void *data, size_t nbytes); } 7481.299Schristos363 STD RUMP { int|sys||extattr_delete_file(const char *path, \ 7491.143Sthorpej int attrnamespace, const char *attrname); } 7501.299Schristos364 STD RUMP { int|sys||extattr_set_fd(int fd, \ 7511.143Sthorpej int attrnamespace, const char *attrname, \ 7521.143Sthorpej const void *data, size_t nbytes); } 7531.299Schristos365 STD RUMP { ssize_t|sys||extattr_get_fd(int fd, \ 7541.143Sthorpej int attrnamespace, const char *attrname, \ 7551.143Sthorpej void *data, size_t nbytes); } 7561.299Schristos366 STD RUMP { int|sys||extattr_delete_fd(int fd, \ 7571.143Sthorpej int attrnamespace, const char *attrname); } 7581.299Schristos367 STD RUMP { int|sys||extattr_set_link(const char *path, \ 7591.143Sthorpej int attrnamespace, const char *attrname, \ 7601.143Sthorpej const void *data, size_t nbytes); } 7611.299Schristos368 STD RUMP { ssize_t|sys||extattr_get_link(const char *path, \ 7621.143Sthorpej int attrnamespace, const char *attrname, \ 7631.143Sthorpej void *data, size_t nbytes); } 7641.299Schristos369 STD RUMP { int|sys||extattr_delete_link(const char *path, \ 7651.143Sthorpej int attrnamespace, const char *attrname); } 7661.299Schristos370 STD RUMP { ssize_t|sys||extattr_list_fd(int fd, \ 7671.143Sthorpej int attrnamespace, void *data, size_t nbytes); } 7681.299Schristos371 STD RUMP { ssize_t|sys||extattr_list_file(const char *path, \ 7691.143Sthorpej int attrnamespace, void *data, size_t nbytes); } 7701.299Schristos372 STD RUMP { ssize_t|sys||extattr_list_link(const char *path, \ 7711.143Sthorpej int attrnamespace, void *data, size_t nbytes); } 7721.294Spgoyette373 COMPAT_50 MODULAR compat_50 RUMP \ 7731.274Spgoyette { int|sys||pselect(int nd, fd_set *in, fd_set *ou, \ 7741.219Schristos fd_set *ex, const struct timespec50 *ts, \ 7751.145Smatt const sigset_t *mask); } 7761.294Spgoyette374 COMPAT_50 MODULAR compat_50 RUMP \ 7771.274Spgoyette { int|sys||pollts(struct pollfd *fds, u_int nfds, \ 7781.219Schristos const struct timespec50 *ts, const sigset_t *mask); } 7791.299Schristos375 STD RUMP { int|sys||setxattr(const char *path, \ 7801.250Sdrochner const char *name, const void *value, size_t size, \ 7811.147Sthorpej int flags); } 7821.299Schristos376 STD RUMP { int|sys||lsetxattr(const char *path, \ 7831.250Sdrochner const char *name, const void *value, size_t size, \ 7841.147Sthorpej int flags); } 7851.299Schristos377 STD RUMP { int|sys||fsetxattr(int fd, \ 7861.250Sdrochner const char *name, const void *value, size_t size, \ 7871.147Sthorpej int flags); } 7881.299Schristos378 STD RUMP { int|sys||getxattr(const char *path, \ 7891.147Sthorpej const char *name, void *value, size_t size); } 7901.299Schristos379 STD RUMP { int|sys||lgetxattr(const char *path, \ 7911.147Sthorpej const char *name, void *value, size_t size); } 7921.299Schristos380 STD RUMP { int|sys||fgetxattr(int fd, \ 7931.147Sthorpej const char *name, void *value, size_t size); } 7941.299Schristos381 STD RUMP { int|sys||listxattr(const char *path, \ 7951.147Sthorpej char *list, size_t size); } 7961.299Schristos382 STD RUMP { int|sys||llistxattr(const char *path, \ 7971.147Sthorpej char *list, size_t size); } 7981.299Schristos383 STD RUMP { int|sys||flistxattr(int fd, \ 7991.147Sthorpej char *list, size_t size); } 8001.299Schristos384 STD RUMP { int|sys||removexattr(const char *path, \ 8011.147Sthorpej const char *name); } 8021.299Schristos385 STD RUMP { int|sys||lremovexattr(const char *path, \ 8031.147Sthorpej const char *name); } 8041.299Schristos386 STD RUMP { int|sys||fremovexattr(int fd, \ 8051.147Sthorpej const char *name); } 8061.294Spgoyette387 COMPAT_50 MODULAR compat_50 RUMP \ 8071.274Spgoyette { int|sys|30|stat(const char *path, struct stat30 *ub); } 8081.294Spgoyette388 COMPAT_50 MODULAR compat_50 RUMP \ 8091.274Spgoyette { int|sys|30|fstat(int fd, struct stat30 *sb); } 8101.294Spgoyette389 COMPAT_50 MODULAR compat_50 RUMP \ 8111.274Spgoyette { int|sys|30|lstat(const char *path, struct stat30 *ub); } 8121.299Schristos390 STD RUMP { int|sys|30|getdents(int fd, char *buf, size_t count); } 8131.190Smartin391 IGNORED old posix_fadvise 8141.294Spgoyette392 COMPAT_30 MODULAR compat_30 \ 8151.294Spgoyette { int|sys|30|fhstat(const struct compat_30_fhandle \ 8161.219Schristos *fhp, struct stat30 *sb); } 8171.294Spgoyette393 COMPAT_50 MODULAR compat_30 \ 8181.274Spgoyette { int|sys|30|ntp_gettime(struct ntptimeval50 *ntvp); } 8191.299Schristos394 STD RUMP { int|sys|30|socket(int domain, int type, int protocol); } 8201.299Schristos395 STD RUMP { int|sys|30|getfh(const char *fname, void *fhp, \ 8211.156Smartin size_t *fh_size); } 8221.299Schristos396 STD RUMP { int|sys|40|fhopen(const void *fhp, size_t fh_size,\ 8231.156Smartin int flags); } 8241.296Schristos397 COMPAT_90 MODULAR compat_90 { \ 8251.296Schristos int|sys||fhstatvfs1(const void *fhp, \ 8261.296Schristos size_t fh_size, struct statvfs90 *buf, int flags); } 8271.294Spgoyette398 COMPAT_50 MODULAR compat_50 RUMP { int|sys|40|fhstat(const void *fhp, \ 8281.219Schristos size_t fh_size, struct stat30 *sb); } 8291.169Srmind 8301.169Srmind; Asynchronous I/O system calls 8311.301Schristos399 STD MODULAR aio RUMP \ 8321.274Spgoyette { int|sys||aio_cancel(int fildes, struct aiocb *aiocbp); } 8331.301Schristos400 STD MODULAR aio RUMP \ 8341.274Spgoyette { int|sys||aio_error(const struct aiocb *aiocbp); } 8351.301Schristos401 STD MODULAR aio RUMP \ 8361.274Spgoyette { int|sys||aio_fsync(int op, struct aiocb *aiocbp); } 8371.301Schristos402 STD MODULAR aio RUMP \ 8381.274Spgoyette { int|sys||aio_read(struct aiocb *aiocbp); } 8391.301Schristos403 STD MODULAR aio RUMP \ 8401.274Spgoyette { int|sys||aio_return(struct aiocb *aiocbp); } 8411.274Spgoyette404 COMPAT_50 MODULAR compat \ 8421.274Spgoyette { int|sys||aio_suspend(const struct aiocb *const *list, \ 8431.274Spgoyette int nent, const struct timespec50 *timeout); } 8441.301Schristos405 STD MODULAR aio RUMP \ 8451.274Spgoyette { int|sys||aio_write(struct aiocb *aiocbp); } 8461.301Schristos406 STD MODULAR aio RUMP \ 8471.274Spgoyette { int|sys||lio_listio(int mode, struct aiocb *const *list, \ 8481.274Spgoyette int nent, struct sigevent *sig); } 8491.171Sjoerg 8501.170Sdsl407 UNIMPL 8511.170Sdsl408 UNIMPL 8521.170Sdsl409 UNIMPL 8531.170Sdsl 8541.299Schristos410 STD RUMP { int|sys|50|mount(const char *type, \ 8551.170Sdsl const char *path, int flags, void *data, \ 8561.170Sdsl size_t data_len); } 8571.300Schristos411 STD { void *|sys||mremap(void *old_address, \ 8581.300Schristos size_t old_size, void *new_address, \ 8591.300Schristos size_t new_size, int flags); } 8601.184Srmind 8611.184Srmind; Processor-sets system calls 8621.300Schristos412 STD { int|sys||pset_create(psetid_t *psid); } 8631.300Schristos413 STD { int|sys||pset_destroy(psetid_t psid); } 8641.300Schristos414 STD { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, \ 8651.184Srmind psetid_t *opsid); } 8661.300Schristos415 STD { int|sys||_pset_bind(idtype_t idtype, id_t first_id, \ 8671.184Srmind id_t second_id, psetid_t psid, psetid_t *opsid); } 8681.300Schristos416 NOERR RUMP { int|sys|50|posix_fadvise(int fd, int PAD, \ 8691.187Smartin off_t offset, off_t len, int advice); } 8701.299Schristos417 STD RUMP { int|sys|50|select(int nd, fd_set *in, fd_set *ou, \ 8711.219Schristos fd_set *ex, struct timeval *tv); } 8721.299Schristos418 STD RUMP { int|sys|50|gettimeofday(struct timeval *tp, \ 8731.219Schristos void *tzp); } 8741.299Schristos419 STD RUMP { int|sys|50|settimeofday(const struct timeval *tv, \ 8751.219Schristos const void *tzp); } 8761.299Schristos420 STD RUMP { int|sys|50|utimes(const char *path, \ 8771.219Schristos const struct timeval *tptr); } 8781.299Schristos421 STD RUMP { int|sys|50|adjtime(const struct timeval *delta, \ 8791.219Schristos struct timeval *olddelta); } 8801.274Spgoyette422 STD MODULAR lfs { int|sys|50|lfs_segwait(fsid_t *fsidp, \ 8811.219Schristos struct timeval *tv); } 8821.299Schristos423 STD RUMP { int|sys|50|futimes(int fd, \ 8831.219Schristos const struct timeval *tptr); } 8841.300Schristos424 STD RUMP { int|sys|50|lutimes(const char *path, \ 8851.219Schristos const struct timeval *tptr); } 8861.299Schristos425 STD RUMP { int|sys|50|setitimer(int which, \ 8871.219Schristos const struct itimerval *itv, \ 8881.219Schristos struct itimerval *oitv); } 8891.299Schristos426 STD RUMP { int|sys|50|getitimer(int which, \ 8901.219Schristos struct itimerval *itv); } 8911.299Schristos427 STD RUMP { int|sys|50|clock_gettime(clockid_t clock_id, \ 8921.219Schristos struct timespec *tp); } 8931.299Schristos428 STD RUMP { int|sys|50|clock_settime(clockid_t clock_id, \ 8941.219Schristos const struct timespec *tp); } 8951.299Schristos429 STD RUMP { int|sys|50|clock_getres(clockid_t clock_id, \ 8961.219Schristos struct timespec *tp); } 8971.299Schristos430 STD RUMP { int|sys|50|nanosleep(const struct timespec *rqtp, \ 8981.219Schristos struct timespec *rmtp); } 8991.300Schristos431 STD { int|sys|50|__sigtimedwait(const sigset_t *set, \ 9001.219Schristos siginfo_t *info, \ 9011.219Schristos struct timespec *timeout); } 9021.274Spgoyette432 STD MODULAR mqueue \ 9031.274Spgoyette { int|sys|50|mq_timedsend(mqd_t mqdes, \ 9041.219Schristos const char *msg_ptr, size_t msg_len, \ 9051.219Schristos unsigned msg_prio, \ 9061.219Schristos const struct timespec *abs_timeout); } 9071.274Spgoyette433 STD MODULAR mqueue \ 9081.274Spgoyette { ssize_t|sys|50|mq_timedreceive(mqd_t mqdes, \ 9091.219Schristos char *msg_ptr, size_t msg_len, unsigned *msg_prio, \ 9101.219Schristos const struct timespec *abs_timeout); } 9111.294Spgoyette434 COMPAT_60 MODULAR compat_60 \ 9121.274Spgoyette { int|sys||_lwp_park(const struct timespec *ts, \ 9131.219Schristos lwpid_t unpark, const void *hint, \ 9141.219Schristos const void *unparkhint); } 9151.311Schristos435 COMPAT_100 MODULAR compat_100 RUMP \ 9161.311Schristos { int|sys|50|kevent(int fd, \ 9171.311Schristos const struct kevent100 *changelist, size_t nchanges, \ 9181.311Schristos struct kevent100 *eventlist, size_t nevents, \ 9191.219Schristos const struct timespec *timeout); } 9201.299Schristos436 STD RUMP { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, \ 9211.219Schristos fd_set *ex, const struct timespec *ts, \ 9221.219Schristos const sigset_t *mask); } 9231.299Schristos437 STD RUMP { int|sys|50|pollts(struct pollfd *fds, u_int nfds, \ 9241.219Schristos const struct timespec *ts, const sigset_t *mask); } 9251.301Schristos438 STD MODULAR aio RUMP { int|sys|50|aio_suspend( \ 9261.219Schristos const struct aiocb *const *list, \ 9271.219Schristos int nent, const struct timespec *timeout); } 9281.299Schristos439 STD RUMP { int|sys|50|stat(const char *path, struct stat *ub); } 9291.299Schristos440 STD RUMP { int|sys|50|fstat(int fd, struct stat *sb); } 9301.299Schristos441 STD RUMP { int|sys|50|lstat(const char *path, struct stat *ub); } 9311.277Spgoyette442 STD MODULAR sysv_ipc { int|sys|50|__semctl(int semid, int semnum, \ 9321.277Spgoyette int cmd, ... union __semun *arg); } 9331.277Spgoyette443 STD MODULAR sysv_ipc { int|sys|50|shmctl(int shmid, int cmd, \ 9341.219Schristos struct shmid_ds *buf); } 9351.277Spgoyette444 STD MODULAR sysv_ipc { int|sys|50|msgctl(int msqid, int cmd, \ 9361.219Schristos struct msqid_ds *buf); } 9371.300Schristos445 STD { int|sys|50|getrusage(int who, struct rusage *rusage); } 9381.299Schristos446 STD RUMP { int|sys|50|timer_settime(timer_t timerid, \ 9391.219Schristos int flags, const struct itimerspec *value, \ 9401.219Schristos struct itimerspec *ovalue); } 9411.299Schristos447 STD RUMP { int|sys|50|timer_gettime(timer_t timerid, struct \ 9421.219Schristos itimerspec *value); } 9431.219Schristos#if defined(NTP) || !defined(_KERNEL_OPT) 9441.221Spooka448 STD { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } 9451.219Schristos#else 9461.219Schristos448 EXCL ___ntp_gettime50 9471.219Schristos#endif 9481.300Schristos449 STD { int|sys|50|wait4(pid_t pid, int *status, \ 9491.219Schristos int options, struct rusage *rusage); } 9501.299Schristos450 STD RUMP { int|sys|50|mknod(const char *path, mode_t mode, \ 9511.219Schristos dev_t dev); } 9521.300Schristos451 STD RUMP { int|sys|50|fhstat(const void *fhp, \ 9531.219Schristos size_t fh_size, struct stat *sb); } 9541.253Sdholland; 452 only ever appeared in 5.99.x and can be reused after netbsd-7 9551.253Sdholland452 OBSOL 5.99 quotactl 9561.299Schristos453 STD RUMP { int|sys||pipe2(int *fildes, int flags); } 9571.313Schristos454 COMPAT_100 MODULAR compat_100 RUMP \ 9581.312Schristos { int|sys||dup3(int from, int to, int flags); } 9591.299Schristos455 STD RUMP { int|sys||kqueue1(int flags); } 9601.299Schristos456 STD RUMP { int|sys||paccept(int s, struct sockaddr *name, \ 9611.249Schristos socklen_t *anamelen, const sigset_t *mask, \ 9621.249Schristos int flags); } 9631.299Schristos457 STD RUMP { int|sys||linkat(int fd1, const char *name1, \ 9641.251Smanu int fd2, const char *name2, int flags); } 9651.299Schristos458 STD RUMP { int|sys||renameat(int fromfd, const char *from, \ 9661.251Smanu int tofd, const char *to); } 9671.299Schristos459 STD RUMP { int|sys||mkfifoat(int fd, const char *path, \ 9681.251Smanu mode_t mode); } 9691.299Schristos460 STD RUMP { int|sys||mknodat(int fd, const char *path, \ 9701.264Snjoly mode_t mode, int PAD, dev_t dev); } 9711.299Schristos461 STD RUMP { int|sys||mkdirat(int fd, const char *path, \ 9721.251Smanu mode_t mode); } 9731.299Schristos462 STD RUMP { int|sys||faccessat(int fd, const char *path, \ 9741.251Smanu int amode, int flag); } 9751.299Schristos463 STD RUMP { int|sys||fchmodat(int fd, const char *path, \ 9761.251Smanu mode_t mode, int flag); } 9771.299Schristos464 STD RUMP { int|sys||fchownat(int fd, const char *path, \ 9781.251Smanu uid_t owner, gid_t group, int flag); } 9791.300Schristos465 STD { int|sys||fexecve(int fd, \ 9801.251Smanu char * const *argp, char * const *envp); } 9811.299Schristos466 STD RUMP { int|sys||fstatat(int fd, const char *path, \ 9821.251Smanu struct stat *buf, int flag); } 9831.299Schristos467 STD RUMP { int|sys||utimensat(int fd, const char *path, \ 9841.251Smanu const struct timespec *tptr, int flag); } 9851.299Schristos468 STD RUMP { int|sys||openat(int fd, const char *path, \ 9861.251Smanu int oflags, ... mode_t mode); } 9871.299Schristos469 STD RUMP { ssize_t|sys||readlinkat(int fd, const char *path, \ 9881.251Smanu char *buf, size_t bufsize); } 9891.299Schristos470 STD RUMP { int|sys||symlinkat(const char *path1, int fd, \ 9901.251Smanu const char *path2); } 9911.299Schristos471 STD RUMP { int|sys||unlinkat(int fd, const char *path, \ 9921.251Smanu int flag); } 9931.299Schristos472 STD RUMP { int|sys||futimens(int fd, \ 9941.252Smanu const struct timespec *tptr); } 9951.299Schristos473 STD RUMP { int|sys||__quotactl(const char *path, \ 9961.253Sdholland struct quotactl_args *args); } 9971.254Smartin474 NOERR { int|sys||posix_spawn(pid_t *pid, const char *path, \ 9981.260Schristos const struct posix_spawn_file_actions *file_actions, \ 9991.260Schristos const struct posix_spawnattr *attrp, \ 10001.260Schristos char *const *argv, char *const *envp); } 10011.299Schristos475 STD RUMP { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, \ 10021.260Schristos unsigned int vlen, unsigned int flags, \ 10031.260Schristos struct timespec *timeout); } 10041.299Schristos476 STD RUMP { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, \ 10051.260Schristos unsigned int vlen, unsigned int flags); } 10061.279Schristos477 NOERR RUMP { int|sys||clock_nanosleep(clockid_t clock_id, \ 10071.261Schristos int flags, const struct timespec *rqtp, \ 10081.261Schristos struct timespec *rmtp); } 10091.300Schristos478 STD { int|sys|60|_lwp_park(clockid_t clock_id, int flags, \ 10101.287Schristos struct timespec *ts, lwpid_t unpark, \ 10111.262Schristos const void *hint, const void *unparkhint); } 10121.271Smartin479 NOERR RUMP { int|sys||posix_fallocate(int fd, int PAD, off_t pos, \ 10131.270Sdholland off_t len); } 10141.299Schristos480 STD RUMP { int|sys||fdiscard(int fd, int PAD, off_t pos, \ 10151.270Sdholland off_t len); } 10161.300Schristos481 STD { int|sys||wait6(idtype_t idtype, id_t id, \ 10171.282Schristos int *status, int options, struct wrusage *wru, \ 10181.282Schristos siginfo_t *info); } 10191.307Schristos482 STD RUMP { int|sys||clock_getcpuclockid2(idtype_t idtype, \ 10201.284Schristos id_t id, clockid_t *clock_id); } 10211.299Schristos483 STD RUMP { int|sys|90|getvfsstat(struct statvfs *buf, \ 10221.296Schristos size_t bufsize, int flags); } 10231.299Schristos484 STD RUMP { int|sys|90|statvfs1(const char *path, \ 10241.296Schristos struct statvfs *buf, int flags); } 10251.299Schristos485 STD RUMP { int|sys|90|fstatvfs1(int fd, \ 10261.296Schristos struct statvfs *buf, int flags); } 10271.299Schristos486 STD RUMP { int|sys|90|fhstatvfs1(const void *fhp, \ 10281.296Schristos size_t fh_size, struct statvfs *buf, int flags); } 10291.305Schristos487 STD { int|sys||__acl_get_link(const char *path, \ 10301.305Schristos acl_type_t type, struct acl *aclp); } 10311.305Schristos488 STD { int|sys||__acl_set_link(const char *path, \ 10321.305Schristos acl_type_t type, struct acl *aclp); } 10331.305Schristos489 STD { int|sys||__acl_delete_link(const char *path, \ 10341.305Schristos acl_type_t type); } 10351.305Schristos490 STD { int|sys||__acl_aclcheck_link(const char *path, \ 10361.305Schristos acl_type_t type, struct acl *aclp); } 10371.305Schristos491 STD { int|sys||__acl_get_file(const char *path, \ 10381.305Schristos acl_type_t type, struct acl *aclp); } 10391.305Schristos492 STD { int|sys||__acl_set_file(const char *path, \ 10401.305Schristos acl_type_t type, struct acl *aclp); } 10411.305Schristos493 STD { int|sys||__acl_get_fd(int filedes, acl_type_t type, \ 10421.305Schristos struct acl *aclp); } 10431.305Schristos494 STD { int|sys||__acl_set_fd(int filedes, acl_type_t type, \ 10441.305Schristos struct acl *aclp); } 10451.305Schristos495 STD { int|sys||__acl_delete_file(const char *path, \ 10461.305Schristos acl_type_t type); } 10471.305Schristos496 STD { int|sys||__acl_delete_fd(int filedes, \ 10481.305Schristos acl_type_t type); } 10491.305Schristos497 STD { int|sys||__acl_aclcheck_file(const char *path, \ 10501.305Schristos acl_type_t type, struct acl *aclp); } 10511.305Schristos498 STD { int|sys||__acl_aclcheck_fd(int filedes, \ 10521.305Schristos acl_type_t type, struct acl *aclp); } 10531.305Schristos499 STD RUMP { long|sys||lpathconf(const char *path, int name); } 10541.310Schristos500 STD { int|sys||memfd_create(const char *name, \ 10551.310Schristos unsigned int flags); } 10561.311Schristos501 STD RUMP { int|sys|100|kevent(int fd, \ 10571.311Schristos const struct kevent *changelist, size_t nchanges, \ 10581.311Schristos struct kevent *eventlist, size_t nevents, \ 10591.311Schristos const struct timespec *timeout); } 10601.311Schristos502 STD { int|sys||epoll_create1(int flags); } 10611.311Schristos503 STD { int|sys||epoll_ctl(int epfd, int op, int fd, \ 10621.311Schristos struct epoll_event *event); } 10631.311Schristos504 STD { int|sys||epoll_pwait2(int epfd, \ 10641.311Schristos struct epoll_event *events, int maxevents, \ 10651.311Schristos const struct timespec *timeout, \ 10661.311Schristos const sigset_t *sigmask); } 10671.313Schristos505 STD RUMP { int|sys|100|dup3(int from, int to, int flags); } 10681.316Schristos506 STD MODULAR sysv_ipc { int|sys||semtimedop(int semid, \ 10691.314Schristos struct sembuf *sops, size_t nsops, \ 10701.314Schristos struct timespec *timeout); } 1071