1 $NetBSD: syscalls.master,v 1.107 2024/09/28 19:35:56 christos Exp $ 2 3; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 4 5; NetBSD m68k COMPAT_LINUX system call name/number "master" file. 6; (See syscalls.conf to see what it is processed into.) 7; 8; Fields: number type [type-dependent ...] 9; number system call number, must be in order 10; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of 11; the compatibility options defined in syscalls.conf. 12; 13; types: 14; STD always included 15; OBSOL obsolete, not included in system 16; UNIMPL unimplemented, not included in system 17; NODEF included, but don't define the syscall number 18; NOARGS included, but don't define the syscall args structure 19; INDIR included, but don't define the syscall args structure 20; and allow it to be "really" varargs. 21; 22; The compat options are defined in the syscalls.conf file, and the 23; compat option name is prefixed to the syscall name. Other than 24; that, they're like NODEF (for 'compat' options), or STD (for 25; 'libcompat' options). 26; 27; The type-dependent arguments are as follows: 28; For STD, NODEF, NOARGS, and compat syscalls: 29; { pseudo-proto } [alias] 30; For other syscalls: 31; [comment] 32; 33; #ifdef's, etc. may be included, and are copied to the output files. 34; #include's are copied to the syscall names and switch definition files only. 35 36#if defined(_KERNEL_OPT) 37#include "opt_compat_netbsd.h" 38#include "opt_compat_43.h" 39#endif 40 41#include <sys/param.h> 42#include <sys/poll.h> 43#include <sys/systm.h> 44#include <sys/signal.h> 45#include <sys/mount.h> 46#include <sys/sched.h> 47#include <sys/syscallargs.h> 48 49#include <compat/linux/common/linux_types.h> 50#include <compat/linux/common/linux_signal.h> 51#include <compat/linux/common/linux_siginfo.h> 52#include <compat/linux/common/linux_machdep.h> 53#include <compat/linux/common/linux_mmap.h> 54#include <compat/linux/common/linux_mqueue.h> 55#include <compat/linux/common/linux_sched.h> 56 57#include <compat/linux/linux_syscallargs.h> 58 59%% 60 610 NOARGS { int|linux_sys||nosys(void); } syscall 621 STD { int|linux_sys||exit(int rval); } 632 NOARGS { int|sys||fork(void); } 643 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 654 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ 66 size_t nbyte); } 675 STD { int|linux_sys||open(const char *path, int flags, \ 68 linux_umode_t mode); } 696 NOARGS { int|sys||close(int fd); } 707 STD { int|linux_sys||waitpid(int pid, int *status, \ 71 int options);} 728 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); } 739 NOARGS { int|sys||link(const char *path, const char *link); } 7410 STD { int|linux_sys||unlink(const char *path); } 7511 NOARGS { int|sys||execve(const char *path, char **argp, \ 76 char **envp); } 7712 NOARGS { int|sys||chdir(const char *path); } 7813 STD { int|linux_sys||time(linux_time_t *t); } 7914 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \ 80 unsigned dev); } 8115 NOARGS { int|sys||chmod(const char *path, int mode); } 82;16 lchown on i386; chown on m68k. 8316 STD { int|linux_sys||chown16(const char *path, \ 84 linux_uid16_t uid, linux_gid16_t gid); } 8517 OBSOL break 8618 OBSOL ostat 87#if !defined(_KERNEL) || defined(COMPAT_43) 8819 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ 89 int whence); } 90#else 9119 UNIMPL compat_43_sys_lseek 92#endif 9320 NOARGS { pid_t|sys||getpid(void); } 9421 UNIMPL mount 9522 OBSOL umount 9623 NOARGS linux_setuid16 { int|sys||setuid(uid_t uid); } 9724 NOARGS linux_getuid16 { uid_t|sys||getuid(void); } 9825 STD { int|linux_sys||stime(linux_time_t *t); } 9926 STD { int|linux_sys||ptrace(int request, int pid, \ 100 int addr, int data); } 10127 STD { int|linux_sys||alarm(unsigned int secs); } 10228 OBSOL ofstat 10329 STD { int|linux_sys||pause(void); } 10430 STD { int|linux_sys||utime(const char *path, \ 105 struct linux_utimbuf *times); } 10631 OBSOL stty 10732 OBSOL gtty 10833 NOARGS { int|sys||access(const char *path, int flags); } 10934 STD { int|linux_sys||nice(int incr); } 11035 OBSOL ftime 11136 NOARGS { int|sys||sync(void); } 11237 STD { int|linux_sys||kill(int pid, int signum); } 11338 NOARGS { int|sys||__posix_rename(const char *from, \ 114 const char *to); } 11539 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } 11640 NOARGS { int|sys||rmdir(const char *path); } 11741 NOARGS { int|sys||dup(int fd); } 11842 STD { int|linux_sys||pipe(int *pfds); } 11943 STD { int|linux_sys||times(struct times *tms); } 12044 OBSOL prof 12145 STD { int|linux_sys||brk(char *nsize); } 12246 NOARGS linux_setgid16 { int|sys||setgid(gid_t gid); } 12347 NOARGS linux_getgid16 { gid_t|sys||getgid(void); } 12448 STD { int|linux_sys||signal(int signum, \ 125 linux_handler_t handler); } 12649 NOARGS linux_geteuid16 { uid_t|sys||geteuid(void); } 12750 NOARGS linux_getegid16 { gid_t|sys||getegid(void); } 12851 NOARGS { int|sys||acct(char *path); } 12952 UNIMPL umount 13053 OBSOL lock 13154 STD { int|linux_sys||ioctl(int fd, u_long com, \ 132 void *data); } 13355 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 13456 OBSOL mpx 13557 NOARGS { int|sys||setpgid(int pid, int pgid); } 13658 OBSOL ulimit 13759 UNIMPL oldolduname 13860 NOARGS { int|sys||umask(int newmask); } 13961 NOARGS { int|sys||chroot(char *path); } 14062 UNIMPL ustat 14163 NOARGS { int|sys||dup2(int from, int to); } 14264 NOARGS { pid_t|sys||getppid(void); } 14365 NOARGS { int|sys||getpgrp(void); } 14466 NOARGS { int|sys||setsid(void); } 14567 STD { int|linux_sys||sigaction(int signum, \ 146 const struct linux_old_sigaction *nsa, \ 147 struct linux_old_sigaction *osa); } 14868 STD { int|linux_sys||siggetmask(void); } 14969 STD { int|linux_sys||sigsetmask(linux_old_sigset_t mask); } 15070 STD { int|linux_sys||setreuid16(linux_uid16_t ruid, \ 151 linux_uid16_t euid); } 15271 STD { int|linux_sys||setregid16(linux_gid16_t rgid, \ 153 linux_gid16_t egid); } 15472 STD { int|linux_sys||sigsuspend(void *restart, \ 155 int oldmask, int mask); } 15673 STD { int|linux_sys||sigpending(linux_old_sigset_t *set); } 157#if !defined(_KERNEL) || defined(COMPAT_43) 15874 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ 159 u_int len);} 160#else 16174 UNIMPL compat_43_sys_sethostname 162#endif 16375 STD { int|linux_sys||setrlimit(u_int which, \ 164 struct orlimit *rlp); } 16576 STD { int|linux_sys||getrlimit(u_int which, \ 166 struct orlimit *rlp); } 16777 NOARGS { int|compat_50_sys||getrusage(int who, \ 168 struct rusage50 *rusage); } 16978 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ 170 struct timezone *tzp); } 17179 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ 172 struct timezone *tzp); } 17380 STD { int|linux_sys||getgroups16(int gidsetsize, \ 174 linux_gid16_t *gidset); } 17581 STD { int|linux_sys||setgroups16(int gidsetsize, \ 176 linux_gid16_t *gidset); } 17782 STD { int|linux_sys||oldselect(struct linux_oldselect *lsp); } 17883 NOARGS { int|sys||symlink(const char *path, const char *to); } 179#if !defined(_KERNEL) || defined(COMPAT_43) 18084 NOARGS { int|compat_43_sys||lstat(const char *path, \ 181 struct stat43 *up); } oolstat 182#else 18384 UNIMPL compat_43_sys_lstat 184#endif 18585 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ 186 int count); } 187#ifdef EXEC_AOUT 18886 STD { int|linux_sys||uselib(const char *path); } 189#else 19086 UNIMPL sys_uselib 191#endif 19287 STD { int|linux_sys||swapon(char *name); } 19388 STD { int|linux_sys||reboot(int magic1, int magic2, \ 194 int cmd, void *arg); } 19589 STD { int|linux_sys||readdir(int fd, void *dent, \ 196 unsigned int count); } 19790 STD { int|linux_sys||old_mmap(struct linux_oldmmap *lmp); } 19891 NOARGS { int|sys||munmap(void *addr, size_t len); } 19992 NOARGS { int|compat_43_sys||truncate(const char *path, \ 200 long length); } 201#if !defined(_KERNEL) || defined(COMPAT_43) 20293 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } 203#else 20493 UNIMPL compat_43_sys_ftruncate 205#endif 20694 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } 20795 STD { int|linux_sys||fchown16(int fd, linux_uid16_t uid, \ 208 linux_gid16_t gid); } 20996 STD { int|linux_sys||getpriority(int which, int who); } 21097 NOARGS { int|sys||setpriority(int which, int who, int prio); } 21198 NOARGS { int|sys||profil(void *samples, u_int size, \ 212 u_int offset, u_int scale); } 21399 STD { int|linux_sys||statfs(const char *path, \ 214 struct linux_statfs *sp); } 215100 STD { int|linux_sys||fstatfs(int fd, \ 216 struct linux_statfs *sp); } 217101 UNIMPL ioperm 218102 STD { int|linux_sys||socketcall(int what, void *args); } 219103 UNIMPL syslog 220104 NOARGS { int|compat_50_sys||setitimer(int which, \ 221 struct itimerval50 *itv, \ 222 struct itimerval50 *oitv); } 223105 NOARGS { int|compat_50_sys||getitimer(int which, \ 224 struct itimerval50 *itv); } 225106 STD { int|linux_sys||stat(const char *path, \ 226 struct linux_stat *sp); } 227107 STD { int|linux_sys||lstat(const char *path, \ 228 struct linux_stat *sp); } 229108 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); } 230109 UNIMPL olduname 231110 UNIMPL iopl 232111 UNIMPL vhangup 233112 UNIMPL idle 234113 UNIMPL vm86old 235114 STD { int|linux_sys||wait4(int pid, int *status, \ 236 int options, struct rusage50 *rusage); } 237115 STD { int|linux_sys||swapoff(const char *path); } 238116 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 239117 STD { int|linux_sys||ipc(int what, int a1, int a2, int a3, \ 240 void *ptr); } 241118 NOARGS { int|sys||fsync(int fd); } 242119 STD { int|linux_sys||sigreturn(void); } 243120 STD { int|linux_sys||clone(int flags, void *stack, \ 244 void *parent_tidptr, void *tls, void *child_tidptr); } 245121 STD { int|linux_sys||setdomainname(char *domainname, \ 246 int len); } 247122 STD { int|linux_sys||uname(struct linux_utsname *up); } 248123 STD { int|linux_sys||cacheflush(unsigned long addr, \ 249 int scope, int cache, unsigned long len); } 250124 UNIMPL adjtimex 251125 STD { int|linux_sys||mprotect(const void *start, \ 252 unsigned long len, int prot); } 253126 STD { int|linux_sys||sigprocmask(int how, \ 254 const linux_old_sigset_t *set, \ 255 linux_old_sigset_t *oset); } 256127 UNIMPL create_module 257128 UNIMPL init_module 258129 UNIMPL delete_module 259130 UNIMPL get_kernel_syms 260131 UNIMPL quotactl 261132 NOARGS { pid_t|sys||getpgid(pid_t pid); } 262133 NOARGS { int|sys||fchdir(int fd); } 263134 UNIMPL bdflush 264135 UNIMPL sysfs 265136 STD { int|linux_sys||personality(unsigned long per); } 266137 UNIMPL afs_syscall 267138 NOARGS linux_setfsuid16 { int|linux_sys||setfsuid(uid_t uid); } 268139 NOARGS linux_setfsgid16 { int|linux_sys||setfsgid(gid_t gid); } 269140 STD { int|linux_sys||llseek(int fd, u_int32_t ohigh, \ 270 u_int32_t olow, void *res, int whence); } 271141 STD { int|linux_sys||getdents(int fd, \ 272 struct linux_dirent *dent, unsigned int count); } 273142 STD { int|linux_sys||select(int nfds, fd_set *readfds, \ 274 fd_set *writefds, fd_set *exceptfds, \ 275 struct timeval50 *timeout); } 276143 NOARGS { int|sys||flock(int fd, int how); } 277144 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 278145 NOARGS { ssize_t|sys||readv(int fd, \ 279 const struct iovec *iovp, int iovcnt); } 280146 NOARGS { ssize_t|sys||writev(int fd, \ 281 const struct iovec *iovp, int iovcnt); } 282147 NOARGS { pid_t|sys||getsid(pid_t pid); } 283148 STD { int|linux_sys||fdatasync(int fd); } 284149 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } 285150 NOARGS { int|sys||mlock(void *addr, size_t len); } 286151 NOARGS { int|sys||munlock(void *addr, size_t len); } 287152 NOARGS { int|sys||mlockall(int flags); } 288153 NOARGS { int|sys||munlockall(void); } 289154 STD { int|linux_sys||sched_setparam(pid_t pid, \ 290 const struct linux_sched_param *sp); } 291155 STD { int|linux_sys||sched_getparam(pid_t pid, \ 292 struct linux_sched_param *sp); } 293156 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ 294 int policy, const struct linux_sched_param *sp); } 295157 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 296158 STD { int|linux_sys||sched_yield(void); } 297159 STD { int|linux_sys||sched_get_priority_max(int policy); } 298160 STD { int|linux_sys||sched_get_priority_min(int policy); } 299161 UNIMPL sched_rr_get_interval 300162 STD { int|linux_sys||nanosleep( \ 301 const struct linux_timespec *rqtp, \ 302 struct linux_timespec *rmtp); } 303163 STD { void *|linux_sys||mremap(void *old_address, \ 304 size_t old_size, size_t new_size, u_long flags); } 305164 STD { int|linux_sys||setresuid16(linux_uid16_t ruid, \ 306 linux_uid16_t euid, linux_uid16_t suid); } 307165 STD { int|linux_sys||getresuid16(linux_uid16_t *ruid, \ 308 linux_uid16_t *euid, linux_uid16_t *suid); } 309166 UNIMPL vm86 310167 UNIMPL query_module 311168 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ 312 int timeout); } 313169 UNIMPL nfsservctl 314170 STD { int|linux_sys||setresgid16(linux_gid16_t rgid, \ 315 linux_gid16_t egid, linux_gid16_t sgid); } 316171 STD { int|linux_sys||getresgid16(linux_gid16_t *rgid, \ 317 linux_gid16_t *egid, linux_gid16_t *sgid); } 318172 UNIMPL prctl 319173 STD { int|linux_sys||rt_sigreturn(void); } 320174 STD { int|linux_sys||rt_sigaction(int signum, \ 321 const struct linux_sigaction *nsa, \ 322 struct linux_sigaction *osa, \ 323 size_t sigsetsize); } 324175 STD { int|linux_sys||rt_sigprocmask(int how, \ 325 const linux_sigset_t *set, \ 326 linux_sigset_t *oset, \ 327 size_t sigsetsize); } 328176 STD { int|linux_sys||rt_sigpending( \ 329 linux_sigset_t *set, \ 330 size_t sigsetsize); } 331177 STD { int|linux_sys||rt_sigtimedwait( \ 332 const linux_sigset_t *set, \ 333 linux_siginfo_t *info, \ 334 const struct linux_timespec *timeout); } 335178 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ 336 linux_siginfo_t *uinfo); } 337179 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ 338 size_t sigsetsize); } 339180 STD { int|linux_sys||pread(int fd, char *buf, \ 340 size_t nbyte, off_t offset); } 341181 STD { int|linux_sys||pwrite(int fd, char *buf, \ 342 size_t nbyte, off_t offset); } 343;182 chown on i386; lchown on m68k. 344182 STD { int|linux_sys||lchown16(const char *path, \ 345 linux_uid16_t uid, linux_gid16_t gid); } 346183 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 347184 UNIMPL capget 348185 UNIMPL capset 349186 STD { int|linux_sys||sigaltstack( \ 350 const struct linux_sigaltstack *ss, \ 351 struct linux_sigaltstack *oss); } 352187 UNIMPL sendfile 353188 UNIMPL getpmsg 354189 UNIMPL putpmsg 355190 NOARGS { int|sys|14|vfork(void); } 356191 STD { int|linux_sys||ugetrlimit(int which, \ 357 struct orlimit *rlp); } 358#define linux_sys_mmap2_args linux_sys_mmap_args 359192 NOARGS { linux_off_t|linux_sys||mmap2(unsigned long addr, \ 360 size_t len, int prot, int flags, int fd, \ 361 linux_off_t offset); } 362193 STD { int|linux_sys||truncate64(const char *path, \ 363 off_t length); } 364194 STD { int|linux_sys||ftruncate64(unsigned int fd, \ 365 off_t length); } 366195 STD { int|linux_sys||stat64(const char *path, \ 367 struct linux_stat64 *sp); } 368196 STD { int|linux_sys||lstat64(const char *path, \ 369 struct linux_stat64 *sp); } 370197 STD { int|linux_sys||fstat64(int fd, \ 371 struct linux_stat64 *sp); } 372198 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \ 373 gid_t gid); } 374199 NOARGS { uid_t|sys||getuid(void); } 375200 NOARGS { gid_t|sys||getgid(void); } 376201 NOARGS { uid_t|sys||geteuid(void); } 377202 NOARGS { gid_t|sys||getegid(void); } 378203 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); } 379204 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); } 380205 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); } 381206 NOARGS { int|sys||setgroups(int gidsetsize, gid_t *gidset); } 382207 NOARGS { int|sys||__posix_fchown(int fd, uid_t uid, \ 383 gid_t gid); } 384208 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \ 385 uid_t suid); } 386209 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \ 387 uid_t *suid); } 388210 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \ 389 gid_t sgid); } 390211 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \ 391 gid_t *sgid); } 392212 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ 393 gid_t gid); } 394213 NOARGS { int|sys||setuid(uid_t uid); } 395214 NOARGS { int|sys||setgid(gid_t gid); } 396215 STD { int|linux_sys||setfsuid(uid_t uid); } 397216 STD { int|linux_sys||setfsgid(gid_t gid); } 398217 UNIMPL /* unused */ 399218 UNIMPL /* unused */ 400219 UNIMPL /* unused */ 401220 STD { int|linux_sys||getdents64(int fd, \ 402 struct linux_dirent64 *dent, unsigned int count); } 403221 NOARGS { pid_t|linux_sys||gettid(void); } 404222 STD { int|linux_sys||tkill(int tid, int sig); } 405223 STD { int|linux_sys||setxattr(char *path, char *name, \ 406 void *value, size_t size, int flags); } 407224 STD { int|linux_sys||lsetxattr(char *path, char *name, \ 408 void *value, size_t size, int flags); } 409225 STD { int|linux_sys||fsetxattr(int fd, char *name, \ 410 void *value, size_t size, int flags); } 411226 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ 412 void *value, size_t size); } 413227 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ 414 void *value, size_t size); } 415228 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ 416 void *value, size_t size); } 417229 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ 418 size_t size); } 419230 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ 420 size_t size); } 421231 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ 422 size_t size); } 423232 STD { int|linux_sys||removexattr(char *path, char *name); } 424233 STD { int|linux_sys||lremovexattr(char *path, char *name); } 425234 STD { int|linux_sys||fremovexattr(int fd, char *name); } 426235 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ 427 const struct linux_timespec *timeout, int *uaddr2, \ 428 int val3); } 429236 UNIMPL sendfile64 430237 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 431238 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 432239 STD { int|linux_sys||fcntl64(int fd, int cmd, void *arg); } 433240 STD { ssize_t|linux_sys||readahead(int fd, off_t offset, \ 434 size_t count); } 435241 UNIMPL io_setup 436242 UNIMPL io_destroy 437243 UNIMPL io_getevents 438244 UNIMPL io_submit 439245 UNIMPL io_cancel 440246 STD { int|linux_sys||fadvise64(int fd, off_t offset, \ 441 size_t len, int advice); } 442247 UNIMPL exit_group 443248 UNIMPL lookup_dcookie 444249 STD { int|linux_sys||epoll_create(int size); } 445250 STD { int|linux_sys||epoll_ctl(int epfd, int op, int fd, \ 446 struct linux_epoll_event *event); } 447251 STD { int|linux_sys||epoll_wait(int epfd, \ 448 struct linux_epoll_event *events, int maxevents, \ 449 int timeout); } 450252 UNIMPL remap_file_pages 451253 STD { int|linux_sys||set_tid_address(int *tid); } 452254 STD { int|linux_sys||timer_create(clockid_t clockid, \ 453 struct linux_sigevent *evp, timer_t *timerid); } 454255 STD { int|linux_sys||timer_settime(timer_t timerid, \ 455 int flags, const struct linux_itimerspec *tim, \ 456 struct linux_itimerspec *otim); } 457256 STD { int|linux_sys||timer_gettime(timer_t timerid, \ 458 struct linux_itimerspec *tim); } 459257 NOARGS { int|sys||timer_getoverrun(timer_t timerid); } 460258 NOARGS { int|sys||timer_delete(timer_t timerid); } 461259 STD { int|linux_sys||clock_settime(clockid_t which, \ 462 struct linux_timespec *tp); } 463260 STD { int|linux_sys||clock_gettime(clockid_t which, \ 464 struct linux_timespec *tp); } 465261 STD { int|linux_sys||clock_getres(clockid_t which, \ 466 struct linux_timespec *tp); } 467262 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ 468 int flags, struct linux_timespec *rqtp, \ 469 struct linux_timespec *rmtp); } 470263 STD { int|linux_sys||statfs64(const char *path, \ 471 size_t sz, struct linux_statfs64 *sp); } 472264 STD { int|linux_sys||fstatfs64(int fd, \ 473 size_t sz, struct linux_statfs64 *sp); } 474265 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } 475266 NOARGS { int|compat_50_sys||utimes(const char *path, \ 476 const struct timeval50 *tptr); } 477267 STD { int|linux_sys||fadvise64_64(int fd, off_t offset, \ 478 off_t len, int advice); } 479268 UNIMPL mbind 480269 UNIMPL get_mempolicy 481270 UNIMPL set_mempolicy 482271 STD { linux_mqd_t|linux_sys||mq_open(const char *name, \ 483 int oflag, linux_umode_t mode, \ 484 struct linux_mq_attr *attr); } 485272 STD { int|linux_sys||mq_unlink(const char *name); } 486273 STD { int|linux_sys||mq_timedsend(linux_mqd_t mqdes, \ 487 const char *msg_ptr, size_t msg_len, \ 488 unsigned int msg_prio, \ 489 const struct linux_timespec *abs_timeout); } 490274 STD { ssize_t|linux_sys||mq_timedreceive(linux_mqd_t mqdes, \ 491 char *msg_ptr, size_t msg_len, \ 492 unsigned int *msg_prio, \ 493 const struct linux_timespec *abs_timeout); } 494275 STD { int|linux_sys||mq_notify(linux_mqd_t mqdes, \ 495 const struct linux_sigevent *sevp); } 496276 STD { int|linux_sys||mq_getsetattr(linux_mqd_t mqdes, \ 497 const struct linux_mq_attr *newattr, \ 498 struct linux_mq_attr *oldattr); } 499277 UNIMPL waitid 500278 UNIMPL vserver 501279 UNIMPL add_key 502280 UNIMPL request_key 503281 UNIMPL keyctl 504282 UNIMPL ioprio_set 505283 UNIMPL ioprio_get 506284 STD { int|linux_sys||inotify_init(void); } 507285 STD { int|linux_sys||inotify_add_watch(int fd, \ 508 const char *pathname, uint32_t mask); } 509286 STD { int|linux_sys||inotify_rm_watch(int fd, int wd); } 510287 UNIMPL migrate_pages 511288 STD { int|linux_sys||openat(int fd, const char *path, \ 512 int flags, ... linux_umode_t mode); } 513289 NOARGS { int|sys||mkdirat(int fd, const char *path, \ 514 linux_umode_t mode); } 515290 STD { int|linux_sys||mknodat(int fd, const char *path, \ 516 linux_umode_t mode, unsigned dev); } 517291 STD { int|linux_sys||fchownat(int fd, const char *path, \ 518 uid_t owner, gid_t group, int flag); } 519292 UNIMPL futimesat 520293 STD { int|linux_sys||fstatat64(int fd, const char *path, \ 521 struct linux_stat64 *sp, int flag); } 522294 STD { int|linux_sys||unlinkat(int fd, const char *path, \ 523 int flag); } 524295 NOARGS { int|sys||renameat(int fromfd, const char *from, \ 525 int tofd, const char *to); } 526296 STD { int|linux_sys||linkat(int fd1, const char *name1, \ 527 int fd2, const char *name2, int flags); } 528297 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ 529 const char *path2); } 530298 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ 531 char *buf, size_t bufsize); } 532299 STD { int|linux_sys||fchmodat(int fd, const char *path, \ 533 linux_umode_t mode); } 534300 STD { int|linux_sys||faccessat(int fd, const char *path, \ 535 int amode); } 536301 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ 537 fd_set *writefds, fd_set *exceptfds, \ 538 struct linux_timespec *timeout, \ 539 linux_sized_sigset_t *ss); } 540302 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \ 541 struct linux_timespec *timeout, \ 542 linux_sigset_t *sigset); } 543303 UNIMPL unshare 544 ; 545 ; The NetBSD native robust list calls have different 546 ; argument names / types, but they are ABI-compatible 547 ; with Linux. 548 ; 549304 NOARGS { int|sys||__futex_set_robust_list(void *head, \ 550 size_t len); } 551305 NOARGS { int|sys||__futex_get_robust_list(lwpid_t lwpid, \ 552 void **headp, size_t *lenp); } 553306 UNIMPL splice 554307 STD { int|linux_sys||sync_file_range(int fd, \ 555 off_t offset, off_t nbytes, unsigned int flags); } 556308 UNIMPL tee 557309 UNIMPL vmsplice 558310 UNIMPL move_pages 559311 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ 560 unsigned int len, unsigned long *mask); } 561312 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ 562 unsigned int len, unsigned long *mask); } 563313 UNIMPL kexec_load 564314 STD { int|linux_sys||getcpu(unsigned int *cpu, \ 565 unsigned int *node, \ 566 struct linux_getcpu_cache *tcache); } 567315 STD { int|linux_sys||epoll_pwait(int epfd, \ 568 struct linux_epoll_event *events, int maxevents, \ 569 int timeout, const linux_sigset_t *sigmask); } 570316 STD { int|linux_sys||utimensat(int fd, const char *path, \ 571 struct linux_timespec *times, int flag); } 572317 UNIMPL signalfd 573318 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \ 574 int flags); } 575319 STD { int|linux_sys||eventfd(unsigned int initval); } 576320 STD { int|linux_sys||fallocate(int fd, int mode, \ 577 off_t offset, off_t len); } 578321 STD { int|linux_sys||timerfd_settime(int fd, int flags, \ 579 const struct linux_itimerspec *tim, \ 580 struct linux_itimerspec *otim); } 581322 STD { int|linux_sys||timerfd_gettime(int fd, \ 582 struct linux_itimerspec *tim); } 583323 UNIMPL signalfd4 584324 STD { int|linux_sys||eventfd2(unsigned int initval, \ 585 int flags); } 586325 STD { int|linux_sys||epoll_create1(int flags); } 587326 STD { int|linux_sys||dup3(int from, int to, int flags); } 588327 STD { int|linux_sys||pipe2(int *pfds, int flags); } 589328 STD { int|linux_sys||inotify_init1(int flags); } 590329 STD { int|linux_sys||preadv(int fd, \ 591 const struct iovec *iovp, int iovcnt, \ 592 unsigned long off_lo, unsigned long off_hi); } 593330 STD { int|linux_sys||pwritev(int fd, \ 594 const struct iovcnt *iovp, int iovcnt, \ 595 unsigned long off_lo, unsigned long off_hi); } 596331 UNIMPL rt_tgsigqueueinfo 597332 UNIMPL perf_counter_open 598333 UNIMPL set_thread_area 599334 UNIMPL get_thread_area 600335 UNIMPL atomic_cmpxchg_32 601336 UNIMPL atomic_barrier 602337 UNIMPL fanotify_init 603338 UNIMPL fanotify_mark 604339 STD { int|linux_sys||prlimit64(pid_t pid, int which, \ 605 struct rlimit *new_rlp, struct rlimit *old_rlp); } 606340 UNIMPL name_to_handle_at 607341 UNIMPL open_by_handle_at 608342 UNIMPL clock_adjtime 609343 STD { int|linux_sys||syncfs(int fd); } 610344 UNIMPL setns 611345 UNIMPL process_vm_readv 612346 UNIMPL process_vm_writev 613347 UNIMPL kcmp 614348 UNIMPL finit_module 615349 UNIMPL sched_setattr 616350 UNIMPL sched_getattr 617351 STD { int|linux_sys||renameat2(int fromfd, \ 618 const char *from, int tofd, const char *to, \ 619 unsigned int flags); } 620352 NOARGS { ssize_t|sys||getrandom(void *buf, size_t buflen, \ 621 unsigned int flags); } 622353 UNIMPL memfd_create 623354 UNIMPL bpf 624355 UNIMPL execveat 625356 UNIMPL socket 626357 UNIMPL socketpair 627358 UNIMPL bind 628359 UNIMPL connect 629360 UNIMPL listen 630361 STD { int|linux_sys||accept4(int s, \ 631 struct osockaddr *name, \ 632 int *anamelen, int flags); } 633362 UNIMPL getsockopt 634363 UNIMPL setsockopt 635364 UNIMPL getsockname 636365 UNIMPL getpeername 637366 UNIMPL sendto 638367 UNIMPL sendmsg 639368 UNIMPL recvfrom 640369 UNIMPL recvmsg 641370 UNIMPL shutdown 642371 STD { int|linux_sys||recvmmsg(int s, \ 643 struct linux_mmsghdr *msgvec, unsigned int vlen, \ 644 unsigned int flags, struct timespec *timeout); } 645372 STD { int|linux_sys||sendmmsg(int s, \ 646 struct linux_mmsghdr *msgvec, unsigned int vlen, \ 647 unsigned int flags); } 648373 UNIMPL userfaultfd 649374 UNIMPL membarrier 650375 UNIMPL mlock2 651376 STD { ssize_t|linux_sys||copy_file_range(int fd_in, \ 652 off_t * off_in, int fd_out, off_t * off_out, \ 653 size_t len, unsigned int flags); } 654377 UNIMPL preadv2 655378 UNIMPL pwritev2 656379 STD { int|linux_sys||statx(int fd, const char *path, \ 657 int flag, unsigned int mask, \ 658 struct linux_statx *sp); } 659380 UNIMPL 660381 UNIMPL 661382 UNIMPL 662383 UNIMPL 663384 UNIMPL 664385 UNIMPL 665386 UNIMPL 666387 UNIMPL 667388 UNIMPL 668389 UNIMPL 669390 UNIMPL 670391 UNIMPL 671392 UNIMPL 672393 UNIMPL 673394 UNIMPL 674395 UNIMPL 675396 UNIMPL 676397 UNIMPL 677398 UNIMPL 678399 UNIMPL 679400 UNIMPL 680401 UNIMPL 681402 UNIMPL 682403 UNIMPL 683404 UNIMPL 684405 UNIMPL 685406 UNIMPL 686407 UNIMPL 687408 UNIMPL 688409 UNIMPL 689410 UNIMPL 690411 UNIMPL 691412 UNIMPL 692413 UNIMPL 693414 UNIMPL 694415 UNIMPL 695416 UNIMPL 696417 UNIMPL 697418 UNIMPL 698419 UNIMPL 699420 UNIMPL 700421 UNIMPL 701422 UNIMPL 702423 UNIMPL 703424 UNIMPL 704425 UNIMPL 705426 UNIMPL 706427 UNIMPL 707428 UNIMPL 708429 UNIMPL 709430 UNIMPL 710431 UNIMPL 711432 UNIMPL 712433 UNIMPL 713434 UNIMPL 714435 STD { int|linux_sys||clone3( \ 715 struct linux_user_clone3_args *cl_args, \ 716 size_t size); } 717436 STD { int|linux_sys||close_range(unsigned int first, \ 718 unsigned int last, unsigned int flags); } 719437 UNIMPL 720438 UNIMPL 721439 STD { int|linux_sys||faccessat2(int fd, const char *path, \ 722 int amode, int flags); } 723440 UNIMPL 724441 STD { int|linux_sys||epoll_pwait2(int epfd, \ 725 struct linux_epoll_event *events, int maxevents, \ 726 const struct linux_timespec *timeout, \ 727 const linux_sigset_t *sigmask); } 728