1 $NetBSD: syscalls.master,v 1.137 2024/09/28 19:35:55 christos Exp $ 2 3 ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 4 5 ; NetBSD i386 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 #include <sys/param.h> 37 #include <sys/poll.h> 38 #include <sys/systm.h> 39 #include <sys/signal.h> 40 #include <sys/mount.h> 41 #include <sys/syscallargs.h> 42 43 #include <compat/sys/time.h> 44 45 #include <compat/linux/common/linux_types.h> 46 #include <compat/linux/common/linux_mmap.h> 47 #include <compat/linux/common/linux_signal.h> 48 #include <compat/linux/common/linux_siginfo.h> 49 #include <compat/linux/common/linux_machdep.h> 50 #include <compat/linux/common/linux_mqueue.h> 51 #include <compat/linux/common/linux_sched.h> 52 53 #include <compat/linux/linux_syscallargs.h> 54 55 %% 56 57 0 NOARGS { int|linux_sys||nosys(void); } syscall 58 1 STD { int|linux_sys||exit(int rval); } 59 2 NOARGS { int|sys||fork(void); } 60 3 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 61 4 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ 62 size_t nbyte); } 63 5 STD { int|linux_sys||open(const char *path, int flags, \ 64 linux_umode_t mode); } 65 6 NOARGS { int|sys||close(int fd); } 66 7 STD { int|linux_sys||waitpid(int pid, int *status, \ 67 int options);} 68 8 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); } 69 9 NOARGS { int|sys||link(const char *path, const char *link); } 70 10 STD { int|linux_sys||unlink(const char *path); } 71 11 NOARGS { int|sys||execve(const char *path, char **argp, \ 72 char **envp); } 73 12 NOARGS { int|sys||chdir(const char *path); } 74 13 STD { int|linux_sys||time(linux_time_t *t); } 75 14 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \ 76 unsigned dev); } 77 15 NOARGS { int|sys||chmod(const char *path, linux_umode_t mode); } 78 16 STD { int|linux_sys||lchown16(const char *path, \ 79 linux_uid16_t uid, linux_gid16_t gid); } 80 ;17 - no longer in linux source. 81 17 STD { int|linux_sys||break(char *nsize); } 82 18 OBSOL ostat 83 19 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ 84 int whence); } 85 20 NOARGS { pid_t|sys||getpid(void); } 86 21 UNIMPL mount 87 22 UNIMPL umount 88 23 NOARGS linux_setuid16 { int|sys||setuid(uid_t uid); } 89 24 NOARGS linux_getuid16 { uid_t|sys||getuid(void); } 90 25 STD { int|linux_sys||stime(linux_time_t *t); } 91 26 STD { int|linux_sys||ptrace(int request, int pid, \ 92 int addr, int data); } 93 27 STD { int|linux_sys||alarm(unsigned int secs); } 94 28 OBSOL ofstat 95 29 NOARGS { int|linux_sys||pause(void); } 96 30 STD { int|linux_sys||utime(const char *path, \ 97 struct linux_utimbuf *times); } 98 31 OBSOL stty 99 32 OBSOL gtty 100 33 NOARGS { int|sys||access(const char *path, int flags); } 101 34 STD { int|linux_sys||nice(int incr); } 102 35 OBSOL ftime 103 36 NOARGS { int|sys||sync(void); } 104 37 STD { int|linux_sys||kill(int pid, int signum); } 105 38 NOARGS { int|sys||__posix_rename(const char *from, \ 106 const char *to); } 107 39 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } 108 40 NOARGS { int|sys||rmdir(const char *path); } 109 41 NOARGS { int|sys||dup(int fd); } 110 42 STD { int|linux_sys||pipe(int *pfds); } 111 43 STD { int|linux_sys||times(struct times *tms); } 112 44 OBSOL prof 113 45 STD { int|linux_sys||brk(char *nsize); } 114 46 NOARGS linux_setgid16 { int|sys||setgid(gid_t gid); } 115 47 NOARGS linux_getgid16 { gid_t|sys||getgid(void); } 116 48 STD { int|linux_sys||signal(int signum, \ 117 linux_handler_t handler); } 118 49 NOARGS linux_geteuid16 { uid_t|sys||geteuid(void); } 119 50 NOARGS linux_getegid16 { gid_t|sys||getegid(void); } 120 51 NOARGS { int|sys||acct(char *path); } 121 52 OBSOL phys 122 53 OBSOL lock 123 54 STD { int|linux_sys||ioctl(int fd, u_long com, \ 124 void *data); } 125 55 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 126 56 OBSOL mpx 127 57 NOARGS { int|sys||setpgid(int pid, int pgid); } 128 58 OBSOL ulimit 129 59 STD { int|linux_sys||oldolduname( \ 130 struct linux_oldold_utsname *up); } 131 60 NOARGS { int|sys||umask(int newmask); } 132 61 NOARGS { int|sys||chroot(char *path); } 133 62 UNIMPL ustat 134 63 NOARGS { int|sys||dup2(int from, int to); } 135 64 NOARGS { pid_t|sys||getppid(void); } 136 65 NOARGS { int|sys||getpgrp(void); } 137 66 NOARGS { int|sys||setsid(void); } 138 67 STD { int|linux_sys||sigaction(int signum, \ 139 const struct linux_old_sigaction *nsa, \ 140 struct linux_old_sigaction *osa); } 141 68 NOARGS { int|linux_sys||siggetmask(void); } 142 69 STD { int|linux_sys||sigsetmask(linux_old_sigset_t mask); } 143 70 STD { int|linux_sys||setreuid16(linux_uid16_t ruid, \ 144 linux_uid16_t euid); } 145 71 STD { int|linux_sys||setregid16(linux_gid16_t rgid, \ 146 linux_gid16_t egid); } 147 72 STD { int|linux_sys||sigsuspend(void *restart, \ 148 int oldmask, int mask); } 149 73 STD { int|linux_sys||sigpending(linux_old_sigset_t *set); } 150 74 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ 151 u_int len);} 152 75 STD { int|linux_sys||setrlimit(u_int which, \ 153 struct orlimit *rlp); } 154 76 STD { int|linux_sys||getrlimit(u_int which, \ 155 struct orlimit *rlp); } 156 77 NOARGS { int|compat_50_sys||getrusage(int who, \ 157 struct rusage50 *rusage); } 158 78 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ 159 struct timezone *tzp); } 160 79 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ 161 struct timezone *tzp); } 162 80 STD { int|linux_sys||getgroups16(int gidsetsize, \ 163 linux_gid16_t *gidset); } 164 81 STD { int|linux_sys||setgroups16(int gidsetsize, \ 165 linux_gid16_t *gidset); } 166 82 STD { int|linux_sys||oldselect(struct linux_oldselect *lsp); } 167 83 NOARGS { int|sys||symlink(const char *path, const char *link); } 168 84 NOARGS { int|compat_43_sys||lstat(const char *path, \ 169 struct stat43 *ub); } oolstat 170 85 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ 171 int count); } 172 #ifdef EXEC_AOUT 173 86 STD { int|linux_sys||uselib(const char *path); } 174 #else 175 86 UNIMPL sys_uselib 176 #endif 177 87 STD { int|linux_sys||swapon(char *name); } 178 88 STD { int|linux_sys||reboot(int magic1, int magic2, \ 179 int cmd, void *arg); } 180 89 STD { int|linux_sys||readdir(int fd, void *dent, \ 181 unsigned int count); } 182 90 STD { int|linux_sys||old_mmap(struct linux_oldmmap *lmp); } 183 91 NOARGS { int|sys||munmap(void *addr, size_t len); } 184 92 NOARGS { int|compat_43_sys||truncate(const char *path, \ 185 long length); } 186 93 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } 187 94 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } 188 95 STD { int|linux_sys||fchown16(int fd, linux_uid16_t uid, \ 189 linux_gid16_t gid); } 190 96 STD { int|linux_sys||getpriority(int which, int who); } 191 97 NOARGS { int|sys||setpriority(int which, int who, int prio); } 192 98 NOARGS { int|sys||profil(void *samples, u_int size, \ 193 u_int offset, u_int scale); } 194 99 STD { int|linux_sys||statfs(const char *path, \ 195 struct linux_statfs *sp); } 196 100 STD { int|linux_sys||fstatfs(int fd, \ 197 struct linux_statfs *sp); } 198 101 STD { int|linux_sys||ioperm(unsigned int lo, \ 199 unsigned int hi, int val); } 200 102 STD { int|linux_sys||socketcall(int what, void *args); } 201 103 UNIMPL syslog 202 104 NOARGS { int|compat_50_sys||setitimer(int which, \ 203 struct itimerval50 *itv, struct itimerval50 *oitv); } 204 105 NOARGS { int|compat_50_sys||getitimer(int which, \ 205 struct itimerval50 *itv); } 206 106 STD { int|linux_sys||stat(const char *path, \ 207 struct linux_stat *sp); } 208 107 STD { int|linux_sys||lstat(const char *path, \ 209 struct linux_stat *sp); } 210 108 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); } 211 109 STD { int|linux_sys||olduname(struct linux_old_utsname *up); } 212 110 STD { int|linux_sys||iopl(int level); } 213 111 UNIMPL vhangup 214 112 UNIMPL idle 215 113 UNIMPL vm86old 216 114 STD { int|linux_sys||wait4(int pid, int *status, \ 217 int options, struct rusage50 *rusage); } 218 115 STD { int|linux_sys||swapoff(const char *path); } 219 116 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 220 117 STD { int|linux_sys||ipc(int what, int a1, int a2, int a3, \ 221 void *ptr); } 222 118 NOARGS { int|sys||fsync(int fd); } 223 119 STD { int|linux_sys||sigreturn(struct linux_sigcontext *scp); } 224 120 STD { int|linux_sys||clone(int flags, void *stack, \ 225 void *parent_tidptr, void *tls, void *child_tidptr); } 226 121 STD { int|linux_sys||setdomainname(char *domainname, \ 227 int len); } 228 122 STD { int|linux_sys||uname(struct linux_utsname *up); } 229 123 STD { int|linux_sys||modify_ldt(int func, void *ptr, \ 230 size_t bytecount); } 231 124 UNIMPL adjtimex 232 125 STD { int|linux_sys||mprotect(const void *start, \ 233 unsigned long len, int prot); } 234 126 STD { int|linux_sys||sigprocmask(int how, \ 235 const linux_old_sigset_t *set, \ 236 linux_old_sigset_t *oset); } 237 127 UNIMPL create_module 238 128 UNIMPL init_module 239 129 UNIMPL delete_module 240 130 UNIMPL get_kernel_syms 241 131 UNIMPL quotactl 242 132 NOARGS { pid_t|sys||getpgid(pid_t pid); } 243 133 NOARGS { int|sys||fchdir(int fd); } 244 134 UNIMPL bdflush 245 135 UNIMPL sysfs 246 136 STD { int|linux_sys||personality(unsigned long per); } 247 137 UNIMPL afs_syscall 248 138 NOARGS linux_setfsuid16 { int|linux_sys||setfsuid(uid_t uid); } 249 139 NOARGS linux_setfsgid16 { int|linux_sys||setfsgid(gid_t gid); } 250 140 STD { int|linux_sys||llseek(int fd, u_int32_t ohigh, \ 251 u_int32_t olow, void *res, int whence); } 252 141 STD { int|linux_sys||getdents(int fd, \ 253 struct linux_dirent *dent, unsigned int count); } 254 142 STD { int|linux_sys||select(int nfds, fd_set *readfds, \ 255 fd_set *writefds, fd_set *exceptfds, \ 256 struct timeval50 *timeout); } 257 143 NOARGS { int|sys||flock(int fd, int how); } 258 144 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 259 145 NOARGS { ssize_t|sys||readv(int fd, \ 260 const struct iovec *iovp, int iovcnt); } 261 146 NOARGS { ssize_t|sys||writev(int fd, \ 262 const struct iovec *iovp, int iovcnt); } 263 147 NOARGS { pid_t|sys||getsid(pid_t pid); } 264 148 STD { int|linux_sys||fdatasync(int fd); } 265 149 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } 266 150 NOARGS { int|sys||mlock(void *addr, size_t len); } 267 151 NOARGS { int|sys||munlock(void *addr, size_t len); } 268 152 NOARGS { int|sys||mlockall(int flags); } 269 153 NOARGS { int|sys||munlockall(void); } 270 154 STD { int|linux_sys||sched_setparam(pid_t pid, \ 271 const struct linux_sched_param *sp); } 272 155 STD { int|linux_sys||sched_getparam(pid_t pid, \ 273 struct linux_sched_param *sp); } 274 156 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ 275 int policy, const struct linux_sched_param *sp); } 276 157 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 277 158 STD { int|linux_sys||sched_yield(void); } 278 159 STD { int|linux_sys||sched_get_priority_max(int policy); } 279 160 STD { int|linux_sys||sched_get_priority_min(int policy); } 280 161 UNIMPL sys_sched_rr_get_interval 281 162 STD { int|linux_sys||nanosleep( \ 282 const struct linux_timespec *rqtp, \ 283 struct linux_timespec *rmtp); } 284 163 STD { void *|linux_sys||mremap(void *old_address, \ 285 size_t old_size, size_t new_size, u_long flags); } 286 164 STD { int|linux_sys||setresuid16(linux_uid16_t ruid, \ 287 linux_uid16_t euid, linux_uid16_t suid); } 288 165 STD { int|linux_sys||getresuid16(linux_uid16_t *ruid, \ 289 linux_uid16_t *euid, linux_uid16_t *suid); } 290 166 UNIMPL vm86 291 167 UNIMPL query_module 292 168 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ 293 int timeout); } 294 169 UNIMPL nfsservctl 295 170 STD { int|linux_sys||setresgid16(linux_gid16_t rgid, \ 296 linux_gid16_t egid, linux_gid16_t sgid); } 297 171 STD { int|linux_sys||getresgid16(linux_gid16_t *rgid, \ 298 linux_gid16_t *egid, linux_gid16_t *sgid); } 299 172 UNIMPL prctl 300 173 STD { int|linux_sys||rt_sigreturn( \ 301 struct linux_ucontext *ucp); } 302 174 STD { int|linux_sys||rt_sigaction(int signum, \ 303 const struct linux_sigaction *nsa, \ 304 struct linux_sigaction *osa, \ 305 size_t sigsetsize); } 306 175 STD { int|linux_sys||rt_sigprocmask(int how, \ 307 const linux_sigset_t *set, \ 308 linux_sigset_t *oset, \ 309 size_t sigsetsize); } 310 176 STD { int|linux_sys||rt_sigpending( \ 311 linux_sigset_t *set, \ 312 size_t sigsetsize); } 313 177 STD { int|linux_sys||rt_sigtimedwait( \ 314 const linux_sigset_t *set, \ 315 linux_siginfo_t *info, \ 316 const struct linux_timespec *timeout); } 317 178 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ 318 linux_siginfo_t *uinfo); } 319 179 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ 320 size_t sigsetsize); } 321 180 STD { int|linux_sys||pread(int fd, char *buf, \ 322 size_t nbyte, off_t offset); } 323 181 STD { int|linux_sys||pwrite(int fd, char *buf, \ 324 size_t nbyte, off_t offset); } 325 182 STD { int|linux_sys||chown16(const char *path, \ 326 linux_uid16_t uid, linux_gid16_t gid); } 327 183 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 328 184 UNIMPL capget 329 185 UNIMPL capset 330 186 STD { int|linux_sys||sigaltstack( \ 331 const struct linux_sigaltstack *ss, \ 332 struct linux_sigaltstack *oss); } 333 187 UNIMPL sendfile 334 188 UNIMPL getpmsg 335 189 UNIMPL putpmsg 336 190 NOARGS { int|sys|14|vfork(void); } 337 191 STD { int|linux_sys||ugetrlimit(int which, \ 338 struct orlimit *rlp); } 339 #define linux_sys_mmap2_args linux_sys_mmap_args 340 192 NOARGS { linux_off_t|linux_sys||mmap2(unsigned long addr, \ 341 size_t len, int prot, int flags, int fd, \ 342 linux_off_t offset); } 343 193 STD { int|linux_sys||truncate64(const char *path, \ 344 off_t length); } 345 194 STD { int|linux_sys||ftruncate64(unsigned int fd, \ 346 off_t length); } 347 195 STD { int|linux_sys||stat64(const char *path, \ 348 struct linux_stat64 *sp); } 349 196 STD { int|linux_sys||lstat64(const char *path, \ 350 struct linux_stat64 *sp); } 351 197 STD { int|linux_sys||fstat64(int fd, \ 352 struct linux_stat64 *sp); } 353 198 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ 354 gid_t gid); } 355 199 NOARGS { uid_t|sys||getuid(void); } 356 200 NOARGS { gid_t|sys||getgid(void); } 357 201 NOARGS { uid_t|sys||geteuid(void); } 358 202 NOARGS { gid_t|sys||getegid(void); } 359 203 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); } 360 204 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); } 361 205 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); } 362 206 NOARGS { int|sys||setgroups(int gidsetsize, gid_t *gidset); } 363 207 NOARGS { int|sys||__posix_fchown(int fd, uid_t uid, \ 364 gid_t gid); } 365 208 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \ 366 uid_t suid); } 367 209 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \ 368 uid_t *suid); } 369 210 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \ 370 gid_t sgid); } 371 211 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \ 372 gid_t *sgid); } 373 212 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \ 374 gid_t gid); } 375 213 NOARGS { int|sys||setuid(uid_t uid); } 376 214 NOARGS { int|sys||setgid(gid_t gid); } 377 215 STD { int|linux_sys||setfsuid(uid_t uid); } 378 216 STD { int|linux_sys||setfsgid(gid_t gid); } 379 217 UNIMPL pivot_root 380 218 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 381 219 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 382 220 STD { int|linux_sys||getdents64(int fd, \ 383 struct linux_dirent64 *dent, unsigned int count); } 384 221 STD { int|linux_sys||fcntl64(int fd, int cmd, void *arg); } 385 222 UNIMPL /* unused */ 386 223 UNIMPL /* unused */ 387 224 NOARGS { pid_t|linux_sys||gettid(void); } 388 225 STD { ssize_t|linux_sys||readahead(int fd, off_t offset, \ 389 size_t count); } 390 226 STD { int|linux_sys||setxattr(char *path, char *name, \ 391 void *value, size_t size, int flags); } 392 227 STD { int|linux_sys||lsetxattr(char *path, char *name, \ 393 void *value, size_t size, int flags); } 394 228 STD { int|linux_sys||fsetxattr(int fd, char *name, \ 395 void *value, size_t size, int flags); } 396 229 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ 397 void *value, size_t size); } 398 230 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ 399 void *value, size_t size); } 400 231 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ 401 void *value, size_t size); } 402 232 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ 403 size_t size); } 404 233 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ 405 size_t size); } 406 234 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ 407 size_t size); } 408 235 STD { int|linux_sys||removexattr(char *path, char *name); } 409 236 STD { int|linux_sys||lremovexattr(char *path, char *name); } 410 237 STD { int|linux_sys||fremovexattr(int fd, char *name); } 411 238 STD { int|linux_sys||tkill(int tid, int sig); } 412 239 UNIMPL sendfile64 413 240 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ 414 const struct linux_timespec *timeout, int *uaddr2, \ 415 int val3); } 416 241 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ 417 unsigned int len, unsigned long *mask); } 418 242 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ 419 unsigned int len, unsigned long *mask); } 420 243 STD { int|linux_sys||set_thread_area( \ 421 struct linux_user_desc *desc); } 422 244 STD { int|linux_sys||get_thread_area( \ 423 struct linux_user_desc *desc); } 424 245 UNIMPL io_setup 425 246 UNIMPL io_destroy 426 247 UNIMPL io_getevents 427 248 UNIMPL io_submit 428 249 UNIMPL io_cancel 429 250 STD { int|linux_sys||fadvise64(int fd, off_t offset, \ 430 size_t len, int advice); } 431 251 UNIMPL /* unused */ 432 252 STD { int|linux_sys||exit_group(int error_code); } 433 253 UNIMPL lookup_dcookie 434 254 STD { int|linux_sys||epoll_create(int size); } 435 255 STD { int|linux_sys||epoll_ctl(int epfd, int op, int fd, \ 436 struct linux_epoll_event *event); } 437 256 STD { int|linux_sys||epoll_wait(int epfd, \ 438 struct linux_epoll_event *events, int maxevents, \ 439 int timeout); } 440 257 UNIMPL remap_file_pages 441 258 STD { int|linux_sys||set_tid_address(int *tid); } 442 259 STD { int|linux_sys||timer_create(clockid_t clockid, \ 443 struct linux_sigevent *evp, timer_t *timerid); } 444 260 STD { int|linux_sys||timer_settime(timer_t timerid, \ 445 int flags, const struct linux_itimerspec *tim, \ 446 struct linux_itimerspec *otim); } 447 261 STD { int|linux_sys||timer_gettime(timer_t timerid, \ 448 struct linux_itimerspec *tim); } 449 262 NOARGS { int|sys||timer_getoverrun(timer_t timerid); } 450 263 NOARGS { int|sys||timer_delete(timer_t timerid); } 451 264 STD { int|linux_sys||clock_settime(clockid_t which, \ 452 struct linux_timespec *tp); } 453 265 STD { int|linux_sys||clock_gettime(clockid_t which, \ 454 struct linux_timespec *tp); } 455 266 STD { int|linux_sys||clock_getres(clockid_t which, \ 456 struct linux_timespec *tp); } 457 267 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ 458 int flags, struct linux_timespec *rqtp, \ 459 struct linux_timespec *rmtp); } 460 268 STD { int|linux_sys||statfs64(const char *path, \ 461 size_t sz, struct linux_statfs64 *sp); } 462 269 STD { int|linux_sys||fstatfs64(int fd, \ 463 size_t sz, struct linux_statfs64 *sp); } 464 270 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } 465 271 NOARGS { int|compat_50_sys||utimes(const char *path, \ 466 const struct timeval50 *tptr); } 467 272 STD { int|linux_sys||fadvise64_64(int fd, off_t offset, \ 468 off_t len, int advice); } 469 273 UNIMPL vserver 470 274 UNIMPL mbind 471 275 UNIMPL get_mempolicy 472 276 UNIMPL set_mempolicy 473 277 STD { linux_mqd_t|linux_sys||mq_open(const char *name, \ 474 int oflag, linux_umode_t mode, \ 475 struct linux_mq_attr *attr); } 476 278 STD { int|linux_sys||mq_unlink(const char *name); } 477 279 STD { int|linux_sys||mq_timedsend(linux_mqd_t mqdes, \ 478 const char *msg_ptr, size_t msg_len, \ 479 unsigned int msg_prio, \ 480 const struct linux_timespec *abs_timeout); } 481 280 STD { ssize_t|linux_sys||mq_timedreceive(linux_mqd_t mqdes, \ 482 char *msg_ptr, size_t msg_len, \ 483 unsigned int *msg_prio, \ 484 const struct linux_timespec *abs_timeout); } 485 281 STD { int|linux_sys||mq_notify(linux_mqd_t mqdes, \ 486 const struct linux_sigevent *sevp); } 487 282 STD { int|linux_sys||mq_getsetattr(linux_mqd_t mqdes, \ 488 const struct linux_mq_attr *newattr, \ 489 struct linux_mq_attr *oldattr); } 490 283 UNIMPL sys_kexec_load 491 284 STD { int|linux_sys||waitid(int idtype, id_t id, \ 492 linux_siginfo_t *infop, int options, \ 493 struct rusage50 *rusage); } 494 285 UNIMPL /* unused */ 495 286 UNIMPL add_key 496 287 UNIMPL request_key 497 288 UNIMPL keyctl 498 289 UNIMPL ioprio_set 499 290 UNIMPL ioprio_get 500 291 STD { int|linux_sys||inotify_init(void); } 501 292 STD { int|linux_sys||inotify_add_watch(int fd, \ 502 const char *pathname, uint32_t mask); } 503 293 STD { int|linux_sys||inotify_rm_watch(int fd, int wd); } 504 294 UNIMPL migrate_pages 505 295 STD { int|linux_sys||openat(int fd, const char *path, \ 506 int flags, ... linux_umode_t mode); } 507 296 NOARGS { int|sys||mkdirat(int fd, const char *path, \ 508 linux_umode_t mode); } 509 297 STD { int|linux_sys||mknodat(int fd, const char *path, \ 510 linux_umode_t mode, unsigned dev); } 511 298 STD { int|linux_sys||fchownat(int fd, const char *path, \ 512 uid_t owner, gid_t group, int flag); } 513 299 UNIMPL futimesat 514 300 STD { int|linux_sys||fstatat64(int fd, const char *path, \ 515 struct linux_stat64 *sp, int flag); } 516 301 STD { int|linux_sys||unlinkat(int fd, const char *path, \ 517 int flag); } 518 302 NOARGS { int|sys||renameat(int fromfd, const char *from, \ 519 int tofd, const char *to); } 520 303 STD { int|linux_sys||linkat(int fd1, const char *name1, \ 521 int fd2, const char *name2, int flags); } 522 304 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ 523 const char *path2); } 524 305 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ 525 char *buf, size_t bufsize); } 526 306 STD { int|linux_sys||fchmodat(int fd, const char *path, \ 527 linux_umode_t mode); } 528 307 STD { int|linux_sys||faccessat(int fd, const char *path, \ 529 int amode); } 530 308 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ 531 fd_set *writefds, fd_set *exceptfds, \ 532 struct linux_timespec *timeout, \ 533 linux_sized_sigset_t *ss); } 534 309 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \ 535 struct linux_timespec *timeout, \ 536 linux_sigset_t *sigset); } 537 310 UNIMPL unshare 538 311 NOARGS { int|sys||__futex_set_robust_list(void *head, \ 539 size_t len); } 540 312 NOARGS { int|sys||__futex_get_robust_list(lwpid_t lwpid, \ 541 void **headp, size_t *lenp); } 542 313 UNIMPL splice 543 314 STD { int|linux_sys||sync_file_range(int fd, \ 544 off_t offset, off_t nbytes, unsigned int flags); } 545 315 UNIMPL tee 546 316 UNIMPL vmsplice 547 317 UNIMPL move_pages 548 318 STD { int|linux_sys||getcpu(unsigned int *cpu, \ 549 unsigned int *node, \ 550 struct linux_getcpu_cache *tcache); } 551 319 STD { int|linux_sys||epoll_pwait(int epfd, \ 552 struct linux_epoll_event *events, int maxevents, \ 553 int timeout, const linux_sigset_t *sigmask); } 554 320 STD { int|linux_sys||utimensat(int fd, const char *path, \ 555 struct linux_timespec *times, int flag); } 556 321 UNIMPL signalfd 557 322 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \ 558 int flags); } 559 323 STD { int|linux_sys||eventfd(unsigned int initval); } 560 324 STD { int|linux_sys||fallocate(int fd, int mode, \ 561 off_t offset, off_t len); } 562 325 STD { int|linux_sys||timerfd_settime(int fd, int flags, \ 563 const struct linux_itimerspec *tim, \ 564 struct linux_itimerspec *otim); } 565 326 STD { int|linux_sys||timerfd_gettime(int fd, \ 566 struct linux_itimerspec *tim); } 567 327 UNIMPL signalfd4 568 328 STD { int|linux_sys||eventfd2(unsigned int initval, \ 569 int flags); } 570 329 STD { int|linux_sys||epoll_create1(int flags); } 571 330 STD { int|linux_sys||dup3(int from, int to, int flags); } 572 331 STD { int|linux_sys||pipe2( int *pfds, int flags); } 573 332 STD { int|linux_sys||inotify_init1(int flags); } 574 333 STD { int|linux_sys||preadv(int fd, \ 575 const struct iovec *iovp, int iovcnt, \ 576 unsigned long off_lo, unsigned long off_hi); } 577 334 STD { int|linux_sys||pwritev(int fd, \ 578 const struct iovcnt *iovp, int iovcnt, \ 579 unsigned long off_lo, unsigned long off_hi); } 580 335 UNIMPL rt_tgsigqueueinfo 581 336 UNIMPL perf_counter_open 582 337 UNIMPL recvmmsg 583 338 UNIMPL fanotify_init 584 339 UNIMPL fanotify_mark 585 340 STD { int|linux_sys||prlimit64(pid_t pid, int which, \ 586 struct rlimit *new_rlp, struct rlimit *old_rlp); } 587 341 UNIMPL name_to_handle_at 588 342 UNIMPL open_by_handle_at 589 343 UNIMPL clock_adjtime 590 344 STD { int|linux_sys||syncfs(int fd); } 591 345 UNIMPL sendmmsg 592 346 UNIMPL setns 593 347 UNIMPL process_vm_readv 594 348 UNIMPL process_vm_writev 595 349 UNIMPL kcmp 596 350 UNIMPL finit_module 597 351 UNIMPL sched_setattr 598 352 UNIMPL sched_getattr 599 353 STD { int|linux_sys||renameat2(int fromfd, \ 600 const char *from, int tofd, const char *to, \ 601 unsigned int flags); } 602 354 UNIMPL seccomp 603 355 NOARGS { ssize_t|sys||getrandom(void *buf, size_t buflen, \ 604 unsigned int flags); } 605 356 STD { int|linux_sys||memfd_create(const char *name, \ 606 unsigned int flags); } 607 357 UNIMPL bpf 608 358 UNIMPL execveat 609 359 UNIMPL socket 610 360 UNIMPL socketpair 611 361 UNIMPL bind 612 362 UNIMPL connect 613 363 UNIMPL listen 614 364 UNIMPL accept4 615 365 UNIMPL getsockopt 616 366 UNIMPL setsockopt 617 367 UNIMPL getsockname 618 368 UNIMPL getpeername 619 369 UNIMPL sendto 620 370 UNIMPL sendmsg 621 371 UNIMPL recvfrom 622 372 UNIMPL recvmsg 623 373 UNIMPL shutdown 624 374 UNIMPL userfaultfd 625 375 UNIMPL membarrier 626 376 UNIMPL mlock2 627 377 STD { ssize_t|linux_sys||copy_file_range(int fd_in, \ 628 off_t * off_in, int fd_out, off_t * off_out, \ 629 size_t len, unsigned int flags); } 630 378 UNIMPL preadv2 631 379 UNIMPL pwritev2 632 380 UNIMPL pkey_mprotect 633 381 UNIMPL pkey_alloc 634 382 UNIMPL pkey_free 635 383 UNIMPL statx 636 384 UNIMPL arch_prctl 637 385 UNIMPL io_pgetevents 638 386 UNIMPL rseq 639 387 UNIMPL 640 388 UNIMPL 641 389 UNIMPL 642 390 UNIMPL 643 391 UNIMPL 644 392 UNIMPL 645 393 UNIMPL semget 646 394 UNIMPL semctl 647 395 UNIMPL shmget 648 396 UNIMPL shmctl 649 397 STD { int|linux_sys||statx(int fd, const char *path, \ 650 int flag, unsigned int mask, \ 651 struct linux_statx *sp); } 652 398 UNIMPL shmdt 653 399 UNIMPL msgget 654 400 UNIMPL msgsnd 655 401 UNIMPL msgrcv 656 402 UNIMPL msgctl 657 403 UNIMPL clock_gettime64 658 404 UNIMPL clock_settime64 659 405 UNIMPL clock_adjtime64 660 406 UNIMPL clock_getres_time64 661 407 UNIMPL clock_nanosleep_time64 662 408 UNIMPL timer_gettime64 663 409 UNIMPL timer_settime64 664 410 UNIMPL timerfd_gettime64 665 411 UNIMPL timerfd_settime64 666 412 UNIMPL utimensat_time64 667 413 UNIMPL pselect6_time64 668 414 UNIMPL ppoll_time64 669 415 UNIMPL 670 416 UNIMPL io_pgetevents_time64 671 417 UNIMPL recvmmsg_time64 672 418 UNIMPL mq_timedsend_time64 673 419 UNIMPL mq_timedreceive_time64 674 420 UNIMPL semtimedop_time64 675 421 UNIMPL rt_sigtimedwait_time64 676 422 UNIMPL futex_time64 677 423 UNIMPL sched_rr_get_interval_time64 678 424 UNIMPL pidfd_send_signal 679 425 UNIMPL io_uring_setup 680 426 UNIMPL io_uring_enter 681 427 UNIMPL io_uring_register 682 428 UNIMPL open_tree 683 429 UNIMPL move_mount 684 430 UNIMPL fsopen 685 431 UNIMPL fsconfig 686 432 UNIMPL fsmount 687 433 UNIMPL fspick 688 434 UNIMPL pidfd_open 689 435 STD { int|linux_sys||clone3(\ 690 struct linux_user_clone3_args *cl_args, \ 691 size_t size); } 692 436 STD { int|linux_sys||close_range(unsigned int first, \ 693 unsigned int last, unsigned int flags); } 694 437 UNIMPL openat2 695 438 UNIMPL pidfd_getfd 696 439 STD { int|linux_sys||faccessat2(int fd, const char *path, \ 697 int amode, int flags); } 698 440 UNIMPL process_madvise 699 441 STD { int|linux_sys||epoll_pwait2(int epfd, \ 700 struct linux_epoll_event *events, int maxevents, \ 701 const struct linux_timespec *timeout, \ 702 const linux_sigset_t *sigmask); } 703