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