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