1 $NetBSD: syscalls.master,v 1.81 2024/07/01 01:35:53 christos Exp $ 2 3; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 4 5; Derived from NetBSD's sys/compat/linux/arch/powerpc/syscalls.master 6; from Linux's arch/mips/kernel/syscalls.h 7 8; NetBSD mips COMPAT_LINUX system call name/number "master" file. 9; (See syscalls.conf to see what it is processed into.) 10; 11; Expect problems with 12; 48 signal: undefined in Linux??? 13; 86 uselib: needs a.out 14; 15; Fields: number type [type-dependent ...] 16; number system call number, must be in order 17; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of 18; the compatibility options defined in syscalls.conf. 19; 20; types: 21; STD always included 22; OBSOL obsolete, not included in system 23; UNIMPL unimplemented, not included in system 24; NODEF included, but don't define the syscall number 25; NOARGS included, but don't define the syscall args structure 26; INDIR included, but don't define the syscall args structure 27; and allow it to be "really" varargs. 28; 29; The compat options are defined in the syscalls.conf file, and the 30; compat option name is prefixed to the syscall name. Other than 31; that, they're like NODEF (for 'compat' options), or STD (for 32; 'libcompat' options). 33; 34; The type-dependent arguments are as follows: 35; For STD, NODEF, NOARGS, and compat syscalls: 36; { pseudo-proto } [alias] 37; For other syscalls: 38; [comment] 39; 40; #ifdef's, etc. may be included, and are copied to the output files. 41; #include's are copied to the syscall names and switch definition files only. 42 43#include <sys/param.h> 44#include <sys/poll.h> 45#include <sys/systm.h> 46#include <sys/signal.h> 47#include <sys/mount.h> 48#include <sys/syscallargs.h> 49 50#include <compat/linux/common/linux_types.h> 51#include <compat/linux/common/linux_signal.h> 52#include <compat/linux/common/linux_siginfo.h> 53#include <compat/linux/common/linux_machdep.h> 54#include <compat/linux/common/linux_mmap.h> 55#include <compat/linux/common/linux_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 UNIMPL sync_file_range 538306 UNIMPL tee 539307 UNIMPL vmsplice 540308 UNIMPL move_pages 541 ; 542 ; The NetBSD native robust list calls have different 543 ; argument names / types, but they are ABI-compatible 544 ; with Linux. 545 ; 546309 NOARGS { int|sys||__futex_set_robust_list(void *head, \ 547 size_t len); } 548310 NOARGS { int|sys||__futex_get_robust_list(lwpid_t lwpid, \ 549 void **headp, size_t *lenp); } 550311 UNIMPL kexec_load 551312 STD { int|linux_sys||getcpu(unsigned int *cpu, \ 552 unsigned int *node, \ 553 struct linux_getcpu_cache *tcache); } 554313 STD { int|linux_sys||epoll_pwait(int epfd, \ 555 struct linux_epoll_event *events, int maxevents, \ 556 int timeout, const linux_sigset_t *sigmask); } 557314 UNIMPL ioprio_set 558315 UNIMPL ioprio_get 559316 STD { int|linux_sys||utimensat(int fd, const char *path, \ 560 struct linux_timespec *times, int flag); } 561317 UNIMPL signalfd 562318 UNIMPL timerfd 563319 STD { int|linux_sys||eventfd(unsigned int initval); } 564320 STD { int|linux_sys||fallocate(int fd, int mode, \ 565 off_t offset, off_t len); } 566321 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \ 567 int flags); } 568322 STD { int|linux_sys||timerfd_gettime(int fd, \ 569 struct linux_itimerspec *tim); } 570323 STD { int|linux_sys||timerfd_settime(int fd, int flags, \ 571 const struct linux_itimerspec *tim, \ 572 struct linux_itimerspec *otim); } 573324 UNIMPL signalfd4 574325 STD { int|linux_sys||eventfd2(unsigned int initval, \ 575 int flags); } 576326 STD { int|linux_sys||epoll_create1(int flags); } 577327 STD { int|linux_sys||dup3(int from, int to, int flags); } 578328 STD { int|linux_sys||pipe2(int *pfds, int flags); } 579329 STD { int|linux_sys||inotify_init1(int flags); } 580330 STD { int|linux_sys||preadv(int fd, \ 581 const struct iovec *iovp, int iovcnt, \ 582 unsigned long off_lo, unsigned long off_hi); } 583331 STD { int|linux_sys||pwritev(int fd, \ 584 const struct iovcnt *iovp, int iovcnt, \ 585 unsigned long off_lo, unsigned long off_hi); } 586332 UNIMPL rt_tgsigqueueinfo 587333 UNIMPL perf_event_open 588334 STD { int|linux_sys||accept4(int s, \ 589 struct osockaddr *name, \ 590 int *anamelen, int flags); } 591335 STD { int|linux_sys||recvmmsg(int s, \ 592 struct linux_mmsghdr *msgvec, unsigned int vlen, \ 593 unsigned int flags, struct timespec *timeout); } 594336 UNIMPL getdents64 595337 UNIMPL fanotify_init 596338 UNIMPL fanotify_mark 597339 STD { int|linux_sys||prlimit64(pid_t pid, int which, \ 598 struct rlimit *new_rlp, struct rlimit *old_rlp); } 599340 UNIMPL name_to_handle_at 600341 UNIMPL open_by_handle_at 601342 UNIMPL clock_adjtime 602343 UNIMPL syncfs 603344 STD { int|linux_sys||sendmmsg(int s, \ 604 struct linux_mmsghdr *msgvec, unsigned int vlen, \ 605 unsigned int flags); } 606345 UNIMPL setns 607346 UNIMPL process_vm_readv 608347 UNIMPL process_vm_writev 609348 UNIMPL kcmp 610349 UNIMPL finit_module 611350 UNIMPL sched_setattr 612351 UNIMPL sched_getattr 613352 UNIMPL renameat2 614353 NOARGS { ssize_t|sys||getrandom(void *buf, size_t buflen, \ 615 unsigned int flags); } 616354 STD { int|linux_sys||memfd_create(const char *name, \ 617 unsigned int flags); } 618355 UNIMPL bpf 619356 UNIMPL execveat 620357 UNIMPL userfaultfd 621358 UNIMPL membarrier 622359 UNIMPL mlock2 623360 UNIMPL copy_file_range 624361 UNIMPL preadv2 625362 UNIMPL pwritev2 626363 UNIMPL pkey_mprotect 627364 UNIMPL pkey_alloc 628365 UNIMPL pkey_free 629366 STD { int|linux_sys||statx(int fd, const char *path, \ 630 int flag, unsigned int mask, \ 631 struct linux_statx *sp); } 632367 UNIMPL 633368 UNIMPL 634369 UNIMPL 635370 UNIMPL 636371 UNIMPL 637372 UNIMPL 638373 UNIMPL 639374 UNIMPL 640375 UNIMPL 641376 UNIMPL 642377 UNIMPL 643378 UNIMPL 644379 UNIMPL 645380 UNIMPL 646381 UNIMPL 647382 UNIMPL 648383 UNIMPL 649384 UNIMPL 650385 UNIMPL 651386 UNIMPL 652387 UNIMPL 653388 UNIMPL 654389 UNIMPL 655390 UNIMPL 656391 UNIMPL 657392 UNIMPL 658393 UNIMPL 659394 UNIMPL 660395 UNIMPL 661396 UNIMPL 662397 UNIMPL 663398 UNIMPL 664399 UNIMPL 665400 UNIMPL 666401 UNIMPL 667402 UNIMPL 668403 UNIMPL 669404 UNIMPL 670405 UNIMPL 671406 UNIMPL 672407 UNIMPL 673408 UNIMPL 674409 UNIMPL 675410 UNIMPL 676411 UNIMPL 677412 UNIMPL 678413 UNIMPL 679414 UNIMPL 680415 UNIMPL 681416 UNIMPL 682417 UNIMPL 683418 UNIMPL 684419 UNIMPL 685420 UNIMPL 686421 UNIMPL 687422 UNIMPL 688423 UNIMPL 689424 UNIMPL 690425 UNIMPL 691426 UNIMPL 692427 UNIMPL 693428 UNIMPL 694429 UNIMPL 695430 UNIMPL 696431 UNIMPL 697432 UNIMPL 698433 UNIMPL 699434 UNIMPL 700435 UNIMPL 701436 STD { int|linux_sys||close_range(unsigned int first, \ 702 unsigned int last, unsigned int flags); } 703437 UNIMPL 704438 UNIMPL 705439 UNIMPL 706440 UNIMPL 707441 STD { int|linux_sys||epoll_pwait2(int epfd, \ 708 struct linux_epoll_event *events, int maxevents, \ 709 const struct linux_timespec *timeout, \ 710 const linux_sigset_t *sigmask); } 711