1 $NetBSD: syscalls.master,v 1.80 2024/06/29 13:46:10 christos Exp $ 2 3; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 4 5; Derived from NetBSD's sys/compat/linux/arch/powerpc/syscalls.master 6; from Linux's arch/mips/kernel/syscalls.h 7 8; NetBSD mips COMPAT_LINUX system call name/number "master" file. 9; (See syscalls.conf to see what it is processed into.) 10; 11; Expect problems with 12; 48 signal: undefined in Linux??? 13; 86 uselib: needs a.out 14; 15; Fields: number type [type-dependent ...] 16; number system call number, must be in order 17; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of 18; the compatibility options defined in syscalls.conf. 19; 20; types: 21; STD always included 22; OBSOL obsolete, not included in system 23; UNIMPL unimplemented, not included in system 24; NODEF included, but don't define the syscall number 25; NOARGS included, but don't define the syscall args structure 26; INDIR included, but don't define the syscall args structure 27; and allow it to be "really" varargs. 28; 29; The compat options are defined in the syscalls.conf file, and the 30; compat option name is prefixed to the syscall name. Other than 31; that, they're like NODEF (for 'compat' options), or STD (for 32; 'libcompat' options). 33; 34; The type-dependent arguments are as follows: 35; For STD, NODEF, NOARGS, and compat syscalls: 36; { pseudo-proto } [alias] 37; For other syscalls: 38; [comment] 39; 40; #ifdef's, etc. may be included, and are copied to the output files. 41; #include's are copied to the syscall names and switch definition files only. 42 43#include <sys/param.h> 44#include <sys/poll.h> 45#include <sys/systm.h> 46#include <sys/signal.h> 47#include <sys/mount.h> 48#include <sys/syscallargs.h> 49 50#include <compat/linux/common/linux_types.h> 51#include <compat/linux/common/linux_signal.h> 52#include <compat/linux/common/linux_siginfo.h> 53#include <compat/linux/common/linux_machdep.h> 54#include <compat/linux/common/linux_mmap.h> 55#include <compat/linux/common/linux_socketcall.h> 56#include <compat/linux/common/linux_sched.h> 57 58#include <compat/linux/linux_syscallargs.h> 59 600 NOARGS { int|linux_sys||nosys(void); } syscall 611 STD { int|linux_sys||exit(int rval); } 622 NOARGS { int|sys||fork(void); } 633 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 644 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ 65 size_t nbyte); } 665 STD { int|linux_sys||open(const char *path, int flags, \ 67 linux_umode_t mode); } 686 NOARGS { int|sys||close(int fd); } 697 STD { int|linux_sys||waitpid(int pid, int *status, \ 70 int options);} 718 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); } 729 NOARGS { int|sys||link(const char *path, const char *link); } 7310 STD { int|linux_sys||unlink(const char *path); } 7411 NOARGS { int|sys||execve(const char *path, char **argp, \ 75 char **envp); } 7612 NOARGS { int|sys||chdir(const char *path); } 7713 STD { int|linux_sys||time(linux_time_t *t); } 7814 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \ 79 unsigned dev); } 8015 NOARGS { int|sys||chmod(const char *path, int mode); } 8116 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ 82 gid_t gid); } 8317 UNIMPL 8418 OBSOL ostat 8519 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ 86 int whence); } 8720 NOARGS { pid_t|sys||getpid(void); } 8821 UNIMPL mount 8922 OBSOL umount 9023 NOARGS { int|sys||setuid(uid_t uid); } 9124 NOARGS { uid_t|sys||getuid(void); } 9225 STD { int|linux_sys||stime(linux_time_t *t); } 9326 STD { int|linux_sys||ptrace(long request, long pid, \ 94 long addr, long data); } 9527 STD { int|linux_sys||alarm(unsigned int secs); } 9628 OBSOL ofstat 9729 STD { int|linux_sys||pause(void); } 9830 STD { int|linux_sys||utime(const char *path, \ 99 struct linux_utimbuf *times); } 10031 UNIMPL 10132 UNIMPL 10233 NOARGS { int|sys||access(const char *path, int flags); } 10334 STD { int|linux_sys||nice(int incr); } 10435 UNIMPL 10536 NOARGS { int|sys||sync(void); } 10637 STD { int|linux_sys||kill(int pid, int signum); } 10738 NOARGS { int|sys||__posix_rename(const char *from, \ 108 const char *to); } 10939 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } 11040 NOARGS { int|sys||rmdir(const char *path); } 11141 NOARGS { int|sys||dup(int fd); } 11242 STD { int|linux_sys||pipe(int *pfds); } 11343 STD { int|linux_sys||times(struct times *tms); } 11444 UNIMPL 11545 STD { int|linux_sys||brk(char *nsize); } 11646 NOARGS { int|sys||setgid(gid_t gid); } 11747 NOARGS { gid_t|sys||getgid(void); } 11848 STD { int|linux_sys||signal(int signum, \ 119 linux___sighandler_t handler); } 12049 NOARGS { uid_t|sys||geteuid(void); } 12150 NOARGS { gid_t|sys||getegid(void); } 12251 NOARGS { int|sys||acct(char *path); } 12352 UNIMPL umount 12453 UNIMPL 12554 STD { int|linux_sys||ioctl(int fd, u_long com, \ 126 void *data); } 12755 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 12856 OBSOL mpx 12957 NOARGS { int|sys||setpgid(int pid, int pgid); } 13058 UNIMPL 13159 STD { int|linux_sys||olduname(struct linux_old_utsname \ 132 *up); } 13360 NOARGS { int|sys||umask(int newmask); } 13461 NOARGS { int|sys||chroot(char *path); } 13562 UNIMPL ustat 13663 NOARGS { int|sys||dup2(int from, int to); } 13764 NOARGS { pid_t|sys||getppid(void); } 13865 NOARGS { int|sys||getpgrp(void); } 13966 NOARGS { int|sys||setsid(void); } 14067 STD { int|linux_sys||sigaction(int signum, \ 141 const struct linux_old_sigaction *nsa, \ 142 struct linux_old_sigaction *osa); } 14368 STD { int|linux_sys||siggetmask(void); } 14469 STD { int|linux_sys||sigsetmask(linux_old_sigset_t mask); } 14570 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); } 14671 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); } 14772 STD { int|linux_sys||sigsuspend(void *restart, \ 148 int oldmask, int mask); } 14973 STD { int|linux_sys||sigpending(linux_old_sigset_t *set); } 15074 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ 151 u_int len);} 15275 STD { int|linux_sys||setrlimit(u_int which, \ 153 struct orlimit *rlp); } 15476 STD { int|linux_sys||getrlimit(u_int which, \ 155 struct orlimit *rlp); } 15677 NOARGS { int|compat_50_sys||getrusage(int who, \ 157 struct rusage50 *rusage); } 15878 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ 159 struct timezone *tzp); } 16079 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ 161 struct timezone *tzp); } 16280 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); } 16381 NOARGS { int|sys||setgroups(int gidsetsize, gid_t *gidset); } 16482 UNIMPL old_select 16583 NOARGS { int|sys||symlink(const char *path, const char *to); } 16684 NOARGS { int|compat_43_sys||lstat(const char *path, \ 167 struct stat43 *up); } oolstat 16885 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ 169 int count); } 17086 UNIMPL uselib 171;86 STD { int|linux_sys||uselib(const char *path); } 17287 STD { int|linux_sys||swapon(char *name); } 17388 STD { int|linux_sys||reboot(int magic1, int magic2, \ 174 int cmd, void *arg); } 17589 STD { int|linux_sys||readdir(int fd, void *dent, \ 176 unsigned int count); } 17790 NOARGS { int|linux_sys||mmap(unsigned long addr, size_t len, \ 178 int prot, int flags, int fd, linux_off_t offset); } 17991 NOARGS { int|sys||munmap(void *addr, size_t len); } 18092 NOARGS { int|compat_43_sys||truncate(const char *path, \ 181 long length); } 18293 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } 18394 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } 18495 NOARGS { int|sys||__posix_fchown(int fd, uid_t uid, \ 185 gid_t gid); } 18696 STD { int|linux_sys||getpriority(int which, int who); } 18797 NOARGS { int|sys||setpriority(int which, int who, int prio); } 18898 UNIMPL 18999 STD { int|linux_sys||statfs(const char *path, \ 190 struct linux_statfs *sp); } 191100 STD { int|linux_sys||fstatfs(int fd, \ 192 struct linux_statfs *sp); } 193101 STD { int|linux_sys||ioperm(unsigned int lo, \ 194 unsigned int hi, int val); } 195102 STD { int|linux_sys||socketcall(int what, void *args); } 196103 UNIMPL syslog 197104 NOARGS { int|compat_50_sys||setitimer(int which, \ 198 struct itimerval50 *itv, \ 199 struct itimerval50 *oitv); } 200105 NOARGS { int|compat_50_sys||getitimer(int which, \ 201 struct itimerval50 *itv); } 202106 STD { int|linux_sys||stat(const char *path, \ 203 struct linux_stat *sp); } 204107 STD { int|linux_sys||lstat(const char *path, \ 205 struct linux_stat *sp); } 206108 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); } 207109 STD { int|linux_sys||uname(struct linux_utsname *up); } 208110 UNIMPL iopl 209111 UNIMPL vhangup 210112 UNIMPL idle 211113 UNIMPL vm86old 212114 STD { int|linux_sys||wait4(int pid, int *status, \ 213 int options, struct rusage50 *rusage); } 214115 STD { int|linux_sys||swapoff(const char *path); } 215116 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 216117 STD { int|linux_sys||ipc(int what, long a1, long a2, \ 217 long a3, void *ptr); } 218118 NOARGS { int|sys||fsync(int fd); } 219119 STD { int|linux_sys||sigreturn(struct linux_sigframe *sf); } 220120 STD { int|linux_sys||clone(int flags, void *stack, \ 221 void *parent_tidptr, void *tls, void *child_tidptr); } 222121 STD { int|linux_sys||setdomainname(char *domainname, \ 223 int len); } 224122 STD { int|linux_sys||new_uname(struct linux_utsname *up); } 225123 UNIMPL modify_ldt 226124 UNIMPL adjtimex 227125 STD { int|linux_sys||mprotect(const void *start, \ 228 unsigned long len, int prot); } 229126 STD { int|linux_sys||sigprocmask(int how, \ 230 const linux_old_sigset_t *set, \ 231 linux_old_sigset_t *oset); } 232127 UNIMPL create_module 233128 UNIMPL init_module 234129 UNIMPL delete_module 235130 UNIMPL get_kernel_syms 236131 UNIMPL quotactl 237132 NOARGS { pid_t|sys||getpgid(pid_t pid); } 238133 NOARGS { int|sys||fchdir(int fd); } 239134 UNIMPL bdflush 240135 UNIMPL sysfs 241136 STD { int|linux_sys||personality(unsigned long per); } 242137 UNIMPL afs_syscall 243138 STD { int|linux_sys||setfsuid(uid_t uid); } 244139 STD { int|linux_sys||setfsgid(gid_t gid); } 245140 STD { int|linux_sys||llseek(int fd, u_int32_t ohigh, \ 246 u_int32_t olow, void *res, int whence); } 247141 STD { int|linux_sys||getdents(int fd, \ 248 struct linux_dirent *dent, unsigned int count); } 249142 STD { int|linux_sys||select(int nfds, fd_set *readfds, \ 250 fd_set *writefds, fd_set *exceptfds, \ 251 struct timeval50 *timeout); } 252143 NOARGS { int|sys||flock(int fd, int how); } 253144 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 254145 NOARGS { ssize_t|sys||readv(int fd, \ 255 const struct iovec *iovp, int iovcnt); } 256146 NOARGS { ssize_t|sys||writev(int fd, \ 257 const struct iovec *iovp, int iovcnt); } 258147 STD { int|linux_sys||cacheflush(void *addr, \ 259 int bytes, int cache); } 260148 UNIMPL cachectl 261149 STD { int|linux_sys||sysmips(long cmd, long arg1, \ 262 long arg2, long arg3); } 263150 UNIMPL 264151 NOARGS { pid_t|sys||getsid(pid_t pid); } 265152 STD { int|linux_sys||fdatasync(int fd); } 266153 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } 267154 NOARGS { int|sys||mlock(void *addr, size_t len); } 268155 NOARGS { int|sys||munlock(void *addr, size_t len); } 269156 NOARGS { int|sys||mlockall(int flags); } 270157 NOARGS { int|sys||munlockall(void); } 271158 STD { int|linux_sys||sched_setparam(pid_t pid, \ 272 const struct linux_sched_param *sp); } 273159 STD { int|linux_sys||sched_getparam(pid_t pid, \ 274 struct linux_sched_param *sp); } 275160 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ 276 int policy, const struct linux_sched_param *sp); } 277161 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 278162 STD { int|linux_sys||sched_yield(void); } 279163 STD { int|linux_sys||sched_get_priority_max(int policy); } 280164 STD { int|linux_sys||sched_get_priority_min(int policy); } 281165 UNIMPL sched_rr_get_interval 282166 STD { int|linux_sys||nanosleep( \ 283 const struct linux_timespec *rqtp, \ 284 struct linux_timespec *rmtp); } 285167 STD { void *|linux_sys||mremap(void *old_address, \ 286 size_t old_size, size_t new_size, u_long flags); } 287168 STD { int|linux_sys||accept(int s, \ 288 struct osockaddr *name, int *anamelen); } 289169 STD { int|linux_sys||bind(int s, \ 290 const struct osockaddr *name, int namelen); } 291170 STD { int|linux_sys||connect(int s, \ 292 const struct osockaddr *name, int namelen); } 293171 STD { int|linux_sys||getpeername(int fdes, void *asa, \ 294 int *alen); } 295172 STD { int|linux_sys||getsockname(int fdes, void *asa, \ 296 int *alen); } 297173 STD { int|linux_sys||getsockopt(int s, int level, \ 298 int optname, void *optval, int *optlen); } 299174 NOARGS { int|sys||listen(int s, int backlog); } 300175 STD { int|linux_sys||recv(int s, void *buf, int len, \ 301 int flags); } 302176 STD { int|linux_sys||recvfrom(int s, void *buf, int len, \ 303 int flags, struct osockaddr *from, \ 304 int *fromlenaddr); } 305177 STD { int|linux_sys||recvmsg(int s, \ 306 struct linux_msghdr *msg, u_int flags); } 307178 STD { int|linux_sys||send(int s, void *buf, int len, \ 308 int flags); } 309179 STD { int|linux_sys||sendmsg(int s, \ 310 struct linux_msghdr *msg, u_int flags); } 311180 STD { int|linux_sys||sendto(int s, void *msg, \ 312 int len, int flags, struct osockaddr *to, \ 313 int tolen); } 314181 STD { int|linux_sys||setsockopt(int s, int level, \ 315 int optname, void *optval, int optlen); } 316182 UNIMPL shutdown 317183 STD { int|linux_sys||socket(int domain, int type, \ 318 int protocol); } 319184 STD { int|linux_sys||socketpair(int domain, int type, \ 320 int protocol, int *rsv); } 321185 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \ 322 uid_t suid); } 323186 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \ 324 uid_t *suid); } 325187 UNIMPL query_module 326188 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ 327 int timeout); } 328189 UNIMPL nfsservctl 329190 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \ 330 gid_t sgid); } 331191 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \ 332 gid_t *sgid); } 333192 UNIMPL prctl 334193 STD { int|linux_sys||rt_sigreturn( \ 335 struct linux_pt_regs *regs); } 336194 STD { int|linux_sys||rt_sigaction(int signum, \ 337 const struct linux_sigaction *nsa, \ 338 struct linux_sigaction *osa, \ 339 size_t sigsetsize); } 340195 STD { int|linux_sys||rt_sigprocmask(int how, \ 341 const linux_sigset_t *set, \ 342 linux_sigset_t *oset, \ 343 size_t sigsetsize); } 344196 STD { int|linux_sys||rt_sigpending( \ 345 linux_sigset_t *set, \ 346 size_t sigsetsize); } 347197 STD { int|linux_sys||rt_sigtimedwait( \ 348 const linux_sigset_t *set, \ 349 linux_siginfo_t *info, \ 350 const struct linux_timespec *timeout); } 351198 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ 352 linux_siginfo_t *uinfo); } 353199 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ 354 size_t sigsetsize); } 355200 STD { int|linux_sys||pread(int fd, char *buf, \ 356 size_t nbyte, off_t offset); } 357201 STD { int|linux_sys||pwrite(int fd, char *buf, \ 358 size_t nbyte, off_t offset); } 359202 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \ 360 gid_t gid); } 361203 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 362204 UNIMPL capget 363205 UNIMPL capset 364206 STD { int|linux_sys||sigaltstack( \ 365 const struct linux_sigaltstack *ss, \ 366 struct linux_sigaltstack *oss); } 367207 UNIMPL sendfile 368208 UNIMPL 369209 UNIMPL 370#define linux_sys_mmap2_args linux_sys_mmap_args 371210 NOARGS { linux_off_t|linux_sys||mmap2(unsigned long addr, \ 372 size_t len, int prot, int flags, int fd, \ 373 linux_off_t offset); } 374211 STD { int|linux_sys||truncate64(const char *path, \ 375 off_t length); } 376212 STD { int|linux_sys||ftruncate64(unsigned int fd, \ 377 off_t length); } 378213 STD { int|linux_sys||stat64(const char *path, \ 379 struct linux_stat64 *sp); } 380214 STD { int|linux_sys||lstat64(const char *path, \ 381 struct linux_stat64 *sp); } 382215 STD { int|linux_sys||fstat64(int fd, \ 383 struct linux_stat64 *sp); } 384216 UNIMPL pivot_root 385217 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 386218 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 387219 STD { int|linux_sys||getdents64(int fd, \ 388 struct linux_dirent64 *dent, unsigned int count); } 389220 STD { int|linux_sys||fcntl64(int fd, \ 390 int cmd, void *arg); } 391221 UNIMPL /* reserved */ 392222 NOARGS { pid_t|linux_sys||gettid(void); } 393223 STD { ssize_t|linux_sys||readahead(int fd, off_t offset, \ 394 size_t count); } 395224 STD { int|linux_sys||setxattr(char *path, char *name, \ 396 void *value, size_t size, int flags); } 397225 STD { int|linux_sys||lsetxattr(char *path, char *name, \ 398 void *value, size_t size, int flags); } 399226 STD { int|linux_sys||fsetxattr(int fd, char *name, \ 400 void *value, size_t size, int flags); } 401227 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ 402 void *value, size_t size); } 403228 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ 404 void *value, size_t size); } 405229 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ 406 void *value, size_t size); } 407230 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ 408 size_t size); } 409231 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ 410 size_t size); } 411232 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ 412 size_t size); } 413233 STD { int|linux_sys||removexattr(char *path, char *name); } 414234 STD { int|linux_sys||lremovexattr(char *path, char *name); } 415235 STD { int|linux_sys||fremovexattr(int fd, char *name); } 416236 STD { int|linux_sys||tkill(int tid, int sig); } 417237 UNIMPL sendfile64 418238 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ 419 const struct linux_timespec *timeout, int *uaddr2, \ 420 int val3); } 421239 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ 422 unsigned int len, unsigned long *mask); } 423240 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ 424 unsigned int len, unsigned long *mask); } 425241 UNIMPL io_setup 426242 UNIMPL io_destroy 427243 UNIMPL io_getevents 428244 UNIMPL io_submit 429245 UNIMPL io_cancel 430246 STD { int|linux_sys||exit_group(int error_code); } 431247 UNIMPL lookup_dcookie 432248 STD { int|linux_sys||epoll_create(int size); } 433249 STD { int|linux_sys||epoll_ctl(int epfd, int op, int fd, \ 434 struct linux_epoll_event *event); } 435250 STD { int|linux_sys||epoll_wait(int epfd, \ 436 struct linux_epoll_event *events, int maxevents, \ 437 int timeout); } 438251 UNIMPL remap_file_pages 439252 STD { int|linux_sys||set_tid_address(int *tid); } 440253 UNIMPL restart_syscall 441254 STD { int|linux_sys||fadvise64(int fd, off_t offset, \ 442 size_t len, int advice); } 443255 STD { int|linux_sys||statfs64(const char *path, \ 444 size_t sz, struct linux_statfs64 *sp); } 445256 STD { int|linux_sys||fstatfs64(int fd, \ 446 size_t sz, struct linux_statfs64 *sp); } 447257 STD { int|linux_sys||timer_create(clockid_t clockid, \ 448 struct linux_sigevent *evp, timer_t *timerid); } 449258 STD { int|linux_sys||timer_settime(timer_t timerid, \ 450 int flags, const struct linux_itimerspec *tim, \ 451 struct linux_itimerspec *otim); } 452259 STD { int|linux_sys||timer_gettime(timer_t timerid, \ 453 struct linux_itimerspec *tim); } 454260 NOARGS { int|sys||timer_getoverrun(timer_t timerid); } 455261 NOARGS { int|sys||timer_delete(timer_t timerid); } 456262 STD { int|linux_sys||clock_settime(clockid_t which, \ 457 struct linux_timespec *tp); } 458263 STD { int|linux_sys||clock_gettime(clockid_t which, \ 459 struct linux_timespec *tp); } 460264 STD { int|linux_sys||clock_getres(clockid_t which, \ 461 struct linux_timespec *tp); } 462265 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ 463 int flags, struct linux_timespec *rqtp, \ 464 struct linux_timespec *rmtp); } 465266 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } 466267 NOARGS { int|compat_50_sys||utimes(const char *path, \ 467 const struct timeval50 *tptr); } 468268 UNIMPL mbind 469269 UNIMPL get_mempolicy 470270 UNIMPL set_mempolicy 471271 UNIMPL mq_open 472272 UNIMPL mq_unlink 473273 UNIMPL mq_timedsend 474274 UNIMPL mq_timedreceive 475275 UNIMPL mq_notify 476276 UNIMPL mq_getsetattr 477277 UNIMPL vserve 478278 STD { int|linux_sys||waitid(int idtype, id_t id, \ 479 linux_siginfo_t *infop, int options, \ 480 struct rusage50 *rusage); } 481279 UNIMPL setaltroot 482280 UNIMPL add_key 483281 UNIMPL request_key 484282 UNIMPL keyctl 485283 STD { int|linux_sys||set_thread_area(void *tls); } 486284 STD { int|linux_sys||inotify_init(void); } 487285 STD { int|linux_sys||inotify_add_watch(int fd, \ 488 const char *pathname, uint32_t mask); } 489286 STD { int|linux_sys||inotify_rm_watch(int fd, int wd); } 490287 UNIMPL migrate_pages 491288 STD { int|linux_sys||openat(int fd, const char *path, \ 492 int flags, ... linux_umode_t mode); } 493289 NOARGS { int|sys||mkdirat(int fd, const char *path, \ 494 linux_umode_t mode); } 495290 STD { int|linux_sys||mknodat(int fd, const char *path, \ 496 linux_umode_t mode, unsigned dev); } 497291 STD { int|linux_sys||fchownat(int fd, const char *path, \ 498 uid_t owner, gid_t group, int flag); } 499292 UNIMPL futimesat 500293 STD { int|linux_sys||fstatat64(int fd, const char *path, \ 501 struct linux_stat64 *sp, int flag); } 502294 STD { int|linux_sys||unlinkat(int fd, const char *path, \ 503 int flag); } 504295 NOARGS { int|sys||renameat(int fromfd, const char *from, \ 505 int tofd, const char *to); } 506296 STD { int|linux_sys||linkat(int fd1, const char *name1, \ 507 int fd2, const char *name2, int flags); } 508297 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ 509 const char *path2); } 510298 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ 511 char *buf, size_t bufsize); } 512299 STD { int|linux_sys||fchmodat(int fd, const char *path, \ 513 linux_umode_t mode); } 514300 STD { int|linux_sys||faccessat(int fd, const char *path, \ 515 int amode); } 516301 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ 517 fd_set *writefds, fd_set *exceptfds, \ 518 struct linux_timespec *timeout, \ 519 linux_sized_sigset_t *ss); } 520302 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \ 521 struct linux_timespec *timeout, \ 522 linux_sigset_t *sigset); } 523303 UNIMPL unshare 524304 UNIMPL splice 525305 UNIMPL sync_file_range 526306 UNIMPL tee 527307 UNIMPL vmsplice 528308 UNIMPL move_pages 529 ; 530 ; The NetBSD native robust list calls have different 531 ; argument names / types, but they are ABI-compatible 532 ; with Linux. 533 ; 534309 NOARGS { int|sys||__futex_set_robust_list(void *head, \ 535 size_t len); } 536310 NOARGS { int|sys||__futex_get_robust_list(lwpid_t lwpid, \ 537 void **headp, size_t *lenp); } 538311 UNIMPL kexec_load 539312 STD { int|linux_sys||getcpu(unsigned int *cpu, \ 540 unsigned int *node, \ 541 struct linux_getcpu_cache *tcache); } 542313 STD { int|linux_sys||epoll_pwait(int epfd, \ 543 struct linux_epoll_event *events, int maxevents, \ 544 int timeout, const linux_sigset_t *sigmask); } 545314 UNIMPL ioprio_set 546315 UNIMPL ioprio_get 547316 STD { int|linux_sys||utimensat(int fd, const char *path, \ 548 struct linux_timespec *times, int flag); } 549317 UNIMPL signalfd 550318 UNIMPL timerfd 551319 STD { int|linux_sys||eventfd(unsigned int initval); } 552320 STD { int|linux_sys||fallocate(int fd, int mode, \ 553 off_t offset, off_t len); } 554321 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \ 555 int flags); } 556322 STD { int|linux_sys||timerfd_gettime(int fd, \ 557 struct linux_itimerspec *tim); } 558323 STD { int|linux_sys||timerfd_settime(int fd, int flags, \ 559 const struct linux_itimerspec *tim, \ 560 struct linux_itimerspec *otim); } 561324 UNIMPL signalfd4 562325 STD { int|linux_sys||eventfd2(unsigned int initval, \ 563 int flags); } 564326 STD { int|linux_sys||epoll_create1(int flags); } 565327 STD { int|linux_sys||dup3(int from, int to, int flags); } 566328 STD { int|linux_sys||pipe2(int *pfds, int flags); } 567329 STD { int|linux_sys||inotify_init1(int flags); } 568330 STD { int|linux_sys||preadv(int fd, \ 569 const struct iovec *iovp, int iovcnt, \ 570 unsigned long off_lo, unsigned long off_hi); } 571331 STD { int|linux_sys||pwritev(int fd, \ 572 const struct iovcnt *iovp, int iovcnt, \ 573 unsigned long off_lo, unsigned long off_hi); } 574332 UNIMPL rt_tgsigqueueinfo 575333 UNIMPL perf_event_open 576334 STD { int|linux_sys||accept4(int s, \ 577 struct osockaddr *name, \ 578 int *anamelen, int flags); } 579335 STD { int|linux_sys||recvmmsg(int s, \ 580 struct linux_mmsghdr *msgvec, unsigned int vlen, \ 581 unsigned int flags, struct timespec *timeout); } 582336 UNIMPL getdents64 583337 UNIMPL fanotify_init 584338 UNIMPL fanotify_mark 585339 STD { int|linux_sys||prlimit64(pid_t pid, int which, \ 586 struct rlimit *new_rlp, struct rlimit *old_rlp); } 587340 UNIMPL name_to_handle_at 588341 UNIMPL open_by_handle_at 589342 UNIMPL clock_adjtime 590343 UNIMPL syncfs 591344 STD { int|linux_sys||sendmmsg(int s, \ 592 struct linux_mmsghdr *msgvec, unsigned int vlen, \ 593 unsigned int flags); } 594345 UNIMPL setns 595346 UNIMPL process_vm_readv 596347 UNIMPL process_vm_writev 597348 UNIMPL kcmp 598349 UNIMPL finit_module 599350 UNIMPL sched_setattr 600351 UNIMPL sched_getattr 601352 UNIMPL renameat2 602353 NOARGS { ssize_t|sys||getrandom(void *buf, size_t buflen, \ 603 unsigned int flags); } 604354 STD { int|linux_sys||memfd_create(const char *name, \ 605 unsigned int flags); } 606355 UNIMPL bpf 607356 UNIMPL execveat 608357 UNIMPL userfaultfd 609358 UNIMPL membarrier 610359 UNIMPL mlock2 611360 UNIMPL copy_file_range 612361 UNIMPL preadv2 613362 UNIMPL pwritev2 614363 UNIMPL pkey_mprotect 615364 UNIMPL pkey_alloc 616365 UNIMPL pkey_free 617366 STD { int|linux_sys||statx(int fd, const char *path, \ 618 int flag, unsigned int mask, \ 619 struct linux_statx *sp); } 620367 UNIMPL 621368 UNIMPL 622369 UNIMPL 623370 UNIMPL 624371 UNIMPL 625372 UNIMPL 626373 UNIMPL 627374 UNIMPL 628375 UNIMPL 629376 UNIMPL 630377 UNIMPL 631378 UNIMPL 632379 UNIMPL 633380 UNIMPL 634381 UNIMPL 635382 UNIMPL 636383 UNIMPL 637384 UNIMPL 638385 UNIMPL 639386 UNIMPL 640387 UNIMPL 641388 UNIMPL 642389 UNIMPL 643390 UNIMPL 644391 UNIMPL 645392 UNIMPL 646393 UNIMPL 647394 UNIMPL 648395 UNIMPL 649396 UNIMPL 650397 UNIMPL 651398 UNIMPL 652399 UNIMPL 653400 UNIMPL 654401 UNIMPL 655402 UNIMPL 656403 UNIMPL 657404 UNIMPL 658405 UNIMPL 659406 UNIMPL 660407 UNIMPL 661408 UNIMPL 662409 UNIMPL 663410 UNIMPL 664411 UNIMPL 665412 UNIMPL 666413 UNIMPL 667414 UNIMPL 668415 UNIMPL 669416 UNIMPL 670417 UNIMPL 671418 UNIMPL 672419 UNIMPL 673420 UNIMPL 674421 UNIMPL 675422 UNIMPL 676423 UNIMPL 677424 UNIMPL 678425 UNIMPL 679426 UNIMPL 680427 UNIMPL 681428 UNIMPL 682429 UNIMPL 683430 UNIMPL 684431 UNIMPL 685432 UNIMPL 686433 UNIMPL 687434 UNIMPL 688435 UNIMPL 689436 STD { int|linux_sys||close_range(unsigned int first, \ 690 unsigned int last, unsigned int flags); } 691437 UNIMPL 692438 UNIMPL 693439 UNIMPL 694440 UNIMPL 695441 STD { int|linux_sys||epoll_pwait2(int epfd, \ 696 struct linux_epoll_event *events, int maxevents, \ 697 const struct linux_timespec *timeout, \ 698 const linux_sigset_t *sigmask); } 699