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