1 1.83 riastrad $NetBSD: syscalls.master,v 1.83 2024/10/01 16:29:15 riastradh Exp $ 2 1.1 manu 3 1.1 manu ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 4 1.1 manu 5 1.1 manu ; Derived from NetBSD's sys/compat/linux/arch/powerpc/syscalls.master 6 1.1 manu ; from Linux's arch/mips/kernel/syscalls.h 7 1.1 manu 8 1.1 manu ; NetBSD mips COMPAT_LINUX system call name/number "master" file. 9 1.1 manu ; (See syscalls.conf to see what it is processed into.) 10 1.1 manu ; 11 1.17 perry ; Expect problems with 12 1.1 manu ; 48 signal: undefined in Linux??? 13 1.1 manu ; 86 uselib: needs a.out 14 1.1 manu ; 15 1.1 manu ; Fields: number type [type-dependent ...] 16 1.1 manu ; number system call number, must be in order 17 1.1 manu ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of 18 1.1 manu ; the compatibility options defined in syscalls.conf. 19 1.1 manu ; 20 1.1 manu ; types: 21 1.1 manu ; STD always included 22 1.1 manu ; OBSOL obsolete, not included in system 23 1.1 manu ; UNIMPL unimplemented, not included in system 24 1.1 manu ; NODEF included, but don't define the syscall number 25 1.1 manu ; NOARGS included, but don't define the syscall args structure 26 1.1 manu ; INDIR included, but don't define the syscall args structure 27 1.1 manu ; and allow it to be "really" varargs. 28 1.1 manu ; 29 1.1 manu ; The compat options are defined in the syscalls.conf file, and the 30 1.1 manu ; compat option name is prefixed to the syscall name. Other than 31 1.1 manu ; that, they're like NODEF (for 'compat' options), or STD (for 32 1.1 manu ; 'libcompat' options). 33 1.1 manu ; 34 1.1 manu ; The type-dependent arguments are as follows: 35 1.1 manu ; For STD, NODEF, NOARGS, and compat syscalls: 36 1.1 manu ; { pseudo-proto } [alias] 37 1.1 manu ; For other syscalls: 38 1.1 manu ; [comment] 39 1.1 manu ; 40 1.1 manu ; #ifdef's, etc. may be included, and are copied to the output files. 41 1.1 manu ; #include's are copied to the syscall names and switch definition files only. 42 1.1 manu 43 1.1 manu #include <sys/param.h> 44 1.1 manu #include <sys/poll.h> 45 1.1 manu #include <sys/systm.h> 46 1.1 manu #include <sys/signal.h> 47 1.1 manu #include <sys/mount.h> 48 1.1 manu #include <sys/syscallargs.h> 49 1.1 manu 50 1.1 manu #include <compat/linux/common/linux_types.h> 51 1.1 manu #include <compat/linux/common/linux_signal.h> 52 1.1 manu #include <compat/linux/common/linux_siginfo.h> 53 1.1 manu #include <compat/linux/common/linux_machdep.h> 54 1.1 manu #include <compat/linux/common/linux_mmap.h> 55 1.81 christos #include <compat/linux/common/linux_mqueue.h> 56 1.3 manu #include <compat/linux/common/linux_socketcall.h> 57 1.80 christos #include <compat/linux/common/linux_sched.h> 58 1.1 manu 59 1.1 manu #include <compat/linux/linux_syscallargs.h> 60 1.1 manu 61 1.32 pooka 0 NOARGS { int|linux_sys||nosys(void); } syscall 62 1.38 chs 1 STD { int|linux_sys||exit(int rval); } 63 1.32 pooka 2 NOARGS { int|sys||fork(void); } 64 1.50 njoly 3 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 65 1.50 njoly 4 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ 66 1.50 njoly size_t nbyte); } 67 1.32 pooka 5 STD { int|linux_sys||open(const char *path, int flags, \ 68 1.49 njoly linux_umode_t mode); } 69 1.32 pooka 6 NOARGS { int|sys||close(int fd); } 70 1.32 pooka 7 STD { int|linux_sys||waitpid(int pid, int *status, \ 71 1.1 manu int options);} 72 1.49 njoly 8 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); } 73 1.32 pooka 9 NOARGS { int|sys||link(const char *path, const char *link); } 74 1.32 pooka 10 STD { int|linux_sys||unlink(const char *path); } 75 1.32 pooka 11 NOARGS { int|sys||execve(const char *path, char **argp, \ 76 1.1 manu char **envp); } 77 1.32 pooka 12 NOARGS { int|sys||chdir(const char *path); } 78 1.32 pooka 13 STD { int|linux_sys||time(linux_time_t *t); } 79 1.49 njoly 14 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \ 80 1.52 njoly unsigned dev); } 81 1.32 pooka 15 NOARGS { int|sys||chmod(const char *path, int mode); } 82 1.58 njoly 16 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ 83 1.58 njoly gid_t gid); } 84 1.1 manu 17 UNIMPL 85 1.1 manu 18 OBSOL ostat 86 1.32 pooka 19 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ 87 1.1 manu int whence); } 88 1.32 pooka 20 NOARGS { pid_t|sys||getpid(void); } 89 1.1 manu 21 UNIMPL mount 90 1.1 manu 22 OBSOL umount 91 1.32 pooka 23 NOARGS { int|sys||setuid(uid_t uid); } 92 1.32 pooka 24 NOARGS { uid_t|sys||getuid(void); } 93 1.32 pooka 25 STD { int|linux_sys||stime(linux_time_t *t); } 94 1.39 matt 26 STD { int|linux_sys||ptrace(long request, long pid, \ 95 1.39 matt long addr, long data); } 96 1.32 pooka 27 STD { int|linux_sys||alarm(unsigned int secs); } 97 1.1 manu 28 OBSOL ofstat 98 1.32 pooka 29 STD { int|linux_sys||pause(void); } 99 1.32 pooka 30 STD { int|linux_sys||utime(const char *path, \ 100 1.1 manu struct linux_utimbuf *times); } 101 1.1 manu 31 UNIMPL 102 1.1 manu 32 UNIMPL 103 1.32 pooka 33 NOARGS { int|sys||access(const char *path, int flags); } 104 1.32 pooka 34 STD { int|linux_sys||nice(int incr); } 105 1.1 manu 35 UNIMPL 106 1.32 pooka 36 NOARGS { int|sys||sync(void); } 107 1.32 pooka 37 STD { int|linux_sys||kill(int pid, int signum); } 108 1.32 pooka 38 NOARGS { int|sys||__posix_rename(const char *from, \ 109 1.1 manu const char *to); } 110 1.49 njoly 39 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } 111 1.32 pooka 40 NOARGS { int|sys||rmdir(const char *path); } 112 1.47 njoly 41 NOARGS { int|sys||dup(int fd); } 113 1.32 pooka 42 STD { int|linux_sys||pipe(int *pfds); } 114 1.32 pooka 43 STD { int|linux_sys||times(struct times *tms); } 115 1.1 manu 44 UNIMPL 116 1.32 pooka 45 STD { int|linux_sys||brk(char *nsize); } 117 1.32 pooka 46 NOARGS { int|sys||setgid(gid_t gid); } 118 1.32 pooka 47 NOARGS { gid_t|sys||getgid(void); } 119 1.32 pooka 48 STD { int|linux_sys||signal(int signum, \ 120 1.1 manu linux___sighandler_t handler); } 121 1.32 pooka 49 NOARGS { uid_t|sys||geteuid(void); } 122 1.32 pooka 50 NOARGS { gid_t|sys||getegid(void); } 123 1.32 pooka 51 NOARGS { int|sys||acct(char *path); } 124 1.1 manu 52 UNIMPL umount 125 1.1 manu 53 UNIMPL 126 1.32 pooka 54 STD { int|linux_sys||ioctl(int fd, u_long com, \ 127 1.23 christos void *data); } 128 1.32 pooka 55 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 129 1.1 manu 56 OBSOL mpx 130 1.32 pooka 57 NOARGS { int|sys||setpgid(int pid, int pgid); } 131 1.1 manu 58 UNIMPL 132 1.79 christos 59 STD { int|linux_sys||olduname(struct linux_old_utsname \ 133 1.1 manu *up); } 134 1.32 pooka 60 NOARGS { int|sys||umask(int newmask); } 135 1.32 pooka 61 NOARGS { int|sys||chroot(char *path); } 136 1.1 manu 62 UNIMPL ustat 137 1.47 njoly 63 NOARGS { int|sys||dup2(int from, int to); } 138 1.32 pooka 64 NOARGS { pid_t|sys||getppid(void); } 139 1.32 pooka 65 NOARGS { int|sys||getpgrp(void); } 140 1.32 pooka 66 NOARGS { int|sys||setsid(void); } 141 1.32 pooka 67 STD { int|linux_sys||sigaction(int signum, \ 142 1.1 manu const struct linux_old_sigaction *nsa, \ 143 1.1 manu struct linux_old_sigaction *osa); } 144 1.32 pooka 68 STD { int|linux_sys||siggetmask(void); } 145 1.32 pooka 69 STD { int|linux_sys||sigsetmask(linux_old_sigset_t mask); } 146 1.32 pooka 70 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); } 147 1.32 pooka 71 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); } 148 1.32 pooka 72 STD { int|linux_sys||sigsuspend(void *restart, \ 149 1.1 manu int oldmask, int mask); } 150 1.32 pooka 73 STD { int|linux_sys||sigpending(linux_old_sigset_t *set); } 151 1.32 pooka 74 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ 152 1.1 manu u_int len);} 153 1.32 pooka 75 STD { int|linux_sys||setrlimit(u_int which, \ 154 1.1 manu struct orlimit *rlp); } 155 1.32 pooka 76 STD { int|linux_sys||getrlimit(u_int which, \ 156 1.1 manu struct orlimit *rlp); } 157 1.33 njoly 77 NOARGS { int|compat_50_sys||getrusage(int who, \ 158 1.33 njoly struct rusage50 *rusage); } 159 1.33 njoly 78 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ 160 1.1 manu struct timezone *tzp); } 161 1.33 njoly 79 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ 162 1.1 manu struct timezone *tzp); } 163 1.54 njoly 80 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); } 164 1.54 njoly 81 NOARGS { int|sys||setgroups(int gidsetsize, gid_t *gidset); } 165 1.1 manu 82 UNIMPL old_select 166 1.32 pooka 83 NOARGS { int|sys||symlink(const char *path, const char *to); } 167 1.32 pooka 84 NOARGS { int|compat_43_sys||lstat(const char *path, \ 168 1.1 manu struct stat43 *up); } oolstat 169 1.60 njoly 85 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ 170 1.1 manu int count); } 171 1.1 manu 86 UNIMPL uselib 172 1.32 pooka ;86 STD { int|linux_sys||uselib(const char *path); } 173 1.32 pooka 87 STD { int|linux_sys||swapon(char *name); } 174 1.32 pooka 88 STD { int|linux_sys||reboot(int magic1, int magic2, \ 175 1.1 manu int cmd, void *arg); } 176 1.32 pooka 89 STD { int|linux_sys||readdir(int fd, void *dent, \ 177 1.1 manu unsigned int count); } 178 1.32 pooka 90 NOARGS { int|linux_sys||mmap(unsigned long addr, size_t len, \ 179 1.1 manu int prot, int flags, int fd, linux_off_t offset); } 180 1.56 njoly 91 NOARGS { int|sys||munmap(void *addr, size_t len); } 181 1.32 pooka 92 NOARGS { int|compat_43_sys||truncate(const char *path, \ 182 1.1 manu long length); } 183 1.32 pooka 93 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } 184 1.49 njoly 94 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } 185 1.79 christos 95 NOARGS { int|sys||__posix_fchown(int fd, uid_t uid, \ 186 1.59 njoly gid_t gid); } 187 1.32 pooka 96 STD { int|linux_sys||getpriority(int which, int who); } 188 1.32 pooka 97 NOARGS { int|sys||setpriority(int which, int who, int prio); } 189 1.1 manu 98 UNIMPL 190 1.32 pooka 99 STD { int|linux_sys||statfs(const char *path, \ 191 1.1 manu struct linux_statfs *sp); } 192 1.32 pooka 100 STD { int|linux_sys||fstatfs(int fd, \ 193 1.1 manu struct linux_statfs *sp); } 194 1.32 pooka 101 STD { int|linux_sys||ioperm(unsigned int lo, \ 195 1.1 manu unsigned int hi, int val); } 196 1.32 pooka 102 STD { int|linux_sys||socketcall(int what, void *args); } 197 1.1 manu 103 UNIMPL syslog 198 1.42 christos 104 NOARGS { int|compat_50_sys||setitimer(int which, \ 199 1.33 njoly struct itimerval50 *itv, \ 200 1.33 njoly struct itimerval50 *oitv); } 201 1.42 christos 105 NOARGS { int|compat_50_sys||getitimer(int which, \ 202 1.33 njoly struct itimerval50 *itv); } 203 1.32 pooka 106 STD { int|linux_sys||stat(const char *path, \ 204 1.1 manu struct linux_stat *sp); } 205 1.32 pooka 107 STD { int|linux_sys||lstat(const char *path, \ 206 1.1 manu struct linux_stat *sp); } 207 1.32 pooka 108 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); } 208 1.32 pooka 109 STD { int|linux_sys||uname(struct linux_utsname *up); } 209 1.17 perry 110 UNIMPL iopl 210 1.1 manu 111 UNIMPL vhangup 211 1.1 manu 112 UNIMPL idle 212 1.17 perry 113 UNIMPL vm86old 213 1.32 pooka 114 STD { int|linux_sys||wait4(int pid, int *status, \ 214 1.34 njoly int options, struct rusage50 *rusage); } 215 1.32 pooka 115 STD { int|linux_sys||swapoff(const char *path); } 216 1.32 pooka 116 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 217 1.39 matt 117 STD { int|linux_sys||ipc(int what, long a1, long a2, \ 218 1.39 matt long a3, void *ptr); } 219 1.32 pooka 118 NOARGS { int|sys||fsync(int fd); } 220 1.32 pooka 119 STD { int|linux_sys||sigreturn(struct linux_sigframe *sf); } 221 1.38 chs 120 STD { int|linux_sys||clone(int flags, void *stack, \ 222 1.38 chs void *parent_tidptr, void *tls, void *child_tidptr); } 223 1.32 pooka 121 STD { int|linux_sys||setdomainname(char *domainname, \ 224 1.1 manu int len); } 225 1.32 pooka 122 STD { int|linux_sys||new_uname(struct linux_utsname *up); } 226 1.17 perry 123 UNIMPL modify_ldt 227 1.1 manu 124 UNIMPL adjtimex 228 1.32 pooka 125 STD { int|linux_sys||mprotect(const void *start, \ 229 1.8 christos unsigned long len, int prot); } 230 1.32 pooka 126 STD { int|linux_sys||sigprocmask(int how, \ 231 1.1 manu const linux_old_sigset_t *set, \ 232 1.1 manu linux_old_sigset_t *oset); } 233 1.1 manu 127 UNIMPL create_module 234 1.1 manu 128 UNIMPL init_module 235 1.1 manu 129 UNIMPL delete_module 236 1.1 manu 130 UNIMPL get_kernel_syms 237 1.1 manu 131 UNIMPL quotactl 238 1.32 pooka 132 NOARGS { pid_t|sys||getpgid(pid_t pid); } 239 1.32 pooka 133 NOARGS { int|sys||fchdir(int fd); } 240 1.1 manu 134 UNIMPL bdflush 241 1.1 manu 135 UNIMPL sysfs 242 1.37 njoly 136 STD { int|linux_sys||personality(unsigned long per); } 243 1.1 manu 137 UNIMPL afs_syscall 244 1.32 pooka 138 STD { int|linux_sys||setfsuid(uid_t uid); } 245 1.32 pooka 139 STD { int|linux_sys||setfsgid(gid_t gid); } 246 1.32 pooka 140 STD { int|linux_sys||llseek(int fd, u_int32_t ohigh, \ 247 1.23 christos u_int32_t olow, void *res, int whence); } 248 1.32 pooka 141 STD { int|linux_sys||getdents(int fd, \ 249 1.1 manu struct linux_dirent *dent, unsigned int count); } 250 1.32 pooka 142 STD { int|linux_sys||select(int nfds, fd_set *readfds, \ 251 1.1 manu fd_set *writefds, fd_set *exceptfds, \ 252 1.33 njoly struct timeval50 *timeout); } 253 1.32 pooka 143 NOARGS { int|sys||flock(int fd, int how); } 254 1.32 pooka 144 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 255 1.50 njoly 145 NOARGS { ssize_t|sys||readv(int fd, \ 256 1.50 njoly const struct iovec *iovp, int iovcnt); } 257 1.50 njoly 146 NOARGS { ssize_t|sys||writev(int fd, \ 258 1.50 njoly const struct iovec *iovp, int iovcnt); } 259 1.32 pooka 147 STD { int|linux_sys||cacheflush(void *addr, \ 260 1.1 manu int bytes, int cache); } 261 1.1 manu 148 UNIMPL cachectl 262 1.39 matt 149 STD { int|linux_sys||sysmips(long cmd, long arg1, \ 263 1.39 matt long arg2, long arg3); } 264 1.1 manu 150 UNIMPL 265 1.32 pooka 151 NOARGS { pid_t|sys||getsid(pid_t pid); } 266 1.32 pooka 152 STD { int|linux_sys||fdatasync(int fd); } 267 1.32 pooka 153 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } 268 1.32 pooka 154 NOARGS { int|sys||mlock(void *addr, size_t len); } 269 1.32 pooka 155 NOARGS { int|sys||munlock(void *addr, size_t len); } 270 1.32 pooka 156 NOARGS { int|sys||mlockall(int flags); } 271 1.32 pooka 157 NOARGS { int|sys||munlockall(void); } 272 1.32 pooka 158 STD { int|linux_sys||sched_setparam(pid_t pid, \ 273 1.1 manu const struct linux_sched_param *sp); } 274 1.32 pooka 159 STD { int|linux_sys||sched_getparam(pid_t pid, \ 275 1.1 manu struct linux_sched_param *sp); } 276 1.32 pooka 160 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ 277 1.1 manu int policy, const struct linux_sched_param *sp); } 278 1.32 pooka 161 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 279 1.32 pooka 162 STD { int|linux_sys||sched_yield(void); } 280 1.32 pooka 163 STD { int|linux_sys||sched_get_priority_max(int policy); } 281 1.32 pooka 164 STD { int|linux_sys||sched_get_priority_min(int policy); } 282 1.1 manu 165 UNIMPL sched_rr_get_interval 283 1.32 pooka 166 STD { int|linux_sys||nanosleep( \ 284 1.30 njoly const struct linux_timespec *rqtp, \ 285 1.30 njoly struct linux_timespec *rmtp); } 286 1.32 pooka 167 STD { void *|linux_sys||mremap(void *old_address, \ 287 1.1 manu size_t old_size, size_t new_size, u_long flags); } 288 1.64 christos 168 STD { int|linux_sys||accept(int s, \ 289 1.3 manu struct osockaddr *name, int *anamelen); } 290 1.64 christos 169 STD { int|linux_sys||bind(int s, \ 291 1.3 manu const struct osockaddr *name, int namelen); } 292 1.64 christos 170 STD { int|linux_sys||connect(int s, \ 293 1.64 christos const struct osockaddr *name, int namelen); } 294 1.64 christos 171 STD { int|linux_sys||getpeername(int fdes, void *asa, \ 295 1.3 manu int *alen); } 296 1.64 christos 172 STD { int|linux_sys||getsockname(int fdes, void *asa, \ 297 1.3 manu int *alen); } 298 1.64 christos 173 STD { int|linux_sys||getsockopt(int s, int level, \ 299 1.3 manu int optname, void *optval, int *optlen); } 300 1.66 christos 174 NOARGS { int|sys||listen(int s, int backlog); } 301 1.64 christos 175 STD { int|linux_sys||recv(int s, void *buf, int len, \ 302 1.3 manu int flags); } 303 1.64 christos 176 STD { int|linux_sys||recvfrom(int s, void *buf, int len, \ 304 1.3 manu int flags, struct osockaddr *from, \ 305 1.3 manu int *fromlenaddr); } 306 1.64 christos 177 STD { int|linux_sys||recvmsg(int s, \ 307 1.36 njoly struct linux_msghdr *msg, u_int flags); } 308 1.64 christos 178 STD { int|linux_sys||send(int s, void *buf, int len, \ 309 1.3 manu int flags); } 310 1.64 christos 179 STD { int|linux_sys||sendmsg(int s, \ 311 1.36 njoly struct linux_msghdr *msg, u_int flags); } 312 1.64 christos 180 STD { int|linux_sys||sendto(int s, void *msg, \ 313 1.3 manu int len, int flags, struct osockaddr *to, \ 314 1.3 manu int tolen); } 315 1.64 christos 181 STD { int|linux_sys||setsockopt(int s, int level, \ 316 1.3 manu int optname, void *optval, int optlen); } 317 1.3 manu 182 UNIMPL shutdown 318 1.64 christos 183 STD { int|linux_sys||socket(int domain, int type, \ 319 1.3 manu int protocol); } 320 1.64 christos 184 STD { int|linux_sys||socketpair(int domain, int type, \ 321 1.3 manu int protocol, int *rsv); } 322 1.32 pooka 185 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \ 323 1.1 manu uid_t suid); } 324 1.32 pooka 186 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \ 325 1.1 manu uid_t *suid); } 326 1.1 manu 187 UNIMPL query_module 327 1.32 pooka 188 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ 328 1.1 manu int timeout); } 329 1.1 manu 189 UNIMPL nfsservctl 330 1.32 pooka 190 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \ 331 1.1 manu gid_t sgid); } 332 1.32 pooka 191 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \ 333 1.1 manu gid_t *sgid); } 334 1.1 manu 192 UNIMPL prctl 335 1.32 pooka 193 STD { int|linux_sys||rt_sigreturn( \ 336 1.38 chs struct linux_pt_regs *regs); } 337 1.32 pooka 194 STD { int|linux_sys||rt_sigaction(int signum, \ 338 1.1 manu const struct linux_sigaction *nsa, \ 339 1.1 manu struct linux_sigaction *osa, \ 340 1.1 manu size_t sigsetsize); } 341 1.32 pooka 195 STD { int|linux_sys||rt_sigprocmask(int how, \ 342 1.1 manu const linux_sigset_t *set, \ 343 1.1 manu linux_sigset_t *oset, \ 344 1.1 manu size_t sigsetsize); } 345 1.32 pooka 196 STD { int|linux_sys||rt_sigpending( \ 346 1.1 manu linux_sigset_t *set, \ 347 1.1 manu size_t sigsetsize); } 348 1.43 christos 197 STD { int|linux_sys||rt_sigtimedwait( \ 349 1.43 christos const linux_sigset_t *set, \ 350 1.43 christos linux_siginfo_t *info, \ 351 1.43 christos const struct linux_timespec *timeout); } 352 1.32 pooka 198 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ 353 1.35 njoly linux_siginfo_t *uinfo); } 354 1.32 pooka 199 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ 355 1.1 manu size_t sigsetsize); } 356 1.32 pooka 200 STD { int|linux_sys||pread(int fd, char *buf, \ 357 1.51 njoly size_t nbyte, off_t offset); } 358 1.32 pooka 201 STD { int|linux_sys||pwrite(int fd, char *buf, \ 359 1.51 njoly size_t nbyte, off_t offset); } 360 1.58 njoly 202 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \ 361 1.58 njoly gid_t gid); } 362 1.32 pooka 203 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 363 1.1 manu 204 UNIMPL capget 364 1.1 manu 205 UNIMPL capset 365 1.32 pooka 206 STD { int|linux_sys||sigaltstack( \ 366 1.1 manu const struct linux_sigaltstack *ss, \ 367 1.1 manu struct linux_sigaltstack *oss); } 368 1.1 manu 207 UNIMPL sendfile 369 1.1 manu 208 UNIMPL 370 1.7 rafal 209 UNIMPL 371 1.25 dsl #define linux_sys_mmap2_args linux_sys_mmap_args 372 1.32 pooka 210 NOARGS { linux_off_t|linux_sys||mmap2(unsigned long addr, \ 373 1.11 christos size_t len, int prot, int flags, int fd, \ 374 1.11 christos linux_off_t offset); } 375 1.32 pooka 211 STD { int|linux_sys||truncate64(const char *path, \ 376 1.2 manu off_t length); } 377 1.32 pooka 212 STD { int|linux_sys||ftruncate64(unsigned int fd, \ 378 1.12 jdolecek off_t length); } 379 1.32 pooka 213 STD { int|linux_sys||stat64(const char *path, \ 380 1.5 christos struct linux_stat64 *sp); } 381 1.32 pooka 214 STD { int|linux_sys||lstat64(const char *path, \ 382 1.5 christos struct linux_stat64 *sp); } 383 1.32 pooka 215 STD { int|linux_sys||fstat64(int fd, \ 384 1.5 christos struct linux_stat64 *sp); } 385 1.1 manu 216 UNIMPL pivot_root 386 1.32 pooka 217 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 387 1.32 pooka 218 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 388 1.32 pooka 219 STD { int|linux_sys||getdents64(int fd, \ 389 1.9 christos struct linux_dirent64 *dent, unsigned int count); } 390 1.32 pooka 220 STD { int|linux_sys||fcntl64(int fd, \ 391 1.8 christos int cmd, void *arg); } 392 1.14 jdolecek 221 UNIMPL /* reserved */ 393 1.38 chs 222 NOARGS { pid_t|linux_sys||gettid(void); } 394 1.76 christos 223 STD { ssize_t|linux_sys||readahead(int fd, off_t offset, \ 395 1.76 christos size_t count); } 396 1.32 pooka 224 STD { int|linux_sys||setxattr(char *path, char *name, \ 397 1.18 fvdl void *value, size_t size, int flags); } 398 1.32 pooka 225 STD { int|linux_sys||lsetxattr(char *path, char *name, \ 399 1.18 fvdl void *value, size_t size, int flags); } 400 1.32 pooka 226 STD { int|linux_sys||fsetxattr(int fd, char *name, \ 401 1.18 fvdl void *value, size_t size, int flags); } 402 1.32 pooka 227 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ 403 1.18 fvdl void *value, size_t size); } 404 1.32 pooka 228 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ 405 1.18 fvdl void *value, size_t size); } 406 1.32 pooka 229 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ 407 1.18 fvdl void *value, size_t size); } 408 1.32 pooka 230 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ 409 1.18 fvdl size_t size); } 410 1.32 pooka 231 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ 411 1.18 fvdl size_t size); } 412 1.32 pooka 232 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ 413 1.18 fvdl size_t size); } 414 1.32 pooka 233 STD { int|linux_sys||removexattr(char *path, char *name); } 415 1.32 pooka 234 STD { int|linux_sys||lremovexattr(char *path, char *name); } 416 1.32 pooka 235 STD { int|linux_sys||fremovexattr(int fd, char *name); } 417 1.38 chs 236 STD { int|linux_sys||tkill(int tid, int sig); } 418 1.14 jdolecek 237 UNIMPL sendfile64 419 1.38 chs 238 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ 420 1.38 chs const struct linux_timespec *timeout, int *uaddr2, \ 421 1.38 chs int val3); } 422 1.38 chs 239 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ 423 1.38 chs unsigned int len, unsigned long *mask); } 424 1.38 chs 240 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ 425 1.38 chs unsigned int len, unsigned long *mask); } 426 1.14 jdolecek 241 UNIMPL io_setup 427 1.14 jdolecek 242 UNIMPL io_destroy 428 1.14 jdolecek 243 UNIMPL io_getevents 429 1.14 jdolecek 244 UNIMPL io_submit 430 1.14 jdolecek 245 UNIMPL io_cancel 431 1.32 pooka 246 STD { int|linux_sys||exit_group(int error_code); } 432 1.14 jdolecek 247 UNIMPL lookup_dcookie 433 1.75 christos 248 STD { int|linux_sys||epoll_create(int size); } 434 1.75 christos 249 STD { int|linux_sys||epoll_ctl(int epfd, int op, int fd, \ 435 1.75 christos struct linux_epoll_event *event); } 436 1.75 christos 250 STD { int|linux_sys||epoll_wait(int epfd, \ 437 1.75 christos struct linux_epoll_event *events, int maxevents, \ 438 1.75 christos int timeout); } 439 1.14 jdolecek 251 UNIMPL remap_file_pages 440 1.38 chs 252 STD { int|linux_sys||set_tid_address(int *tid); } 441 1.14 jdolecek 253 UNIMPL restart_syscall 442 1.53 njoly 254 STD { int|linux_sys||fadvise64(int fd, off_t offset, \ 443 1.53 njoly size_t len, int advice); } 444 1.32 pooka 255 STD { int|linux_sys||statfs64(const char *path, \ 445 1.16 jdolecek size_t sz, struct linux_statfs64 *sp); } 446 1.32 pooka 256 STD { int|linux_sys||fstatfs64(int fd, \ 447 1.16 jdolecek size_t sz, struct linux_statfs64 *sp); } 448 1.69 thorpej 257 STD { int|linux_sys||timer_create(clockid_t clockid, \ 449 1.69 thorpej struct linux_sigevent *evp, timer_t *timerid); } 450 1.69 thorpej 258 STD { int|linux_sys||timer_settime(timer_t timerid, \ 451 1.69 thorpej int flags, const struct linux_itimerspec *tim, \ 452 1.69 thorpej struct linux_itimerspec *otim); } 453 1.69 thorpej 259 STD { int|linux_sys||timer_gettime(timer_t timerid, \ 454 1.69 thorpej struct linux_itimerspec *tim); } 455 1.69 thorpej 260 NOARGS { int|sys||timer_getoverrun(timer_t timerid); } 456 1.69 thorpej 261 NOARGS { int|sys||timer_delete(timer_t timerid); } 457 1.32 pooka 262 STD { int|linux_sys||clock_settime(clockid_t which, \ 458 1.19 fvdl struct linux_timespec *tp); } 459 1.32 pooka 263 STD { int|linux_sys||clock_gettime(clockid_t which, \ 460 1.19 fvdl struct linux_timespec *tp); } 461 1.32 pooka 264 STD { int|linux_sys||clock_getres(clockid_t which, \ 462 1.19 fvdl struct linux_timespec *tp); } 463 1.32 pooka 265 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ 464 1.19 fvdl int flags, struct linux_timespec *rqtp, \ 465 1.19 fvdl struct linux_timespec *rmtp); } 466 1.38 chs 266 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } 467 1.55 njoly 267 NOARGS { int|compat_50_sys||utimes(const char *path, \ 468 1.55 njoly const struct timeval50 *tptr); } 469 1.14 jdolecek 268 UNIMPL mbind 470 1.14 jdolecek 269 UNIMPL get_mempolicy 471 1.14 jdolecek 270 UNIMPL set_mempolicy 472 1.81 christos 271 STD { linux_mqd_t|linux_sys||mq_open(const char *name, \ 473 1.81 christos int oflag, linux_umode_t mode, \ 474 1.81 christos struct linux_mq_attr *attr); } 475 1.81 christos 272 STD { int|linux_sys||mq_unlink(const char *name); } 476 1.81 christos 273 STD { int|linux_sys||mq_timedsend(linux_mqd_t mqdes, \ 477 1.81 christos const char *msg_ptr, size_t msg_len, \ 478 1.81 christos unsigned int msg_prio, \ 479 1.81 christos const struct linux_timespec *abs_timeout); } 480 1.81 christos 274 STD { ssize_t|linux_sys||mq_timedreceive(linux_mqd_t mqdes, \ 481 1.81 christos char *msg_ptr, size_t msg_len, \ 482 1.81 christos unsigned int *msg_prio, \ 483 1.81 christos const struct linux_timespec *abs_timeout); } 484 1.81 christos 275 STD { int|linux_sys||mq_notify(linux_mqd_t mqdes, \ 485 1.81 christos const struct linux_sigevent *sevp); } 486 1.81 christos 276 STD { int|linux_sys||mq_getsetattr(linux_mqd_t mqdes, \ 487 1.81 christos const struct linux_mq_attr *newattr, \ 488 1.81 christos struct linux_mq_attr *oldattr); } 489 1.38 chs 277 UNIMPL vserve 490 1.79 christos 278 STD { int|linux_sys||waitid(int idtype, id_t id, \ 491 1.78 christos linux_siginfo_t *infop, int options, \ 492 1.78 christos struct rusage50 *rusage); } 493 1.38 chs 279 UNIMPL setaltroot 494 1.38 chs 280 UNIMPL add_key 495 1.38 chs 281 UNIMPL request_key 496 1.38 chs 282 UNIMPL keyctl 497 1.38 chs 283 STD { int|linux_sys||set_thread_area(void *tls); } 498 1.79 christos 284 STD { int|linux_sys||inotify_init(void); } 499 1.79 christos 285 STD { int|linux_sys||inotify_add_watch(int fd, \ 500 1.79 christos const char *pathname, uint32_t mask); } 501 1.79 christos 286 STD { int|linux_sys||inotify_rm_watch(int fd, int wd); } 502 1.38 chs 287 UNIMPL migrate_pages 503 1.48 chs 288 STD { int|linux_sys||openat(int fd, const char *path, \ 504 1.48 chs int flags, ... linux_umode_t mode); } 505 1.48 chs 289 NOARGS { int|sys||mkdirat(int fd, const char *path, \ 506 1.48 chs linux_umode_t mode); } 507 1.48 chs 290 STD { int|linux_sys||mknodat(int fd, const char *path, \ 508 1.48 chs linux_umode_t mode, unsigned dev); } 509 1.48 chs 291 STD { int|linux_sys||fchownat(int fd, const char *path, \ 510 1.48 chs uid_t owner, gid_t group, int flag); } 511 1.38 chs 292 UNIMPL futimesat 512 1.48 chs 293 STD { int|linux_sys||fstatat64(int fd, const char *path, \ 513 1.48 chs struct linux_stat64 *sp, int flag); } 514 1.48 chs 294 STD { int|linux_sys||unlinkat(int fd, const char *path, \ 515 1.48 chs int flag); } 516 1.48 chs 295 NOARGS { int|sys||renameat(int fromfd, const char *from, \ 517 1.48 chs int tofd, const char *to); } 518 1.48 chs 296 STD { int|linux_sys||linkat(int fd1, const char *name1, \ 519 1.48 chs int fd2, const char *name2, int flags); } 520 1.48 chs 297 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ 521 1.48 chs const char *path2); } 522 1.60 njoly 298 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ 523 1.48 chs char *buf, size_t bufsize); } 524 1.48 chs 299 STD { int|linux_sys||fchmodat(int fd, const char *path, \ 525 1.48 chs linux_umode_t mode); } 526 1.48 chs 300 STD { int|linux_sys||faccessat(int fd, const char *path, \ 527 1.48 chs int amode); } 528 1.61 manu 301 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ 529 1.61 manu fd_set *writefds, fd_set *exceptfds, \ 530 1.61 manu struct linux_timespec *timeout, \ 531 1.61 manu linux_sized_sigset_t *ss); } 532 1.57 njoly 302 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \ 533 1.44 pooka struct linux_timespec *timeout, \ 534 1.44 pooka linux_sigset_t *sigset); } 535 1.38 chs 303 UNIMPL unshare 536 1.38 chs 304 UNIMPL splice 537 1.82 christos 305 STD { int|linux_sys||sync_file_range(int fd, \ 538 1.82 christos off_t offset, off_t nbytes, unsigned int flags); } 539 1.38 chs 306 UNIMPL tee 540 1.38 chs 307 UNIMPL vmsplice 541 1.38 chs 308 UNIMPL move_pages 542 1.68 thorpej ; 543 1.68 thorpej ; The NetBSD native robust list calls have different 544 1.68 thorpej ; argument names / types, but they are ABI-compatible 545 1.68 thorpej ; with Linux. 546 1.68 thorpej ; 547 1.68 thorpej 309 NOARGS { int|sys||__futex_set_robust_list(void *head, \ 548 1.68 thorpej size_t len); } 549 1.68 thorpej 310 NOARGS { int|sys||__futex_get_robust_list(lwpid_t lwpid, \ 550 1.68 thorpej void **headp, size_t *lenp); } 551 1.38 chs 311 UNIMPL kexec_load 552 1.80 christos 312 STD { int|linux_sys||getcpu(unsigned int *cpu, \ 553 1.80 christos unsigned int *node, \ 554 1.80 christos struct linux_getcpu_cache *tcache); } 555 1.75 christos 313 STD { int|linux_sys||epoll_pwait(int epfd, \ 556 1.75 christos struct linux_epoll_event *events, int maxevents, \ 557 1.75 christos int timeout, const linux_sigset_t *sigmask); } 558 1.38 chs 314 UNIMPL ioprio_set 559 1.38 chs 315 UNIMPL ioprio_get 560 1.46 njoly 316 STD { int|linux_sys||utimensat(int fd, const char *path, \ 561 1.46 njoly struct linux_timespec *times, int flag); } 562 1.38 chs 317 UNIMPL signalfd 563 1.38 chs 318 UNIMPL timerfd 564 1.71 thorpej 319 STD { int|linux_sys||eventfd(unsigned int initval); } 565 1.67 jdolecek 320 STD { int|linux_sys||fallocate(int fd, int mode, \ 566 1.67 jdolecek off_t offset, off_t len); } 567 1.70 thorpej 321 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \ 568 1.70 thorpej int flags); } 569 1.70 thorpej 322 STD { int|linux_sys||timerfd_gettime(int fd, \ 570 1.70 thorpej struct linux_itimerspec *tim); } 571 1.70 thorpej 323 STD { int|linux_sys||timerfd_settime(int fd, int flags, \ 572 1.70 thorpej const struct linux_itimerspec *tim, \ 573 1.70 thorpej struct linux_itimerspec *otim); } 574 1.38 chs 324 UNIMPL signalfd4 575 1.71 thorpej 325 STD { int|linux_sys||eventfd2(unsigned int initval, \ 576 1.71 thorpej int flags); } 577 1.75 christos 326 STD { int|linux_sys||epoll_create1(int flags); } 578 1.40 he 327 STD { int|linux_sys||dup3(int from, int to, int flags); } 579 1.40 he 328 STD { int|linux_sys||pipe2(int *pfds, int flags); } 580 1.79 christos 329 STD { int|linux_sys||inotify_init1(int flags); } 581 1.72 thorpej 330 STD { int|linux_sys||preadv(int fd, \ 582 1.72 thorpej const struct iovec *iovp, int iovcnt, \ 583 1.72 thorpej unsigned long off_lo, unsigned long off_hi); } 584 1.72 thorpej 331 STD { int|linux_sys||pwritev(int fd, \ 585 1.72 thorpej const struct iovcnt *iovp, int iovcnt, \ 586 1.72 thorpej unsigned long off_lo, unsigned long off_hi); } 587 1.38 chs 332 UNIMPL rt_tgsigqueueinfo 588 1.38 chs 333 UNIMPL perf_event_open 589 1.62 christos 334 STD { int|linux_sys||accept4(int s, \ 590 1.62 christos struct osockaddr *name, \ 591 1.62 christos int *anamelen, int flags); } 592 1.63 christos 335 STD { int|linux_sys||recvmmsg(int s, \ 593 1.63 christos struct linux_mmsghdr *msgvec, unsigned int vlen, \ 594 1.63 christos unsigned int flags, struct timespec *timeout); } 595 1.63 christos 336 UNIMPL getdents64 596 1.63 christos 337 UNIMPL fanotify_init 597 1.63 christos 338 UNIMPL fanotify_mark 598 1.74 ryo 339 STD { int|linux_sys||prlimit64(pid_t pid, int which, \ 599 1.74 ryo struct rlimit *new_rlp, struct rlimit *old_rlp); } 600 1.63 christos 340 UNIMPL name_to_handle_at 601 1.63 christos 341 UNIMPL open_by_handle_at 602 1.63 christos 342 UNIMPL clock_adjtime 603 1.82 christos 343 STD { int|linux_sys||syncfs(int fd); } 604 1.63 christos 344 STD { int|linux_sys||sendmmsg(int s, \ 605 1.63 christos struct linux_mmsghdr *msgvec, unsigned int vlen, \ 606 1.63 christos unsigned int flags); } 607 1.63 christos 345 UNIMPL setns 608 1.63 christos 346 UNIMPL process_vm_readv 609 1.63 christos 347 UNIMPL process_vm_writev 610 1.63 christos 348 UNIMPL kcmp 611 1.63 christos 349 UNIMPL finit_module 612 1.63 christos 350 UNIMPL sched_setattr 613 1.63 christos 351 UNIMPL sched_getattr 614 1.82 christos 352 STD { int|linux_sys||renameat2(int fromfd, \ 615 1.82 christos const char *from, int tofd, const char *to, \ 616 1.82 christos unsigned int flags); } 617 1.76 christos 353 NOARGS { ssize_t|sys||getrandom(void *buf, size_t buflen, \ 618 1.73 ryo unsigned int flags); } 619 1.76 christos 354 STD { int|linux_sys||memfd_create(const char *name, \ 620 1.76 christos unsigned int flags); } 621 1.76 christos 355 UNIMPL bpf 622 1.76 christos 356 UNIMPL execveat 623 1.76 christos 357 UNIMPL userfaultfd 624 1.76 christos 358 UNIMPL membarrier 625 1.77 christos 359 UNIMPL mlock2 626 1.82 christos 360 STD { ssize_t|linux_sys||copy_file_range(int fd_in, \ 627 1.82 christos off_t * off_in, int fd_out, off_t * off_out, \ 628 1.82 christos size_t len, unsigned int flags); } 629 1.76 christos 361 UNIMPL preadv2 630 1.76 christos 362 UNIMPL pwritev2 631 1.76 christos 363 UNIMPL pkey_mprotect 632 1.76 christos 364 UNIMPL pkey_alloc 633 1.76 christos 365 UNIMPL pkey_free 634 1.79 christos 366 STD { int|linux_sys||statx(int fd, const char *path, \ 635 1.76 christos int flag, unsigned int mask, \ 636 1.76 christos struct linux_statx *sp); } 637 1.75 christos 367 UNIMPL 638 1.75 christos 368 UNIMPL 639 1.75 christos 369 UNIMPL 640 1.75 christos 370 UNIMPL 641 1.75 christos 371 UNIMPL 642 1.75 christos 372 UNIMPL 643 1.75 christos 373 UNIMPL 644 1.75 christos 374 UNIMPL 645 1.75 christos 375 UNIMPL 646 1.75 christos 376 UNIMPL 647 1.75 christos 377 UNIMPL 648 1.75 christos 378 UNIMPL 649 1.75 christos 379 UNIMPL 650 1.75 christos 380 UNIMPL 651 1.75 christos 381 UNIMPL 652 1.75 christos 382 UNIMPL 653 1.75 christos 383 UNIMPL 654 1.75 christos 384 UNIMPL 655 1.75 christos 385 UNIMPL 656 1.75 christos 386 UNIMPL 657 1.75 christos 387 UNIMPL 658 1.75 christos 388 UNIMPL 659 1.75 christos 389 UNIMPL 660 1.75 christos 390 UNIMPL 661 1.75 christos 391 UNIMPL 662 1.75 christos 392 UNIMPL 663 1.75 christos 393 UNIMPL 664 1.75 christos 394 UNIMPL 665 1.75 christos 395 UNIMPL 666 1.75 christos 396 UNIMPL 667 1.75 christos 397 UNIMPL 668 1.75 christos 398 UNIMPL 669 1.75 christos 399 UNIMPL 670 1.75 christos 400 UNIMPL 671 1.75 christos 401 UNIMPL 672 1.75 christos 402 UNIMPL 673 1.75 christos 403 UNIMPL 674 1.75 christos 404 UNIMPL 675 1.75 christos 405 UNIMPL 676 1.75 christos 406 UNIMPL 677 1.75 christos 407 UNIMPL 678 1.75 christos 408 UNIMPL 679 1.75 christos 409 UNIMPL 680 1.75 christos 410 UNIMPL 681 1.75 christos 411 UNIMPL 682 1.75 christos 412 UNIMPL 683 1.75 christos 413 UNIMPL 684 1.75 christos 414 UNIMPL 685 1.75 christos 415 UNIMPL 686 1.75 christos 416 UNIMPL 687 1.75 christos 417 UNIMPL 688 1.75 christos 418 UNIMPL 689 1.75 christos 419 UNIMPL 690 1.75 christos 420 UNIMPL 691 1.75 christos 421 UNIMPL 692 1.75 christos 422 UNIMPL 693 1.75 christos 423 UNIMPL 694 1.75 christos 424 UNIMPL 695 1.75 christos 425 UNIMPL 696 1.75 christos 426 UNIMPL 697 1.75 christos 427 UNIMPL 698 1.75 christos 428 UNIMPL 699 1.75 christos 429 UNIMPL 700 1.75 christos 430 UNIMPL 701 1.75 christos 431 UNIMPL 702 1.75 christos 432 UNIMPL 703 1.75 christos 433 UNIMPL 704 1.75 christos 434 UNIMPL 705 1.82 christos 435 STD { int|linux_sys||clone3( \ 706 1.82 christos struct linux_user_clone3_args *cl_args, \ 707 1.82 christos size_t size); } 708 1.76 christos 436 STD { int|linux_sys||close_range(unsigned int first, \ 709 1.76 christos unsigned int last, unsigned int flags); } 710 1.75 christos 437 UNIMPL 711 1.75 christos 438 UNIMPL 712 1.75 christos 439 UNIMPL 713 1.75 christos 440 UNIMPL 714 1.75 christos 441 STD { int|linux_sys||epoll_pwait2(int epfd, \ 715 1.75 christos struct linux_epoll_event *events, int maxevents, \ 716 1.75 christos const struct linux_timespec *timeout, \ 717 1.75 christos const linux_sigset_t *sigmask); } 718