1 $NetBSD: syscalls.master,v 1.77 2021/12/02 04:29:48 ryo Exp $ 2 3 ; NetBSD i386 COMPAT_LINUX32 system call name/number "master" file. 4 ; (See syscalls.conf to see what it is processed into.) 5 ; 6 ; Fields: number type [type-dependent ...] 7 ; number system call number, must be in order 8 ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of 9 ; the compatibility options defined in syscalls.conf. 10 ; 11 ; types: 12 ; STD always included 13 ; OBSOL obsolete, not included in system 14 ; UNIMPL unimplemented, not included in system 15 ; NODEF included, but don't define the syscall number 16 ; 17 ; INDIR included, but don't define the syscall args structure 18 ; and allow it to be "really" varargs. 19 ; 20 ; The compat options are defined in the syscalls.conf file, and the 21 ; compat option name is prefixed to the syscall name. Other than 22 ; that, they're like NODEF (for 'compat' options), or STD (for 23 ; 'libcompat' options). 24 ; 25 ; The type-dependent arguments are as follows: 26 ; For STD, NODEF, NOARGS, and compat syscalls: 27 ; { pseudo-proto } [alias] 28 ; For other syscalls: 29 ; [comment] 30 ; 31 ; #ifdef's, etc. may be included, and are copied to the output files. 32 ; #include's are copied to the syscall names and switch definition files only. 33 34 #include <sys/param.h> 35 #include <sys/poll.h> 36 #include <sys/systm.h> 37 #include <sys/signal.h> 38 #include <sys/mount.h> 39 #include <sys/syscallargs.h> 40 41 #include <machine/netbsd32_machdep.h> 42 43 #include <compat/netbsd32/netbsd32.h> 44 #include <compat/netbsd32/netbsd32_syscallargs.h> 45 46 #include <compat/linux/common/linux_types.h> 47 48 #include <compat/linux32/common/linux32_types.h> 49 #include <compat/linux32/common/linux32_signal.h> 50 #include <compat/linux32/arch/amd64/linux32_missing.h> 51 #include <compat/linux32/linux32_syscallargs.h> 52 53 #include <compat/linux/common/linux_mmap.h> 54 #include <compat/linux/common/linux_signal.h> 55 #include <compat/linux/common/linux_siginfo.h> 56 #include <compat/linux/common/linux_machdep.h> 57 #include <compat/linux/common/linux_ipc.h> 58 #include <compat/linux/common/linux_sem.h> 59 #include <compat/linux/linux_syscallargs.h> 60 61 %% 62 63 0 NOARGS { int|linux_sys||nosys(void); } syscall 64 1 STD { int|linux32_sys||exit(int rval); } 65 2 NOARGS { int|sys||fork(void); } 66 3 NOARGS { netbsd32_ssize_t|netbsd32||read(int fd, \ 67 netbsd32_voidp buf, netbsd32_size_t nbyte); } 68 4 NOARGS { netbsd32_ssize_t|netbsd32||write(int fd, \ 69 netbsd32_voidp buf, netbsd32_size_t nbyte); } 70 5 STD { int|linux32_sys||open(netbsd32_charp path, int flags, \ 71 linux_umode_t mode); } 72 6 NOARGS { int|netbsd32||close(int fd); } 73 7 STD { int|linux32_sys||waitpid(int pid, netbsd32_intp status, \ 74 int options);} 75 8 STD { int|linux32_sys||creat(netbsd32_charp path, linux_umode_t mode); } 76 9 NOARGS { int|netbsd32||link(netbsd32_charp path, \ 77 netbsd32_charp link); } 78 10 STD { int|linux32_sys||unlink(netbsd32_charp path); } 79 11 NOARGS { int|netbsd32||execve(netbsd32_charp path, \ 80 netbsd32_charpp argp, netbsd32_charpp envp); } 81 12 NOARGS { int|netbsd32||chdir(netbsd32_charp path); } 82 13 STD { int|linux32_sys||time(linux32_timep_t t); } 83 14 STD { int|linux32_sys||mknod(netbsd32_charp path, \ 84 linux_umode_t mode, unsigned dev); } 85 15 NOARGS { int|netbsd32||chmod(netbsd32_charp path, linux_umode_t mode); } 86 16 STD { int|linux32_sys||lchown16(netbsd32_charp path, \ 87 linux32_uid16_t uid, linux32_gid16_t gid); } 88 17 STD { int|linux32_sys||break(netbsd32_charp nsize); } 89 18 OBSOL ostat 90 19 NOARGS { netbsd32_long|compat_43_netbsd32||olseek(int fd, \ 91 netbsd32_long offset, int whence); } 92 20 NOARGS { pid_t|sys||getpid(void); } 93 21 UNIMPL mount 94 22 UNIMPL umount 95 23 NOARGS linux_setuid16 { int|netbsd32||setuid(uid_t uid); } 96 24 NOARGS linux_getuid16 { uid_t|sys||getuid(void); } 97 25 STD { int|linux32_sys||stime(linux32_timep_t t); } 98 26 STD { int|linux32_sys||ptrace(int request, int pid, \ 99 int addr, int data); } 100 27 STD { int|linux32_sys||alarm(unsigned int secs); } 101 28 OBSOL ofstat 102 29 NOARGS { int|linux_sys||pause(void); } 103 30 STD { int|linux32_sys||utime(netbsd32_charp path, \ 104 linux32_utimbufp_t times); } 105 31 OBSOL stty 106 32 OBSOL gtty 107 33 NOARGS { int|netbsd32||access(netbsd32_charp path, \ 108 int flags); } 109 34 STD { int|linux32_sys||nice(int incr); } 110 35 OBSOL ftime 111 36 NOARGS { int|sys||sync(void); } 112 37 STD { int|linux32_sys||kill(int pid, int signum); } 113 38 NOARGS { int|netbsd32||__posix_rename(netbsd32_charp from, \ 114 netbsd32_charp to); } 115 39 NOARGS { int|netbsd32||mkdir(netbsd32_charp path, linux_umode_t mode); } 116 40 NOARGS { int|netbsd32||rmdir(netbsd32_charp path); } 117 41 NOARGS { int|netbsd32||dup(int fd); } 118 42 STD { int|linux32_sys||pipe(netbsd32_intp fd); } 119 43 STD { int|linux32_sys||times(linux32_tmsp_t tms); } 120 44 OBSOL prof 121 45 STD { int|linux32_sys||brk(netbsd32_charp nsize); } 122 46 NOARGS linux_setgid16 { int|netbsd32||setgid(gid_t gid); } 123 47 NOARGS linux_getgid16 { gid_t|sys||getgid(void); } 124 48 STD { int|linux32_sys||signal(int signum, \ 125 linux32_handlerp_t handler); } 126 49 NOARGS linux_geteuid16 { uid_t|sys||geteuid(void); } 127 50 NOARGS linux_getegid16 { gid_t|sys||getegid(void); } 128 51 NOARGS { int|netbsd32||acct(netbsd32_charp path); } 129 52 OBSOL phys 130 53 OBSOL lock 131 54 STD { int|linux32_sys||ioctl(int fd, netbsd32_u_long com, \ 132 netbsd32_charp data); } 133 55 STD { int|linux32_sys||fcntl(int fd, \ 134 int cmd, netbsd32_voidp arg); } 135 56 OBSOL mpx 136 57 NOARGS { int|netbsd32||setpgid(int pid, int pgid); } 137 58 OBSOL ulimit 138 59 STD { int|linux32_sys||oldolduname( \ 139 linux32_oldold_utsnamep_t up); } 140 60 NOARGS { int|netbsd32||umask(int newmask); } 141 61 NOARGS { int|netbsd32||chroot(netbsd32_charp path); } 142 62 UNIMPL ustat 143 63 NOARGS { int|netbsd32||dup2(int from, int to); } 144 64 NOARGS { pid_t|sys||getppid(void); } 145 65 NOARGS { int|sys||getpgrp(void); } 146 66 NOARGS { int|sys||setsid(void); } 147 67 UNIMPL sigaction 148 68 STD { int|linux32_sys||siggetmask(void); } 149 69 STD { int|linux32_sys||sigsetmask(linux32_old_sigset_t mask); } 150 70 STD { int|linux32_sys||setreuid16(linux32_uid16_t ruid, \ 151 linux32_uid16_t euid); } 152 71 STD { int|linux32_sys||setregid16(linux32_gid16_t rgid, \ 153 linux32_gid16_t egid); } 154 72 UNIMPL sigsuspend 155 73 UNIMPL sigpending 156 74 NOARGS { int|compat_43_netbsd32||osethostname(netbsd32_charp hostname, \ 157 u_int len); } 158 75 STD { int|linux32_sys||setrlimit(u_int which, \ 159 netbsd32_orlimitp_t rlp); } 160 76 STD { int|linux32_sys||getrlimit(u_int which, \ 161 netbsd32_orlimitp_t rlp); } 162 77 NOARGS { int|compat_50_netbsd32||getrusage(int who, \ 163 netbsd32_rusage50p_t rusage); } 164 78 STD { int|linux32_sys||gettimeofday(netbsd32_timeval50p_t tp, \ 165 netbsd32_timezonep_t tzp); } 166 79 STD { int|linux32_sys||settimeofday(netbsd32_timeval50p_t tp, \ 167 netbsd32_timezonep_t tzp); } 168 80 STD { int|linux32_sys||getgroups16(int gidsetsize, \ 169 linux32_gid16p_t gidset); } 170 81 STD { int|linux32_sys||setgroups16(int gidsetsize, \ 171 linux32_gid16p_t gidset); } 172 82 STD { int|linux32_sys||oldselect(linux32_oldselectp_t lsp); } 173 83 NOARGS { int|netbsd32||symlink(netbsd32_charp path, \ 174 netbsd32_charp link); } 175 84 NOARGS { int|compat_43_netbsd32||lstat43(netbsd32_charp \ 176 path, netbsd32_stat43p_t ub); } 177 85 NOARGS { int|netbsd32||readlink(netbsd32_charp path, \ 178 netbsd32_charp buf, netbsd32_size_t count); } 179 86 UNIMPL uselib 180 87 STD { int|linux32_sys||swapon(netbsd32_charp name); } 181 88 STD { int|linux32_sys||reboot(int magic1, int magic2, int cmd, \ 182 netbsd32_voidp arg); } 183 89 STD { int|linux32_sys||readdir(int fd, netbsd32_voidp dent, \ 184 unsigned int count); } 185 90 STD { int|linux32_sys||old_mmap(linux32_oldmmapp lmp); } 186 91 NOARGS { int|netbsd32||munmap(netbsd32_voidp addr, \ 187 netbsd32_size_t len); } 188 92 NOARGS { int|compat_43_netbsd32||otruncate(netbsd32_charp path, \ 189 netbsd32_long length); } 190 93 NOARGS { int|compat_43_netbsd32||oftruncate(int fd, \ 191 netbsd32_long length); } 192 94 NOARGS { int|netbsd32||fchmod(int fd, linux_umode_t mode); } 193 95 STD { int|linux32_sys||fchown16(int fd, linux32_uid16_t uid, \ 194 linux32_gid16_t gid); } 195 96 STD { int|linux32_sys||getpriority(int which, int who); } 196 97 NOARGS { int|netbsd32||setpriority(int which, int who, int prio); } 197 98 NOARGS { int|netbsd32||profil(netbsd32_voidp samples, \ 198 netbsd32_size_t size, netbsd32_u_long offset, \ 199 u_int scale); } 200 99 STD { int|linux32_sys||statfs(netbsd32_charp path, \ 201 linux32_statfsp sp); } 202 100 STD { int|linux32_sys||fstatfs(int fd, linux32_statfsp sp); } 203 101 NOARGS { int|linux_sys||ioperm(unsigned int lo, \ 204 unsigned int hi, int val); } 205 102 STD { int|linux32_sys||socketcall(int what, netbsd32_voidp args); } 206 103 UNIMPL syslog 207 104 NOARGS { int|compat_50_netbsd32||setitimer(int which, \ 208 netbsd32_itimerval50p_t itv, netbsd32_itimerval50p_t oitv); } 209 105 NOARGS { int|compat_50_netbsd32||getitimer(int which, \ 210 netbsd32_itimerval50p_t itv); } 211 106 STD { int|linux32_sys||stat(netbsd32_charp path, \ 212 linux32_statp sp); } 213 107 STD { int|linux32_sys||lstat(netbsd32_charp path, \ 214 linux32_statp sp); } 215 108 STD { int|linux32_sys||fstat(int fd, \ 216 linux32_statp sp); } 217 109 STD { int|linux32_sys||olduname(linux32_oldutsnamep_t up); } 218 110 NOARGS { int|linux_sys||iopl(int level); } 219 111 UNIMPL vhangup 220 112 UNIMPL idle 221 113 UNIMPL vm86old 222 114 STD { int|linux32_sys||wait4(int pid, netbsd32_intp status, \ 223 int options, netbsd32_rusage50p_t rusage); } 224 115 STD { int|linux32_sys||swapoff(netbsd32_charp path); } 225 116 STD { int|linux32_sys||sysinfo(linux32_sysinfop_t arg); } 226 117 STD { int|linux32_sys||ipc(int what, int a1, int a2, int a3, \ 227 netbsd32_voidp ptr); } 228 118 NOARGS { int|netbsd32||fsync(int fd); } 229 119 STD { int|linux32_sys||sigreturn(linux32_sigcontextp_t scp); } 230 120 STD { int|linux32_sys||clone(int flags, netbsd32_voidp stack, \ 231 netbsd32_voidp parent_tidptr, netbsd32_voidp tls, \ 232 netbsd32_voidp child_tidptr); } 233 121 STD { int|linux32_sys||setdomainname(netbsd32_charp domainname, \ 234 int len); } 235 122 STD { int|linux32_sys||uname(linux32_utsnamep up); } 236 123 STD { int|linux32_sys||modify_ldt(int func, netbsd32_charp ptr, \ 237 netbsd32_size_t bytecount); } 238 124 UNIMPL adjtimex 239 125 STD { int|linux32_sys||mprotect(netbsd32_voidp start, \ 240 netbsd32_size_t len, int prot); } 241 126 UNIMPL sigprocmask 242 127 UNIMPL create_module 243 128 UNIMPL init_module 244 129 UNIMPL delete_module 245 130 UNIMPL get_kernel_syms 246 131 UNIMPL quotactl 247 132 NOARGS { int|netbsd32||getpgid(pid_t pid); } 248 133 NOARGS { int|netbsd32||fchdir(int fd); } 249 134 UNIMPL bdflush 250 135 UNIMPL sysfs 251 136 STD { int|linux32_sys||personality(netbsd32_u_long per); } 252 137 UNIMPL afs_syscall 253 138 NOARGS setfsuid16 { int|linux32_sys||setfsuid(uid_t uid); } 254 139 NOARGS setfsgid16 { int|linux32_sys||setfsgid(gid_t gid); } 255 140 STD { int|linux32_sys||llseek(int fd, u_int32_t ohigh, \ 256 u_int32_t olow, netbsd32_voidp res, int whence); } 257 141 STD { int|linux32_sys||getdents(int fd, \ 258 linux32_direntp_t dent, unsigned int count); } 259 142 STD { int|linux32_sys||select(int nfds, \ 260 netbsd32_fd_setp_t readfds, \ 261 netbsd32_fd_setp_t writefds, \ 262 netbsd32_fd_setp_t exceptfds, \ 263 netbsd32_timeval50p_t timeout); } 264 143 NOARGS { int|netbsd32||flock(int fd, int how); } 265 144 NOARGS { int|netbsd32|13|msync(netbsd32_voidp addr, \ 266 netbsd32_size_t len, int flags); } 267 145 NOARGS { int|netbsd32||readv(int fd, \ 268 netbsd32_iovecp_t iovp, int iovcnt); } 269 146 NOARGS { netbsd32_ssize_t|netbsd32||writev(int fd, \ 270 netbsd32_iovecp_t iovp, int iovcnt); } 271 147 NOARGS { pid_t|netbsd32||getsid(pid_t pid); } 272 148 STD { int|linux32_sys||fdatasync(int fd); } 273 149 STD { int|linux32_sys||__sysctl(linux32___sysctlp_t lsp); } 274 150 NOARGS { int|netbsd32||mlock(netbsd32_voidp addr, \ 275 netbsd32_size_t len); } 276 151 NOARGS { int|netbsd32||munlock(netbsd32_voidp addr, \ 277 netbsd32_size_t len); } 278 152 NOARGS { int|netbsd32||mlockall(int flags); } 279 153 NOARGS { int|sys||munlockall(void); } 280 154 STD { int|linux32_sys||sched_setparam(pid_t pid, \ 281 const linux32_sched_paramp_t sp); } 282 155 STD { int|linux32_sys||sched_getparam(pid_t pid, \ 283 linux32_sched_paramp_t sp); } 284 156 STD { int|linux32_sys||sched_setscheduler(pid_t pid, \ 285 int policy, linux32_sched_paramp_t sp); } 286 157 STD { int|linux32_sys||sched_getscheduler(pid_t pid); } 287 158 NOARGS { int|linux_sys||sched_yield(void); } 288 159 STD { int|linux32_sys||sched_get_priority_max(int policy); } 289 160 STD { int|linux32_sys||sched_get_priority_min(int policy); } 290 161 UNIMPL sched_rr_get_interval 291 162 STD { int|linux32_sys||nanosleep(linux32_timespecp_t rqtp, \ 292 linux32_timespecp_t rmtp); } 293 163 STD { int|linux32_sys||mremap(netbsd32_voidp old_address, \ 294 netbsd32_size_t old_size, netbsd32_size_t new_size, \ 295 netbsd32_u_long flags); } 296 164 STD { int|linux32_sys||setresuid16(linux32_uid16_t ruid, \ 297 linux32_uid16_t euid, linux32_uid16_t suid); } 298 165 STD { int|linux32_sys||getresuid16(linux32_uid16p_t ruid, \ 299 linux32_uid16p_t euid, linux32_uid16p_t suid); } 300 166 UNIMPL vm86 301 167 UNIMPL query_module 302 168 NOARGS { int|netbsd32||poll(netbsd32_pollfdp_t fds, u_int nfds, \ 303 int timeout); } 304 169 UNIMPL nfsservctl 305 170 STD { int|linux32_sys||setresgid16(linux32_gid16_t rgid, \ 306 linux32_gid16_t egid, linux32_gid16_t sgid); } 307 171 STD { int|linux32_sys||getresgid16(linux32_gid16p_t rgid, \ 308 linux32_gid16p_t egid, linux32_gid16p_t sgid); } 309 172 UNIMPL prctl 310 173 STD { int|linux32_sys||rt_sigreturn(linux32_ucontextp_t ucp); } 311 174 STD { int|linux32_sys||rt_sigaction(int signum, \ 312 linux32_sigactionp_t nsa, \ 313 linux32_sigactionp_t osa, \ 314 netbsd32_size_t sigsetsize); } 315 175 STD { int|linux32_sys||rt_sigprocmask(int how, \ 316 linux32_sigsetp_t set, \ 317 linux32_sigsetp_t oset, \ 318 netbsd32_size_t sigsetsize); } 319 176 STD { int|linux32_sys||rt_sigpending(linux32_sigsetp_t set, \ 320 netbsd32_size_t sigsetsize); } 321 177 STD { int|linux32_sys||rt_sigtimedwait( \ 322 const linux32_sigsetp_t set, \ 323 linux32_siginfop_t info, \ 324 const linux32_timespecp_t timeout); } 325 178 STD { int|linux32_sys||rt_queueinfo(int pid, int sig, \ 326 linux32_siginfop_t uinfo); } 327 179 STD { int|linux32_sys||rt_sigsuspend(linux32_sigsetp_t unewset, \ 328 netbsd32_size_t sigsetsize); } 329 180 STD { netbsd32_ssize_t|linux32_sys||pread(int fd, \ 330 netbsd32_voidp buf, netbsd32_size_t nbyte, \ 331 netbsd32_off_t offset); } 332 181 STD { netbsd32_ssize_t|linux32_sys||pwrite(int fd, \ 333 netbsd32_voidp buf, netbsd32_size_t nbyte, \ 334 netbsd32_off_t offset); } 335 182 STD { int|linux32_sys||chown16(netbsd32_charp path, \ 336 linux32_uid16_t uid, linux32_gid16_t gid); } 337 183 NOARGS { int|netbsd32||__getcwd(netbsd32_charp bufp, \ 338 netbsd32_size_t length); } 339 184 UNIMPL capget 340 185 UNIMPL capset 341 186 UNIMPL sigaltstack 342 187 UNIMPL sendfile 343 188 UNIMPL getpmsg 344 189 UNIMPL putpmsg 345 190 NOARGS { int|sys|14|vfork(void); } 346 191 STD { int|linux32_sys||ugetrlimit(int which, \ 347 netbsd32_orlimitp_t rlp); } 348 192 STD { linux32_off_t|linux32_sys||mmap2(netbsd32_u_long addr, \ 349 netbsd32_size_t len, int prot, int flags, int fd, \ 350 linux32_off_t offset); } 351 193 STD { int|linux32_sys||truncate64(netbsd32_charp path, \ 352 uint32_t lenlo, uint32_t lenhi); } 353 194 STD { int|linux32_sys||ftruncate64(unsigned int fd, \ 354 uint32_t lenlo, uint32_t lenhi); } 355 195 STD { int|linux32_sys||stat64(netbsd32_charp path, \ 356 linux32_stat64p sp); } 357 196 STD { int|linux32_sys||lstat64(netbsd32_charp path, \ 358 linux32_stat64p sp); } 359 197 STD { int|linux32_sys||fstat64(int fd, \ 360 linux32_stat64p sp); } 361 198 NOARGS { int|netbsd32||__posix_lchown(netbsd32_charp path, \ 362 uid_t uid, gid_t gid); } 363 199 NOARGS { uid_t|sys||getuid(void); } 364 200 NOARGS { gid_t|sys||getgid(void); } 365 201 NOARGS { uid_t|sys||geteuid(void); } 366 202 NOARGS { gid_t|sys||getegid(void); } 367 203 NOARGS { int|netbsd32||setreuid(uid_t ruid, uid_t euid); } 368 204 NOARGS { int|netbsd32||setregid(gid_t rgid, gid_t egid); } 369 205 NOARGS { int|netbsd32||getgroups(int gidsetsize, \ 370 netbsd32_gid_tp gidset); } 371 206 NOARGS { int|netbsd32||setgroups(int gidsetsize, \ 372 netbsd32_gid_tp gidset); } 373 207 NOARGS { int|netbsd32||__posix_fchown(int fd, uid_t uid, gid_t gid); } 374 208 STD { int|linux32_sys||setresuid(uid_t ruid, uid_t euid, \ 375 uid_t suid); } 376 209 STD { int|linux32_sys||getresuid(linux32_uidp_t ruid, \ 377 linux32_uidp_t euid, linux32_uidp_t suid); } 378 210 STD { int|linux32_sys||setresgid(gid_t rgid, gid_t egid, \ 379 gid_t sgid); } 380 211 STD { int|linux32_sys||getresgid(linux32_gidp_t rgid, \ 381 linux32_gidp_t egid, linux32_gidp_t sgid); } 382 212 NOARGS { int|netbsd32||__posix_chown(netbsd32_charp path, \ 383 uid_t uid, gid_t gid); } 384 213 NOARGS { int|netbsd32||setuid(uid_t uid); } 385 214 NOARGS { int|netbsd32||setgid(gid_t gid); } 386 215 STD { int|linux32_sys||setfsuid(uid_t uid); } 387 216 STD { int|linux32_sys||setfsgid(gid_t gid); } 388 217 UNIMPL pivot_root 389 218 NOARGS { int|netbsd32||mincore(netbsd32_voidp addr, \ 390 netbsd32_size_t len, netbsd32_charp vec); } 391 219 NOARGS { int|netbsd32||madvise(netbsd32_voidp addr, \ 392 netbsd32_size_t len, int behav); } 393 220 STD { int|linux32_sys||getdents64(int fd, \ 394 linux32_dirent64p_t dent, unsigned int count); } 395 ; fcntl64() - Exactly the same as fcntl() 396 #define linux32_sys_fcntl64 linux32_sys_fcntl 397 #define linux32_sys_fcntl64_args linux32_sys_fcntl_args 398 221 NOARGS { int|linux32_sys||fcntl64(int fd, \ 399 int cmd, netbsd32_voidp arg); } 400 222 UNIMPL /* unused */ 401 223 UNIMPL /* unused */ 402 224 NOARGS { pid_t|linux_sys||gettid(void); } 403 225 UNIMPL readahead 404 226 NOARGS { int|netbsd32||setxattr(netbsd32_charp path, \ 405 netbsd32_charp name, netbsd32_voidp value, \ 406 netbsd32_size_t size, int flags); } 407 227 NOARGS { int|netbsd32||lsetxattr(netbsd32_charp path, \ 408 netbsd32_charp name, netbsd32_voidp value, \ 409 netbsd32_size_t size, int flags); } 410 228 NOARGS { int|netbsd32||fsetxattr(int fd, netbsd32_charp name, \ 411 netbsd32_voidp value, netbsd32_size_t size, int flags); } 412 229 NOARGS { ssize_t|netbsd32||getxattr(netbsd32_charp path, \ 413 netbsd32_charp name, netbsd32_voidp value, \ 414 netbsd32_size_t size); } 415 230 NOARGS { ssize_t|netbsd32||lgetxattr(netbsd32_charp path, \ 416 netbsd32_charp name, netbsd32_voidp value, \ 417 netbsd32_size_t size); } 418 231 NOARGS { ssize_t|netbsd32||fgetxattr(int fd, netbsd32_charp name, \ 419 netbsd32_voidp value, netbsd32_size_t size); } 420 232 NOARGS { ssize_t|netbsd32||listxattr(netbsd32_charp path, \ 421 netbsd32_charp list, netbsd32_size_t size); } 422 233 NOARGS { ssize_t|netbsd32||llistxattr(netbsd32_charp path, \ 423 netbsd32_charp list, netbsd32_size_t size); } 424 234 NOARGS { ssize_t|netbsd32||flistxattr(int fd, netbsd32_charp list, \ 425 netbsd32_size_t size); } 426 235 NOARGS { int|netbsd32||removexattr(netbsd32_charp path, \ 427 netbsd32_charp name); } 428 236 NOARGS { int|netbsd32||lremovexattr(netbsd32_charp path, \ 429 netbsd32_charp name); } 430 237 NOARGS { int|netbsd32||fremovexattr(int fd, netbsd32_charp name); } 431 238 STD { int|linux32_sys||tkill(int tid, int sig); } 432 239 UNIMPL sendfile64 433 240 STD { int|linux32_sys||futex(linux32_intp_t uaddr, int op, int val, \ 434 linux32_timespecp_t timeout, linux32_intp_t uaddr2, \ 435 int val3); } 436 241 STD { int|linux32_sys||sched_setaffinity(pid_t pid, \ 437 unsigned int len, linux32_ulongp_t mask); } 438 242 STD { int|linux32_sys||sched_getaffinity(pid_t pid, \ 439 unsigned int len, linux32_ulongp_t mask); } 440 243 STD { int|linux32_sys||set_thread_area(linux32_user_descp_t desc); } 441 244 STD { int|linux32_sys||get_thread_area(linux32_user_descp_t desc); } 442 245 UNIMPL io_setup 443 246 UNIMPL io_destroy 444 247 UNIMPL io_getevents 445 248 UNIMPL io_submit 446 249 UNIMPL io_cancel 447 250 STD { int|linux32_sys||fadvise64(int fd, uint32_t offlo, \ 448 uint32_t offhi, linux32_size_t len, int advice); } 449 251 UNIMPL /* unused */ 450 252 STD { int|linux32_sys||exit_group(int error_code); } 451 253 UNIMPL lookup_dcookie 452 254 UNIMPL epoll_create 453 255 UNIMPL epoll_ctl 454 256 UNIMPL epoll_wait 455 257 UNIMPL remap_file_pages 456 258 STD { int|linux32_sys||set_tid_address(linux32_intp_t tid); } 457 259 STD { int|linux32_sys||timer_create(clockid_t clockid, \ 458 struct linux32_sigevent *evp, timer_t *timerid); } 459 260 STD { int|linux32_sys||timer_settime(timer_t timerid, \ 460 int flags, const struct linux32_itimerspec *tim, \ 461 struct linux32_itimerspec *otim); } 462 261 STD { int|linux32_sys||timer_gettime(timer_t timerid, \ 463 struct linux32_itimerspec *tim); } 464 262 NOARGS { int|sys||timer_getoverrun(timer_t timerid); } 465 263 NOARGS { int|sys||timer_delete(timer_t timerid); } 466 264 STD { int|linux32_sys||clock_settime(clockid_t which, \ 467 linux32_timespecp_t tp); } 468 265 STD { int|linux32_sys||clock_gettime(clockid_t which, \ 469 linux32_timespecp_t tp); } 470 266 STD { int|linux32_sys||clock_getres(clockid_t which, \ 471 linux32_timespecp_t tp); } 472 267 STD { int|linux32_sys||clock_nanosleep(clockid_t which, int flags, \ 473 linux32_timespecp_t rqtp, linux32_timespecp_t rmtp); } 474 268 STD { int|linux32_sys||statfs64(netbsd32_charp path, \ 475 netbsd32_size_t sz, linux32_statfs64p sp); } 476 269 STD { int|linux32_sys||fstatfs64(int fd, \ 477 netbsd32_size_t sz, linux32_statfs64p sp); } 478 270 STD { int|linux32_sys||tgkill(int tgid, int tid, int sig); } 479 271 NOARGS { int|compat_50_netbsd32||utimes(netbsd32_charp path, \ 480 netbsd32_timeval50p_t tptr); } 481 272 STD { int|linux32_sys||fadvise64_64(int fd, uint32_t offlo, \ 482 uint32_t offhi, uint32_t lenlo, uint32_t lenhi, int advice); } 483 273 UNIMPL vserver 484 274 UNIMPL mbind 485 275 UNIMPL get_mempolicy 486 276 UNIMPL set_mempolicy 487 277 UNIMPL mq_open 488 278 UNIMPL mq_unlink 489 279 UNIMPL mq_timedsend 490 280 UNIMPL mq_timedreceive 491 281 UNIMPL mq_notify 492 282 UNIMPL mq_getsetattr 493 283 UNIMPL kexec_load 494 284 UNIMPL waitid 495 285 UNIMPL /* unused */ 496 286 UNIMPL add_key 497 287 UNIMPL request_key 498 288 UNIMPL keyctl 499 289 UNIMPL ioprio_set 500 290 UNIMPL ioprio_get 501 291 UNIMPL inotify_init 502 292 UNIMPL inotify_add_watch 503 293 UNIMPL inotify_rm_watch 504 294 UNIMPL migrate_pages 505 295 STD { int|linux32_sys||openat(int fd, netbsd32_charp path, \ 506 int flags, ... linux_umode_t mode); } 507 296 NOARGS { int|netbsd32||mkdirat(int fd, netbsd32_charp path, \ 508 linux_umode_t mode); } 509 297 STD { int|linux32_sys||mknodat(int fd, netbsd32_charp path, \ 510 linux_umode_t mode, unsigned dev); } 511 298 STD { int|linux32_sys||fchownat(int fd, netbsd32_charp path, \ 512 uid_t owner, gid_t group, int flag); } 513 299 UNIMPL futimesat 514 300 STD { int|linux32_sys||fstatat64(int fd, netbsd32_charp path, \ 515 linux32_stat64p sp, int flag); } 516 301 STD { int|linux32_sys||unlinkat(int fd, netbsd32_charp path, \ 517 int flag); } 518 302 NOARGS { int|netbsd32||renameat(int fromfd, netbsd32_charp from, \ 519 int tofd, netbsd32_charp to); } 520 303 STD { int|linux32_sys||linkat(int fd1, netbsd32_charp name1, \ 521 int fd2, netbsd32_charp name2, int flags); } 522 304 NOARGS { int|netbsd32||symlinkat(netbsd32_charp path1, int fd, \ 523 netbsd32_charp path2); } 524 305 NOARGS { int|netbsd32||readlinkat(int fd, netbsd32_charp path, \ 525 netbsd32_charp buf, linux32_size_t bufsize); } 526 306 STD { int|linux32_sys||fchmodat(int fd, netbsd32_charp path, \ 527 linux_umode_t mode); } 528 307 STD { int|linux32_sys||faccessat(int fd, netbsd32_charp path, \ 529 int amode); } 530 308 STD { int|linux32_sys||pselect6(int nfds, \ 531 netbsd32_fd_setp_t readfds, \ 532 netbsd32_fd_setp_t writefds, \ 533 netbsd32_fd_setp_t exceptfds, \ 534 linux32_timespecp_t timeout, \ 535 linux32_sized_sigsetp_t ss); } 536 309 STD { int|linux32_sys||ppoll(netbsd32_pollfdp_t fds, u_int nfds, \ 537 linux32_timespecp_t timeout, linux32_sigsetp_t sigset); } 538 310 UNIMPL unshare 539 ; 540 ; The netbsd32 native robust list calls have different 541 ; argument names / types, but they are ABI-compatible 542 ; with linux32. 543 ; 544 311 NOARGS { int|netbsd32||__futex_set_robust_list( \ 545 netbsd32_voidp head, netbsd32_size_t len); } 546 312 NOARGS { int|netbsd32||__futex_get_robust_list(lwpid_t lwpid, \ 547 netbsd32_voidp headp, netbsd32_size_tp lenp); } 548 313 UNIMPL splice 549 314 UNIMPL sync_file_range 550 315 UNIMPL tee 551 316 UNIMPL vmsplice 552 317 UNIMPL move_pages 553 318 UNIMPL getcpu 554 319 UNIMPL epoll_wait 555 320 STD { int|linux32_sys||utimensat(int fd, netbsd32_charp path, \ 556 linux32_timespecp_t times, int flag); } 557 321 UNIMPL signalfd 558 322 NOARGS { int|linux_sys||timerfd_create(clockid_t clock_id, \ 559 int flags); } 560 323 STD { int|linux32_sys||eventfd(unsigned int initval); } 561 324 STD { int|linux32_sys||fallocate(int fd, int mode, \ 562 off_t offset, off_t len); } 563 325 STD { int|linux32_sys||timerfd_settime(int fd, int flags, \ 564 const struct linux32_itimerspec *tim, \ 565 struct linux32_itimerspec *otim); } 566 326 STD { int|linux32_sys||timerfd_gettime(int fd, \ 567 struct linux32_itimerspec *tim); } 568 327 UNIMPL signalfd4 569 328 STD { int|linux32_sys||eventfd2(unsigned int initval, \ 570 int flags); } 571 329 UNIMPL epoll_create1 572 330 STD { int|linux32_sys||dup3(int from, int to, int flags); } 573 331 STD { int|linux32_sys||pipe2(netbsd32_intp fd, int flags); } 574 332 UNIMPL inotify_init1 575 333 STD { int|linux32_sys||preadv(int fd, \ 576 const netbsd32_iovecp_t iovp, int iovcnt, \ 577 netbsd32_u_long off_lo, netbsd32_u_long off_hi); } 578 334 STD { int|linux32_sys||pwritev(int fd, \ 579 const netbsd32_iovecp_t iovp, int iovcnt, \ 580 netbsd32_u_long off_lo, netbsd32_u_long off_hi); } 581 335 UNIMPL rt_tgsigqueueinfo 582 336 UNIMPL perf_counter_open 583 337 UNIMPL recvmmsg 584 338 UNIMPL fanotify_init 585 339 UNIMPL fanotify_mark 586 340 STD { int|linux32_sys||prlimit64(pid_t pid, int which, \ 587 netbsd32_rlimitp_t new_rlp, netbsd32_rlimitp_t old_rlp); } 588 341 UNIMPL name_to_handle_at 589 342 UNIMPL open_by_handle_at 590 343 UNIMPL clock_adjtime 591 344 UNIMPL syncfs 592 345 UNIMPL sendmmsg 593 346 UNIMPL setns 594 347 UNIMPL process_vm_readv 595 348 UNIMPL process_vm_writev 596 349 UNIMPL kcmp 597 350 UNIMPL finit_module 598