1 $NetBSD: syscalls.master,v 1.80 2021/12/02 04:29:48 ryo Exp $ 2 3; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 4 5; Derived from NetBSD's sys/compat/linux/arch/i386/syscalls.master 6; sys/compat/linux/arch/m68k/syscalls.master 7; and from Linux's arch/ppc/kernel/misc.S 8; 9; We have problems for a few syscalls, specially: 10; 142 ppc_select -> sys_new_select -> sys_select (Conflicts with 82 ???). 11; 12; Expect problems with the following, which have an architecture dependent 13; implementation in Linux/powerpc: 14; 29 pause 15; 42 pipe tested. no problem. 16; 59 olduname 17; 101 ioperm 18; 109 uname 19; 117 ipc 20; 21; Most of syscalls after 182 that were introduced in Linux-2.4 are UNIMPL. 22; 23; The following are UNIMPL here. The Linux kernel implements them but just logs 24; a kernel error and returns -ENOSYS. 25; 110 iopl 26; 113 vm86 27; 123 modify_ldt 28; 198 sys_pciconfig_read 29; 199 sys_pciconfig_write 30; 200 sys_pciconfig_iobase 31; 32; Emmanuel Dreyfus <p99dreyf@criens.u-psud.fr> 33 34; NetBSD powerpc COMPAT_LINUX system call name/number "master" file. 35; (See syscalls.conf to see what it is processed into.) 36; 37; Fields: number type [type-dependent ...] 38; number system call number, must be in order 39; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of 40; the compatibility options defined in syscalls.conf. 41; 42; types: 43; STD always included 44; OBSOL obsolete, not included in system 45; UNIMPL unimplemented, not included in system 46; NODEF included, but don't define the syscall number 47; NOARGS included, but don't define the syscall args structure 48; INDIR included, but don't define the syscall args structure 49; and allow it to be "really" varargs. 50; 51; The compat options are defined in the syscalls.conf file, and the 52; compat option name is prefixed to the syscall name. Other than 53; that, they're like NODEF (for 'compat' options), or STD (for 54; 'libcompat' options). 55; 56; The type-dependent arguments are as follows: 57; For STD, NODEF, NOARGS, and compat syscalls: 58; { pseudo-proto } [alias] 59; For other syscalls: 60; [comment] 61; 62; #ifdef's, etc. may be included, and are copied to the output files. 63; #include's are copied to the syscall names and switch definition files only. 64 65#include <sys/param.h> 66#include <sys/poll.h> 67#include <sys/systm.h> 68#include <sys/signal.h> 69#include <sys/mount.h> 70#include <sys/syscallargs.h> 71 72#include <compat/linux/common/linux_types.h> 73#include <compat/linux/common/linux_signal.h> 74#include <compat/linux/common/linux_siginfo.h> 75#include <compat/linux/common/linux_machdep.h> 76#include <compat/linux/common/linux_mmap.h> 77 78#include <compat/linux/linux_syscallargs.h> 79 80%% 81 820 NOARGS { int|linux_sys||nosys(void); } syscall 831 STD { int|linux_sys||exit(int rval); } 842 NOARGS { int|sys||fork(void); } 853 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 864 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ 87 size_t nbyte); } 885 STD { int|linux_sys||open(const char *path, int flags, \ 89 linux_umode_t mode); } 906 NOARGS { int|sys||close(int fd); } 917 STD { int|linux_sys||waitpid(int pid, int *status, \ 92 int options);} 938 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); } 949 NOARGS { int|sys||link(const char *path, const char *link); } 9510 STD { int|linux_sys||unlink(const char *path); } 9611 NOARGS { int|sys||execve(const char *path, char **argp, \ 97 char **envp); } 9812 NOARGS { int|sys||chdir(const char *path); } 9913 STD { int|linux_sys||time(linux_time_t *t); } 10014 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \ 101 unsigned dev); } 10215 NOARGS { int|sys||chmod(const char *path, int mode); } 10316 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ 104 gid_t gid); } 10517 OBSOL break 10618 OBSOL ostat 10719 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ 108 int whence); } 10920 NOARGS { pid_t|sys||getpid(void); } 11021 UNIMPL mount 11122 OBSOL umount 11223 NOARGS { int|sys||setuid(uid_t uid); } 11324 NOARGS { uid_t|sys||getuid(void); } 11425 STD { int|linux_sys||stime(linux_time_t *t); } 11526 STD { int|linux_sys||ptrace(int request, int pid, \ 116 long addr, long data); } 11727 STD { int|linux_sys||alarm(unsigned int secs); } 11828 OBSOL ofstat 11929 STD { int|linux_sys||pause(void); } 12030 STD { int|linux_sys||utime(const char *path, \ 121 struct linux_utimbuf *times); } 12231 OBSOL stty 12332 OBSOL gtty 12433 NOARGS { int|sys||access(const char *path, int flags); } 12534 STD { int|linux_sys||nice(int incr); } 12635 OBSOL ftime 12736 NOARGS { int|sys||sync(void); } 12837 STD { int|linux_sys||kill(int pid, int signum); } 12938 NOARGS { int|sys||__posix_rename(const char *from, \ 130 const char *to); } 13139 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } 13240 NOARGS { int|sys||rmdir(const char *path); } 13341 NOARGS { int|sys||dup(int fd); } 13442 STD { int|linux_sys||pipe(int *pfds); } 13543 STD { int|linux_sys||times(struct times *tms); } 13644 OBSOL prof 13745 STD { int|linux_sys||brk(char *nsize); } 13846 NOARGS { int|sys||setgid(gid_t gid); } 13947 NOARGS { gid_t|sys||getgid(void); } 14048 STD { int|linux_sys||signal(int signum, \ 141 linux_handler_t handler); } 14249 NOARGS { uid_t|sys||geteuid(void); } 14350 NOARGS { gid_t|sys||getegid(void); } 14451 NOARGS { int|sys||acct(char *path); } 14552 UNIMPL umount 14653 OBSOL lock 14754 STD { int|linux_sys||ioctl(int fd, u_long com, \ 148 void *data); } 14955 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 15056 OBSOL mpx 15157 NOARGS { int|sys||setpgid(int pid, int pgid); } 15258 OBSOL ulimit 15359 STD { int|linux_sys||olduname(struct linux_old_utsname \ 154 *up); } 15560 NOARGS { int|sys||umask(int newmask); } 15661 NOARGS { int|sys||chroot(char *path); } 15762 UNIMPL ustat 15863 NOARGS { int|sys||dup2(int from, int to); } 15964 NOARGS { pid_t|sys||getppid(void); } 16065 NOARGS { int|sys||getpgrp(void); } 16166 NOARGS { int|sys||setsid(void); } 16267 STD { int|linux_sys||sigaction(int signum, \ 163 const struct linux_old_sigaction *nsa, \ 164 struct linux_old_sigaction *osa); } 16568 STD { int|linux_sys||siggetmask(void); } 16669 STD { int|linux_sys||sigsetmask(linux_old_sigset_t mask); } 16770 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); } 16871 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); } 16972 STD { int|linux_sys||sigsuspend(void *restart, \ 170 int oldmask, int mask); } 17173 STD { int|linux_sys||sigpending(linux_old_sigset_t *set); } 17274 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ 173 u_int len);} 17475 STD { int|linux_sys||setrlimit(u_int which, \ 175 struct orlimit *rlp); } 17676 STD { int|linux_sys||getrlimit(u_int which, \ 177 struct orlimit *rlp); } 17877 NOARGS { int|compat_50_sys||getrusage(int who, \ 179 struct rusage50 *rusage); } 18078 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ 181 struct timezone *tzp); } 18279 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ 183 struct timezone *tzp); } 18480 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); } 18581 NOARGS { int|sys||setgroups(int gidsetsize, gid_t *gidset); } 18682 STD { int|linux_sys||select(int nfds, fd_set* readfds, \ 187 fd_set* writefds, fd_set* exceptfds, \ 188 struct timeval50 *timeout); } 18983 NOARGS { int|sys||symlink(const char *path, const char *to); } 19084 NOARGS { int|compat_43_sys||lstat(const char *path, \ 191 struct stat43 *up); } oolstat 19285 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ 193 int count); } 194#ifdef EXEC_AOUT 19586 STD { int|linux_sys||uselib(const char *path); } 196#else 19786 UNIMPL sys_uselib 198#endif 19987 STD { int|linux_sys||swapon(char *name); } 20088 STD { int|linux_sys||reboot(int magic1, int magic2, \ 201 int cmd, void *arg); } 20289 STD { int|linux_sys||readdir(int fd, void *dent, \ 203 unsigned int count); } 20490 NOARGS { int|linux_sys||mmap(unsigned long addr, size_t len, \ 205 int prot, int flags, int fd, linux_off_t offset); } 20691 NOARGS { int|sys||munmap(void *addr, size_t len); } 20792 NOARGS { int|compat_43_sys||truncate(const char *path, \ 208 long length); } 20993 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } 21094 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } 21195 NOARGS { int|sys||__posix_fchown(int fd, uid_t uid, \ 212 gid_t gid); } 21396 STD { int|linux_sys||getpriority(int which, int who); } 21497 NOARGS { int|sys||setpriority(int which, int who, int prio); } 21598 NOARGS { int|sys||profil(void *samples, u_int size, \ 216 u_int offset, u_int scale); } 21799 STD { int|linux_sys||statfs(const char *path, \ 218 struct linux_statfs *sp); } 219100 STD { int|linux_sys||fstatfs(int fd, \ 220 struct linux_statfs *sp); } 221101 UNIMPL ioperm 222102 STD { int|linux_sys||socketcall(int what, void *args); } 223103 UNIMPL syslog 224104 NOARGS { int|compat_50_sys||setitimer(int which, \ 225 struct itimerval50 *itv, \ 226 struct itimerval50 *oitv); } 227105 NOARGS { int|compat_50_sys||getitimer(int which, \ 228 struct itimerval50 *itv); } 229106 STD { int|linux_sys||stat(const char *path, \ 230 struct linux_stat *sp); } 231107 STD { int|linux_sys||lstat(const char *path, \ 232 struct linux_stat *sp); } 233108 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); } 234109 STD { int|linux_sys||uname(struct linux_utsname *up); } 235110 UNIMPL iopl 236111 UNIMPL vhangup 237112 UNIMPL idle 238113 UNIMPL vm86old 239114 STD { int|linux_sys||wait4(int pid, int *status, \ 240 int options, struct rusage50 *rusage); } 241115 STD { int|linux_sys||swapoff(const char *path); } 242116 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 243117 STD { int|linux_sys||ipc(int what, int a1, int a2, int a3, \ 244 void *ptr); } 245118 NOARGS { int|sys||fsync(int fd); } 246119 STD { int|linux_sys||sigreturn(struct linux_sigcontext *scp); } 247120 STD { int|linux_sys||clone(int flags, void *stack, \ 248 void *parent_tidptr, void *tls, void *child_tidptr); } 249121 STD { int|linux_sys||setdomainname(char *domainname, \ 250 int len); } 251122 STD { int|linux_sys||new_uname(struct linux_utsname *up); } 252123 UNIMPL modify_ldt 253124 UNIMPL adjtimex 254125 STD { int|linux_sys||mprotect(const void *start, \ 255 unsigned long len, int prot); } 256126 STD { int|linux_sys||sigprocmask(int how, \ 257 const linux_old_sigset_t *set, \ 258 linux_old_sigset_t *oset); } 259127 UNIMPL create_module 260128 UNIMPL init_module 261129 UNIMPL delete_module 262130 UNIMPL get_kernel_syms 263131 UNIMPL quotactl 264132 NOARGS { pid_t|sys||getpgid(pid_t pid); } 265133 NOARGS { int|sys||fchdir(int fd); } 266134 UNIMPL bdflush 267135 UNIMPL sysfs 268136 STD { int|linux_sys||personality(unsigned long per); } 269137 UNIMPL afs_syscall 270138 STD { int|linux_sys||setfsuid(uid_t uid); } 271139 STD { int|linux_sys||setfsgid(gid_t gid); } 272140 STD { int|linux_sys||llseek(int fd, u_int32_t ohigh, \ 273 u_int32_t olow, void *res, int whence); } 274141 STD { int|linux_sys||getdents(int fd, \ 275 struct linux_dirent *dent, unsigned int count); } 276142 STD { int|linux_sys||new_select(int nfds, fd_set *readfds, \ 277 fd_set *writefds, fd_set *exceptfds, \ 278 struct timeval50 *timeout); } 279143 NOARGS { int|sys||flock(int fd, int how); } 280144 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 281145 NOARGS { ssize_t|sys||readv(int fd, \ 282 const struct iovec *iovp, int iovcnt); } 283146 NOARGS { ssize_t|sys||writev(int fd, \ 284 const struct iovec *iovp, int iovcnt); } 285147 NOARGS { pid_t|sys||getsid(pid_t pid); } 286148 STD { int|linux_sys||fdatasync(int fd); } 287149 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } 288150 NOARGS { int|sys||mlock(void *addr, size_t len); } 289151 NOARGS { int|sys||munlock(void *addr, size_t len); } 290152 NOARGS { int|sys||mlockall(int flags); } 291153 NOARGS { int|sys||munlockall(void); } 292154 STD { int|linux_sys||sched_setparam(pid_t pid, \ 293 const struct linux_sched_param *sp); } 294155 STD { int|linux_sys||sched_getparam(pid_t pid, \ 295 struct linux_sched_param *sp); } 296156 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ 297 int policy, const struct linux_sched_param *sp); } 298157 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 299158 STD { int|linux_sys||sched_yield(void); } 300159 STD { int|linux_sys||sched_get_priority_max(int policy); } 301160 STD { int|linux_sys||sched_get_priority_min(int policy); } 302161 UNIMPL sched_rr_get_interval 303162 STD { int|linux_sys||nanosleep( \ 304 const struct linux_timespec *rqtp, \ 305 struct linux_timespec *rmtp); } 306163 STD { void *|linux_sys||mremap(void *old_address, \ 307 size_t old_size, size_t new_size, u_long flags); } 308164 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \ 309 uid_t suid); } 310165 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \ 311 uid_t *suid); } 312166 UNIMPL query_module 313167 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ 314 int timeout); } 315168 UNIMPL nfsservctl 316169 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \ 317 gid_t sgid); } 318170 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \ 319 gid_t *sgid); } 320171 UNIMPL prctl 321172 STD { int|linux_sys||rt_sigreturn( \ 322 struct linux_rt_sigframe *sfp); } 323173 STD { int|linux_sys||rt_sigaction(int signum, \ 324 const struct linux_sigaction *nsa, \ 325 struct linux_sigaction *osa, \ 326 size_t sigsetsize); } 327174 STD { int|linux_sys||rt_sigprocmask(int how, \ 328 const linux_sigset_t *set, \ 329 linux_sigset_t *oset, \ 330 size_t sigsetsize); } 331175 STD { int|linux_sys||rt_sigpending( \ 332 linux_sigset_t *set, \ 333 size_t sigsetsize); } 334176 STD { int|linux_sys||rt_sigtimedwait( \ 335 const linux_sigset_t *set, \ 336 linux_siginfo_t *info, \ 337 const struct linux_timespec *timeout); } 338177 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ 339 linux_siginfo_t *uinfo); } 340178 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ 341 size_t sigsetsize); } 342179 STD { int|linux_sys||pread(int fd, char *buf, \ 343 size_t nbyte, off_t offset); } 344180 STD { int|linux_sys||pwrite(int fd, char *buf, \ 345 size_t nbyte, off_t offset); } 346181 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \ 347 gid_t gid); } 348182 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 349183 UNIMPL capget 350184 UNIMPL capset 351185 STD { int|linux_sys||sigaltstack( \ 352 const struct linux_sigaltstack *ss, \ 353 struct linux_sigaltstack *oss); } 354186 UNIMPL sendfile 355187 UNIMPL getpmsg 356188 UNIMPL putpmsg 357189 NOARGS { int|sys|14|vfork(void); } 358190 STD { int|linux_sys||ugetrlimit(int which, \ 359 struct rlimit *rlp); } 360191 UNIMPL /* unused */ 361#define linux_sys_mmap2_args linux_sys_mmap_args 362192 NOARGS { linux_off_t|linux_sys||mmap2(unsigned long addr, \ 363 size_t len, int prot, int flags, int fd, \ 364 linux_off_t offset); } 365193 STD { int|linux_sys||truncate64(const char *path, \ 366 off_t length); } 367194 STD { int|linux_sys||ftruncate64(unsigned int fd, \ 368 off_t length); } 369195 STD { int|linux_sys||stat64(const char *path, \ 370 struct linux_stat64 *sp); } 371196 STD { int|linux_sys||lstat64(const char *path, \ 372 struct linux_stat64 *sp); } 373197 STD { int|linux_sys||fstat64(int fd, \ 374 struct linux_stat64 *sp); } 375198 UNIMPL sys_pciconfig_read 376199 UNIMPL sys_pciconfig_write 377200 UNIMPL sys_pciconfig_iobase 378201 UNIMPL /* Unused (MacOnLinux project) */ 379202 STD { int|linux_sys||getdents64(int fd, \ 380 struct linux_dirent64 *dent, unsigned int count); } 381203 UNIMPL pivot_root 382204 STD { int|linux_sys||fcntl64(int fd, int cmd, void *arg); } 383205 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 384206 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 385207 NOARGS { pid_t|linux_sys||gettid(void); } 386208 STD { int|linux_sys||tkill(int tid, int sig); } 387209 STD { int|linux_sys||setxattr(char *path, char *name, \ 388 void *value, size_t size, int flags); } 389210 STD { int|linux_sys||lsetxattr(char *path, char *name, \ 390 void *value, size_t size, int flags); } 391211 STD { int|linux_sys||fsetxattr(int fd, char *name, \ 392 void *value, size_t size, int flags); } 393212 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ 394 void *value, size_t size); } 395213 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ 396 void *value, size_t size); } 397214 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ 398 void *value, size_t size); } 399215 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ 400 size_t size); } 401216 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ 402 size_t size); } 403217 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ 404 size_t size); } 405218 STD { int|linux_sys||removexattr(char *path, char *name); } 406219 STD { int|linux_sys||lremovexattr(char *path, char *name); } 407220 STD { int|linux_sys||fremovexattr(int fd, char *name); } 408221 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ 409 const struct linux_timespec *timeout, int *uaddr2, \ 410 int val3); } 411222 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ 412 unsigned int len, unsigned long *mask); } 413223 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ 414 unsigned int len, unsigned long *mask); } 415224 UNIMPL /* unused */ 416225 UNIMPL tuxcall 417226 UNIMPL sendfile64 418227 UNIMPL io_setup 419228 UNIMPL io_destroy 420229 UNIMPL io_getevents 421230 UNIMPL io_submit 422231 UNIMPL io_cancel 423232 STD { int|linux_sys||set_tid_address(int *tid); } 424233 STD { int|linux_sys||fadvise64(int fd, off_t offset, \ 425 size_t len, int advice); } 426234 STD { int|linux_sys||exit_group(int error_code); } 427235 UNIMPL lookup_dcookie 428236 UNIMPL epoll_create 429237 UNIMPL epoll_ctl 430238 UNIMPL epoll_wait 431239 UNIMPL remap_file_pages 432240 STD { int|linux_sys||timer_create(clockid_t clockid, \ 433 struct linux_sigevent *evp, timer_t *timerid); } 434241 STD { int|linux_sys||timer_settime(timer_t timerid, \ 435 int flags, const struct linux_itimerspec *tim, \ 436 struct linux_itimerspec *otim); } 437242 STD { int|linux_sys||timer_gettime(timer_t timerid, \ 438 struct linux_itimerspec *tim); } 439243 NOARGS { int|sys||timer_getoverrun(timer_t timerid); } 440244 NOARGS { int|sys||timer_delete(timer_t timerid); } 441245 STD { int|linux_sys||clock_settime(clockid_t which, \ 442 struct linux_timespec *tp); } 443246 STD { int|linux_sys||clock_gettime(clockid_t which, \ 444 struct linux_timespec *tp); } 445247 STD { int|linux_sys||clock_getres(clockid_t which, \ 446 struct linux_timespec *tp); } 447248 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ 448 int flags, struct linux_timespec *rqtp, \ 449 struct linux_timespec *rmtp); } 450249 UNIMPL swapcontext 451250 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } 452251 NOARGS { int|compat_50_sys||utimes(const char *path, \ 453 const struct timeval50 *tptr); } 454252 STD { int|linux_sys||statfs64(const char *path, \ 455 size_t sz, struct linux_statfs64 *sp); } 456253 STD { int|linux_sys||fstatfs64(int fd, \ 457 size_t sz, struct linux_statfs64 *sp); } 458254 STD { int|linux_sys||fadvise64_64(int fd, off_t offset, \ 459 off_t len, int advice); } 460255 UNIMPL rtas 461256 UNIMPL /* reserved for sys_debug_setcontext */ 462257 UNIMPL /* reserved for vserver */ 463258 UNIMPL /* reserved for new sys_remap_file_pages */ 464259 UNIMPL /* reserved for new sys_mbind */ 465260 UNIMPL /* reserved for new sys_get_mempolicy */ 466261 UNIMPL /* reserved for new sys_set_mempolicy */ 467262 UNIMPL mq_open 468263 UNIMPL mq_unlink 469264 UNIMPL mq_timedsend 470265 UNIMPL mq_timedreceive 471266 UNIMPL mq_notify 472267 UNIMPL mq_getsetattr 473268 UNIMPL kexec_load 474269 UNIMPL add_key 475270 UNIMPL request_key 476271 UNIMPL keyctl 477272 UNIMPL waitid 478273 UNIMPL ioprio_set 479274 UNIMPL ioprio_get 480275 UNIMPL inotify_init 481276 UNIMPL inotify_add_watch 482277 UNIMPL inotify_rm_watch 483278 UNIMPL spu_run 484279 UNIMPL spu_create 485280 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ 486 fd_set *writefds, fd_set *exceptfds, \ 487 struct linux_timespec *timeout, \ 488 linux_sized_sigset_t *ss); } 489281 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \ 490 struct linux_timespec *timeout, \ 491 linux_sigset_t *sigset); } 492282 UNIMPL unshare 493283 UNIMPL splice 494284 UNIMPL tee 495285 UNIMPL vmsplice 496286 STD { int|linux_sys||openat(int fd, const char *path, \ 497 int flags, ... linux_umode_t mode); } 498287 NOARGS { int|sys||mkdirat(int fd, const char *path, \ 499 linux_umode_t mode); } 500288 STD { int|linux_sys||mknodat(int fd, const char *path, \ 501 linux_umode_t mode, unsigned dev); } 502289 STD { int|linux_sys||fchownat(int fd, const char *path, \ 503 uid_t owner, gid_t group, int flag); } 504290 UNIMPL futimesat 505291 STD { int|linux_sys||fstatat64(int fd, const char *path, \ 506 struct linux_stat64 *sp, int flag); } 507292 STD { int|linux_sys||unlinkat(int fd, const char *path, \ 508 int flag); } 509293 NOARGS { int|sys||renameat(int fromfd, const char *from, \ 510 int tofd, const char *to); } 511294 STD { int|linux_sys||linkat(int fd1, const char *name1, \ 512 int fd2, const char *name2, int flags); } 513295 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ 514 const char *path2); } 515296 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ 516 char *buf, size_t bufsize); } 517297 STD { int|linux_sys||fchmodat(int fd, const char *path, \ 518 linux_umode_t mode); } 519298 STD { int|linux_sys||faccessat(int fd, const char *path, \ 520 int amode); } 521 ; 522 ; The NetBSD native robust list calls have different 523 ; argument names / types, but they are ABI-compatible 524 ; with Linux. 525 ; 526299 NOARGS { int|sys||__futex_set_robust_list(void *head, \ 527 size_t len); } 528300 NOARGS { int|sys||__futex_get_robust_list(lwpid_t lwpid, \ 529 void **headp, size_t *lenp); } 530301 UNIMPL move_pages 531302 UNIMPL getcpu 532303 UNIMPL epoll_wait 533304 STD { int|linux_sys||utimensat(int fd, const char *path, \ 534 struct linux_timespec *times, int flag); } 535305 UNIMPL signalfd 536306 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \ 537 int flags); } 538307 STD { int|linux_sys||eventfd(unsigned int initval); } 539308 UNIMPL sync_file_range2 540309 STD { int|linux_sys||fallocate(int fd, int mode, \ 541 off_t offset, off_t len); } 542310 UNIMPL subpage_prot 543311 STD { int|linux_sys||timerfd_settime(int fd, int flags, \ 544 const struct linux_itimerspec *tim, \ 545 struct linux_itimerspec *otim); } 546312 STD { int|linux_sys||timerfd_gettime(int fd, \ 547 struct linux_itimerspec *tim); } 548313 UNIMPL signalfd4 549314 STD { int|linux_sys||eventfd2(unsigned int initval, \ 550 int flags); } 551315 UNIMPL epoll_create1 552316 STD { int|linux_sys||dup3(int from, int to, int flags); } 553317 STD { int|linux_sys||pipe2(int *pfds, int flags); } 554318 UNIMPL inotify_init1 555319 UNIMPL perf_event_open 556320 STD { int|linux_sys||preadv(int fd, \ 557 const struct iovec *iovp, int iovcnt, \ 558 unsigned long off_lo, unsigned long off_hi); } 559321 STD { int|linux_sys||pwritev(int fd, \ 560 const struct iovcnt *iovp, int iovcnt, \ 561 unsigned long off_lo, unsigned long off_hi); } 562322 UNIMPL rt_tgsigqueueinfo 563323 UNIMPL fanotify_init 564324 UNIMPL fanotify_mark 565325 STD { int|linux_sys||prlimit64(pid_t pid, int which, \ 566 struct rlimit *new_rlp, struct rlimit *old_rlp); } 567326 UNIMPL socket 568327 UNIMPL bind 569328 UNIMPL connect 570329 UNIMPL listen 571330 UNIMPL accept 572331 UNIMPL getsockname 573332 UNIMPL getpeername 574333 UNIMPL socketpair 575334 UNIMPL send 576335 UNIMPL sendto 577336 UNIMPL recv 578337 UNIMPL recvfrom 579338 UNIMPL shutdown 580339 UNIMPL setsockopt 581340 UNIMPL getsockopt 582341 UNIMPL sendmsg 583342 UNIMPL recvmsg 584343 STD { int|linux_sys||recvmmsg(int s, \ 585 struct linux_mmsghdr *msgvec, unsigned int vlen, \ 586 unsigned int flags, struct timespec *timeout); } 587344 STD { int|linux_sys||accept4(int s, \ 588 struct osockaddr *name, \ 589 int *anamelen, int flags); } 590345 UNIMPL name_to_handle_at 591346 UNIMPL open_by_handle_at 592347 UNIMPL clock_adjtime 593348 UNIMPL syncfs 594349 STD { int|linux_sys||sendmmsg(int s, \ 595 struct linux_mmsghdr *msgvec, unsigned int vlen, \ 596 unsigned int flags); } 597350 UNIMPL setns 598351 UNIMPL process_vm_readv 599352 UNIMPL process_vm_writev 600353 UNIMPL finit_module 601354 UNIMPL kcmp 602355 UNIMPL sched_setattr 603356 UNIMPL sched_getattr 604357 UNIMPL renameat2 605358 UNIMPL seccomp 606359 NOARGS { ssize_t|sys||getrandom(void *buf, size_t buflen, \ 607 unsigned int flags); } 608360 UNIMPL memfd_create 609361 UNIMPL bpf 610362 UNIMPL execveat 611363 UNIMPL switch_endian 612364 UNIMPL userfaultfd 613365 UNIMPL membarrier 614366 UNIMPL 615367 UNIMPL 616368 UNIMPL 617369 UNIMPL 618370 UNIMPL 619371 UNIMPL 620372 UNIMPL 621373 UNIMPL 622374 UNIMPL 623375 UNIMPL 624376 UNIMPL 625377 UNIMPL 626378 UNIMPL mlock2 627379 UNIMPL copy_file_range 628380 UNIMPL preadv2 629381 UNIMPL pwritev2 630382 UNIMPL kexec_file_load 631