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