1 $NetBSD: syscalls.master,v 1.83 2024/10/01 16:29:15 riastradh 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_mqueue.h> 56#include <compat/linux/common/linux_socketcall.h> 57#include <compat/linux/common/linux_sched.h> 58 59#include <compat/linux/linux_syscallargs.h> 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); } 8216 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ 83 gid_t gid); } 8417 UNIMPL 8518 OBSOL ostat 8619 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ 87 int whence); } 8820 NOARGS { pid_t|sys||getpid(void); } 8921 UNIMPL mount 9022 OBSOL umount 9123 NOARGS { int|sys||setuid(uid_t uid); } 9224 NOARGS { uid_t|sys||getuid(void); } 9325 STD { int|linux_sys||stime(linux_time_t *t); } 9426 STD { int|linux_sys||ptrace(long request, long pid, \ 95 long addr, long data); } 9627 STD { int|linux_sys||alarm(unsigned int secs); } 9728 OBSOL ofstat 9829 STD { int|linux_sys||pause(void); } 9930 STD { int|linux_sys||utime(const char *path, \ 100 struct linux_utimbuf *times); } 10131 UNIMPL 10232 UNIMPL 10333 NOARGS { int|sys||access(const char *path, int flags); } 10434 STD { int|linux_sys||nice(int incr); } 10535 UNIMPL 10636 NOARGS { int|sys||sync(void); } 10737 STD { int|linux_sys||kill(int pid, int signum); } 10838 NOARGS { int|sys||__posix_rename(const char *from, \ 109 const char *to); } 11039 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } 11140 NOARGS { int|sys||rmdir(const char *path); } 11241 NOARGS { int|sys||dup(int fd); } 11342 STD { int|linux_sys||pipe(int *pfds); } 11443 STD { int|linux_sys||times(struct times *tms); } 11544 UNIMPL 11645 STD { int|linux_sys||brk(char *nsize); } 11746 NOARGS { int|sys||setgid(gid_t gid); } 11847 NOARGS { gid_t|sys||getgid(void); } 11948 STD { int|linux_sys||signal(int signum, \ 120 linux___sighandler_t handler); } 12149 NOARGS { uid_t|sys||geteuid(void); } 12250 NOARGS { gid_t|sys||getegid(void); } 12351 NOARGS { int|sys||acct(char *path); } 12452 UNIMPL umount 12553 UNIMPL 12654 STD { int|linux_sys||ioctl(int fd, u_long com, \ 127 void *data); } 12855 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 12956 OBSOL mpx 13057 NOARGS { int|sys||setpgid(int pid, int pgid); } 13158 UNIMPL 13259 STD { int|linux_sys||olduname(struct linux_old_utsname \ 133 *up); } 13460 NOARGS { int|sys||umask(int newmask); } 13561 NOARGS { int|sys||chroot(char *path); } 13662 UNIMPL ustat 13763 NOARGS { int|sys||dup2(int from, int to); } 13864 NOARGS { pid_t|sys||getppid(void); } 13965 NOARGS { int|sys||getpgrp(void); } 14066 NOARGS { int|sys||setsid(void); } 14167 STD { int|linux_sys||sigaction(int signum, \ 142 const struct linux_old_sigaction *nsa, \ 143 struct linux_old_sigaction *osa); } 14468 STD { int|linux_sys||siggetmask(void); } 14569 STD { int|linux_sys||sigsetmask(linux_old_sigset_t mask); } 14670 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); } 14771 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); } 14872 STD { int|linux_sys||sigsuspend(void *restart, \ 149 int oldmask, int mask); } 15073 STD { int|linux_sys||sigpending(linux_old_sigset_t *set); } 15174 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ 152 u_int len);} 15375 STD { int|linux_sys||setrlimit(u_int which, \ 154 struct orlimit *rlp); } 15576 STD { int|linux_sys||getrlimit(u_int which, \ 156 struct orlimit *rlp); } 15777 NOARGS { int|compat_50_sys||getrusage(int who, \ 158 struct rusage50 *rusage); } 15978 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ 160 struct timezone *tzp); } 16179 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ 162 struct timezone *tzp); } 16380 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); } 16481 NOARGS { int|sys||setgroups(int gidsetsize, gid_t *gidset); } 16582 UNIMPL old_select 16683 NOARGS { int|sys||symlink(const char *path, const char *to); } 16784 NOARGS { int|compat_43_sys||lstat(const char *path, \ 168 struct stat43 *up); } oolstat 16985 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ 170 int count); } 17186 UNIMPL uselib 172;86 STD { int|linux_sys||uselib(const char *path); } 17387 STD { int|linux_sys||swapon(char *name); } 17488 STD { int|linux_sys||reboot(int magic1, int magic2, \ 175 int cmd, void *arg); } 17689 STD { int|linux_sys||readdir(int fd, void *dent, \ 177 unsigned int count); } 17890 NOARGS { int|linux_sys||mmap(unsigned long addr, size_t len, \ 179 int prot, int flags, int fd, linux_off_t offset); } 18091 NOARGS { int|sys||munmap(void *addr, size_t len); } 18192 NOARGS { int|compat_43_sys||truncate(const char *path, \ 182 long length); } 18393 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } 18494 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } 18595 NOARGS { int|sys||__posix_fchown(int fd, uid_t uid, \ 186 gid_t gid); } 18796 STD { int|linux_sys||getpriority(int which, int who); } 18897 NOARGS { int|sys||setpriority(int which, int who, int prio); } 18998 UNIMPL 19099 STD { int|linux_sys||statfs(const char *path, \ 191 struct linux_statfs *sp); } 192100 STD { int|linux_sys||fstatfs(int fd, \ 193 struct linux_statfs *sp); } 194101 STD { int|linux_sys||ioperm(unsigned int lo, \ 195 unsigned int hi, int val); } 196102 STD { int|linux_sys||socketcall(int what, void *args); } 197103 UNIMPL syslog 198104 NOARGS { int|compat_50_sys||setitimer(int which, \ 199 struct itimerval50 *itv, \ 200 struct itimerval50 *oitv); } 201105 NOARGS { int|compat_50_sys||getitimer(int which, \ 202 struct itimerval50 *itv); } 203106 STD { int|linux_sys||stat(const char *path, \ 204 struct linux_stat *sp); } 205107 STD { int|linux_sys||lstat(const char *path, \ 206 struct linux_stat *sp); } 207108 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); } 208109 STD { int|linux_sys||uname(struct linux_utsname *up); } 209110 UNIMPL iopl 210111 UNIMPL vhangup 211112 UNIMPL idle 212113 UNIMPL vm86old 213114 STD { int|linux_sys||wait4(int pid, int *status, \ 214 int options, struct rusage50 *rusage); } 215115 STD { int|linux_sys||swapoff(const char *path); } 216116 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 217117 STD { int|linux_sys||ipc(int what, long a1, long a2, \ 218 long a3, void *ptr); } 219118 NOARGS { int|sys||fsync(int fd); } 220119 STD { int|linux_sys||sigreturn(struct linux_sigframe *sf); } 221120 STD { int|linux_sys||clone(int flags, void *stack, \ 222 void *parent_tidptr, void *tls, void *child_tidptr); } 223121 STD { int|linux_sys||setdomainname(char *domainname, \ 224 int len); } 225122 STD { int|linux_sys||new_uname(struct linux_utsname *up); } 226123 UNIMPL modify_ldt 227124 UNIMPL adjtimex 228125 STD { int|linux_sys||mprotect(const void *start, \ 229 unsigned long len, int prot); } 230126 STD { int|linux_sys||sigprocmask(int how, \ 231 const linux_old_sigset_t *set, \ 232 linux_old_sigset_t *oset); } 233127 UNIMPL create_module 234128 UNIMPL init_module 235129 UNIMPL delete_module 236130 UNIMPL get_kernel_syms 237131 UNIMPL quotactl 238132 NOARGS { pid_t|sys||getpgid(pid_t pid); } 239133 NOARGS { int|sys||fchdir(int fd); } 240134 UNIMPL bdflush 241135 UNIMPL sysfs 242136 STD { int|linux_sys||personality(unsigned long per); } 243137 UNIMPL afs_syscall 244138 STD { int|linux_sys||setfsuid(uid_t uid); } 245139 STD { int|linux_sys||setfsgid(gid_t gid); } 246140 STD { int|linux_sys||llseek(int fd, u_int32_t ohigh, \ 247 u_int32_t olow, void *res, int whence); } 248141 STD { int|linux_sys||getdents(int fd, \ 249 struct linux_dirent *dent, unsigned int count); } 250142 STD { int|linux_sys||select(int nfds, fd_set *readfds, \ 251 fd_set *writefds, fd_set *exceptfds, \ 252 struct timeval50 *timeout); } 253143 NOARGS { int|sys||flock(int fd, int how); } 254144 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 255145 NOARGS { ssize_t|sys||readv(int fd, \ 256 const struct iovec *iovp, int iovcnt); } 257146 NOARGS { ssize_t|sys||writev(int fd, \ 258 const struct iovec *iovp, int iovcnt); } 259147 STD { int|linux_sys||cacheflush(void *addr, \ 260 int bytes, int cache); } 261148 UNIMPL cachectl 262149 STD { int|linux_sys||sysmips(long cmd, long arg1, \ 263 long arg2, long arg3); } 264150 UNIMPL 265151 NOARGS { pid_t|sys||getsid(pid_t pid); } 266152 STD { int|linux_sys||fdatasync(int fd); } 267153 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } 268154 NOARGS { int|sys||mlock(void *addr, size_t len); } 269155 NOARGS { int|sys||munlock(void *addr, size_t len); } 270156 NOARGS { int|sys||mlockall(int flags); } 271157 NOARGS { int|sys||munlockall(void); } 272158 STD { int|linux_sys||sched_setparam(pid_t pid, \ 273 const struct linux_sched_param *sp); } 274159 STD { int|linux_sys||sched_getparam(pid_t pid, \ 275 struct linux_sched_param *sp); } 276160 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ 277 int policy, const struct linux_sched_param *sp); } 278161 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 279162 STD { int|linux_sys||sched_yield(void); } 280163 STD { int|linux_sys||sched_get_priority_max(int policy); } 281164 STD { int|linux_sys||sched_get_priority_min(int policy); } 282165 UNIMPL sched_rr_get_interval 283166 STD { int|linux_sys||nanosleep( \ 284 const struct linux_timespec *rqtp, \ 285 struct linux_timespec *rmtp); } 286167 STD { void *|linux_sys||mremap(void *old_address, \ 287 size_t old_size, size_t new_size, u_long flags); } 288168 STD { int|linux_sys||accept(int s, \ 289 struct osockaddr *name, int *anamelen); } 290169 STD { int|linux_sys||bind(int s, \ 291 const struct osockaddr *name, int namelen); } 292170 STD { int|linux_sys||connect(int s, \ 293 const struct osockaddr *name, int namelen); } 294171 STD { int|linux_sys||getpeername(int fdes, void *asa, \ 295 int *alen); } 296172 STD { int|linux_sys||getsockname(int fdes, void *asa, \ 297 int *alen); } 298173 STD { int|linux_sys||getsockopt(int s, int level, \ 299 int optname, void *optval, int *optlen); } 300174 NOARGS { int|sys||listen(int s, int backlog); } 301175 STD { int|linux_sys||recv(int s, void *buf, int len, \ 302 int flags); } 303176 STD { int|linux_sys||recvfrom(int s, void *buf, int len, \ 304 int flags, struct osockaddr *from, \ 305 int *fromlenaddr); } 306177 STD { int|linux_sys||recvmsg(int s, \ 307 struct linux_msghdr *msg, u_int flags); } 308178 STD { int|linux_sys||send(int s, void *buf, int len, \ 309 int flags); } 310179 STD { int|linux_sys||sendmsg(int s, \ 311 struct linux_msghdr *msg, u_int flags); } 312180 STD { int|linux_sys||sendto(int s, void *msg, \ 313 int len, int flags, struct osockaddr *to, \ 314 int tolen); } 315181 STD { int|linux_sys||setsockopt(int s, int level, \ 316 int optname, void *optval, int optlen); } 317182 UNIMPL shutdown 318183 STD { int|linux_sys||socket(int domain, int type, \ 319 int protocol); } 320184 STD { int|linux_sys||socketpair(int domain, int type, \ 321 int protocol, int *rsv); } 322185 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \ 323 uid_t suid); } 324186 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \ 325 uid_t *suid); } 326187 UNIMPL query_module 327188 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ 328 int timeout); } 329189 UNIMPL nfsservctl 330190 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \ 331 gid_t sgid); } 332191 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \ 333 gid_t *sgid); } 334192 UNIMPL prctl 335193 STD { int|linux_sys||rt_sigreturn( \ 336 struct linux_pt_regs *regs); } 337194 STD { int|linux_sys||rt_sigaction(int signum, \ 338 const struct linux_sigaction *nsa, \ 339 struct linux_sigaction *osa, \ 340 size_t sigsetsize); } 341195 STD { int|linux_sys||rt_sigprocmask(int how, \ 342 const linux_sigset_t *set, \ 343 linux_sigset_t *oset, \ 344 size_t sigsetsize); } 345196 STD { int|linux_sys||rt_sigpending( \ 346 linux_sigset_t *set, \ 347 size_t sigsetsize); } 348197 STD { int|linux_sys||rt_sigtimedwait( \ 349 const linux_sigset_t *set, \ 350 linux_siginfo_t *info, \ 351 const struct linux_timespec *timeout); } 352198 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ 353 linux_siginfo_t *uinfo); } 354199 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ 355 size_t sigsetsize); } 356200 STD { int|linux_sys||pread(int fd, char *buf, \ 357 size_t nbyte, off_t offset); } 358201 STD { int|linux_sys||pwrite(int fd, char *buf, \ 359 size_t nbyte, off_t offset); } 360202 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \ 361 gid_t gid); } 362203 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 363204 UNIMPL capget 364205 UNIMPL capset 365206 STD { int|linux_sys||sigaltstack( \ 366 const struct linux_sigaltstack *ss, \ 367 struct linux_sigaltstack *oss); } 368207 UNIMPL sendfile 369208 UNIMPL 370209 UNIMPL 371#define linux_sys_mmap2_args linux_sys_mmap_args 372210 NOARGS { linux_off_t|linux_sys||mmap2(unsigned long addr, \ 373 size_t len, int prot, int flags, int fd, \ 374 linux_off_t offset); } 375211 STD { int|linux_sys||truncate64(const char *path, \ 376 off_t length); } 377212 STD { int|linux_sys||ftruncate64(unsigned int fd, \ 378 off_t length); } 379213 STD { int|linux_sys||stat64(const char *path, \ 380 struct linux_stat64 *sp); } 381214 STD { int|linux_sys||lstat64(const char *path, \ 382 struct linux_stat64 *sp); } 383215 STD { int|linux_sys||fstat64(int fd, \ 384 struct linux_stat64 *sp); } 385216 UNIMPL pivot_root 386217 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 387218 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 388219 STD { int|linux_sys||getdents64(int fd, \ 389 struct linux_dirent64 *dent, unsigned int count); } 390220 STD { int|linux_sys||fcntl64(int fd, \ 391 int cmd, void *arg); } 392221 UNIMPL /* reserved */ 393222 NOARGS { pid_t|linux_sys||gettid(void); } 394223 STD { ssize_t|linux_sys||readahead(int fd, off_t offset, \ 395 size_t count); } 396224 STD { int|linux_sys||setxattr(char *path, char *name, \ 397 void *value, size_t size, int flags); } 398225 STD { int|linux_sys||lsetxattr(char *path, char *name, \ 399 void *value, size_t size, int flags); } 400226 STD { int|linux_sys||fsetxattr(int fd, char *name, \ 401 void *value, size_t size, int flags); } 402227 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ 403 void *value, size_t size); } 404228 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ 405 void *value, size_t size); } 406229 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ 407 void *value, size_t size); } 408230 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ 409 size_t size); } 410231 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ 411 size_t size); } 412232 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ 413 size_t size); } 414233 STD { int|linux_sys||removexattr(char *path, char *name); } 415234 STD { int|linux_sys||lremovexattr(char *path, char *name); } 416235 STD { int|linux_sys||fremovexattr(int fd, char *name); } 417236 STD { int|linux_sys||tkill(int tid, int sig); } 418237 UNIMPL sendfile64 419238 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ 420 const struct linux_timespec *timeout, int *uaddr2, \ 421 int val3); } 422239 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ 423 unsigned int len, unsigned long *mask); } 424240 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ 425 unsigned int len, unsigned long *mask); } 426241 UNIMPL io_setup 427242 UNIMPL io_destroy 428243 UNIMPL io_getevents 429244 UNIMPL io_submit 430245 UNIMPL io_cancel 431246 STD { int|linux_sys||exit_group(int error_code); } 432247 UNIMPL lookup_dcookie 433248 STD { int|linux_sys||epoll_create(int size); } 434249 STD { int|linux_sys||epoll_ctl(int epfd, int op, int fd, \ 435 struct linux_epoll_event *event); } 436250 STD { int|linux_sys||epoll_wait(int epfd, \ 437 struct linux_epoll_event *events, int maxevents, \ 438 int timeout); } 439251 UNIMPL remap_file_pages 440252 STD { int|linux_sys||set_tid_address(int *tid); } 441253 UNIMPL restart_syscall 442254 STD { int|linux_sys||fadvise64(int fd, off_t offset, \ 443 size_t len, int advice); } 444255 STD { int|linux_sys||statfs64(const char *path, \ 445 size_t sz, struct linux_statfs64 *sp); } 446256 STD { int|linux_sys||fstatfs64(int fd, \ 447 size_t sz, struct linux_statfs64 *sp); } 448257 STD { int|linux_sys||timer_create(clockid_t clockid, \ 449 struct linux_sigevent *evp, timer_t *timerid); } 450258 STD { int|linux_sys||timer_settime(timer_t timerid, \ 451 int flags, const struct linux_itimerspec *tim, \ 452 struct linux_itimerspec *otim); } 453259 STD { int|linux_sys||timer_gettime(timer_t timerid, \ 454 struct linux_itimerspec *tim); } 455260 NOARGS { int|sys||timer_getoverrun(timer_t timerid); } 456261 NOARGS { int|sys||timer_delete(timer_t timerid); } 457262 STD { int|linux_sys||clock_settime(clockid_t which, \ 458 struct linux_timespec *tp); } 459263 STD { int|linux_sys||clock_gettime(clockid_t which, \ 460 struct linux_timespec *tp); } 461264 STD { int|linux_sys||clock_getres(clockid_t which, \ 462 struct linux_timespec *tp); } 463265 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ 464 int flags, struct linux_timespec *rqtp, \ 465 struct linux_timespec *rmtp); } 466266 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } 467267 NOARGS { int|compat_50_sys||utimes(const char *path, \ 468 const struct timeval50 *tptr); } 469268 UNIMPL mbind 470269 UNIMPL get_mempolicy 471270 UNIMPL set_mempolicy 472271 STD { linux_mqd_t|linux_sys||mq_open(const char *name, \ 473 int oflag, linux_umode_t mode, \ 474 struct linux_mq_attr *attr); } 475272 STD { int|linux_sys||mq_unlink(const char *name); } 476273 STD { int|linux_sys||mq_timedsend(linux_mqd_t mqdes, \ 477 const char *msg_ptr, size_t msg_len, \ 478 unsigned int msg_prio, \ 479 const struct linux_timespec *abs_timeout); } 480274 STD { ssize_t|linux_sys||mq_timedreceive(linux_mqd_t mqdes, \ 481 char *msg_ptr, size_t msg_len, \ 482 unsigned int *msg_prio, \ 483 const struct linux_timespec *abs_timeout); } 484275 STD { int|linux_sys||mq_notify(linux_mqd_t mqdes, \ 485 const struct linux_sigevent *sevp); } 486276 STD { int|linux_sys||mq_getsetattr(linux_mqd_t mqdes, \ 487 const struct linux_mq_attr *newattr, \ 488 struct linux_mq_attr *oldattr); } 489277 UNIMPL vserve 490278 STD { int|linux_sys||waitid(int idtype, id_t id, \ 491 linux_siginfo_t *infop, int options, \ 492 struct rusage50 *rusage); } 493279 UNIMPL setaltroot 494280 UNIMPL add_key 495281 UNIMPL request_key 496282 UNIMPL keyctl 497283 STD { int|linux_sys||set_thread_area(void *tls); } 498284 STD { int|linux_sys||inotify_init(void); } 499285 STD { int|linux_sys||inotify_add_watch(int fd, \ 500 const char *pathname, uint32_t mask); } 501286 STD { int|linux_sys||inotify_rm_watch(int fd, int wd); } 502287 UNIMPL migrate_pages 503288 STD { int|linux_sys||openat(int fd, const char *path, \ 504 int flags, ... linux_umode_t mode); } 505289 NOARGS { int|sys||mkdirat(int fd, const char *path, \ 506 linux_umode_t mode); } 507290 STD { int|linux_sys||mknodat(int fd, const char *path, \ 508 linux_umode_t mode, unsigned dev); } 509291 STD { int|linux_sys||fchownat(int fd, const char *path, \ 510 uid_t owner, gid_t group, int flag); } 511292 UNIMPL futimesat 512293 STD { int|linux_sys||fstatat64(int fd, const char *path, \ 513 struct linux_stat64 *sp, int flag); } 514294 STD { int|linux_sys||unlinkat(int fd, const char *path, \ 515 int flag); } 516295 NOARGS { int|sys||renameat(int fromfd, const char *from, \ 517 int tofd, const char *to); } 518296 STD { int|linux_sys||linkat(int fd1, const char *name1, \ 519 int fd2, const char *name2, int flags); } 520297 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ 521 const char *path2); } 522298 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ 523 char *buf, size_t bufsize); } 524299 STD { int|linux_sys||fchmodat(int fd, const char *path, \ 525 linux_umode_t mode); } 526300 STD { int|linux_sys||faccessat(int fd, const char *path, \ 527 int amode); } 528301 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ 529 fd_set *writefds, fd_set *exceptfds, \ 530 struct linux_timespec *timeout, \ 531 linux_sized_sigset_t *ss); } 532302 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \ 533 struct linux_timespec *timeout, \ 534 linux_sigset_t *sigset); } 535303 UNIMPL unshare 536304 UNIMPL splice 537305 STD { int|linux_sys||sync_file_range(int fd, \ 538 off_t offset, off_t nbytes, unsigned int flags); } 539306 UNIMPL tee 540307 UNIMPL vmsplice 541308 UNIMPL move_pages 542 ; 543 ; The NetBSD native robust list calls have different 544 ; argument names / types, but they are ABI-compatible 545 ; with Linux. 546 ; 547309 NOARGS { int|sys||__futex_set_robust_list(void *head, \ 548 size_t len); } 549310 NOARGS { int|sys||__futex_get_robust_list(lwpid_t lwpid, \ 550 void **headp, size_t *lenp); } 551311 UNIMPL kexec_load 552312 STD { int|linux_sys||getcpu(unsigned int *cpu, \ 553 unsigned int *node, \ 554 struct linux_getcpu_cache *tcache); } 555313 STD { int|linux_sys||epoll_pwait(int epfd, \ 556 struct linux_epoll_event *events, int maxevents, \ 557 int timeout, const linux_sigset_t *sigmask); } 558314 UNIMPL ioprio_set 559315 UNIMPL ioprio_get 560316 STD { int|linux_sys||utimensat(int fd, const char *path, \ 561 struct linux_timespec *times, int flag); } 562317 UNIMPL signalfd 563318 UNIMPL timerfd 564319 STD { int|linux_sys||eventfd(unsigned int initval); } 565320 STD { int|linux_sys||fallocate(int fd, int mode, \ 566 off_t offset, off_t len); } 567321 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \ 568 int flags); } 569322 STD { int|linux_sys||timerfd_gettime(int fd, \ 570 struct linux_itimerspec *tim); } 571323 STD { int|linux_sys||timerfd_settime(int fd, int flags, \ 572 const struct linux_itimerspec *tim, \ 573 struct linux_itimerspec *otim); } 574324 UNIMPL signalfd4 575325 STD { int|linux_sys||eventfd2(unsigned int initval, \ 576 int flags); } 577326 STD { int|linux_sys||epoll_create1(int flags); } 578327 STD { int|linux_sys||dup3(int from, int to, int flags); } 579328 STD { int|linux_sys||pipe2(int *pfds, int flags); } 580329 STD { int|linux_sys||inotify_init1(int flags); } 581330 STD { int|linux_sys||preadv(int fd, \ 582 const struct iovec *iovp, int iovcnt, \ 583 unsigned long off_lo, unsigned long off_hi); } 584331 STD { int|linux_sys||pwritev(int fd, \ 585 const struct iovcnt *iovp, int iovcnt, \ 586 unsigned long off_lo, unsigned long off_hi); } 587332 UNIMPL rt_tgsigqueueinfo 588333 UNIMPL perf_event_open 589334 STD { int|linux_sys||accept4(int s, \ 590 struct osockaddr *name, \ 591 int *anamelen, int flags); } 592335 STD { int|linux_sys||recvmmsg(int s, \ 593 struct linux_mmsghdr *msgvec, unsigned int vlen, \ 594 unsigned int flags, struct timespec *timeout); } 595336 UNIMPL getdents64 596337 UNIMPL fanotify_init 597338 UNIMPL fanotify_mark 598339 STD { int|linux_sys||prlimit64(pid_t pid, int which, \ 599 struct rlimit *new_rlp, struct rlimit *old_rlp); } 600340 UNIMPL name_to_handle_at 601341 UNIMPL open_by_handle_at 602342 UNIMPL clock_adjtime 603343 STD { int|linux_sys||syncfs(int fd); } 604344 STD { int|linux_sys||sendmmsg(int s, \ 605 struct linux_mmsghdr *msgvec, unsigned int vlen, \ 606 unsigned int flags); } 607345 UNIMPL setns 608346 UNIMPL process_vm_readv 609347 UNIMPL process_vm_writev 610348 UNIMPL kcmp 611349 UNIMPL finit_module 612350 UNIMPL sched_setattr 613351 UNIMPL sched_getattr 614352 STD { int|linux_sys||renameat2(int fromfd, \ 615 const char *from, int tofd, const char *to, \ 616 unsigned int flags); } 617353 NOARGS { ssize_t|sys||getrandom(void *buf, size_t buflen, \ 618 unsigned int flags); } 619354 STD { int|linux_sys||memfd_create(const char *name, \ 620 unsigned int flags); } 621355 UNIMPL bpf 622356 UNIMPL execveat 623357 UNIMPL userfaultfd 624358 UNIMPL membarrier 625359 UNIMPL mlock2 626360 STD { ssize_t|linux_sys||copy_file_range(int fd_in, \ 627 off_t * off_in, int fd_out, off_t * off_out, \ 628 size_t len, unsigned int flags); } 629361 UNIMPL preadv2 630362 UNIMPL pwritev2 631363 UNIMPL pkey_mprotect 632364 UNIMPL pkey_alloc 633365 UNIMPL pkey_free 634366 STD { int|linux_sys||statx(int fd, const char *path, \ 635 int flag, unsigned int mask, \ 636 struct linux_statx *sp); } 637367 UNIMPL 638368 UNIMPL 639369 UNIMPL 640370 UNIMPL 641371 UNIMPL 642372 UNIMPL 643373 UNIMPL 644374 UNIMPL 645375 UNIMPL 646376 UNIMPL 647377 UNIMPL 648378 UNIMPL 649379 UNIMPL 650380 UNIMPL 651381 UNIMPL 652382 UNIMPL 653383 UNIMPL 654384 UNIMPL 655385 UNIMPL 656386 UNIMPL 657387 UNIMPL 658388 UNIMPL 659389 UNIMPL 660390 UNIMPL 661391 UNIMPL 662392 UNIMPL 663393 UNIMPL 664394 UNIMPL 665395 UNIMPL 666396 UNIMPL 667397 UNIMPL 668398 UNIMPL 669399 UNIMPL 670400 UNIMPL 671401 UNIMPL 672402 UNIMPL 673403 UNIMPL 674404 UNIMPL 675405 UNIMPL 676406 UNIMPL 677407 UNIMPL 678408 UNIMPL 679409 UNIMPL 680410 UNIMPL 681411 UNIMPL 682412 UNIMPL 683413 UNIMPL 684414 UNIMPL 685415 UNIMPL 686416 UNIMPL 687417 UNIMPL 688418 UNIMPL 689419 UNIMPL 690420 UNIMPL 691421 UNIMPL 692422 UNIMPL 693423 UNIMPL 694424 UNIMPL 695425 UNIMPL 696426 UNIMPL 697427 UNIMPL 698428 UNIMPL 699429 UNIMPL 700430 UNIMPL 701431 UNIMPL 702432 UNIMPL 703433 UNIMPL 704434 UNIMPL 705435 STD { int|linux_sys||clone3( \ 706 struct linux_user_clone3_args *cl_args, \ 707 size_t size); } 708436 STD { int|linux_sys||close_range(unsigned int first, \ 709 unsigned int last, unsigned int flags); } 710437 UNIMPL 711438 UNIMPL 712439 UNIMPL 713440 UNIMPL 714441 STD { int|linux_sys||epoll_pwait2(int epfd, \ 715 struct linux_epoll_event *events, int maxevents, \ 716 const struct linux_timespec *timeout, \ 717 const linux_sigset_t *sigmask); } 718