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