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 630 NOARGS { int|linux_sys||nosys(void); } syscall 641 STD { int|linux32_sys||exit(int rval); } 652 NOARGS { int|sys||fork(void); } 663 NOARGS { netbsd32_ssize_t|netbsd32||read(int fd, \ 67 netbsd32_voidp buf, netbsd32_size_t nbyte); } 684 NOARGS { netbsd32_ssize_t|netbsd32||write(int fd, \ 69 netbsd32_voidp buf, netbsd32_size_t nbyte); } 705 STD { int|linux32_sys||open(netbsd32_charp path, int flags, \ 71 linux_umode_t mode); } 726 NOARGS { int|netbsd32||close(int fd); } 737 STD { int|linux32_sys||waitpid(int pid, netbsd32_intp status, \ 74 int options);} 758 STD { int|linux32_sys||creat(netbsd32_charp path, linux_umode_t mode); } 769 NOARGS { int|netbsd32||link(netbsd32_charp path, \ 77 netbsd32_charp link); } 7810 STD { int|linux32_sys||unlink(netbsd32_charp path); } 7911 NOARGS { int|netbsd32||execve(netbsd32_charp path, \ 80 netbsd32_charpp argp, netbsd32_charpp envp); } 8112 NOARGS { int|netbsd32||chdir(netbsd32_charp path); } 8213 STD { int|linux32_sys||time(linux32_timep_t t); } 8314 STD { int|linux32_sys||mknod(netbsd32_charp path, \ 84 linux_umode_t mode, unsigned dev); } 8515 NOARGS { int|netbsd32||chmod(netbsd32_charp path, linux_umode_t mode); } 8616 STD { int|linux32_sys||lchown16(netbsd32_charp path, \ 87 linux32_uid16_t uid, linux32_gid16_t gid); } 8817 STD { int|linux32_sys||break(netbsd32_charp nsize); } 8918 OBSOL ostat 9019 NOARGS { netbsd32_long|compat_43_netbsd32||olseek(int fd, \ 91 netbsd32_long offset, int whence); } 9220 NOARGS { pid_t|sys||getpid(void); } 9321 UNIMPL mount 9422 UNIMPL umount 9523 NOARGS linux_setuid16 { int|netbsd32||setuid(uid_t uid); } 9624 NOARGS linux_getuid16 { uid_t|sys||getuid(void); } 9725 STD { int|linux32_sys||stime(linux32_timep_t t); } 9826 STD { int|linux32_sys||ptrace(int request, int pid, \ 99 int addr, int data); } 10027 STD { int|linux32_sys||alarm(unsigned int secs); } 10128 OBSOL ofstat 10229 NOARGS { int|linux_sys||pause(void); } 10330 STD { int|linux32_sys||utime(netbsd32_charp path, \ 104 linux32_utimbufp_t times); } 10531 OBSOL stty 10632 OBSOL gtty 10733 NOARGS { int|netbsd32||access(netbsd32_charp path, \ 108 int flags); } 10934 STD { int|linux32_sys||nice(int incr); } 11035 OBSOL ftime 11136 NOARGS { int|sys||sync(void); } 11237 STD { int|linux32_sys||kill(int pid, int signum); } 11338 NOARGS { int|netbsd32||__posix_rename(netbsd32_charp from, \ 114 netbsd32_charp to); } 11539 NOARGS { int|netbsd32||mkdir(netbsd32_charp path, linux_umode_t mode); } 11640 NOARGS { int|netbsd32||rmdir(netbsd32_charp path); } 11741 NOARGS { int|netbsd32||dup(int fd); } 11842 STD { int|linux32_sys||pipe(netbsd32_intp fd); } 11943 STD { int|linux32_sys||times(linux32_tmsp_t tms); } 12044 OBSOL prof 12145 STD { int|linux32_sys||brk(netbsd32_charp nsize); } 12246 NOARGS linux_setgid16 { int|netbsd32||setgid(gid_t gid); } 12347 NOARGS linux_getgid16 { gid_t|sys||getgid(void); } 12448 STD { int|linux32_sys||signal(int signum, \ 125 linux32_handlerp_t handler); } 12649 NOARGS linux_geteuid16 { uid_t|sys||geteuid(void); } 12750 NOARGS linux_getegid16 { gid_t|sys||getegid(void); } 12851 NOARGS { int|netbsd32||acct(netbsd32_charp path); } 12952 OBSOL phys 13053 OBSOL lock 13154 STD { int|linux32_sys||ioctl(int fd, netbsd32_u_long com, \ 132 netbsd32_charp data); } 13355 STD { int|linux32_sys||fcntl(int fd, \ 134 int cmd, netbsd32_voidp arg); } 13556 OBSOL mpx 13657 NOARGS { int|netbsd32||setpgid(int pid, int pgid); } 13758 OBSOL ulimit 13859 STD { int|linux32_sys||oldolduname( \ 139 linux32_oldold_utsnamep_t up); } 14060 NOARGS { int|netbsd32||umask(int newmask); } 14161 NOARGS { int|netbsd32||chroot(netbsd32_charp path); } 14262 UNIMPL ustat 14363 NOARGS { int|netbsd32||dup2(int from, int to); } 14464 NOARGS { pid_t|sys||getppid(void); } 14565 NOARGS { int|sys||getpgrp(void); } 14666 NOARGS { int|sys||setsid(void); } 14767 UNIMPL sigaction 14868 STD { int|linux32_sys||siggetmask(void); } 14969 STD { int|linux32_sys||sigsetmask(linux32_old_sigset_t mask); } 15070 STD { int|linux32_sys||setreuid16(linux32_uid16_t ruid, \ 151 linux32_uid16_t euid); } 15271 STD { int|linux32_sys||setregid16(linux32_gid16_t rgid, \ 153 linux32_gid16_t egid); } 15472 UNIMPL sigsuspend 15573 UNIMPL sigpending 15674 NOARGS { int|compat_43_netbsd32||osethostname(netbsd32_charp hostname, \ 157 u_int len); } 15875 STD { int|linux32_sys||setrlimit(u_int which, \ 159 netbsd32_orlimitp_t rlp); } 16076 STD { int|linux32_sys||getrlimit(u_int which, \ 161 netbsd32_orlimitp_t rlp); } 16277 NOARGS { int|compat_50_netbsd32||getrusage(int who, \ 163 netbsd32_rusage50p_t rusage); } 16478 STD { int|linux32_sys||gettimeofday(netbsd32_timeval50p_t tp, \ 165 netbsd32_timezonep_t tzp); } 16679 STD { int|linux32_sys||settimeofday(netbsd32_timeval50p_t tp, \ 167 netbsd32_timezonep_t tzp); } 16880 STD { int|linux32_sys||getgroups16(int gidsetsize, \ 169 linux32_gid16p_t gidset); } 17081 STD { int|linux32_sys||setgroups16(int gidsetsize, \ 171 linux32_gid16p_t gidset); } 17282 STD { int|linux32_sys||oldselect(linux32_oldselectp_t lsp); } 17383 NOARGS { int|netbsd32||symlink(netbsd32_charp path, \ 174 netbsd32_charp link); } 17584 NOARGS { int|compat_43_netbsd32||lstat43(netbsd32_charp \ 176 path, netbsd32_stat43p_t ub); } 17785 NOARGS { int|netbsd32||readlink(netbsd32_charp path, \ 178 netbsd32_charp buf, netbsd32_size_t count); } 17986 UNIMPL uselib 18087 STD { int|linux32_sys||swapon(netbsd32_charp name); } 18188 STD { int|linux32_sys||reboot(int magic1, int magic2, int cmd, \ 182 netbsd32_voidp arg); } 18389 STD { int|linux32_sys||readdir(int fd, netbsd32_voidp dent, \ 184 unsigned int count); } 18590 STD { int|linux32_sys||old_mmap(linux32_oldmmapp lmp); } 18691 NOARGS { int|netbsd32||munmap(netbsd32_voidp addr, \ 187 netbsd32_size_t len); } 18892 NOARGS { int|compat_43_netbsd32||otruncate(netbsd32_charp path, \ 189 netbsd32_long length); } 19093 NOARGS { int|compat_43_netbsd32||oftruncate(int fd, \ 191 netbsd32_long length); } 19294 NOARGS { int|netbsd32||fchmod(int fd, linux_umode_t mode); } 19395 STD { int|linux32_sys||fchown16(int fd, linux32_uid16_t uid, \ 194 linux32_gid16_t gid); } 19596 STD { int|linux32_sys||getpriority(int which, int who); } 19697 NOARGS { int|netbsd32||setpriority(int which, int who, int prio); } 19798 NOARGS { int|netbsd32||profil(netbsd32_voidp samples, \ 198 netbsd32_size_t size, netbsd32_u_long offset, \ 199 u_int scale); } 20099 STD { int|linux32_sys||statfs(netbsd32_charp path, \ 201 linux32_statfsp sp); } 202100 STD { int|linux32_sys||fstatfs(int fd, linux32_statfsp sp); } 203101 NOARGS { int|linux_sys||ioperm(unsigned int lo, \ 204 unsigned int hi, int val); } 205102 STD { int|linux32_sys||socketcall(int what, netbsd32_voidp args); } 206103 UNIMPL syslog 207104 NOARGS { int|compat_50_netbsd32||setitimer(int which, \ 208 netbsd32_itimerval50p_t itv, netbsd32_itimerval50p_t oitv); } 209105 NOARGS { int|compat_50_netbsd32||getitimer(int which, \ 210 netbsd32_itimerval50p_t itv); } 211106 STD { int|linux32_sys||stat(netbsd32_charp path, \ 212 linux32_statp sp); } 213107 STD { int|linux32_sys||lstat(netbsd32_charp path, \ 214 linux32_statp sp); } 215108 STD { int|linux32_sys||fstat(int fd, \ 216 linux32_statp sp); } 217109 STD { int|linux32_sys||olduname(linux32_oldutsnamep_t up); } 218110 NOARGS { int|linux_sys||iopl(int level); } 219111 UNIMPL vhangup 220112 UNIMPL idle 221113 UNIMPL vm86old 222114 STD { int|linux32_sys||wait4(int pid, netbsd32_intp status, \ 223 int options, netbsd32_rusage50p_t rusage); } 224115 STD { int|linux32_sys||swapoff(netbsd32_charp path); } 225116 STD { int|linux32_sys||sysinfo(linux32_sysinfop_t arg); } 226117 STD { int|linux32_sys||ipc(int what, int a1, int a2, int a3, \ 227 netbsd32_voidp ptr); } 228118 NOARGS { int|netbsd32||fsync(int fd); } 229119 STD { int|linux32_sys||sigreturn(linux32_sigcontextp_t scp); } 230120 STD { int|linux32_sys||clone(int flags, netbsd32_voidp stack, \ 231 netbsd32_voidp parent_tidptr, netbsd32_voidp tls, \ 232 netbsd32_voidp child_tidptr); } 233121 STD { int|linux32_sys||setdomainname(netbsd32_charp domainname, \ 234 int len); } 235122 STD { int|linux32_sys||uname(linux32_utsnamep up); } 236123 STD { int|linux32_sys||modify_ldt(int func, netbsd32_charp ptr, \ 237 netbsd32_size_t bytecount); } 238124 UNIMPL adjtimex 239125 STD { int|linux32_sys||mprotect(netbsd32_voidp start, \ 240 netbsd32_size_t len, int prot); } 241126 UNIMPL sigprocmask 242127 UNIMPL create_module 243128 UNIMPL init_module 244129 UNIMPL delete_module 245130 UNIMPL get_kernel_syms 246131 UNIMPL quotactl 247132 NOARGS { int|netbsd32||getpgid(pid_t pid); } 248133 NOARGS { int|netbsd32||fchdir(int fd); } 249134 UNIMPL bdflush 250135 UNIMPL sysfs 251136 STD { int|linux32_sys||personality(netbsd32_u_long per); } 252137 UNIMPL afs_syscall 253138 NOARGS setfsuid16 { int|linux32_sys||setfsuid(uid_t uid); } 254139 NOARGS setfsgid16 { int|linux32_sys||setfsgid(gid_t gid); } 255140 STD { int|linux32_sys||llseek(int fd, u_int32_t ohigh, \ 256 u_int32_t olow, netbsd32_voidp res, int whence); } 257141 STD { int|linux32_sys||getdents(int fd, \ 258 linux32_direntp_t dent, unsigned int count); } 259142 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); } 264143 NOARGS { int|netbsd32||flock(int fd, int how); } 265144 NOARGS { int|netbsd32|13|msync(netbsd32_voidp addr, \ 266 netbsd32_size_t len, int flags); } 267145 NOARGS { int|netbsd32||readv(int fd, \ 268 netbsd32_iovecp_t iovp, int iovcnt); } 269146 NOARGS { netbsd32_ssize_t|netbsd32||writev(int fd, \ 270 netbsd32_iovecp_t iovp, int iovcnt); } 271147 NOARGS { pid_t|netbsd32||getsid(pid_t pid); } 272148 STD { int|linux32_sys||fdatasync(int fd); } 273149 STD { int|linux32_sys||__sysctl(linux32___sysctlp_t lsp); } 274150 NOARGS { int|netbsd32||mlock(netbsd32_voidp addr, \ 275 netbsd32_size_t len); } 276151 NOARGS { int|netbsd32||munlock(netbsd32_voidp addr, \ 277 netbsd32_size_t len); } 278152 NOARGS { int|netbsd32||mlockall(int flags); } 279153 NOARGS { int|sys||munlockall(void); } 280154 STD { int|linux32_sys||sched_setparam(pid_t pid, \ 281 const linux32_sched_paramp_t sp); } 282155 STD { int|linux32_sys||sched_getparam(pid_t pid, \ 283 linux32_sched_paramp_t sp); } 284156 STD { int|linux32_sys||sched_setscheduler(pid_t pid, \ 285 int policy, linux32_sched_paramp_t sp); } 286157 STD { int|linux32_sys||sched_getscheduler(pid_t pid); } 287158 NOARGS { int|linux_sys||sched_yield(void); } 288159 STD { int|linux32_sys||sched_get_priority_max(int policy); } 289160 STD { int|linux32_sys||sched_get_priority_min(int policy); } 290161 UNIMPL sched_rr_get_interval 291162 STD { int|linux32_sys||nanosleep(linux32_timespecp_t rqtp, \ 292 linux32_timespecp_t rmtp); } 293163 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); } 296164 STD { int|linux32_sys||setresuid16(linux32_uid16_t ruid, \ 297 linux32_uid16_t euid, linux32_uid16_t suid); } 298165 STD { int|linux32_sys||getresuid16(linux32_uid16p_t ruid, \ 299 linux32_uid16p_t euid, linux32_uid16p_t suid); } 300166 UNIMPL vm86 301167 UNIMPL query_module 302168 NOARGS { int|netbsd32||poll(netbsd32_pollfdp_t fds, u_int nfds, \ 303 int timeout); } 304169 UNIMPL nfsservctl 305170 STD { int|linux32_sys||setresgid16(linux32_gid16_t rgid, \ 306 linux32_gid16_t egid, linux32_gid16_t sgid); } 307171 STD { int|linux32_sys||getresgid16(linux32_gid16p_t rgid, \ 308 linux32_gid16p_t egid, linux32_gid16p_t sgid); } 309172 UNIMPL prctl 310173 STD { int|linux32_sys||rt_sigreturn(linux32_ucontextp_t ucp); } 311174 STD { int|linux32_sys||rt_sigaction(int signum, \ 312 linux32_sigactionp_t nsa, \ 313 linux32_sigactionp_t osa, \ 314 netbsd32_size_t sigsetsize); } 315175 STD { int|linux32_sys||rt_sigprocmask(int how, \ 316 linux32_sigsetp_t set, \ 317 linux32_sigsetp_t oset, \ 318 netbsd32_size_t sigsetsize); } 319176 STD { int|linux32_sys||rt_sigpending(linux32_sigsetp_t set, \ 320 netbsd32_size_t sigsetsize); } 321177 STD { int|linux32_sys||rt_sigtimedwait( \ 322 const linux32_sigsetp_t set, \ 323 linux32_siginfop_t info, \ 324 const linux32_timespecp_t timeout); } 325178 STD { int|linux32_sys||rt_queueinfo(int pid, int sig, \ 326 linux32_siginfop_t uinfo); } 327179 STD { int|linux32_sys||rt_sigsuspend(linux32_sigsetp_t unewset, \ 328 netbsd32_size_t sigsetsize); } 329180 STD { netbsd32_ssize_t|linux32_sys||pread(int fd, \ 330 netbsd32_voidp buf, netbsd32_size_t nbyte, \ 331 netbsd32_off_t offset); } 332181 STD { netbsd32_ssize_t|linux32_sys||pwrite(int fd, \ 333 netbsd32_voidp buf, netbsd32_size_t nbyte, \ 334 netbsd32_off_t offset); } 335182 STD { int|linux32_sys||chown16(netbsd32_charp path, \ 336 linux32_uid16_t uid, linux32_gid16_t gid); } 337183 NOARGS { int|netbsd32||__getcwd(netbsd32_charp bufp, \ 338 netbsd32_size_t length); } 339184 UNIMPL capget 340185 UNIMPL capset 341186 UNIMPL sigaltstack 342187 UNIMPL sendfile 343188 UNIMPL getpmsg 344189 UNIMPL putpmsg 345190 NOARGS { int|sys|14|vfork(void); } 346191 STD { int|linux32_sys||ugetrlimit(int which, \ 347 netbsd32_orlimitp_t rlp); } 348192 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); } 351193 STD { int|linux32_sys||truncate64(netbsd32_charp path, \ 352 uint32_t lenlo, uint32_t lenhi); } 353194 STD { int|linux32_sys||ftruncate64(unsigned int fd, \ 354 uint32_t lenlo, uint32_t lenhi); } 355195 STD { int|linux32_sys||stat64(netbsd32_charp path, \ 356 linux32_stat64p sp); } 357196 STD { int|linux32_sys||lstat64(netbsd32_charp path, \ 358 linux32_stat64p sp); } 359197 STD { int|linux32_sys||fstat64(int fd, \ 360 linux32_stat64p sp); } 361198 NOARGS { int|netbsd32||__posix_lchown(netbsd32_charp path, \ 362 uid_t uid, gid_t gid); } 363199 NOARGS { uid_t|sys||getuid(void); } 364200 NOARGS { gid_t|sys||getgid(void); } 365201 NOARGS { uid_t|sys||geteuid(void); } 366202 NOARGS { gid_t|sys||getegid(void); } 367203 NOARGS { int|netbsd32||setreuid(uid_t ruid, uid_t euid); } 368204 NOARGS { int|netbsd32||setregid(gid_t rgid, gid_t egid); } 369205 NOARGS { int|netbsd32||getgroups(int gidsetsize, \ 370 netbsd32_gid_tp gidset); } 371206 NOARGS { int|netbsd32||setgroups(int gidsetsize, \ 372 netbsd32_gid_tp gidset); } 373207 NOARGS { int|netbsd32||__posix_fchown(int fd, uid_t uid, gid_t gid); } 374208 STD { int|linux32_sys||setresuid(uid_t ruid, uid_t euid, \ 375 uid_t suid); } 376209 STD { int|linux32_sys||getresuid(linux32_uidp_t ruid, \ 377 linux32_uidp_t euid, linux32_uidp_t suid); } 378210 STD { int|linux32_sys||setresgid(gid_t rgid, gid_t egid, \ 379 gid_t sgid); } 380211 STD { int|linux32_sys||getresgid(linux32_gidp_t rgid, \ 381 linux32_gidp_t egid, linux32_gidp_t sgid); } 382212 NOARGS { int|netbsd32||__posix_chown(netbsd32_charp path, \ 383 uid_t uid, gid_t gid); } 384213 NOARGS { int|netbsd32||setuid(uid_t uid); } 385214 NOARGS { int|netbsd32||setgid(gid_t gid); } 386215 STD { int|linux32_sys||setfsuid(uid_t uid); } 387216 STD { int|linux32_sys||setfsgid(gid_t gid); } 388217 UNIMPL pivot_root 389218 NOARGS { int|netbsd32||mincore(netbsd32_voidp addr, \ 390 netbsd32_size_t len, netbsd32_charp vec); } 391219 NOARGS { int|netbsd32||madvise(netbsd32_voidp addr, \ 392 netbsd32_size_t len, int behav); } 393220 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 398221 NOARGS { int|linux32_sys||fcntl64(int fd, \ 399 int cmd, netbsd32_voidp arg); } 400222 UNIMPL /* unused */ 401223 UNIMPL /* unused */ 402224 NOARGS { pid_t|linux_sys||gettid(void); } 403225 UNIMPL readahead 404226 NOARGS { int|netbsd32||setxattr(netbsd32_charp path, \ 405 netbsd32_charp name, netbsd32_voidp value, \ 406 netbsd32_size_t size, int flags); } 407227 NOARGS { int|netbsd32||lsetxattr(netbsd32_charp path, \ 408 netbsd32_charp name, netbsd32_voidp value, \ 409 netbsd32_size_t size, int flags); } 410228 NOARGS { int|netbsd32||fsetxattr(int fd, netbsd32_charp name, \ 411 netbsd32_voidp value, netbsd32_size_t size, int flags); } 412229 NOARGS { ssize_t|netbsd32||getxattr(netbsd32_charp path, \ 413 netbsd32_charp name, netbsd32_voidp value, \ 414 netbsd32_size_t size); } 415230 NOARGS { ssize_t|netbsd32||lgetxattr(netbsd32_charp path, \ 416 netbsd32_charp name, netbsd32_voidp value, \ 417 netbsd32_size_t size); } 418231 NOARGS { ssize_t|netbsd32||fgetxattr(int fd, netbsd32_charp name, \ 419 netbsd32_voidp value, netbsd32_size_t size); } 420232 NOARGS { ssize_t|netbsd32||listxattr(netbsd32_charp path, \ 421 netbsd32_charp list, netbsd32_size_t size); } 422233 NOARGS { ssize_t|netbsd32||llistxattr(netbsd32_charp path, \ 423 netbsd32_charp list, netbsd32_size_t size); } 424234 NOARGS { ssize_t|netbsd32||flistxattr(int fd, netbsd32_charp list, \ 425 netbsd32_size_t size); } 426235 NOARGS { int|netbsd32||removexattr(netbsd32_charp path, \ 427 netbsd32_charp name); } 428236 NOARGS { int|netbsd32||lremovexattr(netbsd32_charp path, \ 429 netbsd32_charp name); } 430237 NOARGS { int|netbsd32||fremovexattr(int fd, netbsd32_charp name); } 431238 STD { int|linux32_sys||tkill(int tid, int sig); } 432239 UNIMPL sendfile64 433240 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); } 436241 STD { int|linux32_sys||sched_setaffinity(pid_t pid, \ 437 unsigned int len, linux32_ulongp_t mask); } 438242 STD { int|linux32_sys||sched_getaffinity(pid_t pid, \ 439 unsigned int len, linux32_ulongp_t mask); } 440243 STD { int|linux32_sys||set_thread_area(linux32_user_descp_t desc); } 441244 STD { int|linux32_sys||get_thread_area(linux32_user_descp_t desc); } 442245 UNIMPL io_setup 443246 UNIMPL io_destroy 444247 UNIMPL io_getevents 445248 UNIMPL io_submit 446249 UNIMPL io_cancel 447250 STD { int|linux32_sys||fadvise64(int fd, uint32_t offlo, \ 448 uint32_t offhi, linux32_size_t len, int advice); } 449251 UNIMPL /* unused */ 450252 STD { int|linux32_sys||exit_group(int error_code); } 451253 UNIMPL lookup_dcookie 452254 UNIMPL epoll_create 453255 UNIMPL epoll_ctl 454256 UNIMPL epoll_wait 455257 UNIMPL remap_file_pages 456258 STD { int|linux32_sys||set_tid_address(linux32_intp_t tid); } 457259 STD { int|linux32_sys||timer_create(clockid_t clockid, \ 458 struct linux32_sigevent *evp, timer_t *timerid); } 459260 STD { int|linux32_sys||timer_settime(timer_t timerid, \ 460 int flags, const struct linux32_itimerspec *tim, \ 461 struct linux32_itimerspec *otim); } 462261 STD { int|linux32_sys||timer_gettime(timer_t timerid, \ 463 struct linux32_itimerspec *tim); } 464262 NOARGS { int|sys||timer_getoverrun(timer_t timerid); } 465263 NOARGS { int|sys||timer_delete(timer_t timerid); } 466264 STD { int|linux32_sys||clock_settime(clockid_t which, \ 467 linux32_timespecp_t tp); } 468265 STD { int|linux32_sys||clock_gettime(clockid_t which, \ 469 linux32_timespecp_t tp); } 470266 STD { int|linux32_sys||clock_getres(clockid_t which, \ 471 linux32_timespecp_t tp); } 472267 STD { int|linux32_sys||clock_nanosleep(clockid_t which, int flags, \ 473 linux32_timespecp_t rqtp, linux32_timespecp_t rmtp); } 474268 STD { int|linux32_sys||statfs64(netbsd32_charp path, \ 475 netbsd32_size_t sz, linux32_statfs64p sp); } 476269 STD { int|linux32_sys||fstatfs64(int fd, \ 477 netbsd32_size_t sz, linux32_statfs64p sp); } 478270 STD { int|linux32_sys||tgkill(int tgid, int tid, int sig); } 479271 NOARGS { int|compat_50_netbsd32||utimes(netbsd32_charp path, \ 480 netbsd32_timeval50p_t tptr); } 481272 STD { int|linux32_sys||fadvise64_64(int fd, uint32_t offlo, \ 482 uint32_t offhi, uint32_t lenlo, uint32_t lenhi, int advice); } 483273 UNIMPL vserver 484274 UNIMPL mbind 485275 UNIMPL get_mempolicy 486276 UNIMPL set_mempolicy 487277 UNIMPL mq_open 488278 UNIMPL mq_unlink 489279 UNIMPL mq_timedsend 490280 UNIMPL mq_timedreceive 491281 UNIMPL mq_notify 492282 UNIMPL mq_getsetattr 493283 UNIMPL kexec_load 494284 UNIMPL waitid 495285 UNIMPL /* unused */ 496286 UNIMPL add_key 497287 UNIMPL request_key 498288 UNIMPL keyctl 499289 UNIMPL ioprio_set 500290 UNIMPL ioprio_get 501291 UNIMPL inotify_init 502292 UNIMPL inotify_add_watch 503293 UNIMPL inotify_rm_watch 504294 UNIMPL migrate_pages 505295 STD { int|linux32_sys||openat(int fd, netbsd32_charp path, \ 506 int flags, ... linux_umode_t mode); } 507296 NOARGS { int|netbsd32||mkdirat(int fd, netbsd32_charp path, \ 508 linux_umode_t mode); } 509297 STD { int|linux32_sys||mknodat(int fd, netbsd32_charp path, \ 510 linux_umode_t mode, unsigned dev); } 511298 STD { int|linux32_sys||fchownat(int fd, netbsd32_charp path, \ 512 uid_t owner, gid_t group, int flag); } 513299 UNIMPL futimesat 514300 STD { int|linux32_sys||fstatat64(int fd, netbsd32_charp path, \ 515 linux32_stat64p sp, int flag); } 516301 STD { int|linux32_sys||unlinkat(int fd, netbsd32_charp path, \ 517 int flag); } 518302 NOARGS { int|netbsd32||renameat(int fromfd, netbsd32_charp from, \ 519 int tofd, netbsd32_charp to); } 520303 STD { int|linux32_sys||linkat(int fd1, netbsd32_charp name1, \ 521 int fd2, netbsd32_charp name2, int flags); } 522304 NOARGS { int|netbsd32||symlinkat(netbsd32_charp path1, int fd, \ 523 netbsd32_charp path2); } 524305 NOARGS { int|netbsd32||readlinkat(int fd, netbsd32_charp path, \ 525 netbsd32_charp buf, linux32_size_t bufsize); } 526306 STD { int|linux32_sys||fchmodat(int fd, netbsd32_charp path, \ 527 linux_umode_t mode); } 528307 STD { int|linux32_sys||faccessat(int fd, netbsd32_charp path, \ 529 int amode); } 530308 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); } 536309 STD { int|linux32_sys||ppoll(netbsd32_pollfdp_t fds, u_int nfds, \ 537 linux32_timespecp_t timeout, linux32_sigsetp_t sigset); } 538310 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 ; 544311 NOARGS { int|netbsd32||__futex_set_robust_list( \ 545 netbsd32_voidp head, netbsd32_size_t len); } 546312 NOARGS { int|netbsd32||__futex_get_robust_list(lwpid_t lwpid, \ 547 netbsd32_voidp headp, netbsd32_size_tp lenp); } 548313 UNIMPL splice 549314 UNIMPL sync_file_range 550315 UNIMPL tee 551316 UNIMPL vmsplice 552317 UNIMPL move_pages 553318 UNIMPL getcpu 554319 UNIMPL epoll_wait 555320 STD { int|linux32_sys||utimensat(int fd, netbsd32_charp path, \ 556 linux32_timespecp_t times, int flag); } 557321 UNIMPL signalfd 558322 NOARGS { int|linux_sys||timerfd_create(clockid_t clock_id, \ 559 int flags); } 560323 STD { int|linux32_sys||eventfd(unsigned int initval); } 561324 STD { int|linux32_sys||fallocate(int fd, int mode, \ 562 off_t offset, off_t len); } 563325 STD { int|linux32_sys||timerfd_settime(int fd, int flags, \ 564 const struct linux32_itimerspec *tim, \ 565 struct linux32_itimerspec *otim); } 566326 STD { int|linux32_sys||timerfd_gettime(int fd, \ 567 struct linux32_itimerspec *tim); } 568327 UNIMPL signalfd4 569328 STD { int|linux32_sys||eventfd2(unsigned int initval, \ 570 int flags); } 571329 UNIMPL epoll_create1 572330 STD { int|linux32_sys||dup3(int from, int to, int flags); } 573331 STD { int|linux32_sys||pipe2(netbsd32_intp fd, int flags); } 574332 UNIMPL inotify_init1 575333 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); } 578334 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); } 581335 UNIMPL rt_tgsigqueueinfo 582336 UNIMPL perf_counter_open 583337 UNIMPL recvmmsg 584338 UNIMPL fanotify_init 585339 UNIMPL fanotify_mark 586340 STD { int|linux32_sys||prlimit64(pid_t pid, int which, \ 587 netbsd32_rlimitp_t new_rlp, netbsd32_rlimitp_t old_rlp); } 588341 UNIMPL name_to_handle_at 589342 UNIMPL open_by_handle_at 590343 UNIMPL clock_adjtime 591344 UNIMPL syncfs 592345 UNIMPL sendmmsg 593346 UNIMPL setns 594347 UNIMPL process_vm_readv 595348 UNIMPL process_vm_writev 596349 UNIMPL kcmp 597350 UNIMPL finit_module 598