1 1.109 christos $NetBSD: syscalls.master,v 1.109 2024/09/28 19:35:55 christos Exp $ 2 1.16 erh ; 3 1.1 erh ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 4 1.1 erh 5 1.1 erh ; NetBSD alpha COMPAT_LINUX system call name/number "master" file. 6 1.1 erh ; (See syscalls.conf to see what it is processed into.) 7 1.1 erh ; 8 1.1 erh ; Fields: number type [type-dependent ...] 9 1.1 erh ; number system call number, must be in order 10 1.1 erh ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of 11 1.1 erh ; the compatibility options defined in syscalls.conf. 12 1.1 erh ; 13 1.1 erh ; types: 14 1.1 erh ; STD always included 15 1.1 erh ; OBSOL obsolete, not included in system 16 1.1 erh ; UNIMPL unimplemented, not included in system 17 1.1 erh ; NODEF included, but don't define the syscall number 18 1.1 erh ; NOARGS included, but don't define the syscall args structure 19 1.1 erh ; INDIR included, but don't define the syscall args structure 20 1.1 erh ; and allow it to be "really" varargs. 21 1.1 erh ; 22 1.1 erh ; The compat options are defined in the syscalls.conf file, and the 23 1.1 erh ; compat option name is prefixed to the syscall name. Other than 24 1.1 erh ; that, they're like NODEF (for 'compat' options), or STD (for 25 1.1 erh ; 'libcompat' options). 26 1.1 erh ; 27 1.1 erh ; The type-dependent arguments are as follows: 28 1.1 erh ; For STD, NODEF, NOARGS, and compat syscalls: 29 1.1 erh ; { pseudo-proto } [alias] 30 1.1 erh ; For other syscalls: 31 1.1 erh ; [comment] 32 1.1 erh ; 33 1.1 erh ; #ifdef's, etc. may be included, and are copied to the output files. 34 1.1 erh ; #include's are copied to the syscall names and switch definition files only. 35 1.1 erh ; 36 1.16 erh ; (ERH: 3/18/00) 37 1.1 erh ; 38 1.16 erh ; XXX XAX things to do: 39 1.16 erh ; make sure non-linux_foo() matches real linux syscalls. 40 1.16 erh ; create new linux_foo functions otherwise 41 1.16 erh ; (i.e. reboot, msgrcv? ) 42 1.16 erh ; make sure linux_foo() matches expected prototypes in .c files. 43 1.1 erh ; kill not used functions. (ifdef the actual code) 44 1.18 erh ; make linux_sys_sigreturn in linux_machdep.c use frame.extramask 45 1.1 erh ; 46 1.1 erh ; NOT USED = This syscall is not really used in Linux, except in its 47 1.1 erh ; osf compat mode. Since Linux binaries shouldn't ever 48 1.1 erh ; call it and osf binaries run under a different emulation, 49 1.1 erh ; it shouldn't matter that the linux version of the 50 1.1 erh ; function might not DTRT. Define it anyway so we 51 1.1 erh ; don't have to split off or ifdef the associated function. 52 1.1 erh ; A bit better might be to have makesyscalls identify this 53 1.1 erh ; as "define but don't include in table" so it doesn't actually 54 1.1 erh ; ever get called. 55 1.1 erh ; UNIMPL <blank> = not implemented here nor in linux source 56 1.1 erh ; UNIMPL osf_* = osf functions implemented in linux, not here. 57 1.1 erh ; 58 1.4 tron 59 1.34 mrg #if defined(_KERNEL_OPT) 60 1.4 tron #include "opt_sysv.h" 61 1.25 mycroft #endif 62 1.1 erh 63 1.1 erh #include <sys/param.h> 64 1.9 tron #include <sys/poll.h> 65 1.1 erh #include <sys/systm.h> 66 1.1 erh #include <sys/signal.h> 67 1.1 erh #include <sys/mount.h> 68 1.1 erh #include <sys/syscallargs.h> 69 1.1 erh 70 1.2 christos #include <compat/linux/common/linux_types.h> 71 1.2 christos #include <compat/linux/common/linux_signal.h> 72 1.2 christos #include <compat/linux/common/linux_siginfo.h> 73 1.2 christos #include <compat/linux/common/linux_ipc.h> 74 1.2 christos #include <compat/linux/common/linux_msg.h> 75 1.107 christos #include <compat/linux/common/linux_sched.h> 76 1.2 christos #include <compat/linux/common/linux_sem.h> 77 1.2 christos #include <compat/linux/common/linux_shm.h> 78 1.5 erh #include <compat/linux/common/linux_mmap.h> 79 1.108 christos #include <compat/linux/common/linux_machdep.h> 80 1.108 christos #include <compat/linux/common/linux_mqueue.h> 81 1.2 christos 82 1.2 christos #include <compat/linux/linux_syscallargs.h> 83 1.95 maxv #include <compat/linux/arch/alpha/linux_osf1.h> 84 1.25 mycroft 85 1.25 mycroft %% 86 1.1 erh 87 1.66 pooka 0 NOARGS { int|linux_sys||nosys(void); } syscall 88 1.72 chs 1 STD { int|linux_sys||exit(int rval); } 89 1.66 pooka 2 NOARGS { int|sys||fork(void); } 90 1.84 njoly 3 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 91 1.84 njoly 4 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ 92 1.84 njoly size_t nbyte); } 93 1.1 erh 5 UNIMPL 94 1.66 pooka 6 NOARGS { int|sys||close(int fd); } 95 1.95 maxv 7 STD { int|linux_sys||osf1_wait4(int pid, int *status, \ 96 1.22 erh int options, struct osf1_rusage *rusage); } 97 1.22 erh ;8 ALIAS osf1_sys_old_creat, NOT USED 98 1.81 njoly 8 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); } 99 1.66 pooka 9 NOARGS { int|sys||link(const char *path, const char *link); } 100 1.66 pooka 10 STD { int|linux_sys||unlink(const char *path); } 101 1.1 erh 11 UNIMPL 102 1.66 pooka 12 NOARGS { int|sys||chdir(const char *path); } 103 1.66 pooka 13 NOARGS { int|sys||fchdir(int fd); } 104 1.81 njoly 14 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \ 105 1.86 njoly unsigned dev); } 106 1.66 pooka 15 NOARGS { int|sys||chmod(const char *path, int mode); } 107 1.90 njoly 16 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \ 108 1.90 njoly gid_t gid); } 109 1.22 erh ;17 ALIAS osf1_sys_brk 110 1.66 pooka 17 STD { int|linux_sys||brk(char *nsize); } 111 1.1 erh 18 UNIMPL 112 1.66 pooka 19 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ 113 1.1 erh int whence); } 114 1.66 pooka 20 NOARGS { pid_t|sys||getpid_with_ppid(void); } 115 1.95 maxv 21 STD { int|linux_sys||osf1_mount(int type, const char *path, \ 116 1.57 christos int flags, void *data); } 117 1.21 erh 22 UNIMPL umount 118 1.66 pooka 23 NOARGS { int|sys||setuid(uid_t uid); } 119 1.66 pooka 24 NOARGS { uid_t|sys||getuid_with_euid(void); } 120 1.1 erh 25 UNIMPL 121 1.66 pooka 26 STD { int|linux_sys||ptrace(long request, long pid, \ 122 1.16 erh long addr, long data); } 123 1.1 erh 27 UNIMPL 124 1.1 erh 28 UNIMPL 125 1.1 erh 29 UNIMPL 126 1.1 erh 30 UNIMPL 127 1.1 erh 31 UNIMPL 128 1.1 erh 32 UNIMPL 129 1.66 pooka 33 NOARGS { int|sys||access(const char *path, int flags); } 130 1.1 erh 34 UNIMPL 131 1.1 erh 35 UNIMPL 132 1.66 pooka 36 NOARGS { int|sys||sync(void); } 133 1.66 pooka 37 STD { int|linux_sys||kill(int pid, int signum); } 134 1.1 erh 38 UNIMPL 135 1.66 pooka 39 NOARGS { int|sys||setpgid(int pid, int pgid); } 136 1.1 erh 40 UNIMPL 137 1.66 pooka 41 NOARGS { int|sys||dup(int fd); } 138 1.66 pooka 42 NOARGS { int|linux_sys||pipe(void); } 139 1.95 maxv 43 STD { int|linux_sys||osf1_set_program_attributes( \ 140 1.57 christos void *taddr, unsigned long tsize, \ 141 1.57 christos void *daddr, unsigned long dsize); } 142 1.1 erh 44 UNIMPL 143 1.81 njoly 45 STD { int|linux_sys||open(const char *path, int flags, \ 144 1.81 njoly linux_umode_t mode); } 145 1.1 erh 46 UNIMPL 146 1.66 pooka 47 NOARGS { gid_t|sys||getgid_with_egid(void); } 147 1.22 erh ; ALIAS osf1_sys_sigprocmask(int how, unsigned long mask); 148 1.22 erh ; XXX <- copied from osf1/syscalls.master 149 1.66 pooka 48 NOARGS { int|compat_13_sys||sigprocmask(int how, \ 150 1.22 erh sigset13_t mask); } 151 1.1 erh 49 UNIMPL 152 1.1 erh 50 UNIMPL 153 1.66 pooka 51 NOARGS { int|sys||acct(const char *path); } 154 1.66 pooka 52 STD { int|linux_sys||sigpending(linux_old_sigset_t *set); } 155 1.1 erh 53 UNIMPL 156 1.66 pooka 54 STD { int|linux_sys||ioctl(int fd, u_long com, \ 157 1.57 christos void *data); } 158 1.1 erh 55 UNIMPL 159 1.1 erh 56 UNIMPL 160 1.66 pooka 57 NOARGS { int|sys||symlink(const char *path, const char *to); } 161 1.91 njoly 58 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ 162 1.1 erh int count); } 163 1.66 pooka 59 NOARGS { int|sys||execve(const char *path, char **argp, \ 164 1.1 erh char **envp); } 165 1.66 pooka 60 NOARGS { mode_t|sys||umask(mode_t newmask); } 166 1.66 pooka 61 NOARGS { int|sys||chroot(const char *path); } 167 1.1 erh 62 UNIMPL 168 1.66 pooka 63 NOARGS { int|sys||getpgrp(void); } 169 1.66 pooka 64 NOARGS { int|compat_43_sys||getpagesize(void); } 170 1.1 erh 65 UNIMPL 171 1.66 pooka 66 NOARGS { int|sys|14|vfork(void); } 172 1.66 pooka 67 STD { int|linux_sys||stat(const char *path, \ 173 1.1 erh struct linux_stat *sp); } 174 1.66 pooka 68 STD { int|linux_sys||lstat(const char *path, \ 175 1.1 erh struct linux_stat *sp); } 176 1.49 perry 69 UNIMPL 177 1.1 erh 70 UNIMPL 178 1.22 erh ;71 ALIAS osf1_sys_mmap 179 1.66 pooka 71 NOARGS { int|linux_sys||mmap(unsigned long addr, size_t len, \ 180 1.36 manu int prot, int flags, int fd, linux_off_t offset); } 181 1.1 erh 72 UNIMPL 182 1.66 pooka 73 NOARGS { int|sys||munmap(void *addr, size_t len); } 183 1.66 pooka 74 STD { int|linux_sys||mprotect(const void *start, \ 184 1.40 christos unsigned long len, int prot); } 185 1.66 pooka 75 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 186 1.1 erh 76 UNIMPL vhangup 187 1.1 erh 77 UNIMPL 188 1.1 erh 78 UNIMPL 189 1.66 pooka 79 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); } 190 1.66 pooka 80 NOARGS { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } 191 1.1 erh 81 UNIMPL 192 1.1 erh 82 UNIMPL setpgrp 193 1.95 maxv 83 STD { int|linux_sys||osf1_setitimer(int which, \ 194 1.22 erh struct osf1_itimerval *itv, \ 195 1.22 erh struct osf1_itimerval *oitv); } 196 1.1 erh 84 UNIMPL 197 1.49 perry 85 UNIMPL 198 1.22 erh 86 UNIMPL osf1_sys_getitimer 199 1.66 pooka 87 NOARGS { int|compat_43_sys||gethostname(char *hostname, \ 200 1.1 erh u_int len); } 201 1.66 pooka 88 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ 202 1.1 erh u_int len); } 203 1.1 erh 89 UNIMPL getdtablesize 204 1.66 pooka 90 NOARGS { int|sys||dup2(int from, int to); } 205 1.66 pooka 91 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); } 206 1.66 pooka 92 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 207 1.95 maxv 93 STD { int|linux_sys||osf1_select(u_int nd, fd_set *in, \ 208 1.22 erh fd_set *ou, fd_set *ex, struct osf1_timeval *tv); } 209 1.66 pooka 94 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ 210 1.9 tron int timeout); } 211 1.66 pooka 95 NOARGS { int|sys||fsync(int fd); } 212 1.66 pooka 96 NOARGS { int|sys||setpriority(int which, int who, int prio); } 213 1.66 pooka 97 STD { int|linux_sys||socket(int domain, int type, \ 214 1.1 erh int protocol); } 215 1.66 pooka 98 STD { int|linux_sys||connect(int s, \ 216 1.35 jdolecek const struct osockaddr *name, \ 217 1.16 erh unsigned int namelen); } 218 1.66 pooka 99 STD { int|linux_sys||accept(int s, \ 219 1.35 jdolecek struct osockaddr *name, int *anamelen); } 220 1.22 erh ;100 ALIAS osf1_sys_getpriority 221 1.66 pooka 100 STD { int|linux_sys||getpriority(int which, int who); } 222 1.66 pooka 101 STD { int|linux_sys||send(int s, void *buf, int len, \ 223 1.1 erh int flags); } 224 1.66 pooka 102 STD { int|linux_sys||recv(int s, void *buf, int len, \ 225 1.1 erh int flags); } 226 1.66 pooka 103 STD { int|linux_sys||sigreturn(struct linux_sigframe *sfp); } 227 1.66 pooka 104 STD { int|linux_sys||bind(int s, \ 228 1.35 jdolecek const struct osockaddr *name, \ 229 1.35 jdolecek unsigned int namelen); } 230 1.66 pooka 105 STD { int|linux_sys||setsockopt(int s, int level, \ 231 1.1 erh int optname, void *optval, int optlen); } 232 1.66 pooka 106 NOARGS { int|sys||listen(int s, int backlog); } 233 1.1 erh 107 UNIMPL 234 1.1 erh 108 UNIMPL 235 1.1 erh 109 UNIMPL 236 1.1 erh 110 UNIMPL 237 1.1 erh 238 1.66 pooka 111 STD { int|linux_sys||sigsuspend(void *restart, \ 239 1.1 erh int oldmask, int mask); } 240 1.22 erh ;112 ALIAS osf1_sys_sigstack 241 1.66 pooka 112 NOARGS { int|compat_43_sys||sigstack(struct sigstack *nss, \ 242 1.22 erh struct sigstack *oss); } 243 1.70 njoly 113 STD { ssize_t|linux_sys||recvmsg(int s, \ 244 1.70 njoly struct linux_msghdr *msg, int flags); } 245 1.66 pooka 114 STD { ssize_t|linux_sys||sendmsg(int s, \ 246 1.70 njoly const struct linux_msghdr *msg, int flags); } 247 1.1 erh 115 UNIMPL 248 1.95 maxv 116 STD { int|linux_sys||osf1_gettimeofday(struct osf1_timeval *tv, \ 249 1.22 erh struct osf1_timezone *tzp); } 250 1.95 maxv 117 STD { int|linux_sys||osf1_getrusage(int who, \ 251 1.22 erh struct osf1_rusage *rusage); } 252 1.66 pooka 118 STD { int|linux_sys||getsockopt(int s, int level, \ 253 1.1 erh int optname, void *optval, int *optlen); } 254 1.1 erh 119 UNIMPL 255 1.66 pooka 120 NOARGS { ssize_t|sys||readv(int fd, const struct iovec *iovp, \ 256 1.16 erh int iovcnt); } 257 1.66 pooka 121 NOARGS { ssize_t|sys||writev(int fd, const struct iovec *iovp, \ 258 1.16 erh int iovcnt); } 259 1.95 maxv 122 STD { int|linux_sys||osf1_settimeofday(struct osf1_timeval *tv, \ 260 1.22 erh struct osf1_timezone *tzp); } 261 1.90 njoly 123 NOARGS { int|sys||__posix_fchown(int fd, uid_t uid, \ 262 1.90 njoly gid_t gid); } 263 1.81 njoly 124 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } 264 1.66 pooka 125 STD { int|linux_sys||recvfrom(int s, void *buf, int len, \ 265 1.35 jdolecek int flags, struct osockaddr *from, \ 266 1.35 jdolecek int *fromlenaddr); } 267 1.66 pooka 126 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); } 268 1.66 pooka 127 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); } 269 1.66 pooka 128 NOARGS { int|sys||__posix_rename(const char *from, const char *to); } 270 1.66 pooka 129 NOARGS { int|compat_43_sys||truncate(const char *path, \ 271 1.58 njoly long length); } 272 1.66 pooka 130 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } 273 1.66 pooka 131 NOARGS { int|sys||flock(int fd, int how); } 274 1.66 pooka 132 NOARGS { int|sys||setgid(gid_t gid); } 275 1.66 pooka 133 STD { int|linux_sys||sendto(int s, void *msg, int len, \ 276 1.35 jdolecek int flags, struct osockaddr *to, int tolen); } 277 1.66 pooka 134 NOARGS { int|sys||shutdown(int s, int how); } 278 1.66 pooka 135 STD { int|linux_sys||socketpair(int domain, int type, \ 279 1.1 erh int protocol, int *rsv); } 280 1.81 njoly 136 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } 281 1.66 pooka 137 NOARGS { int|sys||rmdir(const char *path); } 282 1.95 maxv 138 STD { int|linux_sys||osf1_utimes(const char *path, \ 283 1.22 erh const struct osf1_timeval *tptr); } 284 1.1 erh 139 UNIMPL 285 1.1 erh 140 UNIMPL 286 1.66 pooka 141 STD { int|linux_sys||getpeername(int fdes, \ 287 1.57 christos void *asa, int *alen); } 288 1.1 erh 142 UNIMPL 289 1.1 erh 143 UNIMPL 290 1.66 pooka 144 STD { int|linux_sys||getrlimit(int which, \ 291 1.1 erh struct orlimit *rlp); } 292 1.66 pooka 145 STD { int|linux_sys||setrlimit(int which, \ 293 1.16 erh const struct orlimit *rlp); } 294 1.1 erh 146 UNIMPL 295 1.66 pooka 147 NOARGS { int|sys||setsid(void); } 296 1.1 erh 148 UNIMPL quotactl 297 1.1 erh 149 UNIMPL 298 1.66 pooka 150 STD { int|linux_sys||getsockname(int fdec, \ 299 1.57 christos void *asa, int *alen); } 300 1.1 erh 151 UNIMPL 301 1.1 erh 152 UNIMPL 302 1.1 erh 153 UNIMPL 303 1.1 erh 154 UNIMPL 304 1.1 erh 155 UNIMPL 305 1.22 erh ;156 ALIAS osf1_sys_sigaction 306 1.66 pooka 156 STD { int|linux_sys||sigaction(int signum, \ 307 1.1 erh const struct linux_old_sigaction *nsa, \ 308 1.1 erh struct linux_old_sigaction *osa); } 309 1.1 erh 157 UNIMPL 310 1.1 erh 158 UNIMPL 311 1.22 erh ;159 ALIAS osf1_sys_getdirentries 312 1.66 pooka 159 NOARGS { int|compat_43_sys||getdirentries(int fd, char *buf, \ 313 1.22 erh u_int count, long *basep); } 314 1.95 maxv 160 STD { int|linux_sys||osf1_statfs(const char *path, \ 315 1.22 erh struct osf1_statfs *buf, int len); } 316 1.95 maxv 161 STD { int|linux_sys||osf1_fstatfs(int fd, \ 317 1.22 erh struct osf1_statfs *buf, int len); } 318 1.1 erh 162 UNIMPL 319 1.1 erh 163 UNIMPL 320 1.1 erh 164 UNIMPL 321 1.22 erh ;165 ALIAS osf1_sys_getdomainname 322 1.66 pooka 165 NOARGS { int|compat_09_sys||getdomainname(char *domainname, \ 323 1.22 erh int len); } 324 1.66 pooka 166 STD { int|linux_sys||setdomainname(char *domainname, \ 325 1.23 jdolecek int len); } 326 1.1 erh 167 UNIMPL 327 1.1 erh 168 UNIMPL 328 1.1 erh 169 UNIMPL 329 1.1 erh 170 UNIMPL 330 1.1 erh 171 UNIMPL 331 1.1 erh 172 UNIMPL 332 1.1 erh 173 UNIMPL 333 1.1 erh 174 UNIMPL 334 1.1 erh 175 UNIMPL 335 1.1 erh 176 UNIMPL 336 1.1 erh 177 UNIMPL 337 1.1 erh 178 UNIMPL 338 1.1 erh 179 UNIMPL 339 1.1 erh 180 UNIMPL 340 1.1 erh 181 UNIMPL 341 1.1 erh 182 UNIMPL 342 1.1 erh 183 UNIMPL 343 1.1 erh 184 UNIMPL 344 1.1 erh 185 UNIMPL 345 1.1 erh 186 UNIMPL 346 1.1 erh 187 UNIMPL 347 1.1 erh 188 UNIMPL 348 1.1 erh 189 UNIMPL 349 1.1 erh 190 UNIMPL 350 1.38 christos ; XXX: Dunno 351 1.66 pooka 191 STD { int|linux_sys||ugetrlimit(int which, \ 352 1.37 christos struct rlimit *rlp); } 353 1.40 christos 192 UNIMPL mmap2 354 1.1 erh 193 UNIMPL 355 1.1 erh 194 UNIMPL 356 1.1 erh 195 UNIMPL 357 1.1 erh 196 UNIMPL 358 1.1 erh 197 UNIMPL 359 1.1 erh 198 UNIMPL 360 1.22 erh 199 UNIMPL osf1_sys_swapon 361 1.1 erh #ifdef SYSVMSG 362 1.66 pooka 200 NOARGS { int|linux_sys||msgctl(int msqid, int cmd, \ 363 1.1 erh struct linux_msqid_ds *buf); } 364 1.66 pooka 201 NOARGS { int|sys||msgget(key_t key, int msgflg); } 365 1.66 pooka 202 NOARGS { ssize_t|sys||msgrcv(int msqid, void *msgp, \ 366 1.18 erh size_t msgsz, long msgtyp, int msgflg); } 367 1.66 pooka 203 NOARGS { int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \ 368 1.1 erh int msgflg); } 369 1.1 erh #else 370 1.1 erh 200 UNIMPL msgctl 371 1.1 erh 201 UNIMPL msgget 372 1.1 erh 202 UNIMPL msgrcv 373 1.1 erh 203 UNIMPL msgsnd 374 1.1 erh #endif 375 1.1 erh #ifdef SYSVSEM 376 1.66 pooka 204 NOARGS { int|linux_sys||semctl(int semid, int semnum, \ 377 1.1 erh int cmd, union linux_semun arg); } 378 1.66 pooka 205 NOARGS { int|sys||semget(key_t key, int nsems, int semflg); } 379 1.66 pooka 206 NOARGS { int|sys||semop(int semid, struct sembuf *sops, \ 380 1.16 erh size_t nsops); } 381 1.1 erh #else 382 1.1 erh 204 UNIMPL semctl 383 1.1 erh 205 UNIMPL semget 384 1.1 erh 206 UNIMPL semop 385 1.1 erh #endif 386 1.22 erh ;207 ALIAS osf1_sys_utsname 387 1.66 pooka 207 STD { int|linux_sys||olduname(struct linux_old_utsname *up); } 388 1.90 njoly 208 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ 389 1.90 njoly gid_t gid); } 390 1.1 erh #ifdef SYSVSHM 391 1.66 pooka 209 NOARGS { int|linux_sys||shmat(int shmid, void *shmaddr, \ 392 1.1 erh int shmflg, u_long *raddr); } 393 1.66 pooka 210 NOARGS { int|linux_sys||shmctl(int shmid, int cmd, \ 394 1.1 erh struct linux_shmid_ds *buf); } 395 1.66 pooka 211 NOARGS { int|sys||shmdt(const void *shmaddr); } 396 1.66 pooka 212 NOARGS { int|linux_sys||shmget(key_t key, size_t size, int shmflg); } 397 1.1 erh #else 398 1.1 erh 209 UNIMPL shmat 399 1.1 erh 210 UNIMPL shmctl 400 1.1 erh 211 UNIMPL shmdt 401 1.1 erh 212 UNIMPL shmget 402 1.1 erh #endif 403 1.1 erh 213 UNIMPL 404 1.1 erh 214 UNIMPL 405 1.1 erh 215 UNIMPL 406 1.1 erh 216 UNIMPL 407 1.66 pooka 217 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 408 1.21 erh 218 UNIMPL 409 1.1 erh 219 UNIMPL 410 1.1 erh 220 UNIMPL 411 1.1 erh 221 UNIMPL 412 1.1 erh 222 UNIMPL 413 1.1 erh 223 UNIMPL 414 1.1 erh 224 UNIMPL 415 1.1 erh 225 UNIMPL 416 1.1 erh 226 UNIMPL 417 1.1 erh 227 UNIMPL 418 1.1 erh 228 UNIMPL 419 1.1 erh 229 UNIMPL 420 1.1 erh 230 UNIMPL 421 1.1 erh 231 UNIMPL 422 1.1 erh 232 UNIMPL 423 1.66 pooka 233 NOARGS { pid_t|sys||getpgid(pid_t pid); } 424 1.66 pooka 234 NOARGS { pid_t|sys||getsid(pid_t pid); } 425 1.21 erh 235 UNIMPL sigaltstack 426 1.1 erh 236 UNIMPL 427 1.1 erh 237 UNIMPL 428 1.1 erh 238 UNIMPL 429 1.1 erh 239 UNIMPL 430 1.1 erh 240 UNIMPL 431 1.95 maxv 241 STD { int|linux_sys||osf1_sysinfo(int cmd, char *buf, long len); } 432 1.1 erh 242 UNIMPL 433 1.1 erh 243 UNIMPL 434 1.22 erh 244 UNIMPL osf1_sys_proplist_syscall 435 1.1 erh 245 UNIMPL 436 1.1 erh 246 UNIMPL 437 1.1 erh 247 UNIMPL 438 1.1 erh 248 UNIMPL 439 1.1 erh 249 UNIMPL 440 1.1 erh 250 UNIMPL 441 1.95 maxv 251 STD { int|linux_sys||osf1_usleep_thread( \ 442 1.22 erh struct osf1_timeval *sleep, \ 443 1.22 erh struct osf1_timeval *slept); } 444 1.1 erh 252 UNIMPL 445 1.1 erh 253 UNIMPL 446 1.22 erh 254 UNIMPL 447 1.22 erh 255 UNIMPL sysfs 448 1.95 maxv 256 STD { int|linux_sys||osf1_getsysinfo(u_long op, void *buffer, \ 449 1.57 christos u_long nbytes, void *arg, u_long flag); } 450 1.95 maxv 257 STD { int|linux_sys||osf1_setsysinfo(u_long op, void *buffer, \ 451 1.57 christos u_long nbytes, void *arg, u_long flag); } 452 1.1 erh 258 UNIMPL 453 1.1 erh 259 UNIMPL 454 1.1 erh 260 UNIMPL 455 1.21 erh ; This entry doesn't exist in the Alpha linux syscall table but the function is 456 1.21 erh ; implemented and used on other ports. 457 1.66 pooka 261 STD { int|linux_sys||fdatasync(int fd); } 458 1.1 erh 262 UNIMPL 459 1.1 erh 263 UNIMPL 460 1.1 erh 264 UNIMPL 461 1.1 erh 265 UNIMPL 462 1.1 erh 266 UNIMPL 463 1.1 erh 267 UNIMPL 464 1.1 erh 268 UNIMPL 465 1.1 erh 269 UNIMPL 466 1.1 erh 270 UNIMPL 467 1.1 erh 271 UNIMPL 468 1.1 erh 272 UNIMPL 469 1.1 erh 273 UNIMPL 470 1.1 erh 274 UNIMPL 471 1.1 erh 275 UNIMPL 472 1.1 erh 276 UNIMPL 473 1.1 erh 277 UNIMPL 474 1.1 erh 278 UNIMPL 475 1.1 erh 279 UNIMPL 476 1.1 erh 280 UNIMPL 477 1.1 erh 281 UNIMPL 478 1.1 erh 282 UNIMPL 479 1.1 erh 283 UNIMPL 480 1.1 erh 284 UNIMPL 481 1.1 erh 285 UNIMPL 482 1.1 erh 286 UNIMPL 483 1.1 erh 287 UNIMPL 484 1.1 erh 288 UNIMPL 485 1.1 erh 289 UNIMPL 486 1.1 erh 290 UNIMPL 487 1.1 erh 291 UNIMPL 488 1.1 erh 292 UNIMPL 489 1.1 erh 293 UNIMPL 490 1.1 erh 294 UNIMPL 491 1.1 erh 295 UNIMPL 492 1.1 erh 296 UNIMPL 493 1.1 erh 297 UNIMPL 494 1.1 erh 298 UNIMPL 495 1.1 erh 299 UNIMPL 496 1.1 erh 300 UNIMPL bdflush 497 1.1 erh 301 UNIMPL sethae 498 1.1 erh 302 UNIMPL mount 499 1.1 erh 303 UNIMPL old_adjtimex 500 1.66 pooka 304 STD { int|linux_sys||swapoff(const char *path); } 501 1.66 pooka 305 STD { int|linux_sys||getdents(int fd, \ 502 1.1 erh struct linux_dirent *dent, unsigned int count); } 503 1.21 erh 306 UNIMPL alpha_create_module 504 1.1 erh 307 UNIMPL init_module 505 1.1 erh 308 UNIMPL delete_module 506 1.1 erh 309 UNIMPL get_kernel_syms 507 1.1 erh 310 UNIMPL syslog 508 1.66 pooka 311 STD { int|linux_sys||reboot(int magic1, int magic2, \ 509 1.17 erh int cmd, void *arg); } 510 1.72 chs 312 STD { int|linux_sys||clone(int flags, void *stack, \ 511 1.72 chs void *parent_tidptr, void *child_tidptr, void *tls); } 512 1.1 erh #ifdef EXEC_AOUT 513 1.66 pooka 313 STD { int|linux_sys||uselib(const char *path); } 514 1.1 erh #else 515 1.1 erh 313 UNIMPL sys_uselib 516 1.1 erh #endif 517 1.66 pooka 314 NOARGS { int|sys||mlock(const void *addr, size_t len); } 518 1.66 pooka 315 NOARGS { int|sys||munlock(const void *addr, size_t len); } 519 1.66 pooka 316 NOARGS { int|sys||mlockall(int flags); } 520 1.66 pooka 317 NOARGS { int|sys||munlockall(void); } 521 1.66 pooka 318 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 522 1.66 pooka 319 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } 523 1.1 erh 320 UNIMPL idle 524 1.21 erh 321 UNIMPL oldumount 525 1.66 pooka 322 STD { int|linux_sys||swapon(const char *name); } 526 1.66 pooka 323 STD { int|linux_sys||times(struct times *tms); } 527 1.71 njoly 324 STD { int|linux_sys||personality(unsigned long per); } 528 1.66 pooka 325 STD { int|linux_sys||setfsuid(uid_t uid); } 529 1.66 pooka 326 STD { int|linux_sys||setfsgid(gid_t gid); } 530 1.1 erh 327 UNIMPL ustat 531 1.66 pooka 328 STD { int|linux_sys||statfs(const char *path, \ 532 1.1 erh struct linux_statfs *sp); } 533 1.66 pooka 329 STD { int|linux_sys||fstatfs(int fd, \ 534 1.1 erh struct linux_statfs *sp); } 535 1.66 pooka 330 STD { int|linux_sys||sched_setparam(pid_t pid, \ 536 1.12 tron const struct linux_sched_param *sp); } 537 1.66 pooka 331 STD { int|linux_sys||sched_getparam(pid_t pid, \ 538 1.12 tron struct linux_sched_param *sp); } 539 1.66 pooka 332 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ 540 1.12 tron int policy, const struct linux_sched_param *sp); } 541 1.66 pooka 333 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 542 1.66 pooka 334 STD { int|linux_sys||sched_yield(void); } 543 1.66 pooka 335 STD { int|linux_sys||sched_get_priority_max(int policy); } 544 1.66 pooka 336 STD { int|linux_sys||sched_get_priority_min(int policy); } 545 1.1 erh 337 UNIMPL sched_rr_get_interval 546 1.1 erh 338 UNIMPL afs_syscall 547 1.66 pooka 339 STD { int|linux_sys||uname(struct linux_utsname *up); } 548 1.66 pooka 340 STD { int|linux_sys||nanosleep( \ 549 1.63 njoly const struct linux_timespec *rqtp, \ 550 1.63 njoly struct linux_timespec *rmtp); } 551 1.66 pooka 341 STD { void *|linux_sys||mremap(void *old_address, \ 552 1.1 erh size_t old_size, size_t new_size, u_long flags); } 553 1.1 erh 342 UNIMPL nfsservctl 554 1.66 pooka 343 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \ 555 1.11 thorpej uid_t suid); } 556 1.66 pooka 344 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \ 557 1.11 thorpej uid_t *suid); } 558 1.1 erh 345 UNIMPL pciconfig_read 559 1.1 erh 346 UNIMPL pciconfig_write 560 1.1 erh 347 UNIMPL query_module 561 1.1 erh 348 UNIMPL prctl 562 1.66 pooka 349 STD { int|linux_sys||pread(int fd, char *buf, \ 563 1.85 njoly size_t nbyte, off_t offset); } 564 1.66 pooka 350 STD { int|linux_sys||pwrite(int fd, char *buf, \ 565 1.85 njoly size_t nbyte, off_t offset); } 566 1.66 pooka 351 STD { int|linux_sys||rt_sigreturn( \ 567 1.1 erh struct linux_rt_sigframe *sfp); } 568 1.66 pooka 352 STD { int|linux_sys||rt_sigaction(int signum, \ 569 1.1 erh const struct linux_sigaction *nsa, \ 570 1.1 erh struct linux_sigaction *osa, \ 571 1.1 erh size_t sigsetsize); } 572 1.66 pooka 353 STD { int|linux_sys||rt_sigprocmask(int how, \ 573 1.1 erh const linux_sigset_t *set, \ 574 1.1 erh linux_sigset_t *oset, \ 575 1.1 erh size_t sigsetsize); } 576 1.66 pooka 354 STD { int|linux_sys||rt_sigpending( \ 577 1.1 erh linux_sigset_t *set, \ 578 1.1 erh size_t sigsetsize); } 579 1.76 christos 355 STD { int|linux_sys||rt_sigtimedwait( \ 580 1.76 christos const linux_sigset_t *set, \ 581 1.76 christos linux_siginfo_t *info, \ 582 1.76 christos const struct linux_timespec *timeout); } 583 1.66 pooka 356 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ 584 1.3 erh linux_siginfo_t *uinfo); } 585 1.66 pooka 357 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ 586 1.1 erh size_t sigsetsize); } 587 1.66 pooka 358 STD { int|linux_sys||select(int nfds, fd_set *readfds, \ 588 1.1 erh fd_set *writefds, fd_set *exceptfds, \ 589 1.67 njoly struct timeval50 *timeout); } 590 1.83 njoly 359 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ 591 1.83 njoly struct timezone *tzp); } 592 1.83 njoly 360 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ 593 1.83 njoly struct timezone *tzp); } 594 1.67 njoly 361 NOARGS { int|compat_50_sys||getitimer(int which, \ 595 1.67 njoly struct itimerval50 *itv); } 596 1.67 njoly 362 NOARGS { int|compat_50_sys||setitimer(int which, \ 597 1.67 njoly const struct itimerval50 *itv, \ 598 1.67 njoly struct itimerval50 *oitv); } 599 1.88 njoly 363 NOARGS { int|compat_50_sys||utimes(const char *path, \ 600 1.88 njoly const struct timeval50 *tptr); } 601 1.67 njoly 364 NOARGS { int|compat_50_sys||getrusage(int who, \ 602 1.67 njoly struct rusage50 *rusage); } 603 1.66 pooka 365 STD { int|linux_sys||wait4(int pid, int *status, \ 604 1.68 njoly int options, struct rusage50 *rusage); } 605 1.1 erh 366 UNIMPL adjtimex 606 1.66 pooka 367 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 607 1.8 tron 368 UNIMPL capget 608 1.8 tron 369 UNIMPL capset 609 1.8 tron 370 UNIMPL sendfile 610 1.26 jdolecek 371 UNIMPL setresgid 611 1.26 jdolecek 372 UNIMPL getresgid 612 1.26 jdolecek 373 UNIMPL sys_dipc 613 1.33 jdolecek 374 UNIMPL pivot_root 614 1.66 pooka 375 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 615 1.33 jdolecek 376 UNIMPL pciconfig_iobase 616 1.66 pooka 377 STD { int|linux_sys||getdents64(int fd, \ 617 1.41 christos struct linux_dirent64 *dent, unsigned int count); } 618 1.72 chs 378 NOARGS { pid_t|linux_sys||gettid(void); } 619 1.104 christos 379 STD { ssize_t|linux_sys||readahead(int fd, off_t offset, \ 620 1.104 christos size_t count); } 621 1.44 jdolecek 380 UNIMPL /* unused */ 622 1.72 chs 381 STD { int|linux_sys||tkill(int tid, int sig); } 623 1.66 pooka 382 STD { int|linux_sys||setxattr(char *path, char *name, \ 624 1.50 fvdl void *value, size_t size, int flags); } 625 1.66 pooka 383 STD { int|linux_sys||lsetxattr(char *path, char *name, \ 626 1.50 fvdl void *value, size_t size, int flags); } 627 1.66 pooka 384 STD { int|linux_sys||fsetxattr(int fd, char *name, \ 628 1.50 fvdl void *value, size_t size, int flags); } 629 1.66 pooka 385 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ 630 1.50 fvdl void *value, size_t size); } 631 1.66 pooka 386 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ 632 1.50 fvdl void *value, size_t size); } 633 1.66 pooka 387 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ 634 1.50 fvdl void *value, size_t size); } 635 1.66 pooka 388 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ 636 1.50 fvdl size_t size); } 637 1.66 pooka 389 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ 638 1.50 fvdl size_t size); } 639 1.66 pooka 390 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ 640 1.50 fvdl size_t size); } 641 1.66 pooka 391 STD { int|linux_sys||removexattr(char *path, char *name); } 642 1.66 pooka 392 STD { int|linux_sys||lremovexattr(char *path, char *name); } 643 1.66 pooka 393 STD { int|linux_sys||fremovexattr(int fd, char *name); } 644 1.72 chs 394 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ 645 1.72 chs const struct linux_timespec *timeout, int *uaddr2, \ 646 1.72 chs int val3); } 647 1.72 chs 395 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ 648 1.72 chs unsigned int len, unsigned long *mask); } 649 1.72 chs 396 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ 650 1.72 chs unsigned int len, unsigned long *mask); } 651 1.44 jdolecek 397 UNIMPL tuxcall 652 1.44 jdolecek 398 UNIMPL io_setup 653 1.44 jdolecek 399 UNIMPL io_destroy 654 1.44 jdolecek 400 UNIMPL io_getevents 655 1.44 jdolecek 401 UNIMPL io_submit 656 1.44 jdolecek 402 UNIMPL io_cancel 657 1.45 jdolecek 403 UNIMPL /* unused */ 658 1.45 jdolecek 404 UNIMPL /* unused */ 659 1.66 pooka 405 STD { int|linux_sys||exit_group(int error_code); } 660 1.44 jdolecek 406 UNIMPL lookup_dcookie 661 1.103 christos 407 STD { int|linux_sys||epoll_create(int size); } 662 1.103 christos 408 STD { int|linux_sys||epoll_ctl(int epfd, int op, int fd, \ 663 1.103 christos struct linux_epoll_event *event); } 664 1.103 christos 409 STD { int|linux_sys||epoll_wait(int epfd, \ 665 1.103 christos struct linux_epoll_event *events, int maxevents, \ 666 1.103 christos int timeout); } 667 1.44 jdolecek 410 UNIMPL remap_file_pages 668 1.72 chs 411 STD { int|linux_sys||set_tid_address(int *tid); } 669 1.44 jdolecek 412 UNIMPL restart_syscall 670 1.87 njoly 413 STD { int|linux_sys||fadvise64(int fd, off_t offset, \ 671 1.87 njoly size_t len, int advice); } 672 1.98 thorpej 414 STD { int|linux_sys||timer_create(clockid_t clockid, \ 673 1.98 thorpej struct linux_sigevent *evp, timer_t *timerid); } 674 1.98 thorpej 415 STD { int|linux_sys||timer_settime(timer_t timerid, \ 675 1.98 thorpej int flags, const struct linux_itimerspec *tim, \ 676 1.98 thorpej struct linux_itimerspec *otim); } 677 1.98 thorpej 416 STD { int|linux_sys||timer_gettime(timer_t timerid, \ 678 1.98 thorpej struct linux_itimerspec *tim); } 679 1.98 thorpej 417 NOARGS { int|sys||timer_getoverrun(timer_t timerid); } 680 1.98 thorpej 418 NOARGS { int|sys||timer_delete(timer_t timerid); } 681 1.66 pooka 419 STD { int|linux_sys||clock_settime(clockid_t which, \ 682 1.51 fvdl struct linux_timespec *tp); } 683 1.66 pooka 420 STD { int|linux_sys||clock_gettime(clockid_t which, \ 684 1.51 fvdl struct linux_timespec *tp); } 685 1.66 pooka 421 STD { int|linux_sys||clock_getres(clockid_t which, \ 686 1.51 fvdl struct linux_timespec *tp); } 687 1.66 pooka 422 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ 688 1.51 fvdl int flags, struct linux_timespec *rqtp, \ 689 1.51 fvdl struct linux_timespec *rmtp); } 690 1.44 jdolecek 423 UNIMPL semtimedop 691 1.72 chs 424 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } 692 1.82 njoly 425 STD { int|linux_sys||stat64(const char *path, \ 693 1.82 njoly struct linux_stat64 *sp); } 694 1.82 njoly 426 STD { int|linux_sys||lstat64(const char *path, \ 695 1.82 njoly struct linux_stat64 *sp); } 696 1.82 njoly 427 STD { int|linux_sys||fstat64(int fd, \ 697 1.82 njoly struct linux_stat64 *sp); } 698 1.44 jdolecek 428 UNIMPL vserver 699 1.44 jdolecek 429 UNIMPL mbind 700 1.44 jdolecek 430 UNIMPL get_mempolicy 701 1.44 jdolecek 431 UNIMPL set_mempolicy 702 1.108 christos 432 STD { linux_mqd_t|linux_sys||mq_open(const char *name, \ 703 1.108 christos int oflag, linux_umode_t mode, \ 704 1.108 christos struct linux_mq_attr *attr); } 705 1.108 christos 433 STD { int|linux_sys||mq_unlink(const char *name); } 706 1.108 christos 434 STD { int|linux_sys||mq_timedsend(linux_mqd_t mqdes, \ 707 1.108 christos const char *msg_ptr, size_t msg_len, \ 708 1.108 christos unsigned int msg_prio, \ 709 1.108 christos const struct linux_timespec *abs_timeout); } 710 1.108 christos 435 STD { ssize_t|linux_sys||mq_timedreceive(linux_mqd_t mqdes, \ 711 1.108 christos char *msg_ptr, size_t msg_len, \ 712 1.108 christos unsigned int *msg_prio, \ 713 1.108 christos const struct linux_timespec *abs_timeout); } 714 1.108 christos 436 STD { int|linux_sys||mq_notify(linux_mqd_t mqdes, \ 715 1.108 christos const struct linux_sigevent *sevp); } 716 1.108 christos 437 STD { int|linux_sys||mq_getsetattr(linux_mqd_t mqdes, \ 717 1.108 christos const struct linux_mq_attr *newattr, \ 718 1.108 christos struct linux_mq_attr *oldattr); } 719 1.106 christos 438 STD { int|linux_sys||waitid(int idtype, id_t id, \ 720 1.105 christos linux_siginfo_t *infop, int options, \ 721 1.105 christos struct rusage50 *rusage); } 722 1.72 chs 439 UNIMPL add_key 723 1.72 chs 440 UNIMPL request_key 724 1.72 chs 441 UNIMPL keyctl 725 1.72 chs 442 UNIMPL ioprio_set 726 1.72 chs 443 UNIMPL ioprio_get 727 1.106 christos 444 STD { int|linux_sys||inotify_init(void); } 728 1.106 christos 445 STD { int|linux_sys||inotify_add_watch(int fd, \ 729 1.106 christos const char *pathname, uint32_t mask); } 730 1.106 christos 446 STD { int|linux_sys||inotify_rm_watch(int fd, int wd); } 731 1.72 chs 447 UNIMPL fdatasync 732 1.72 chs 448 UNIMPL kexec_load 733 1.72 chs 449 UNIMPL migrate_pages 734 1.80 chs 450 STD { int|linux_sys||openat(int fd, const char *path, \ 735 1.80 chs int flags, ... linux_umode_t mode); } 736 1.80 chs 451 NOARGS { int|sys||mkdirat(int fd, const char *path, \ 737 1.80 chs linux_umode_t mode); } 738 1.80 chs 452 STD { int|linux_sys||mknodat(int fd, const char *path, \ 739 1.80 chs linux_umode_t mode, unsigned dev); } 740 1.80 chs 453 STD { int|linux_sys||fchownat(int fd, const char *path, \ 741 1.80 chs uid_t owner, gid_t group, int flag); } 742 1.72 chs 454 UNIMPL futimesat 743 1.82 njoly 455 STD { int|linux_sys||fstatat64(int fd, const char *path, \ 744 1.80 chs struct linux_stat64 *sp, int flag); } 745 1.80 chs 456 STD { int|linux_sys||unlinkat(int fd, const char *path, \ 746 1.80 chs int flag); } 747 1.80 chs 457 NOARGS { int|sys||renameat(int fromfd, const char *from, \ 748 1.80 chs int tofd, const char *to); } 749 1.80 chs 458 STD { int|linux_sys||linkat(int fd1, const char *name1, \ 750 1.80 chs int fd2, const char *name2, int flags); } 751 1.80 chs 459 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ 752 1.80 chs const char *path2); } 753 1.91 njoly 460 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ 754 1.80 chs char *buf, size_t bufsize); } 755 1.80 chs 461 STD { int|linux_sys||fchmodat(int fd, const char *path, \ 756 1.80 chs linux_umode_t mode); } 757 1.80 chs 462 STD { int|linux_sys||faccessat(int fd, const char *path, \ 758 1.80 chs int amode); } 759 1.92 manu 463 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ 760 1.92 manu fd_set *writefds, fd_set *exceptfds, \ 761 1.92 manu struct linux_timespec *timeout, \ 762 1.92 manu linux_sized_sigset_t *ss); } 763 1.89 njoly 464 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \ 764 1.77 pooka struct linux_timespec *timeout, \ 765 1.77 pooka linux_sigset_t *sigset); } 766 1.72 chs 465 UNIMPL unshare 767 1.97 thorpej ; 768 1.97 thorpej ; The NetBSD native robust list calls have different 769 1.97 thorpej ; argument names / types, but they are ABI-compatible 770 1.97 thorpej ; with Linux. 771 1.97 thorpej ; 772 1.97 thorpej 466 NOARGS { int|sys||__futex_set_robust_list(void *head, \ 773 1.97 thorpej size_t len); } 774 1.97 thorpej 467 NOARGS { int|sys||__futex_get_robust_list(lwpid_t lwpid, \ 775 1.97 thorpej void **headp, size_t *lenp); } 776 1.72 chs 468 UNIMPL splice 777 1.109 christos 469 STD { int|linux_sys||sync_file_range(int fd, \ 778 1.109 christos off_t offset, off_t nbytes, unsigned int flags); } 779 1.72 chs 470 UNIMPL tee 780 1.72 chs 471 UNIMPL vmsplice 781 1.72 chs 472 UNIMPL move_pages 782 1.107 christos 473 STD { int|linux_sys||getcpu(unsigned int *cpu, \ 783 1.107 christos unsigned int *node, \ 784 1.107 christos struct linux_getcpu_cache *tcache); } 785 1.103 christos 474 STD { int|linux_sys||epoll_pwait(int epfd, \ 786 1.103 christos struct linux_epoll_event *events, int maxevents, \ 787 1.103 christos int timeout, const linux_sigset_t *sigmask); } 788 1.79 njoly 475 STD { int|linux_sys||utimensat(int fd, const char *path, \ 789 1.79 njoly struct linux_timespec *times, int flag); } 790 1.72 chs 476 UNIMPL signalfd 791 1.72 chs 477 UNIMPL timerfd 792 1.100 thorpej 478 STD { int|linux_sys||eventfd(unsigned int initval); } 793 1.94 christos 479 STD { int|linux_sys||recvmmsg(int s, \ 794 1.94 christos struct linux_mmsghdr *msgvec, unsigned int vlen, \ 795 1.94 christos unsigned int flags, struct timespec *timeout); } 796 1.96 jdolecek 480 STD { int|linux_sys||fallocate(int fd, int mode, \ 797 1.96 jdolecek off_t offset, off_t len); } 798 1.99 thorpej 481 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \ 799 1.99 thorpej int flags); } 800 1.99 thorpej 482 STD { int|linux_sys||timerfd_settime(int fd, int flags, \ 801 1.99 thorpej const struct linux_itimerspec *tim, \ 802 1.99 thorpej struct linux_itimerspec *otim); } 803 1.99 thorpej 483 STD { int|linux_sys||timerfd_gettime(int fd, \ 804 1.99 thorpej struct linux_itimerspec *tim); } 805 1.72 chs 484 UNIMPL signalfd4 806 1.100 thorpej 485 STD { int|linux_sys||eventfd2(unsigned int initval, \ 807 1.100 thorpej int flags); } 808 1.103 christos 486 STD { int|linux_sys||epoll_create1(int flags); } 809 1.73 he 487 STD { int|linux_sys||dup3(int from, int to, int flags); } 810 1.73 he 488 STD { int|linux_sys||pipe2(int *pfds, int flags); } 811 1.106 christos 489 STD { int|linux_sys||inotify_init1(int flags); } 812 1.101 thorpej 490 STD { int|linux_sys||preadv(int fd, \ 813 1.101 thorpej const struct iovec *iovp, int iovcnt, \ 814 1.101 thorpej unsigned long off_lo, unsigned long off_hi); } 815 1.101 thorpej 491 STD { int|linux_sys||pwritev(int fd, \ 816 1.101 thorpej const struct iovcnt *iovp, int iovcnt, \ 817 1.101 thorpej unsigned long off_lo, unsigned long off_hi); } 818 1.72 chs 492 UNIMPL rt_tgsigqueueinfo 819 1.72 chs 493 UNIMPL perf_counter_open 820 1.94 christos 494 UNIMPL fanotify_init 821 1.94 christos 495 UNIMPL fanotify_mark 822 1.102 ryo 496 STD { int|linux_sys||prlimit64(pid_t pid, int which, \ 823 1.102 ryo struct rlimit *new_rlp, struct rlimit *old_rlp); } 824 1.94 christos 497 UNIMPL name_to_handle_at 825 1.94 christos 498 UNIMPL open_by_handle_at 826 1.94 christos 499 UNIMPL clock_adjtime 827 1.109 christos 500 STD { int|linux_sys||syncfs(int fd); } 828 1.94 christos 501 UNIMPL setns 829 1.93 martin 502 STD { int|linux_sys||accept4(int s, \ 830 1.93 martin struct osockaddr *name, \ 831 1.93 martin int *anamelen, int flags); } 832 1.94 christos 503 STD { int|linux_sys||sendmmsg(int s, \ 833 1.94 christos struct linux_mmsghdr *msgvec, unsigned int vlen, \ 834 1.94 christos unsigned int flags); } 835 1.94 christos 504 UNIMPL process_vm_readv 836 1.94 christos 505 UNIMPL process_vm_writev 837 1.94 christos 506 UNIMPL kcmp 838 1.94 christos 507 UNIMPL finit_module 839 1.94 christos 508 UNIMPL sched_setattr 840 1.94 christos 509 UNIMPL sched_getattr 841 1.109 christos 510 STD { int|linux_sys||renameat2(int fromfd, \ 842 1.109 christos const char *from, int tofd, const char *to, \ 843 1.109 christos unsigned int flags); } 844 1.103 christos 511 UNIMPL 845 1.103 christos 512 UNIMPL 846 1.103 christos 513 UNIMPL 847 1.103 christos 514 UNIMPL 848 1.103 christos 515 UNIMPL 849 1.103 christos 516 UNIMPL 850 1.103 christos 517 UNIMPL 851 1.103 christos 518 UNIMPL 852 1.109 christos 519 STD { ssize_t|linux_sys||copy_file_range(int fd_in, \ 853 1.109 christos off_t * off_in, int fd_out, off_t * off_out, \ 854 1.109 christos size_t len, unsigned int flags); } 855 1.103 christos 520 UNIMPL 856 1.103 christos 521 UNIMPL 857 1.106 christos 522 STD { int|linux_sys||statx(int fd, const char *path, \ 858 1.104 christos int flag, unsigned int mask, \ 859 1.104 christos struct linux_statx *sp); } 860 1.103 christos 523 UNIMPL 861 1.103 christos 524 UNIMPL 862 1.103 christos 525 UNIMPL 863 1.103 christos 526 UNIMPL 864 1.103 christos 527 UNIMPL 865 1.103 christos 528 UNIMPL 866 1.103 christos 529 UNIMPL 867 1.103 christos 530 UNIMPL 868 1.103 christos 531 UNIMPL 869 1.103 christos 532 UNIMPL 870 1.103 christos 533 UNIMPL 871 1.103 christos 534 UNIMPL 872 1.103 christos 535 UNIMPL 873 1.103 christos 536 UNIMPL 874 1.103 christos 537 UNIMPL 875 1.103 christos 538 UNIMPL 876 1.103 christos 539 UNIMPL 877 1.103 christos 540 UNIMPL 878 1.103 christos 541 UNIMPL 879 1.103 christos 542 UNIMPL 880 1.103 christos 543 UNIMPL 881 1.103 christos 544 UNIMPL 882 1.109 christos 545 STD { int|linux_sys||clone3( \ 883 1.109 christos struct linux_user_clone3_args *cl_args, \ 884 1.109 christos size_t size); } 885 1.104 christos 546 STD { int|linux_sys||close_range(unsigned int first, \ 886 1.104 christos unsigned int last, unsigned int flags); } 887 1.103 christos 547 UNIMPL 888 1.103 christos 548 UNIMPL 889 1.107 christos 549 STD { int|linux_sys||faccessat2(int fd, const char *path, \ 890 1.107 christos int amode, int flags); } 891 1.103 christos 550 UNIMPL 892 1.103 christos 551 STD { int|linux_sys||epoll_pwait2(int epfd, \ 893 1.103 christos struct linux_epoll_event *events, int maxevents, \ 894 1.103 christos const struct linux_timespec *timeout, \ 895 1.103 christos const linux_sigset_t *sigmask); } 896