xref: /netbsd-src/sys/compat/linux/arch/i386/syscalls.master (revision 60ab2ca5c0570c0013b39de285ddaa91fe27d029)
1	$NetBSD: syscalls.master,v 1.101 2009/11/24 10:42:43 njoly 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
51#include <compat/linux/linux_syscallargs.h>
52
53%%
54
550	NOARGS		{ int|linux_sys||nosys(void); } syscall
561	NOARGS		{ int|sys||exit(int rval); }
572	NOARGS		{ int|sys||fork(void); }
583	NOARGS		{ int|sys||read(int fd, char *buf, u_int nbyte); }
594	NOARGS		{ int|sys||write(int fd, char *buf, u_int nbyte); }
605	STD		{ int|linux_sys||open(const char *path, int flags, \
61			    int mode); }
626	NOARGS		{ int|sys||close(int fd); }
637	STD		{ int|linux_sys||waitpid(int pid, int *status, \
64			    int options);}
658	STD		{ int|linux_sys||creat(const char *path, int mode); }
669	NOARGS		{ int|sys||link(const char *path, const char *link); }
6710	STD		{ int|linux_sys||unlink(const char *path); }
6811	NOARGS		{ int|sys||execve(const char *path, char **argp, \
69			    char **envp); }
7012	NOARGS		{ int|sys||chdir(const char *path); }
7113	STD		{ int|linux_sys||time(linux_time_t *t); }
7214	STD		{ int|linux_sys||mknod(const char *path, int mode, \
73			    int dev); }
7415	NOARGS		{ int|sys||chmod(const char *path, int mode); }
7516	STD		{ int|linux_sys||lchown16(const char *path, \
76			    linux_uid16_t uid, linux_gid16_t gid); }
77;17 - no longer in linux source.
7817	STD		{ int|linux_sys||break(char *nsize); }
7918	OBSOL		ostat
8019	NOARGS		{ long|compat_43_sys||lseek(int fd, long offset, \
81			    int whence); }
82#ifdef	LINUX_NPTL
8320	STD		{ pid_t|linux_sys||getpid(void); }
84#else
8520	NOARGS 		{ pid_t|sys||getpid(void); }
86#endif
8721	UNIMPL		mount
8822	UNIMPL		umount
8923	NOARGS		linux_setuid16 { int|sys||setuid(uid_t uid); }
9024	NOARGS		linux_getuid16 { uid_t|sys||getuid(void); }
9125	STD		{ int|linux_sys||stime(linux_time_t *t); }
9226	STD		{ int|linux_sys||ptrace(int request, int pid, \
93			  int addr, int data); }
9427	STD		{ int|linux_sys||alarm(unsigned int secs); }
9528	OBSOL		ofstat
9629	STD		{ int|linux_sys||pause(void); }
9730	STD		{ int|linux_sys||utime(const char *path, \
98			    struct linux_utimbuf *times); }
9931	OBSOL		stty
10032	OBSOL		gtty
10133	NOARGS		{ int|sys||access(const char *path, int flags); }
10234	STD		{ int|linux_sys||nice(int incr); }
10335	OBSOL		ftime
10436	NOARGS		{ int|sys||sync(void); }
10537	STD		{ int|linux_sys||kill(int pid, int signum); }
10638	NOARGS		{ int|sys||__posix_rename(const char *from, \
107			    const char *to); }
10839	NOARGS		{ int|sys||mkdir(const char *path, int mode); }
10940	NOARGS		{ int|sys||rmdir(const char *path); }
11041	NOARGS		{ int|sys||dup(u_int fd); }
11142	STD		{ int|linux_sys||pipe(int *pfds); }
11243	STD		{ int|linux_sys||times(struct times *tms); }
11344	OBSOL		prof
11445	STD		{ int|linux_sys||brk(char *nsize); }
11546	NOARGS		linux_setgid16 { int|sys||setgid(gid_t gid); }
11647	NOARGS		linux_getgid16 { gid_t|sys||getgid(void); }
11748	STD		{ int|linux_sys||signal(int signum, \
118			    linux_handler_t handler); }
11949	NOARGS		linux_geteuid16 { uid_t|sys||geteuid(void); }
12050	NOARGS		linux_getegid16 { gid_t|sys||getegid(void); }
12151	NOARGS		{ int|sys||acct(char *path); }
12252	OBSOL		phys
12353	OBSOL		lock
12454	STD		{ int|linux_sys||ioctl(int fd, u_long com, \
125			    void *data); }
12655	STD		{ int|linux_sys||fcntl(int fd, int cmd, void *arg); }
12756	OBSOL		mpx
12857	NOARGS		{ int|sys||setpgid(int pid, int pgid); }
12958	OBSOL		ulimit
13059	STD		{ int|linux_sys||oldolduname( \
131			    struct linux_oldold_utsname *up); }
13260	NOARGS		{ int|sys||umask(int newmask); }
13361	NOARGS		{ int|sys||chroot(char *path); }
13462	UNIMPL		ustat
13563	NOARGS		{ int|sys||dup2(u_int from, u_int to); }
136#ifdef LINUX_NPTL
13764	STD		{ pid_t|linux_sys||getppid(void); }
138#else
13964	NOARGS		{ pid_t|sys||getppid(void); }
140#endif
14165	NOARGS		{ int|sys||getpgrp(void); }
14266	NOARGS		{ int|sys||setsid(void); }
14367	STD		{ int|linux_sys||sigaction(int signum, \
144			    const struct linux_old_sigaction *nsa, \
145			    struct linux_old_sigaction *osa); }
14668	STD		{ int|linux_sys||siggetmask(void); }
14769	STD		{ int|linux_sys||sigsetmask(linux_old_sigset_t mask); }
14870	STD		{ int|linux_sys||setreuid16(linux_uid16_t ruid, \
149			    linux_uid16_t euid); }
15071	STD		{ int|linux_sys||setregid16(linux_gid16_t rgid, \
151			    linux_gid16_t egid); }
15272	STD		{ int|linux_sys||sigsuspend(void *restart, \
153			    int oldmask, int mask); }
15473	STD		{ int|linux_sys||sigpending(linux_old_sigset_t *set); }
15574	NOARGS		{ int|compat_43_sys||sethostname(char *hostname, \
156			    u_int len);}
15775	STD		{ int|linux_sys||setrlimit(u_int which, \
158			    struct orlimit *rlp); }
15976	STD		{ int|linux_sys||getrlimit(u_int which, \
160			    struct orlimit *rlp); }
16177	NOARGS		{ int|compat_50_sys||getrusage(int who, \
162			    struct rusage50 *rusage); }
16378	STD		{ int|linux_sys||gettimeofday(struct timeval50 *tp, \
164			    struct timezone *tzp); }
16579	STD		{ int|linux_sys||settimeofday(struct timeval50 *tp, \
166			    struct timezone *tzp); }
16780	STD		{ int|linux_sys||getgroups16(int gidsetsize, \
168			    linux_gid16_t *gidset); }
16981	STD		{ int|linux_sys||setgroups16(int gidsetsize, \
170			    linux_gid16_t *gidset); }
17182	STD		{ int|linux_sys||oldselect(struct linux_oldselect *lsp); }
17283	NOARGS		{ int|sys||symlink(const char *path, const char *to); }
17384	NOARGS		{ int|compat_43_sys||lstat(const char *path, \
174			    struct stat43 *up); } oolstat
17585	NOARGS		{ int|sys||readlink(const char *name, char *buf, \
176			    int count); }
177#ifdef EXEC_AOUT
17886	STD		{ int|linux_sys||uselib(const char *path); }
179#else
18086	UNIMPL		sys_uselib
181#endif
18287	STD		{ int|linux_sys||swapon(char *name); }
18388	STD		{ int|linux_sys||reboot(int magic1, int magic2, \
184			    int cmd, void *arg); }
18589	STD		{ int|linux_sys||readdir(int fd, void *dent, \
186			    unsigned int count); }
18790	STD		{ int|linux_sys||old_mmap(struct linux_oldmmap *lmp); }
18891	NOARGS		{ int|sys||munmap(void *addr, int len); }
18992	NOARGS		{ int|compat_43_sys||truncate(const char *path, \
190			    long length); }
19193	NOARGS		{ int|compat_43_sys||ftruncate(int fd, long length); }
19294	NOARGS		{ int|sys||fchmod(int fd, int mode); }
19395	STD		{ int|linux_sys||fchown16(int fd, linux_uid16_t uid, \
194			    linux_gid16_t gid); }
19596	STD		{ int|linux_sys||getpriority(int which, int who); }
19697	NOARGS		{ int|sys||setpriority(int which, int who, int prio); }
19798	NOARGS		{ int|sys||profil(void *samples, u_int size, \
198			    u_int offset, u_int scale); }
19999	STD		{ int|linux_sys||statfs(const char *path, \
200			    struct linux_statfs *sp); }
201100	STD		{ int|linux_sys||fstatfs(int fd, \
202			    struct linux_statfs *sp); }
203101	STD		{ int|linux_sys||ioperm(unsigned int lo, \
204			    unsigned int hi, int val); }
205102	STD		{ int|linux_sys||socketcall(int what, void *args); }
206103	UNIMPL		syslog
207104	NOARGS		{ int|compat_50_sys||setitimer(u_int which, \
208			    struct itimerval50 *itv, struct itimerval50 *oitv); }
209105	NOARGS		{ int|compat_50_sys||getitimer(u_int which, \
210			    struct itimerval50 *itv); }
211106	STD		{ int|linux_sys||stat(const char *path, \
212			    struct linux_stat *sp); }
213107	STD		{ int|linux_sys||lstat(const char *path, \
214			    struct linux_stat *sp); }
215108	STD		{ int|linux_sys||fstat(int fd, struct linux_stat *sp); }
216109	STD		{ int|linux_sys||olduname(struct linux_old_utsname *up); }
217110	STD		{ int|linux_sys||iopl(int level); }
218111	UNIMPL		vhangup
219112	UNIMPL		idle
220113	UNIMPL		vm86old
221114	STD		{ int|linux_sys||wait4(int pid, int *status, \
222			    int options, struct rusage50 *rusage); }
223115	STD		{ int|linux_sys||swapoff(const char *path); }
224116	STD		{ int|linux_sys||sysinfo(struct linux_sysinfo *arg); }
225117	STD		{ int|linux_sys||ipc(int what, int a1, int a2, int a3, \
226			    void *ptr); }
227118	NOARGS		{ int|sys||fsync(int fd); }
228119	STD		{ int|linux_sys||sigreturn(struct linux_sigcontext *scp); }
229120	STD		{ int|linux_sys||clone(int flags, void *stack, \
230			    void *parent_tidptr, void *child_tidptr); }
231121	STD		{ int|linux_sys||setdomainname(char *domainname, \
232			    int len); }
233122	STD		{ int|linux_sys||uname(struct linux_utsname *up); }
234123	STD		{ int|linux_sys||modify_ldt(int func, void *ptr, \
235			    size_t bytecount); }
236124	UNIMPL		adjtimex
237125	STD		{ int|linux_sys||mprotect(const void *start, \
238			    unsigned long len, int prot); }
239126	STD		{ int|linux_sys||sigprocmask(int how, \
240			    const linux_old_sigset_t *set, \
241			    linux_old_sigset_t *oset); }
242127	UNIMPL		create_module
243128	UNIMPL		init_module
244129	UNIMPL		delete_module
245130	UNIMPL		get_kernel_syms
246131	UNIMPL		quotactl
247132	NOARGS		{ pid_t|sys||getpgid(pid_t pid); }
248133	NOARGS		{ int|sys||fchdir(int fd); }
249134	UNIMPL		bdflush
250135	UNIMPL		sysfs
251136	STD		{ int|linux_sys||personality(unsigned long per); }
252137	UNIMPL		afs_syscall
253138	NOARGS		linux_setfsuid16 { int|linux_sys||setfsuid(uid_t uid); }
254139	NOARGS		linux_setfsgid16 { int|linux_sys||setfsgid(gid_t gid); }
255140	STD		{ int|linux_sys||llseek(int fd, u_int32_t ohigh, \
256			    u_int32_t olow, void *res, int whence); }
257141	STD		{ int|linux_sys||getdents(int fd, \
258			    struct linux_dirent *dent, unsigned int count); }
259142	STD		{ int|linux_sys||select(int nfds, fd_set *readfds, \
260			    fd_set *writefds, fd_set *exceptfds, \
261			    struct timeval50 *timeout); }
262143	NOARGS		{ int|sys||flock(int fd, int how); }
263144	NOARGS		{ int|sys|13|msync(void *addr, size_t len, int flags); }
264145	NOARGS		{ int|sys||readv(int fd, struct iovec *iovp, \
265				u_int iovcnt); }
266146	NOARGS		{ int|sys||writev(int fd, struct iovec *iovp, \
267				u_int iovcnt); }
268147	NOARGS		{ pid_t|sys||getsid(pid_t pid); }
269148	STD		{ int|linux_sys||fdatasync(int fd); }
270149	STD		{ int|linux_sys||__sysctl(struct linux___sysctl *lsp); }
271150	NOARGS		{ int|sys||mlock(void *addr, size_t len); }
272151	NOARGS		{ int|sys||munlock(void *addr, size_t len); }
273152	NOARGS		{ int|sys||mlockall(int flags); }
274153	NOARGS		{ int|sys||munlockall(void); }
275154	STD		{ int|linux_sys||sched_setparam(pid_t pid, \
276			    const struct linux_sched_param *sp); }
277155	STD		{ int|linux_sys||sched_getparam(pid_t pid, \
278			    struct linux_sched_param *sp); }
279156	STD		{ int|linux_sys||sched_setscheduler(pid_t pid, \
280			    int policy, const struct linux_sched_param *sp); }
281157	STD		{ int|linux_sys||sched_getscheduler(pid_t pid); }
282158	STD		{ int|linux_sys||sched_yield(void); }
283159	STD		{ int|linux_sys||sched_get_priority_max(int policy); }
284160	STD		{ int|linux_sys||sched_get_priority_min(int policy); }
285161	UNIMPL		sys_sched_rr_get_interval
286162	STD		{ int|linux_sys||nanosleep( \
287			    const struct linux_timespec *rqtp, \
288			    struct linux_timespec *rmtp); }
289163	STD		{ void *|linux_sys||mremap(void *old_address, \
290			    size_t old_size, size_t new_size, u_long flags); }
291164	STD		{ int|linux_sys||setresuid16(linux_uid16_t ruid, \
292			    linux_uid16_t euid, linux_uid16_t suid); }
293165	STD		{ int|linux_sys||getresuid16(linux_uid16_t *ruid, \
294			    linux_uid16_t *euid, linux_uid16_t *suid); }
295166	UNIMPL		vm86
296167	UNIMPL		query_module
297168	NOARGS		{ int|sys||poll(struct pollfd *fds, u_int nfds, \
298			    int timeout); }
299169	UNIMPL		nfsservctl
300170	STD		{ int|linux_sys||setresgid16(linux_gid16_t rgid, \
301			    linux_gid16_t egid, linux_gid16_t sgid); }
302171	STD		{ int|linux_sys||getresgid16(linux_gid16_t *rgid, \
303			    linux_gid16_t *egid, linux_gid16_t *sgid); }
304172	UNIMPL		prctl
305173	STD		{ int|linux_sys||rt_sigreturn( \
306			    struct linux_ucontext *ucp); }
307174	STD		{ int|linux_sys||rt_sigaction(int signum, \
308			    const struct linux_sigaction *nsa, \
309			    struct linux_sigaction *osa, \
310			    size_t sigsetsize); }
311175	STD		{ int|linux_sys||rt_sigprocmask(int how, \
312			    const linux_sigset_t *set, \
313			    linux_sigset_t *oset, \
314			    size_t sigsetsize); }
315176	STD		{ int|linux_sys||rt_sigpending( \
316			    linux_sigset_t *set, \
317			    size_t sigsetsize); }
318177	UNIMPL		rt_sigtimedwait
319178	STD		{ int|linux_sys||rt_queueinfo(int pid, int signum, \
320			    linux_siginfo_t *uinfo); }
321179	STD		{ int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
322			    size_t sigsetsize); }
323180	STD		{ int|linux_sys||pread(int fd, char *buf, \
324			    size_t nbyte, linux_off_t offset); }
325181	STD		{ int|linux_sys||pwrite(int fd, char *buf, \
326			    size_t nbyte, linux_off_t offset); }
327182	STD		{ int|linux_sys||chown16(const char *path, \
328			    linux_uid16_t uid, linux_gid16_t gid); }
329183	NOARGS		{ int|sys||__getcwd(char *bufp, size_t length); }
330184	UNIMPL		capget
331185	UNIMPL		capset
332186	STD		{ int|linux_sys||sigaltstack( \
333			    const struct linux_sigaltstack *ss, \
334			    struct linux_sigaltstack *oss); }
335187	UNIMPL		sendfile
336188	UNIMPL		getpmsg
337189	UNIMPL		putpmsg
338190	NOARGS		{ int|sys|14|vfork(void); }
339191	STD		{ int|linux_sys||ugetrlimit(int which, \
340			    struct orlimit *rlp); }
341#define linux_sys_mmap2_args linux_sys_mmap_args
342192	NOARGS		{ linux_off_t|linux_sys||mmap2(unsigned long addr, \
343			    size_t len, int prot, int flags, int fd, \
344			    linux_off_t offset); }
345193	STD		{ int|linux_sys||truncate64(const char *path, \
346			    off_t length); }
347194	STD		{ int|linux_sys||ftruncate64(unsigned int fd, \
348			    off_t length); }
349195	STD		{ int|linux_sys||stat64(const char *path, \
350			    struct linux_stat64 *sp); }
351196	STD		{ int|linux_sys||lstat64(const char *path, \
352			    struct linux_stat64 *sp); }
353197	STD		{ int|linux_sys||fstat64(int fd, \
354			    struct linux_stat64 *sp); }
355198	NOARGS		{ int|sys||__posix_lchown(const char *path, uid_t uid, \
356			    gid_t gid); }
357199	NOARGS		{ uid_t|sys||getuid(void); }
358200	NOARGS		{ gid_t|sys||getgid(void); }
359201	NOARGS		{ uid_t|sys||geteuid(void); }
360202	NOARGS		{ gid_t|sys||getegid(void); }
361203	NOARGS		{ int|sys||setreuid(uid_t ruid, uid_t euid); }
362204	NOARGS		{ int|sys||setregid(gid_t rgid, gid_t egid); }
363205	NOARGS		{ int|sys||getgroups(u_int gidsetsize, gid_t *gidset); }
364206	NOARGS		{ int|sys||setgroups(u_int gidsetsize, gid_t *gidset); }
365207	NOARGS		{ int|sys||__posix_fchown(int fd, uid_t uid, \
366			    gid_t gid); }
367208	STD		{ int|linux_sys||setresuid(uid_t ruid, uid_t euid, \
368			    uid_t suid); }
369209	STD		{ int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \
370			    uid_t *suid); }
371210	STD		{ int|linux_sys||setresgid(gid_t rgid, gid_t egid, \
372			    gid_t sgid); }
373211	STD		{ int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \
374			    gid_t *sgid); }
375212	NOARGS		{ int|sys||__posix_chown(const char *path, uid_t uid, \
376				gid_t gid); }
377213	NOARGS		{ int|sys||setuid(uid_t uid); }
378214	NOARGS		{ int|sys||setgid(gid_t gid); }
379215	STD		{ int|linux_sys||setfsuid(uid_t uid); }
380216	STD		{ int|linux_sys||setfsgid(gid_t gid); }
381217	UNIMPL		pivot_root
382218	NOARGS		{ int|sys||mincore(void *addr, size_t len, char *vec); }
383219	NOARGS		{ int|sys||madvise(void *addr, size_t len, int behav); }
384220	STD		{ int|linux_sys||getdents64(int fd, \
385			    struct linux_dirent64 *dent, unsigned int count); }
386221	STD		{ int|linux_sys||fcntl64(int fd, int cmd, void *arg); }
387222	UNIMPL		/* unused */
388223	UNIMPL		/* unused */
389#ifdef LINUX_NPTL
390224	STD		{ pid_t|linux_sys||gettid(void); }
391#else
392224	UNIMPL		gettid
393#endif
394225	UNIMPL		readahead
395
396226	STD		{ int|linux_sys||setxattr(char *path, char *name, \
397			    void *value, size_t size, int flags); }
398227	STD		{ int|linux_sys||lsetxattr(char *path, char *name, \
399			    void *value, size_t size, int flags); }
400228	STD		{ int|linux_sys||fsetxattr(int fd, char *name, \
401			    void *value, size_t size, int flags); }
402229	STD		{ ssize_t|linux_sys||getxattr(char *path, char *name, \
403			    void *value, size_t size); }
404230	STD		{ ssize_t|linux_sys||lgetxattr(char *path, char *name, \
405			    void *value, size_t size); }
406231	STD		{ ssize_t|linux_sys||fgetxattr(int fd, char *name, \
407			    void *value, size_t size); }
408232	STD		{ ssize_t|linux_sys||listxattr(char *path, char *list, \
409			    size_t size); }
410233	STD		{ ssize_t|linux_sys||llistxattr(char *path, char *list, \
411			    size_t size); }
412234	STD		{ ssize_t|linux_sys||flistxattr(int fd, char *list, \
413			    size_t size); }
414235	STD		{ int|linux_sys||removexattr(char *path, char *name); }
415236	STD		{ int|linux_sys||lremovexattr(char *path, char *name); }
416237	STD		{ int|linux_sys||fremovexattr(int fd, char *name); }
417#ifdef LINUX_NPTL
418238	STD		{ int|linux_sys||tkill(int tid, int sig); }
419#else
420238	UNIMPL		tkill
421#endif
422239	UNIMPL		sendfile64
423240	STD		{ int|linux_sys||futex(int *uaddr, int op, int val, \
424			    const struct linux_timespec *timeout, int *uaddr2, \
425			    int val3); }
426#ifdef LINUX_NPTL
427241	STD		{ int|linux_sys||sched_setaffinity(pid_t pid, \
428			    unsigned int len, unsigned long *mask); }
429242	STD		{ int|linux_sys||sched_getaffinity(pid_t pid, \
430			    unsigned int len, unsigned long *mask); }
431#else
432241	UNIMPL		setaffinity
433242	UNIMPL		getaffinity
434#endif
435#ifdef LINUX_NPTL
436243	STD		{ int|linux_sys||set_thread_area( \
437			    struct linux_user_desc *desc); }
438244	STD		{ int|linux_sys||get_thread_area( \
439			    struct linux_user_desc *desc); }
440#else
441243	UNIMPL		set_thread_area
442244	UNIMPL		get_thread_area
443#endif
444245	UNIMPL		io_setup
445246	UNIMPL		io_destroy
446247	UNIMPL		io_getevents
447248	UNIMPL		io_submit
448249	UNIMPL		io_cancel
449250	UNIMPL		fadvise64
450251	UNIMPL		/* unused */
451252	STD		{ int|linux_sys||exit_group(int error_code); }
452253	UNIMPL		lookup_dcookie
453254	UNIMPL		epoll_create
454255	UNIMPL		epoll_ctl
455256	UNIMPL		epoll_wait
456257	UNIMPL		remap_file_pages
457#ifdef LINUX_NPTL
458258	STD		{ int|linux_sys||set_tid_address(int *tid); }
459#else
460258	UNIMPL		set_tid_address
461#endif
462259	UNIMPL		timer_create
463260	UNIMPL		timer_settime
464261	UNIMPL		timer_gettime
465262	UNIMPL		timer_getoverrun
466263	UNIMPL		timer_delete
467264	STD		{ int|linux_sys||clock_settime(clockid_t which, \
468			    struct linux_timespec *tp); }
469265	STD		{ int|linux_sys||clock_gettime(clockid_t which, \
470			    struct linux_timespec *tp); }
471266	STD		{ int|linux_sys||clock_getres(clockid_t which, \
472			    struct linux_timespec *tp); }
473267	STD		{ int|linux_sys||clock_nanosleep(clockid_t which, \
474			    int flags, struct linux_timespec *rqtp, \
475			    struct linux_timespec *rmtp); }
476268	STD		{ int|linux_sys||statfs64(const char *path, \
477			    size_t sz, struct linux_statfs64 *sp); }
478269	STD		{ int|linux_sys||fstatfs64(int fd, \
479			    size_t sz, struct linux_statfs64 *sp); }
480#ifdef LINUX_NPTL
481270	STD		{ int|linux_sys||tgkill(int tgid, int tid, int sig); }
482#else
483270	UNIMPL		tgkill
484#endif
485271	UNIMPL		utimes
486272	UNIMPL		fadvise64_64
487273	UNIMPL		vserver
488274	UNIMPL		mbind
489275	UNIMPL		get_mempolicy
490276	UNIMPL		set_mempolicy
491277	UNIMPL		mq_open
492278	UNIMPL		mq_unlink
493279	UNIMPL		mq_timedsend
494280	UNIMPL		mq_timedreceive
495281	UNIMPL		mq_notify
496282	UNIMPL		mq_getsetattr
497283	UNIMPL		sys_kexec_load
498284	UNIMPL		waitid
499285	OBSOL		/* XXXJDM really? */
500286	UNIMPL		add_key
501287	UNIMPL		request_key
502288	UNIMPL		keyctl
503289	UNIMPL		ioprio_set
504290	UNIMPL		ioprio_get
505291	UNIMPL		inotify_init
506292	UNIMPL		inotify_add_watch
507293	UNIMPL		inotify_rm_watch
508294	UNIMPL		migrate_pages
509295	UNIMPL		openat
510296	UNIMPL		mkdirat
511297	UNIMPL		mknodat
512298	UNIMPL		fchownat
513299	UNIMPL		futimesat
514300	UNIMPL		fstatat64
515301	UNIMPL		unlinkat
516302	UNIMPL		renameat
517303	UNIMPL		linkat
518304	UNIMPL		symlinkat
519305	UNIMPL		readlinkat
520306	UNIMPL		fchmodat
521307	UNIMPL		faccessat
522308	UNIMPL		pselect6
523309	UNIMPL		ppoll
524310	UNIMPL		unshare
525311	STD		{ int|linux_sys||set_robust_list( \
526			    struct linux_robust_list_head *head, size_t len); }
527312	STD		{ int|linux_sys||get_robust_list(int pid, \
528			    struct linux_robust_list_head **head, \
529			    size_t *len); }
530313	UNIMPL		splice
531314	UNIMPL		sync_file_range
532315	UNIMPL		tee
533316	UNIMPL		vmsplice
534