1 $NetBSD: syscalls.master,v 1.103 2023/07/29 15:04:29 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 55#include <compat/linux/linux_syscallargs.h> 56 57%% 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); } 80;16 lchown on i386; chown on m68k. 8116 STD { int|linux_sys||chown16(const char *path, \ 82 linux_uid16_t uid, linux_gid16_t gid); } 8317 OBSOL break 8418 OBSOL ostat 85#if !defined(_KERNEL) || defined(COMPAT_43) 8619 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ 87 int whence); } 88#else 8919 UNIMPL compat_43_sys_lseek 90#endif 9120 NOARGS { pid_t|sys||getpid(void); } 9221 UNIMPL mount 9322 OBSOL umount 9423 NOARGS linux_setuid16 { int|sys||setuid(uid_t uid); } 9524 NOARGS linux_getuid16 { uid_t|sys||getuid(void); } 9625 STD { int|linux_sys||stime(linux_time_t *t); } 9726 STD { int|linux_sys||ptrace(int request, int pid, \ 98 int addr, int data); } 9927 STD { int|linux_sys||alarm(unsigned int secs); } 10028 OBSOL ofstat 10129 STD { int|linux_sys||pause(void); } 10230 STD { int|linux_sys||utime(const char *path, \ 103 struct linux_utimbuf *times); } 10431 OBSOL stty 10532 OBSOL gtty 10633 NOARGS { int|sys||access(const char *path, int flags); } 10734 STD { int|linux_sys||nice(int incr); } 10835 OBSOL ftime 10936 NOARGS { int|sys||sync(void); } 11037 STD { int|linux_sys||kill(int pid, int signum); } 11138 NOARGS { int|sys||__posix_rename(const char *from, \ 112 const char *to); } 11339 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } 11440 NOARGS { int|sys||rmdir(const char *path); } 11541 NOARGS { int|sys||dup(int fd); } 11642 STD { int|linux_sys||pipe(int *pfds); } 11743 STD { int|linux_sys||times(struct times *tms); } 11844 OBSOL prof 11945 STD { int|linux_sys||brk(char *nsize); } 12046 NOARGS linux_setgid16 { int|sys||setgid(gid_t gid); } 12147 NOARGS linux_getgid16 { gid_t|sys||getgid(void); } 12248 STD { int|linux_sys||signal(int signum, \ 123 linux_handler_t handler); } 12449 NOARGS linux_geteuid16 { uid_t|sys||geteuid(void); } 12550 NOARGS linux_getegid16 { gid_t|sys||getegid(void); } 12651 NOARGS { int|sys||acct(char *path); } 12752 UNIMPL umount 12853 OBSOL lock 12954 STD { int|linux_sys||ioctl(int fd, u_long com, \ 130 void *data); } 13155 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 13256 OBSOL mpx 13357 NOARGS { int|sys||setpgid(int pid, int pgid); } 13458 OBSOL ulimit 13559 UNIMPL oldolduname 13660 NOARGS { int|sys||umask(int newmask); } 13761 NOARGS { int|sys||chroot(char *path); } 13862 UNIMPL ustat 13963 NOARGS { int|sys||dup2(int from, int to); } 14064 NOARGS { pid_t|sys||getppid(void); } 14165 NOARGS { int|sys||getpgrp(void); } 14266 NOARGS { int|sys||setsid(void); } 14367 STD { int|linux_sys||sigaction(int signum, \ 144 const struct linux_old_sigaction *nsa, \ 145 struct linux_old_sigaction *osa); } 14668 STD { int|linux_sys||siggetmask(void); } 14769 STD { int|linux_sys||sigsetmask(linux_old_sigset_t mask); } 14870 STD { int|linux_sys||setreuid16(linux_uid16_t ruid, \ 149 linux_uid16_t euid); } 15071 STD { int|linux_sys||setregid16(linux_gid16_t rgid, \ 151 linux_gid16_t egid); } 15272 STD { int|linux_sys||sigsuspend(void *restart, \ 153 int oldmask, int mask); } 15473 STD { int|linux_sys||sigpending(linux_old_sigset_t *set); } 155#if !defined(_KERNEL) || defined(COMPAT_43) 15674 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ 157 u_int len);} 158#else 15974 UNIMPL compat_43_sys_sethostname 160#endif 16175 STD { int|linux_sys||setrlimit(u_int which, \ 162 struct orlimit *rlp); } 16376 STD { int|linux_sys||getrlimit(u_int which, \ 164 struct orlimit *rlp); } 16577 NOARGS { int|compat_50_sys||getrusage(int who, \ 166 struct rusage50 *rusage); } 16778 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ 168 struct timezone *tzp); } 16979 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ 170 struct timezone *tzp); } 17180 STD { int|linux_sys||getgroups16(int gidsetsize, \ 172 linux_gid16_t *gidset); } 17381 STD { int|linux_sys||setgroups16(int gidsetsize, \ 174 linux_gid16_t *gidset); } 17582 STD { int|linux_sys||oldselect(struct linux_oldselect *lsp); } 17683 NOARGS { int|sys||symlink(const char *path, const char *to); } 177#if !defined(_KERNEL) || defined(COMPAT_43) 17884 NOARGS { int|compat_43_sys||lstat(const char *path, \ 179 struct stat43 *up); } oolstat 180#else 18184 UNIMPL compat_43_sys_lstat 182#endif 18385 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ 184 int count); } 185#ifdef EXEC_AOUT 18686 STD { int|linux_sys||uselib(const char *path); } 187#else 18886 UNIMPL sys_uselib 189#endif 19087 STD { int|linux_sys||swapon(char *name); } 19188 STD { int|linux_sys||reboot(int magic1, int magic2, \ 192 int cmd, void *arg); } 19389 STD { int|linux_sys||readdir(int fd, void *dent, \ 194 unsigned int count); } 19590 STD { int|linux_sys||old_mmap(struct linux_oldmmap *lmp); } 19691 NOARGS { int|sys||munmap(void *addr, size_t len); } 19792 NOARGS { int|compat_43_sys||truncate(const char *path, \ 198 long length); } 199#if !defined(_KERNEL) || defined(COMPAT_43) 20093 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } 201#else 20293 UNIMPL compat_43_sys_ftruncate 203#endif 20494 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } 20595 STD { int|linux_sys||fchown16(int fd, linux_uid16_t uid, \ 206 linux_gid16_t gid); } 20796 STD { int|linux_sys||getpriority(int which, int who); } 20897 NOARGS { int|sys||setpriority(int which, int who, int prio); } 20998 NOARGS { int|sys||profil(void *samples, u_int size, \ 210 u_int offset, u_int scale); } 21199 STD { int|linux_sys||statfs(const char *path, \ 212 struct linux_statfs *sp); } 213100 STD { int|linux_sys||fstatfs(int fd, \ 214 struct linux_statfs *sp); } 215101 UNIMPL ioperm 216102 STD { int|linux_sys||socketcall(int what, void *args); } 217103 UNIMPL syslog 218104 NOARGS { int|compat_50_sys||setitimer(int which, \ 219 struct itimerval50 *itv, \ 220 struct itimerval50 *oitv); } 221105 NOARGS { int|compat_50_sys||getitimer(int which, \ 222 struct itimerval50 *itv); } 223106 STD { int|linux_sys||stat(const char *path, \ 224 struct linux_stat *sp); } 225107 STD { int|linux_sys||lstat(const char *path, \ 226 struct linux_stat *sp); } 227108 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); } 228109 UNIMPL olduname 229110 UNIMPL iopl 230111 UNIMPL vhangup 231112 UNIMPL idle 232113 UNIMPL vm86old 233114 STD { int|linux_sys||wait4(int pid, int *status, \ 234 int options, struct rusage50 *rusage); } 235115 STD { int|linux_sys||swapoff(const char *path); } 236116 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 237117 STD { int|linux_sys||ipc(int what, int a1, int a2, int a3, \ 238 void *ptr); } 239118 NOARGS { int|sys||fsync(int fd); } 240119 STD { int|linux_sys||sigreturn(void); } 241120 STD { int|linux_sys||clone(int flags, void *stack, \ 242 void *parent_tidptr, void *tls, void *child_tidptr); } 243121 STD { int|linux_sys||setdomainname(char *domainname, \ 244 int len); } 245122 STD { int|linux_sys||uname(struct linux_utsname *up); } 246123 STD { int|linux_sys||cacheflush(unsigned long addr, \ 247 int scope, int cache, unsigned long len); } 248124 UNIMPL adjtimex 249125 STD { int|linux_sys||mprotect(const void *start, \ 250 unsigned long len, int prot); } 251126 STD { int|linux_sys||sigprocmask(int how, \ 252 const linux_old_sigset_t *set, \ 253 linux_old_sigset_t *oset); } 254127 UNIMPL create_module 255128 UNIMPL init_module 256129 UNIMPL delete_module 257130 UNIMPL get_kernel_syms 258131 UNIMPL quotactl 259132 NOARGS { pid_t|sys||getpgid(pid_t pid); } 260133 NOARGS { int|sys||fchdir(int fd); } 261134 UNIMPL bdflush 262135 UNIMPL sysfs 263136 STD { int|linux_sys||personality(unsigned long per); } 264137 UNIMPL afs_syscall 265138 NOARGS linux_setfsuid16 { int|linux_sys||setfsuid(uid_t uid); } 266139 NOARGS linux_setfsgid16 { int|linux_sys||setfsgid(gid_t gid); } 267140 STD { int|linux_sys||llseek(int fd, u_int32_t ohigh, \ 268 u_int32_t olow, void *res, int whence); } 269141 STD { int|linux_sys||getdents(int fd, \ 270 struct linux_dirent *dent, unsigned int count); } 271142 STD { int|linux_sys||select(int nfds, fd_set *readfds, \ 272 fd_set *writefds, fd_set *exceptfds, \ 273 struct timeval50 *timeout); } 274143 NOARGS { int|sys||flock(int fd, int how); } 275144 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 276145 NOARGS { ssize_t|sys||readv(int fd, \ 277 const struct iovec *iovp, int iovcnt); } 278146 NOARGS { ssize_t|sys||writev(int fd, \ 279 const struct iovec *iovp, int iovcnt); } 280147 NOARGS { pid_t|sys||getsid(pid_t pid); } 281148 STD { int|linux_sys||fdatasync(int fd); } 282149 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } 283150 NOARGS { int|sys||mlock(void *addr, size_t len); } 284151 NOARGS { int|sys||munlock(void *addr, size_t len); } 285152 NOARGS { int|sys||mlockall(int flags); } 286153 NOARGS { int|sys||munlockall(void); } 287154 STD { int|linux_sys||sched_setparam(pid_t pid, \ 288 const struct linux_sched_param *sp); } 289155 STD { int|linux_sys||sched_getparam(pid_t pid, \ 290 struct linux_sched_param *sp); } 291156 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ 292 int policy, const struct linux_sched_param *sp); } 293157 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 294158 STD { int|linux_sys||sched_yield(void); } 295159 STD { int|linux_sys||sched_get_priority_max(int policy); } 296160 STD { int|linux_sys||sched_get_priority_min(int policy); } 297161 UNIMPL sched_rr_get_interval 298162 STD { int|linux_sys||nanosleep( \ 299 const struct linux_timespec *rqtp, \ 300 struct linux_timespec *rmtp); } 301163 STD { void *|linux_sys||mremap(void *old_address, \ 302 size_t old_size, size_t new_size, u_long flags); } 303164 STD { int|linux_sys||setresuid16(linux_uid16_t ruid, \ 304 linux_uid16_t euid, linux_uid16_t suid); } 305165 STD { int|linux_sys||getresuid16(linux_uid16_t *ruid, \ 306 linux_uid16_t *euid, linux_uid16_t *suid); } 307166 UNIMPL vm86 308167 UNIMPL query_module 309168 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ 310 int timeout); } 311169 UNIMPL nfsservctl 312170 STD { int|linux_sys||setresgid16(linux_gid16_t rgid, \ 313 linux_gid16_t egid, linux_gid16_t sgid); } 314171 STD { int|linux_sys||getresgid16(linux_gid16_t *rgid, \ 315 linux_gid16_t *egid, linux_gid16_t *sgid); } 316172 UNIMPL prctl 317173 STD { int|linux_sys||rt_sigreturn(void); } 318174 STD { int|linux_sys||rt_sigaction(int signum, \ 319 const struct linux_sigaction *nsa, \ 320 struct linux_sigaction *osa, \ 321 size_t sigsetsize); } 322175 STD { int|linux_sys||rt_sigprocmask(int how, \ 323 const linux_sigset_t *set, \ 324 linux_sigset_t *oset, \ 325 size_t sigsetsize); } 326176 STD { int|linux_sys||rt_sigpending( \ 327 linux_sigset_t *set, \ 328 size_t sigsetsize); } 329177 STD { int|linux_sys||rt_sigtimedwait( \ 330 const linux_sigset_t *set, \ 331 linux_siginfo_t *info, \ 332 const struct linux_timespec *timeout); } 333178 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ 334 linux_siginfo_t *uinfo); } 335179 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ 336 size_t sigsetsize); } 337180 STD { int|linux_sys||pread(int fd, char *buf, \ 338 size_t nbyte, off_t offset); } 339181 STD { int|linux_sys||pwrite(int fd, char *buf, \ 340 size_t nbyte, off_t offset); } 341;182 chown on i386; lchown on m68k. 342182 STD { int|linux_sys||lchown16(const char *path, \ 343 linux_uid16_t uid, linux_gid16_t gid); } 344183 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 345184 UNIMPL capget 346185 UNIMPL capset 347186 STD { int|linux_sys||sigaltstack( \ 348 const struct linux_sigaltstack *ss, \ 349 struct linux_sigaltstack *oss); } 350187 UNIMPL sendfile 351188 UNIMPL getpmsg 352189 UNIMPL putpmsg 353190 NOARGS { int|sys|14|vfork(void); } 354191 STD { int|linux_sys||ugetrlimit(int which, \ 355 struct orlimit *rlp); } 356#define linux_sys_mmap2_args linux_sys_mmap_args 357192 NOARGS { linux_off_t|linux_sys||mmap2(unsigned long addr, \ 358 size_t len, int prot, int flags, int fd, \ 359 linux_off_t offset); } 360193 STD { int|linux_sys||truncate64(const char *path, \ 361 off_t length); } 362194 STD { int|linux_sys||ftruncate64(unsigned int fd, \ 363 off_t length); } 364195 STD { int|linux_sys||stat64(const char *path, \ 365 struct linux_stat64 *sp); } 366196 STD { int|linux_sys||lstat64(const char *path, \ 367 struct linux_stat64 *sp); } 368197 STD { int|linux_sys||fstat64(int fd, \ 369 struct linux_stat64 *sp); } 370198 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \ 371 gid_t gid); } 372199 NOARGS { uid_t|sys||getuid(void); } 373200 NOARGS { gid_t|sys||getgid(void); } 374201 NOARGS { uid_t|sys||geteuid(void); } 375202 NOARGS { gid_t|sys||getegid(void); } 376203 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); } 377204 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); } 378205 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); } 379206 NOARGS { int|sys||setgroups(int gidsetsize, gid_t *gidset); } 380207 NOARGS { int|sys||__posix_fchown(int fd, uid_t uid, \ 381 gid_t gid); } 382208 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \ 383 uid_t suid); } 384209 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \ 385 uid_t *suid); } 386210 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \ 387 gid_t sgid); } 388211 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \ 389 gid_t *sgid); } 390212 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ 391 gid_t gid); } 392213 NOARGS { int|sys||setuid(uid_t uid); } 393214 NOARGS { int|sys||setgid(gid_t gid); } 394215 STD { int|linux_sys||setfsuid(uid_t uid); } 395216 STD { int|linux_sys||setfsgid(gid_t gid); } 396217 UNIMPL /* unused */ 397218 UNIMPL /* unused */ 398219 UNIMPL /* unused */ 399220 STD { int|linux_sys||getdents64(int fd, \ 400 struct linux_dirent64 *dent, unsigned int count); } 401221 NOARGS { pid_t|linux_sys||gettid(void); } 402222 STD { int|linux_sys||tkill(int tid, int sig); } 403223 STD { int|linux_sys||setxattr(char *path, char *name, \ 404 void *value, size_t size, int flags); } 405224 STD { int|linux_sys||lsetxattr(char *path, char *name, \ 406 void *value, size_t size, int flags); } 407225 STD { int|linux_sys||fsetxattr(int fd, char *name, \ 408 void *value, size_t size, int flags); } 409226 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ 410 void *value, size_t size); } 411227 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ 412 void *value, size_t size); } 413228 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ 414 void *value, size_t size); } 415229 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ 416 size_t size); } 417230 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ 418 size_t size); } 419231 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ 420 size_t size); } 421232 STD { int|linux_sys||removexattr(char *path, char *name); } 422233 STD { int|linux_sys||lremovexattr(char *path, char *name); } 423234 STD { int|linux_sys||fremovexattr(int fd, char *name); } 424235 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ 425 const struct linux_timespec *timeout, int *uaddr2, \ 426 int val3); } 427236 UNIMPL sendfile64 428237 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 429238 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 430239 STD { int|linux_sys||fcntl64(int fd, int cmd, void *arg); } 431240 STD { ssize_t|linux_sys||readahead(int fd, off_t offset, \ 432 size_t count); } 433241 UNIMPL io_setup 434242 UNIMPL io_destroy 435243 UNIMPL io_getevents 436244 UNIMPL io_submit 437245 UNIMPL io_cancel 438246 STD { int|linux_sys||fadvise64(int fd, off_t offset, \ 439 size_t len, int advice); } 440247 UNIMPL exit_group 441248 UNIMPL lookup_dcookie 442249 STD { int|linux_sys||epoll_create(int size); } 443250 STD { int|linux_sys||epoll_ctl(int epfd, int op, int fd, \ 444 struct linux_epoll_event *event); } 445251 STD { int|linux_sys||epoll_wait(int epfd, \ 446 struct linux_epoll_event *events, int maxevents, \ 447 int timeout); } 448252 UNIMPL remap_file_pages 449253 STD { int|linux_sys||set_tid_address(int *tid); } 450254 STD { int|linux_sys||timer_create(clockid_t clockid, \ 451 struct linux_sigevent *evp, timer_t *timerid); } 452255 STD { int|linux_sys||timer_settime(timer_t timerid, \ 453 int flags, const struct linux_itimerspec *tim, \ 454 struct linux_itimerspec *otim); } 455256 STD { int|linux_sys||timer_gettime(timer_t timerid, \ 456 struct linux_itimerspec *tim); } 457257 NOARGS { int|sys||timer_getoverrun(timer_t timerid); } 458258 NOARGS { int|sys||timer_delete(timer_t timerid); } 459259 STD { int|linux_sys||clock_settime(clockid_t which, \ 460 struct linux_timespec *tp); } 461260 STD { int|linux_sys||clock_gettime(clockid_t which, \ 462 struct linux_timespec *tp); } 463261 STD { int|linux_sys||clock_getres(clockid_t which, \ 464 struct linux_timespec *tp); } 465262 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ 466 int flags, struct linux_timespec *rqtp, \ 467 struct linux_timespec *rmtp); } 468263 STD { int|linux_sys||statfs64(const char *path, \ 469 size_t sz, struct linux_statfs64 *sp); } 470264 STD { int|linux_sys||fstatfs64(int fd, \ 471 size_t sz, struct linux_statfs64 *sp); } 472265 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } 473266 NOARGS { int|compat_50_sys||utimes(const char *path, \ 474 const struct timeval50 *tptr); } 475267 STD { int|linux_sys||fadvise64_64(int fd, off_t offset, \ 476 off_t len, int advice); } 477268 UNIMPL mbind 478269 UNIMPL get_mempolicy 479270 UNIMPL set_mempolicy 480271 UNIMPL mq_open 481272 UNIMPL mq_unlink 482273 UNIMPL mq_timedsend 483274 UNIMPL mq_timedreceive 484275 UNIMPL mq_notify 485276 UNIMPL mq_getsetattr 486277 UNIMPL waitid 487278 UNIMPL vserver 488279 UNIMPL add_key 489280 UNIMPL request_key 490281 UNIMPL keyctl 491282 UNIMPL ioprio_set 492283 UNIMPL ioprio_get 493284 UNIMPL inotify_init 494285 UNIMPL inotify_add_watch 495286 UNIMPL inotify_rm_watch 496287 UNIMPL migrate_pages 497288 STD { int|linux_sys||openat(int fd, const char *path, \ 498 int flags, ... linux_umode_t mode); } 499289 NOARGS { int|sys||mkdirat(int fd, const char *path, \ 500 linux_umode_t mode); } 501290 STD { int|linux_sys||mknodat(int fd, const char *path, \ 502 linux_umode_t mode, unsigned dev); } 503291 STD { int|linux_sys||fchownat(int fd, const char *path, \ 504 uid_t owner, gid_t group, int flag); } 505292 UNIMPL futimesat 506293 STD { int|linux_sys||fstatat64(int fd, const char *path, \ 507 struct linux_stat64 *sp, int flag); } 508294 STD { int|linux_sys||unlinkat(int fd, const char *path, \ 509 int flag); } 510295 NOARGS { int|sys||renameat(int fromfd, const char *from, \ 511 int tofd, const char *to); } 512296 STD { int|linux_sys||linkat(int fd1, const char *name1, \ 513 int fd2, const char *name2, int flags); } 514297 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ 515 const char *path2); } 516298 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ 517 char *buf, size_t bufsize); } 518299 STD { int|linux_sys||fchmodat(int fd, const char *path, \ 519 linux_umode_t mode); } 520300 STD { int|linux_sys||faccessat(int fd, const char *path, \ 521 int amode); } 522301 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ 523 fd_set *writefds, fd_set *exceptfds, \ 524 struct linux_timespec *timeout, \ 525 linux_sized_sigset_t *ss); } 526302 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \ 527 struct linux_timespec *timeout, \ 528 linux_sigset_t *sigset); } 529303 UNIMPL unshare 530 ; 531 ; The NetBSD native robust list calls have different 532 ; argument names / types, but they are ABI-compatible 533 ; with Linux. 534 ; 535304 NOARGS { int|sys||__futex_set_robust_list(void *head, \ 536 size_t len); } 537305 NOARGS { int|sys||__futex_get_robust_list(lwpid_t lwpid, \ 538 void **headp, size_t *lenp); } 539306 UNIMPL splice 540307 UNIMPL sync_file_range 541308 UNIMPL tee 542309 UNIMPL vmsplice 543310 UNIMPL move_pages 544311 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ 545 unsigned int len, unsigned long *mask); } 546312 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ 547 unsigned int len, unsigned long *mask); } 548313 UNIMPL kexec_load 549314 UNIMPL getcpu 550315 STD { int|linux_sys||epoll_pwait(int epfd, \ 551 struct linux_epoll_event *events, int maxevents, \ 552 int timeout, const linux_sigset_t *sigmask); } 553316 STD { int|linux_sys||utimensat(int fd, const char *path, \ 554 struct linux_timespec *times, int flag); } 555317 UNIMPL signalfd 556318 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \ 557 int flags); } 558319 STD { int|linux_sys||eventfd(unsigned int initval); } 559320 STD { int|linux_sys||fallocate(int fd, int mode, \ 560 off_t offset, off_t len); } 561321 STD { int|linux_sys||timerfd_settime(int fd, int flags, \ 562 const struct linux_itimerspec *tim, \ 563 struct linux_itimerspec *otim); } 564322 STD { int|linux_sys||timerfd_gettime(int fd, \ 565 struct linux_itimerspec *tim); } 566323 UNIMPL signalfd4 567324 STD { int|linux_sys||eventfd2(unsigned int initval, \ 568 int flags); } 569325 STD { int|linux_sys||epoll_create1(int flags); } 570326 STD { int|linux_sys||dup3(int from, int to, int flags); } 571327 STD { int|linux_sys||pipe2(int *pfds, int flags); } 572328 UNIMPL inotify_init1 573329 STD { int|linux_sys||preadv(int fd, \ 574 const struct iovec *iovp, int iovcnt, \ 575 unsigned long off_lo, unsigned long off_hi); } 576330 STD { int|linux_sys||pwritev(int fd, \ 577 const struct iovcnt *iovp, int iovcnt, \ 578 unsigned long off_lo, unsigned long off_hi); } 579331 UNIMPL rt_tgsigqueueinfo 580332 UNIMPL perf_counter_open 581333 UNIMPL set_thread_area 582334 UNIMPL get_thread_area 583335 UNIMPL atomic_cmpxchg_32 584336 UNIMPL atomic_barrier 585337 UNIMPL fanotify_init 586338 UNIMPL fanotify_mark 587339 STD { int|linux_sys||prlimit64(pid_t pid, int which, \ 588 struct rlimit *new_rlp, struct rlimit *old_rlp); } 589340 UNIMPL name_to_handle_at 590341 UNIMPL open_by_handle_at 591342 UNIMPL clock_adjtime 592343 UNIMPL syncfs 593344 UNIMPL setns 594345 UNIMPL process_vm_readv 595346 UNIMPL process_vm_writev 596347 UNIMPL kcmp 597348 UNIMPL finit_module 598349 UNIMPL sched_setattr 599350 UNIMPL sched_getattr 600351 UNIMPL renameat2 601352 NOARGS { ssize_t|sys||getrandom(void *buf, size_t buflen, \ 602 unsigned int flags); } 603353 UNIMPL memfd_create 604354 UNIMPL bpf 605355 UNIMPL execveat 606356 UNIMPL socket 607357 UNIMPL socketpair 608358 UNIMPL bind 609359 UNIMPL connect 610360 UNIMPL listen 611361 STD { int|linux_sys||accept4(int s, \ 612 struct osockaddr *name, \ 613 int *anamelen, int flags); } 614362 UNIMPL getsockopt 615363 UNIMPL setsockopt 616364 UNIMPL getsockname 617365 UNIMPL getpeername 618366 UNIMPL sendto 619367 UNIMPL sendmsg 620368 UNIMPL recvfrom 621369 UNIMPL recvmsg 622370 UNIMPL shutdown 623371 STD { int|linux_sys||recvmmsg(int s, \ 624 struct linux_mmsghdr *msgvec, unsigned int vlen, \ 625 unsigned int flags, struct timespec *timeout); } 626372 STD { int|linux_sys||sendmmsg(int s, \ 627 struct linux_mmsghdr *msgvec, unsigned int vlen, \ 628 unsigned int flags); } 629373 UNIMPL userfaultfd 630374 UNIMPL membarrier 631375 UNIMPL mlock2 632376 UNIMPL copy_file_range 633377 UNIMPL preadv2 634378 UNIMPL pwritev2 635379 STD { int|linux_sys||statx(int fd, const char *path, \ 636 int flag, unsigned int mask, \ 637 struct linux_statx *sp); } 638380 UNIMPL 639381 UNIMPL 640382 UNIMPL 641383 UNIMPL 642384 UNIMPL 643385 UNIMPL 644386 UNIMPL 645387 UNIMPL 646388 UNIMPL 647389 UNIMPL 648390 UNIMPL 649391 UNIMPL 650392 UNIMPL 651393 UNIMPL 652394 UNIMPL 653395 UNIMPL 654396 UNIMPL 655397 UNIMPL 656398 UNIMPL 657399 UNIMPL 658400 UNIMPL 659401 UNIMPL 660402 UNIMPL 661403 UNIMPL 662404 UNIMPL 663405 UNIMPL 664406 UNIMPL 665407 UNIMPL 666408 UNIMPL 667409 UNIMPL 668410 UNIMPL 669411 UNIMPL 670412 UNIMPL 671413 UNIMPL 672414 UNIMPL 673415 UNIMPL 674416 UNIMPL 675417 UNIMPL 676418 UNIMPL 677419 UNIMPL 678420 UNIMPL 679421 UNIMPL 680422 UNIMPL 681423 UNIMPL 682424 UNIMPL 683425 UNIMPL 684426 UNIMPL 685427 UNIMPL 686428 UNIMPL 687429 UNIMPL 688430 UNIMPL 689431 UNIMPL 690432 UNIMPL 691433 UNIMPL 692434 UNIMPL 693435 UNIMPL 694436 STD { int|linux_sys||close_range(unsigned int first, \ 695 unsigned int last, unsigned int flags); } 696437 UNIMPL 697438 UNIMPL 698439 UNIMPL 699440 UNIMPL 700441 STD { int|linux_sys||epoll_pwait2(int epfd, \ 701 struct linux_epoll_event *events, int maxevents, \ 702 const struct linux_timespec *timeout, \ 703 const linux_sigset_t *sigmask); } 704