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