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