1 $NetBSD: syscalls.master,v 1.77 2023/07/29 15:05:31 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 57#include <compat/linux/linux_syscallargs.h> 58 590 NOARGS { int|linux_sys||nosys(void); } syscall 601 STD { int|linux_sys||exit(int rval); } 612 NOARGS { int|sys||fork(void); } 623 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 634 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ 64 size_t nbyte); } 655 STD { int|linux_sys||open(const char *path, int flags, \ 66 linux_umode_t mode); } 676 NOARGS { int|sys||close(int fd); } 687 STD { int|linux_sys||waitpid(int pid, int *status, \ 69 int options);} 708 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); } 719 NOARGS { int|sys||link(const char *path, const char *link); } 7210 STD { int|linux_sys||unlink(const char *path); } 7311 NOARGS { int|sys||execve(const char *path, char **argp, \ 74 char **envp); } 7512 NOARGS { int|sys||chdir(const char *path); } 7613 STD { int|linux_sys||time(linux_time_t *t); } 7714 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \ 78 unsigned dev); } 7915 NOARGS { int|sys||chmod(const char *path, int mode); } 8016 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ 81 gid_t gid); } 8217 UNIMPL 8318 OBSOL ostat 8419 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ 85 int whence); } 8620 NOARGS { pid_t|sys||getpid(void); } 8721 UNIMPL mount 8822 OBSOL umount 8923 NOARGS { int|sys||setuid(uid_t uid); } 9024 NOARGS { uid_t|sys||getuid(void); } 9125 STD { int|linux_sys||stime(linux_time_t *t); } 9226 STD { int|linux_sys||ptrace(long request, long pid, \ 93 long addr, long data); } 9427 STD { int|linux_sys||alarm(unsigned int secs); } 9528 OBSOL ofstat 9629 STD { int|linux_sys||pause(void); } 9730 STD { int|linux_sys||utime(const char *path, \ 98 struct linux_utimbuf *times); } 9931 UNIMPL 10032 UNIMPL 10133 NOARGS { int|sys||access(const char *path, int flags); } 10234 STD { int|linux_sys||nice(int incr); } 10335 UNIMPL 10436 NOARGS { int|sys||sync(void); } 10537 STD { int|linux_sys||kill(int pid, int signum); } 10638 NOARGS { int|sys||__posix_rename(const char *from, \ 107 const char *to); } 10839 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } 10940 NOARGS { int|sys||rmdir(const char *path); } 11041 NOARGS { int|sys||dup(int fd); } 11142 STD { int|linux_sys||pipe(int *pfds); } 11243 STD { int|linux_sys||times(struct times *tms); } 11344 UNIMPL 11445 STD { int|linux_sys||brk(char *nsize); } 11546 NOARGS { int|sys||setgid(gid_t gid); } 11647 NOARGS { gid_t|sys||getgid(void); } 11748 STD { int|linux_sys||signal(int signum, \ 118 linux___sighandler_t handler); } 11949 NOARGS { uid_t|sys||geteuid(void); } 12050 NOARGS { gid_t|sys||getegid(void); } 12151 NOARGS { int|sys||acct(char *path); } 12252 UNIMPL umount 12353 UNIMPL 12454 STD { int|linux_sys||ioctl(int fd, u_long com, \ 125 void *data); } 12655 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 12756 OBSOL mpx 12857 NOARGS { int|sys||setpgid(int pid, int pgid); } 12958 UNIMPL 13059 STD { int|linux_sys||olduname(struct linux_old_utsname \ 131 *up); } 13260 NOARGS { int|sys||umask(int newmask); } 13361 NOARGS { int|sys||chroot(char *path); } 13462 UNIMPL ustat 13563 NOARGS { int|sys||dup2(int from, int to); } 13664 NOARGS { pid_t|sys||getppid(void); } 13765 NOARGS { int|sys||getpgrp(void); } 13866 NOARGS { int|sys||setsid(void); } 13967 STD { int|linux_sys||sigaction(int signum, \ 140 const struct linux_old_sigaction *nsa, \ 141 struct linux_old_sigaction *osa); } 14268 STD { int|linux_sys||siggetmask(void); } 14369 STD { int|linux_sys||sigsetmask(linux_old_sigset_t mask); } 14470 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); } 14571 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); } 14672 STD { int|linux_sys||sigsuspend(void *restart, \ 147 int oldmask, int mask); } 14873 STD { int|linux_sys||sigpending(linux_old_sigset_t *set); } 14974 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ 150 u_int len);} 15175 STD { int|linux_sys||setrlimit(u_int which, \ 152 struct orlimit *rlp); } 15376 STD { int|linux_sys||getrlimit(u_int which, \ 154 struct orlimit *rlp); } 15577 NOARGS { int|compat_50_sys||getrusage(int who, \ 156 struct rusage50 *rusage); } 15778 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ 158 struct timezone *tzp); } 15979 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ 160 struct timezone *tzp); } 16180 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); } 16281 NOARGS { int|sys||setgroups(int gidsetsize, gid_t *gidset); } 16382 UNIMPL old_select 16483 NOARGS { int|sys||symlink(const char *path, const char *to); } 16584 NOARGS { int|compat_43_sys||lstat(const char *path, \ 166 struct stat43 *up); } oolstat 16785 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ 168 int count); } 16986 UNIMPL uselib 170;86 STD { int|linux_sys||uselib(const char *path); } 17187 STD { int|linux_sys||swapon(char *name); } 17288 STD { int|linux_sys||reboot(int magic1, int magic2, \ 173 int cmd, void *arg); } 17489 STD { int|linux_sys||readdir(int fd, void *dent, \ 175 unsigned int count); } 17690 NOARGS { int|linux_sys||mmap(unsigned long addr, size_t len, \ 177 int prot, int flags, int fd, linux_off_t offset); } 17891 NOARGS { int|sys||munmap(void *addr, size_t len); } 17992 NOARGS { int|compat_43_sys||truncate(const char *path, \ 180 long length); } 18193 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } 18294 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } 18395 NOARGS { int|sys||__posix_fchown(int fd, uid_t uid, \ 184 gid_t gid); } 18596 STD { int|linux_sys||getpriority(int which, int who); } 18697 NOARGS { int|sys||setpriority(int which, int who, int prio); } 18798 UNIMPL 18899 STD { int|linux_sys||statfs(const char *path, \ 189 struct linux_statfs *sp); } 190100 STD { int|linux_sys||fstatfs(int fd, \ 191 struct linux_statfs *sp); } 192101 STD { int|linux_sys||ioperm(unsigned int lo, \ 193 unsigned int hi, int val); } 194102 STD { int|linux_sys||socketcall(int what, void *args); } 195103 UNIMPL syslog 196104 NOARGS { int|compat_50_sys||setitimer(int which, \ 197 struct itimerval50 *itv, \ 198 struct itimerval50 *oitv); } 199105 NOARGS { int|compat_50_sys||getitimer(int which, \ 200 struct itimerval50 *itv); } 201106 STD { int|linux_sys||stat(const char *path, \ 202 struct linux_stat *sp); } 203107 STD { int|linux_sys||lstat(const char *path, \ 204 struct linux_stat *sp); } 205108 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); } 206109 STD { int|linux_sys||uname(struct linux_utsname *up); } 207110 UNIMPL iopl 208111 UNIMPL vhangup 209112 UNIMPL idle 210113 UNIMPL vm86old 211114 STD { int|linux_sys||wait4(int pid, int *status, \ 212 int options, struct rusage50 *rusage); } 213115 STD { int|linux_sys||swapoff(const char *path); } 214116 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 215117 STD { int|linux_sys||ipc(int what, long a1, long a2, \ 216 long a3, void *ptr); } 217118 NOARGS { int|sys||fsync(int fd); } 218119 STD { int|linux_sys||sigreturn(struct linux_sigframe *sf); } 219120 STD { int|linux_sys||clone(int flags, void *stack, \ 220 void *parent_tidptr, void *tls, void *child_tidptr); } 221121 STD { int|linux_sys||setdomainname(char *domainname, \ 222 int len); } 223122 STD { int|linux_sys||new_uname(struct linux_utsname *up); } 224123 UNIMPL modify_ldt 225124 UNIMPL adjtimex 226125 STD { int|linux_sys||mprotect(const void *start, \ 227 unsigned long len, int prot); } 228126 STD { int|linux_sys||sigprocmask(int how, \ 229 const linux_old_sigset_t *set, \ 230 linux_old_sigset_t *oset); } 231127 UNIMPL create_module 232128 UNIMPL init_module 233129 UNIMPL delete_module 234130 UNIMPL get_kernel_syms 235131 UNIMPL quotactl 236132 NOARGS { pid_t|sys||getpgid(pid_t pid); } 237133 NOARGS { int|sys||fchdir(int fd); } 238134 UNIMPL bdflush 239135 UNIMPL sysfs 240136 STD { int|linux_sys||personality(unsigned long per); } 241137 UNIMPL afs_syscall 242138 STD { int|linux_sys||setfsuid(uid_t uid); } 243139 STD { int|linux_sys||setfsgid(gid_t gid); } 244140 STD { int|linux_sys||llseek(int fd, u_int32_t ohigh, \ 245 u_int32_t olow, void *res, int whence); } 246141 STD { int|linux_sys||getdents(int fd, \ 247 struct linux_dirent *dent, unsigned int count); } 248142 STD { int|linux_sys||select(int nfds, fd_set *readfds, \ 249 fd_set *writefds, fd_set *exceptfds, \ 250 struct timeval50 *timeout); } 251143 NOARGS { int|sys||flock(int fd, int how); } 252144 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 253145 NOARGS { ssize_t|sys||readv(int fd, \ 254 const struct iovec *iovp, int iovcnt); } 255146 NOARGS { ssize_t|sys||writev(int fd, \ 256 const struct iovec *iovp, int iovcnt); } 257147 STD { int|linux_sys||cacheflush(void *addr, \ 258 int bytes, int cache); } 259148 UNIMPL cachectl 260149 STD { int|linux_sys||sysmips(long cmd, long arg1, \ 261 long arg2, long arg3); } 262150 UNIMPL 263151 NOARGS { pid_t|sys||getsid(pid_t pid); } 264152 STD { int|linux_sys||fdatasync(int fd); } 265153 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } 266154 NOARGS { int|sys||mlock(void *addr, size_t len); } 267155 NOARGS { int|sys||munlock(void *addr, size_t len); } 268156 NOARGS { int|sys||mlockall(int flags); } 269157 NOARGS { int|sys||munlockall(void); } 270158 STD { int|linux_sys||sched_setparam(pid_t pid, \ 271 const struct linux_sched_param *sp); } 272159 STD { int|linux_sys||sched_getparam(pid_t pid, \ 273 struct linux_sched_param *sp); } 274160 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ 275 int policy, const struct linux_sched_param *sp); } 276161 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 277162 STD { int|linux_sys||sched_yield(void); } 278163 STD { int|linux_sys||sched_get_priority_max(int policy); } 279164 STD { int|linux_sys||sched_get_priority_min(int policy); } 280165 UNIMPL sched_rr_get_interval 281166 STD { int|linux_sys||nanosleep( \ 282 const struct linux_timespec *rqtp, \ 283 struct linux_timespec *rmtp); } 284167 STD { void *|linux_sys||mremap(void *old_address, \ 285 size_t old_size, size_t new_size, u_long flags); } 286168 STD { int|linux_sys||accept(int s, \ 287 struct osockaddr *name, int *anamelen); } 288169 STD { int|linux_sys||bind(int s, \ 289 const struct osockaddr *name, int namelen); } 290170 STD { int|linux_sys||connect(int s, \ 291 const struct osockaddr *name, int namelen); } 292171 STD { int|linux_sys||getpeername(int fdes, void *asa, \ 293 int *alen); } 294172 STD { int|linux_sys||getsockname(int fdes, void *asa, \ 295 int *alen); } 296173 STD { int|linux_sys||getsockopt(int s, int level, \ 297 int optname, void *optval, int *optlen); } 298174 NOARGS { int|sys||listen(int s, int backlog); } 299175 STD { int|linux_sys||recv(int s, void *buf, int len, \ 300 int flags); } 301176 STD { int|linux_sys||recvfrom(int s, void *buf, int len, \ 302 int flags, struct osockaddr *from, \ 303 int *fromlenaddr); } 304177 STD { int|linux_sys||recvmsg(int s, \ 305 struct linux_msghdr *msg, u_int flags); } 306178 STD { int|linux_sys||send(int s, void *buf, int len, \ 307 int flags); } 308179 STD { int|linux_sys||sendmsg(int s, \ 309 struct linux_msghdr *msg, u_int flags); } 310180 STD { int|linux_sys||sendto(int s, void *msg, \ 311 int len, int flags, struct osockaddr *to, \ 312 int tolen); } 313181 STD { int|linux_sys||setsockopt(int s, int level, \ 314 int optname, void *optval, int optlen); } 315182 UNIMPL shutdown 316183 STD { int|linux_sys||socket(int domain, int type, \ 317 int protocol); } 318184 STD { int|linux_sys||socketpair(int domain, int type, \ 319 int protocol, int *rsv); } 320185 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \ 321 uid_t suid); } 322186 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \ 323 uid_t *suid); } 324187 UNIMPL query_module 325188 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ 326 int timeout); } 327189 UNIMPL nfsservctl 328190 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \ 329 gid_t sgid); } 330191 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \ 331 gid_t *sgid); } 332192 UNIMPL prctl 333193 STD { int|linux_sys||rt_sigreturn( \ 334 struct linux_pt_regs *regs); } 335194 STD { int|linux_sys||rt_sigaction(int signum, \ 336 const struct linux_sigaction *nsa, \ 337 struct linux_sigaction *osa, \ 338 size_t sigsetsize); } 339195 STD { int|linux_sys||rt_sigprocmask(int how, \ 340 const linux_sigset_t *set, \ 341 linux_sigset_t *oset, \ 342 size_t sigsetsize); } 343196 STD { int|linux_sys||rt_sigpending( \ 344 linux_sigset_t *set, \ 345 size_t sigsetsize); } 346197 STD { int|linux_sys||rt_sigtimedwait( \ 347 const linux_sigset_t *set, \ 348 linux_siginfo_t *info, \ 349 const struct linux_timespec *timeout); } 350198 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ 351 linux_siginfo_t *uinfo); } 352199 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ 353 size_t sigsetsize); } 354200 STD { int|linux_sys||pread(int fd, char *buf, \ 355 size_t nbyte, off_t offset); } 356201 STD { int|linux_sys||pwrite(int fd, char *buf, \ 357 size_t nbyte, off_t offset); } 358202 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \ 359 gid_t gid); } 360203 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 361204 UNIMPL capget 362205 UNIMPL capset 363206 STD { int|linux_sys||sigaltstack( \ 364 const struct linux_sigaltstack *ss, \ 365 struct linux_sigaltstack *oss); } 366207 UNIMPL sendfile 367208 UNIMPL 368209 UNIMPL 369#define linux_sys_mmap2_args linux_sys_mmap_args 370210 NOARGS { linux_off_t|linux_sys||mmap2(unsigned long addr, \ 371 size_t len, int prot, int flags, int fd, \ 372 linux_off_t offset); } 373211 STD { int|linux_sys||truncate64(const char *path, \ 374 off_t length); } 375212 STD { int|linux_sys||ftruncate64(unsigned int fd, \ 376 off_t length); } 377213 STD { int|linux_sys||stat64(const char *path, \ 378 struct linux_stat64 *sp); } 379214 STD { int|linux_sys||lstat64(const char *path, \ 380 struct linux_stat64 *sp); } 381215 STD { int|linux_sys||fstat64(int fd, \ 382 struct linux_stat64 *sp); } 383216 UNIMPL pivot_root 384217 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 385218 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 386219 STD { int|linux_sys||getdents64(int fd, \ 387 struct linux_dirent64 *dent, unsigned int count); } 388220 STD { int|linux_sys||fcntl64(int fd, \ 389 int cmd, void *arg); } 390221 UNIMPL /* reserved */ 391222 NOARGS { pid_t|linux_sys||gettid(void); } 392223 STD { ssize_t|linux_sys||readahead(int fd, off_t offset, \ 393 size_t count); } 394224 STD { int|linux_sys||setxattr(char *path, char *name, \ 395 void *value, size_t size, int flags); } 396225 STD { int|linux_sys||lsetxattr(char *path, char *name, \ 397 void *value, size_t size, int flags); } 398226 STD { int|linux_sys||fsetxattr(int fd, char *name, \ 399 void *value, size_t size, int flags); } 400227 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ 401 void *value, size_t size); } 402228 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ 403 void *value, size_t size); } 404229 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ 405 void *value, size_t size); } 406230 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ 407 size_t size); } 408231 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ 409 size_t size); } 410232 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ 411 size_t size); } 412233 STD { int|linux_sys||removexattr(char *path, char *name); } 413234 STD { int|linux_sys||lremovexattr(char *path, char *name); } 414235 STD { int|linux_sys||fremovexattr(int fd, char *name); } 415236 STD { int|linux_sys||tkill(int tid, int sig); } 416237 UNIMPL sendfile64 417238 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ 418 const struct linux_timespec *timeout, int *uaddr2, \ 419 int val3); } 420239 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ 421 unsigned int len, unsigned long *mask); } 422240 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ 423 unsigned int len, unsigned long *mask); } 424241 UNIMPL io_setup 425242 UNIMPL io_destroy 426243 UNIMPL io_getevents 427244 UNIMPL io_submit 428245 UNIMPL io_cancel 429246 STD { int|linux_sys||exit_group(int error_code); } 430247 UNIMPL lookup_dcookie 431248 STD { int|linux_sys||epoll_create(int size); } 432249 STD { int|linux_sys||epoll_ctl(int epfd, int op, int fd, \ 433 struct linux_epoll_event *event); } 434250 STD { int|linux_sys||epoll_wait(int epfd, \ 435 struct linux_epoll_event *events, int maxevents, \ 436 int timeout); } 437251 UNIMPL remap_file_pages 438252 STD { int|linux_sys||set_tid_address(int *tid); } 439253 UNIMPL restart_syscall 440254 STD { int|linux_sys||fadvise64(int fd, off_t offset, \ 441 size_t len, int advice); } 442255 STD { int|linux_sys||statfs64(const char *path, \ 443 size_t sz, struct linux_statfs64 *sp); } 444256 STD { int|linux_sys||fstatfs64(int fd, \ 445 size_t sz, struct linux_statfs64 *sp); } 446257 STD { int|linux_sys||timer_create(clockid_t clockid, \ 447 struct linux_sigevent *evp, timer_t *timerid); } 448258 STD { int|linux_sys||timer_settime(timer_t timerid, \ 449 int flags, const struct linux_itimerspec *tim, \ 450 struct linux_itimerspec *otim); } 451259 STD { int|linux_sys||timer_gettime(timer_t timerid, \ 452 struct linux_itimerspec *tim); } 453260 NOARGS { int|sys||timer_getoverrun(timer_t timerid); } 454261 NOARGS { int|sys||timer_delete(timer_t timerid); } 455262 STD { int|linux_sys||clock_settime(clockid_t which, \ 456 struct linux_timespec *tp); } 457263 STD { int|linux_sys||clock_gettime(clockid_t which, \ 458 struct linux_timespec *tp); } 459264 STD { int|linux_sys||clock_getres(clockid_t which, \ 460 struct linux_timespec *tp); } 461265 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ 462 int flags, struct linux_timespec *rqtp, \ 463 struct linux_timespec *rmtp); } 464266 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } 465267 NOARGS { int|compat_50_sys||utimes(const char *path, \ 466 const struct timeval50 *tptr); } 467268 UNIMPL mbind 468269 UNIMPL get_mempolicy 469270 UNIMPL set_mempolicy 470271 UNIMPL mq_open 471272 UNIMPL mq_unlink 472273 UNIMPL mq_timedsend 473274 UNIMPL mq_timedreceive 474275 UNIMPL mq_notify 475276 UNIMPL mq_getsetattr 476277 UNIMPL vserve 477278 UNIMPL waitid 478279 UNIMPL setaltroot 479280 UNIMPL add_key 480281 UNIMPL request_key 481282 UNIMPL keyctl 482283 STD { int|linux_sys||set_thread_area(void *tls); } 483284 UNIMPL inotify_init 484285 UNIMPL inotify_add_watch 485286 UNIMPL inotify_rm_watch 486287 UNIMPL migrate_pages 487288 STD { int|linux_sys||openat(int fd, const char *path, \ 488 int flags, ... linux_umode_t mode); } 489289 NOARGS { int|sys||mkdirat(int fd, const char *path, \ 490 linux_umode_t mode); } 491290 STD { int|linux_sys||mknodat(int fd, const char *path, \ 492 linux_umode_t mode, unsigned dev); } 493291 STD { int|linux_sys||fchownat(int fd, const char *path, \ 494 uid_t owner, gid_t group, int flag); } 495292 UNIMPL futimesat 496293 STD { int|linux_sys||fstatat64(int fd, const char *path, \ 497 struct linux_stat64 *sp, int flag); } 498294 STD { int|linux_sys||unlinkat(int fd, const char *path, \ 499 int flag); } 500295 NOARGS { int|sys||renameat(int fromfd, const char *from, \ 501 int tofd, const char *to); } 502296 STD { int|linux_sys||linkat(int fd1, const char *name1, \ 503 int fd2, const char *name2, int flags); } 504297 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ 505 const char *path2); } 506298 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ 507 char *buf, size_t bufsize); } 508299 STD { int|linux_sys||fchmodat(int fd, const char *path, \ 509 linux_umode_t mode); } 510300 STD { int|linux_sys||faccessat(int fd, const char *path, \ 511 int amode); } 512301 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ 513 fd_set *writefds, fd_set *exceptfds, \ 514 struct linux_timespec *timeout, \ 515 linux_sized_sigset_t *ss); } 516302 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \ 517 struct linux_timespec *timeout, \ 518 linux_sigset_t *sigset); } 519303 UNIMPL unshare 520304 UNIMPL splice 521305 UNIMPL sync_file_range 522306 UNIMPL tee 523307 UNIMPL vmsplice 524308 UNIMPL move_pages 525 ; 526 ; The NetBSD native robust list calls have different 527 ; argument names / types, but they are ABI-compatible 528 ; with Linux. 529 ; 530309 NOARGS { int|sys||__futex_set_robust_list(void *head, \ 531 size_t len); } 532310 NOARGS { int|sys||__futex_get_robust_list(lwpid_t lwpid, \ 533 void **headp, size_t *lenp); } 534311 UNIMPL kexec_load 535312 UNIMPL getcpu 536313 STD { int|linux_sys||epoll_pwait(int epfd, \ 537 struct linux_epoll_event *events, int maxevents, \ 538 int timeout, const linux_sigset_t *sigmask); } 539314 UNIMPL ioprio_set 540315 UNIMPL ioprio_get 541316 STD { int|linux_sys||utimensat(int fd, const char *path, \ 542 struct linux_timespec *times, int flag); } 543317 UNIMPL signalfd 544318 UNIMPL timerfd 545319 STD { int|linux_sys||eventfd(unsigned int initval); } 546320 STD { int|linux_sys||fallocate(int fd, int mode, \ 547 off_t offset, off_t len); } 548321 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \ 549 int flags); } 550322 STD { int|linux_sys||timerfd_gettime(int fd, \ 551 struct linux_itimerspec *tim); } 552323 STD { int|linux_sys||timerfd_settime(int fd, int flags, \ 553 const struct linux_itimerspec *tim, \ 554 struct linux_itimerspec *otim); } 555324 UNIMPL signalfd4 556325 STD { int|linux_sys||eventfd2(unsigned int initval, \ 557 int flags); } 558326 STD { int|linux_sys||epoll_create1(int flags); } 559327 STD { int|linux_sys||dup3(int from, int to, int flags); } 560328 STD { int|linux_sys||pipe2(int *pfds, int flags); } 561329 UNIMPL inotify_init1 562330 STD { int|linux_sys||preadv(int fd, \ 563 const struct iovec *iovp, int iovcnt, \ 564 unsigned long off_lo, unsigned long off_hi); } 565331 STD { int|linux_sys||pwritev(int fd, \ 566 const struct iovcnt *iovp, int iovcnt, \ 567 unsigned long off_lo, unsigned long off_hi); } 568332 UNIMPL rt_tgsigqueueinfo 569333 UNIMPL perf_event_open 570334 STD { int|linux_sys||accept4(int s, \ 571 struct osockaddr *name, \ 572 int *anamelen, int flags); } 573335 STD { int|linux_sys||recvmmsg(int s, \ 574 struct linux_mmsghdr *msgvec, unsigned int vlen, \ 575 unsigned int flags, struct timespec *timeout); } 576336 UNIMPL getdents64 577337 UNIMPL fanotify_init 578338 UNIMPL fanotify_mark 579339 STD { int|linux_sys||prlimit64(pid_t pid, int which, \ 580 struct rlimit *new_rlp, struct rlimit *old_rlp); } 581340 UNIMPL name_to_handle_at 582341 UNIMPL open_by_handle_at 583342 UNIMPL clock_adjtime 584343 UNIMPL syncfs 585344 STD { int|linux_sys||sendmmsg(int s, \ 586 struct linux_mmsghdr *msgvec, unsigned int vlen, \ 587 unsigned int flags); } 588345 UNIMPL setns 589346 UNIMPL process_vm_readv 590347 UNIMPL process_vm_writev 591348 UNIMPL kcmp 592349 UNIMPL finit_module 593350 UNIMPL sched_setattr 594351 UNIMPL sched_getattr 595352 UNIMPL renameat2 596353 NOARGS { ssize_t|sys||getrandom(void *buf, size_t buflen, \ 597 unsigned int flags); } 598354 STD { int|linux_sys||memfd_create(const char *name, \ 599 unsigned int flags); } 600355 UNIMPL bpf 601356 UNIMPL execveat 602357 UNIMPL userfaultfd 603358 UNIMPL membarrier 604359 UNIMPL mlock2 605360 UNIMPL copy_file_range 606361 UNIMPL preadv2 607362 UNIMPL pwritev2 608363 UNIMPL pkey_mprotect 609364 UNIMPL pkey_alloc 610365 UNIMPL pkey_free 611366 STD { int|linux_sys||statx(int fd, const char *path, \ 612 int flag, unsigned int mask, \ 613 struct linux_statx *sp); } 614367 UNIMPL 615368 UNIMPL 616369 UNIMPL 617370 UNIMPL 618371 UNIMPL 619372 UNIMPL 620373 UNIMPL 621374 UNIMPL 622375 UNIMPL 623376 UNIMPL 624377 UNIMPL 625378 UNIMPL 626379 UNIMPL 627380 UNIMPL 628381 UNIMPL 629382 UNIMPL 630383 UNIMPL 631384 UNIMPL 632385 UNIMPL 633386 UNIMPL 634387 UNIMPL 635388 UNIMPL 636389 UNIMPL 637390 UNIMPL 638391 UNIMPL 639392 UNIMPL 640393 UNIMPL 641394 UNIMPL 642395 UNIMPL 643396 UNIMPL 644397 UNIMPL 645398 UNIMPL 646399 UNIMPL 647400 UNIMPL 648401 UNIMPL 649402 UNIMPL 650403 UNIMPL 651404 UNIMPL 652405 UNIMPL 653406 UNIMPL 654407 UNIMPL 655408 UNIMPL 656409 UNIMPL 657410 UNIMPL 658411 UNIMPL 659412 UNIMPL 660413 UNIMPL 661414 UNIMPL 662415 UNIMPL 663416 UNIMPL 664417 UNIMPL 665418 UNIMPL 666419 UNIMPL 667420 UNIMPL 668421 UNIMPL 669422 UNIMPL 670423 UNIMPL 671424 UNIMPL 672425 UNIMPL 673426 UNIMPL 674427 UNIMPL 675428 UNIMPL 676429 UNIMPL 677430 UNIMPL 678431 UNIMPL 679432 UNIMPL 680433 UNIMPL 681434 UNIMPL 682435 UNIMPL 683436 STD { int|linux_sys||close_range(unsigned int first, \ 684 unsigned int last, unsigned int flags); } 685437 UNIMPL 686438 UNIMPL 687439 UNIMPL 688440 UNIMPL 689441 STD { int|linux_sys||epoll_pwait2(int epfd, \ 690 struct linux_epoll_event *events, int maxevents, \ 691 const struct linux_timespec *timeout, \ 692 const linux_sigset_t *sigmask); } 693