head	1.26;
access;
symbols
	perseant-exfatfs-base-20250801:1.26
	perseant-exfatfs-base-20240630:1.26
	perseant-exfatfs:1.26.0.140
	perseant-exfatfs-base:1.26
	bouyer-sunxi-drm:1.26.0.138
	bouyer-sunxi-drm-base:1.26
	cjep_sun2x:1.26.0.136
	cjep_sun2x-base:1.26
	cjep_staticlib_x-base1:1.26
	cjep_staticlib_x:1.26.0.134
	cjep_staticlib_x-base:1.26
	thorpej-futex-base:1.26
	bouyer-xenpvh-base2:1.26
	phil-wifi-20200421:1.26
	bouyer-xenpvh-base1:1.26
	phil-wifi-20200411:1.26
	bouyer-xenpvh:1.26.0.132
	bouyer-xenpvh-base:1.26
	phil-wifi-20200406:1.26
	ad-namecache-base3:1.26
	ad-namecache-base2:1.26
	ad-namecache-base1:1.26
	ad-namecache:1.26.0.130
	ad-namecache-base:1.26
	isaki-audio2:1.26.0.128
	isaki-audio2-base:1.26
	pgoyette-compat-merge-20190127:1.26
	pgoyette-compat-20190127:1.26
	pgoyette-compat-20190118:1.26
	pgoyette-compat-1226:1.26
	pgoyette-compat-1126:1.26
	pgoyette-compat-1020:1.26
	pgoyette-compat-0930:1.26
	pgoyette-compat-0906:1.26
	pgoyette-compat-0728:1.26
	pgoyette-compat-0625:1.26
	pgoyette-compat-0521:1.26
	pgoyette-compat-0502:1.26
	pgoyette-compat-0422:1.26
	pgoyette-compat-0415:1.26
	pgoyette-compat-0407:1.26
	pgoyette-compat-0330:1.26
	pgoyette-compat-0322:1.26
	pgoyette-compat-0315:1.26
	pgoyette-compat:1.26.0.10
	pgoyette-compat-base:1.26
	perseant-stdc-iso10646:1.26.0.126
	perseant-stdc-iso10646-base:1.26
	prg-localcount2-base3:1.26
	prg-localcount2-base2:1.26
	prg-localcount2-base1:1.26
	prg-localcount2:1.26.0.124
	prg-localcount2-base:1.26
	pgoyette-localcount-20170426:1.26
	bouyer-socketcan-base1:1.26
	pgoyette-localcount-20170320:1.26
	bouyer-socketcan:1.26.0.122
	bouyer-socketcan-base:1.26
	pgoyette-localcount-20170107:1.26
	pgoyette-localcount-20161104:1.26
	localcount-20160914:1.26
	pgoyette-localcount-20160806:1.26
	pgoyette-localcount-20160726:1.26
	pgoyette-localcount:1.26.0.120
	pgoyette-localcount-base:1.26
	netbsd-5-2-3-RELEASE:1.26
	netbsd-5-1-5-RELEASE:1.26
	yamt-pagecache-base9:1.26
	yamt-pagecache-tag8:1.26
	tls-earlyentropy:1.26.0.118
	tls-earlyentropy-base:1.26
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.26
	riastradh-drm2-base3:1.26
	netbsd-5-2-2-RELEASE:1.26
	netbsd-5-1-4-RELEASE:1.26
	netbsd-5-2-1-RELEASE:1.26
	netbsd-5-1-3-RELEASE:1.26
	rmind-smpnet-nbase:1.26
	rmind-smpnet:1.26.0.114
	rmind-smpnet-base:1.26
	agc-symver:1.26.0.116
	agc-symver-base:1.26
	tls-maxphys-base:1.26
	yamt-pagecache-base8:1.26
	netbsd-5-2:1.26.0.112
	yamt-pagecache-base7:1.26
	netbsd-5-2-RELEASE:1.26
	netbsd-5-2-RC1:1.26
	yamt-pagecache-base6:1.26
	yamt-pagecache-base5:1.26
	yamt-pagecache-base4:1.26
	netbsd-5-1-2-RELEASE:1.26
	netbsd-5-1-1-RELEASE:1.26
	jmcneill-usbmp:1.26.0.110
	jmcneill-usbmp-base:1.26
	jmcneill-audiomp3:1.26.0.108
	jmcneill-audiomp3-base:1.26
	yamt-pagecache-base3:1.26
	yamt-pagecache-base2:1.26
	yamt-pagecache:1.26.0.106
	yamt-pagecache-base:1.26
	rmind-uvmplock-nbase:1.26
	bouyer-quota2-nbase:1.26
	bouyer-quota2:1.26.0.104
	bouyer-quota2-base:1.26
	jruoho-x86intr:1.26.0.102
	jruoho-x86intr-base:1.26
	matt-nb5-pq3:1.26.0.100
	matt-nb5-pq3-base:1.26
	netbsd-5-1:1.26.0.98
	netbsd-5-1-RELEASE:1.26
	yamt-nfs-mp-base11:1.26
	netbsd-5-1-RC4:1.26
	uebayasi-xip-base2:1.26
	yamt-nfs-mp-base10:1.26
	netbsd-5-1-RC3:1.26
	netbsd-5-1-RC2:1.26
	netbsd-5-1-RC1:1.26
	rmind-uvmplock:1.26.0.96
	rmind-uvmplock-base:1.26
	yamt-nfs-mp-base9:1.26
	uebayasi-xip:1.26.0.94
	uebayasi-xip-base:1.26
	netbsd-5-0-2-RELEASE:1.26
	yamt-nfs-mp-base8:1.26
	yamt-nfs-mp-base7:1.26
	netbsd-5-0-1-RELEASE:1.26
	jymxensuspend-base:1.26
	yamt-nfs-mp-base6:1.26
	yamt-nfs-mp-base5:1.26
	yamt-nfs-mp-base4:1.26
	jym-xensuspend-nbase:1.26
	yamt-nfs-mp-base3:1.26
	netbsd-5-0:1.26.0.92
	netbsd-5-0-RELEASE:1.26
	netbsd-5-0-RC4:1.26
	netbsd-5-0-RC3:1.26
	netbsd-5-0-RC2:1.26
	jym-xensuspend:1.26.0.90
	jym-xensuspend-base:1.26
	netbsd-5-0-RC1:1.26
	haad-dm-base2:1.26
	haad-nbase2:1.26
	ad-audiomp2:1.26.0.88
	ad-audiomp2-base:1.26
	netbsd-5:1.26.0.86
	netbsd-5-base:1.26
	haad-dm-base1:1.26
	haad-dm:1.26.0.84
	haad-dm-base:1.26
	simonb-wapbl-nbase:1.26
	yamt-pf42-base4:1.26
	simonb-wapbl:1.26.0.82
	simonb-wapbl-base:1.26
	yamt-pf42-base3:1.26
	hpcarm-cleanup-nbase:1.26
	yamt-pf42-base2:1.26
	yamt-nfs-mp-base2:1.26
	yamt-nfs-mp:1.26.0.80
	yamt-nfs-mp-base:1.26
	yamt-pf42:1.26.0.78
	yamt-pf42-base:1.26
	ad-socklock-base1:1.26
	yamt-lazymbuf-base15:1.26
	yamt-lazymbuf-base14:1.26
	keiichi-mipv6-nbase:1.26
	mjf-devfs2:1.26.0.76
	mjf-devfs2-base:1.26
	keiichi-mipv6:1.26.0.74
	keiichi-mipv6-base:1.26
	bouyer-xeni386-merge1:1.26
	vmlocking2-base3:1.26
	bouyer-xeni386-nbase:1.26
	yamt-kmem-base3:1.26
	cube-autoconf:1.26.0.72
	cube-autoconf-base:1.26
	yamt-kmem-base2:1.26
	bouyer-xeni386:1.26.0.70
	bouyer-xeni386-base:1.26
	yamt-kmem:1.26.0.68
	yamt-kmem-base:1.26
	vmlocking2-base2:1.26
	reinoud-bufcleanup-nbase:1.26
	vmlocking2:1.26.0.66
	vmlocking2-base1:1.26
	jmcneill-base:1.26
	mjf-devfs:1.26.0.64
	mjf-devfs-base:1.26
	bouyer-xenamd64-base2:1.26
	vmlocking-nbase:1.26
	yamt-x86pmap-base4:1.26
	bouyer-xenamd64:1.26.0.62
	bouyer-xenamd64-base:1.26
	yamt-x86pmap-base3:1.26
	yamt-x86pmap-base2:1.26
	yamt-x86pmap:1.26.0.60
	yamt-x86pmap-base:1.26
	jmcneill-pm:1.26.0.58
	jmcneill-pm-base:1.26
	hpcarm-cleanup:1.26.0.56
	hpcarm-cleanup-base:1.26
	mjf-ufs-trans-base:1.26
	yamt-idlelwp-base8:1.26
	reinoud-bufcleanup-base:1.26
	vmlocking:1.26.0.54
	vmlocking-base:1.26
	ad-audiomp:1.26.0.52
	ad-audiomp-base:1.26
	yamt-idlelwp:1.26.0.50
	post-newlock2-merge:1.26
	newlock2-nbase:1.26
	yamt-splraiseipl-base5:1.26
	yamt-splraiseipl-base4:1.26
	yamt-splraiseipl-base3:1.26
	yamt-splraiseipl-base2:1.26
	yamt-splraiseipl:1.26.0.48
	yamt-splraiseipl-base:1.26
	newlock2:1.26.0.46
	newlock2-base:1.26
	yamt-pdpolicy-base8:1.26
	yamt-pdpolicy-base7:1.26
	yamt-pdpolicy-base6:1.26
	gdamore-uart:1.26.0.44
	gdamore-uart-base:1.26
	simonb-timcounters-final:1.26
	yamt-pdpolicy-base5:1.26
	elad-kernelauth-nbase:1.26
	yamt-pdpolicy-base4:1.26
	yamt-pdpolicy-base3:1.26
	yamt-pdpolicy-base2:1.26
	yamt-pdpolicy:1.26.0.42
	yamt-pdpolicy-base:1.26
	yamt-uio_vmspace-base5:1.26
	simonb-timecounters:1.26.0.40
	simonb-timecounters-base:1.26
	rpaulo-netinet-merge-pcb:1.26.0.38
	rpaulo-netinet-merge-pcb-base:1.26
	yamt-uio_vmspace:1.26.0.36
	yamt-readahead-base3:1.26
	yamt-readahead-base2:1.26
	yamt-readahead:1.26.0.34
	yamt-readahead-base:1.26
	yamt-vop-base3:1.26
	yamt-vop-base2:1.26
	thorpej-vnode-attr:1.26.0.32
	thorpej-vnode-attr-base:1.26
	yamt-vop:1.26.0.30
	yamt-vop-base:1.26
	yamt-lazymbuf:1.26.0.28
	yamt-km-base4:1.26
	yamt-km-base3:1.26
	yamt-km-base2:1.26
	yamt-km:1.26.0.26
	yamt-km-base:1.26
	kent-audio2:1.26.0.24
	kent-audio2-base:1.26
	ktrace-lwp:1.26.0.22
	ktrace-lwp-base:1.26
	nathanw_sa_before_merge:1.26
	gmcgarry_ctxsw:1.26.0.20
	gmcgarry_ctxsw_base:1.26
	gmcgarry_ucred:1.26.0.18
	gmcgarry_ucred_base:1.26
	nathanw_sa_base:1.26
	gehenna-devsw:1.26.0.16
	gehenna-devsw-base:1.26
	eeh-devprop:1.26.0.14
	eeh-devprop-base:1.26
	newlock:1.26.0.12
	newlock-base:1.26
	ifpoll-base:1.26
	thorpej-mips-cache:1.26.0.8
	thorpej-mips-cache-base:1.26
	thorpej-devvp:1.26.0.6
	thorpej-devvp-base:1.26
	kqueue:1.26.0.4
	kqueue-base:1.26
	thorpej_scsipi_beforemerge:1.26
	thorpej_scsipi_nbase:1.26
	chs-ubc2-newbase:1.26
	fvdl-softdep-base:1.26
	thorpej_scsipi:1.26.0.2
	thorpej_scsipi_base:1.26
	netbsd-1-3-PATCH003:1.21
	netbsd-1-3-PATCH003-CANDIDATE2:1.21
	netbsd-1-3-PATCH003-CANDIDATE1:1.21
	netbsd-1-3-PATCH003-CANDIDATE0:1.21
	eeh-paddr_t:1.23.0.2
	eeh-paddr_t-base:1.23
	netbsd-1-3-PATCH002:1.21
	netbsd-1-3-PATCH001:1.21
	netbsd-1-3-RELEASE:1.21
	netbsd-1-3-BETA:1.21
	netbsd-1-3:1.21.0.2
	netbsd-1-3-base:1.21
	thorpej-signal:1.18.0.6
	thorpej-signal-base:1.18
	marc-pcmcia:1.18.0.4
	marc-pcmcia-bp:1.18
	marc-pcmcia-base:1.19
	bouyer-scsipi:1.18.0.2
	is-newarp-before-merge:1.16
	is-newarp:1.16.0.8
	is-newarp-base:1.16
	netbsd-1-2-PATCH001:1.16
	mrg-vm-swap:1.16.0.6
	thorpej-setroot:1.16.0.2
	netbsd-1-2-RELEASE:1.16
	netbsd-1-2-BETA:1.16
	netbsd-1-2:1.16.0.4
	netbsd-1-2-base:1.16
	date-03-may-96:1.1.1.1
	netbsd:1.1.1
	netbsd-1-1-PATCH001:1.13
	netbsd-1-1-RELEASE:1.13
	netbsd-1-1:1.13.0.2
	netbsd-1-1-base:1.13;
locks; strict;
comment	@# @;


1.26
date	98.10.01.02.03.17;	author erh;	state dead;
branches;
next	1.25;

1.25
date	98.09.11.12.50.09;	author mycroft;	state Exp;
branches;
next	1.24;

1.24
date	98.08.05.00.44.34;	author perry;	state Exp;
branches;
next	1.23;

1.23
date	98.02.20.18.09.04;	author mycroft;	state Exp;
branches;
next	1.22;

1.22
date	98.02.19.00.41.12;	author thorpej;	state Exp;
branches;
next	1.21;

1.21
date	97.10.16.23.53.07;	author christos;	state Exp;
branches
	1.21.2.1;
next	1.20;

1.20
date	97.10.15.17.18.38;	author mycroft;	state Exp;
branches;
next	1.19;

1.19
date	97.10.10.06.25.36;	author mycroft;	state Exp;
branches;
next	1.18;

1.18
date	97.06.13.17.30.19;	author thorpej;	state Exp;
branches
	1.18.4.1;
next	1.17;

1.17
date	97.04.07.14.13.19;	author augustss;	state Exp;
branches;
next	1.16;

1.16
date	96.05.20.01.59.35;	author fvdl;	state Exp;
branches
	1.16.6.1;
next	1.15;

1.15
date	95.12.18.14.35.10;	author fvdl;	state Exp;
branches;
next	1.14;

1.14
date	95.12.09.04.01.47;	author mycroft;	state Exp;
branches;
next	1.13;

1.13
date	95.10.07.06.27.15;	author mycroft;	state Exp;
branches;
next	1.12;

1.12
date	95.09.07.21.49.02;	author fvdl;	state Exp;
branches;
next	1.11;

1.11
date	95.08.27.20.51.53;	author fvdl;	state Exp;
branches;
next	1.10;

1.10
date	95.08.23.20.17.30;	author fvdl;	state Exp;
branches;
next	1.9;

1.9
date	95.08.21.03.42.12;	author mycroft;	state Exp;
branches;
next	1.8;

1.8
date	95.08.14.01.27.56;	author mycroft;	state Exp;
branches;
next	1.7;

1.7
date	95.07.24.06.35.58;	author fvdl;	state Exp;
branches;
next	1.6;

1.6
date	95.06.11.14.57.01;	author fvdl;	state Exp;
branches;
next	1.5;

1.5
date	95.05.06.18.16.40;	author mycroft;	state Exp;
branches;
next	1.4;

1.4
date	95.04.07.22.23.28;	author fvdl;	state Exp;
branches;
next	1.3;

1.3
date	95.03.10.22.55.14;	author fvdl;	state Exp;
branches;
next	1.2;

1.2
date	95.03.05.23.23.51;	author fvdl;	state Exp;
branches;
next	1.1;

1.1
date	95.02.28.23.26.26;	author fvdl;	state Exp;
branches;
next	;

1.21.2.1
date	99.02.02.07.17.40;	author cgd;	state Exp;
branches;
next	;

1.18.4.1
date	97.10.14.10.21.39;	author thorpej;	state Exp;
branches;
next	;

1.16.6.1
date	97.02.12.12.26.05;	author mrg;	state Exp;
branches;
next	;


desc
@@


1.26
log
@Move compat/linux/syscalls.master to i386.  Add a few syscalls while I'm here.
@
text
@	$NetBSD: syscalls.master,v 1.25 1998/09/11 12:50:09 mycroft Exp $

;	@@(#)syscalls.master	8.1 (Berkeley) 7/19/93

; NetBSD COMPAT_LINUX system call name/number "master" file.
; (See syscalls.conf to see what it is processed into.)
;
; Fields: number type [type-dependent ...]
;	number	system call number, must be in order
;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
;		the compatibility options defined in syscalls.conf.
;
; types:
;	STD	always included
;	OBSOL	obsolete, not included in system
;	UNIMPL	unimplemented, not included in system
;	NODEF	included, but don't define the syscall number
;	NOARGS	included, but don't define the syscall args structure
;
; The compat options are defined in the syscalls.conf file, and the
; compat option name is prefixed to the syscall name.  Other than
; that, they're like NODEF (for 'compat' options), or STD (for
; 'libcompat' options).
;
; The type-dependent arguments are as follows:
; For STD, NODEF, NOARGS, and compat syscalls:
;	{ pseudo-proto } [alias]
; For other syscalls:
;	[comment]
;
; #ifdef's, etc. may be included, and are copied to the output files.
; #include's are copied to the syscall names and switch definition files only.

#include <sys/param.h>
#include <sys/systm.h>
#include <sys/signal.h>
#include <sys/mount.h>
#include <sys/syscallargs.h>

#include <compat/linux/linux_types.h>
#include <compat/linux/linux_signal.h>
#include <compat/linux/linux_syscallargs.h>

#include <machine/linux_machdep.h>

0	NOARGS		{ int sys_nosys(void); } syscall
1	NOARGS		{ int sys_exit(int rval); }
2	NOARGS		{ int sys_fork(void); }
3	NOARGS		{ int sys_read(int fd, char *buf, u_int nbyte); }
4	NOARGS		{ int sys_write(int fd, char *buf, u_int nbyte); }
5	STD		{ int linux_sys_open(char *path, int flags, int mode); }
6	NOARGS		{ int sys_close(int fd); }
7	STD		{ int linux_sys_waitpid(int pid, int *status, \
			    int options);}
8	STD		{ int linux_sys_creat(char *path, int mode); }
9	NOARGS		{ int sys_link(char *path, char *link); }
10	STD		{ int linux_sys_unlink(char *path); }
11	STD		{ int linux_sys_execve(char *path, char **argp, \
			    char **envp); }
12	STD		{ int linux_sys_chdir(char *path); }
13	STD		{ int linux_sys_time(linux_time_t *t); }
14	STD		{ int linux_sys_mknod(char *path, int mode, int dev); }
15	STD		{ int linux_sys_chmod(char *path, int mode); }
16	STD		{ int linux_sys_chown(char *path, int uid, int gid); }
17	STD		{ int linux_sys_break(char *nsize); }
18	OBSOL		ostat
19	NOARGS		{ long compat_43_sys_lseek(int fd, long offset, \
			    int whence); }
20	NOARGS		{ pid_t sys_getpid(void); }
21	UNIMPL		mount
22	UNIMPL		umount
23	NOARGS		{ int sys_setuid(uid_t uid); }
24	NOARGS		{ uid_t sys_getuid(void); }
25	UNIMPL		stime
26	UNIMPL		ptrace
27	STD		{ int linux_sys_alarm(unsigned int secs); }
28	OBSOL		ofstat
29	STD		{ int linux_sys_pause(void); }
30	STD		{ int linux_sys_utime(char *path, \
			    struct linux_utimbuf *times); }
31	UNIMPL		stty
32	UNIMPL		gtty
33	STD		{ int linux_sys_access(char *path, int flags); }
34	STD		{ int linux_sys_nice(int incr); }
35	UNIMPL		ftime
36	NOARGS		{ int sys_sync(void); }
37	STD		{ int linux_sys_kill(int pid, int signum); }
38	STD		{ int linux_sys_rename(char *from, char *to); }
39	STD		{ int linux_sys_mkdir(char *path, int mode); }
40	STD		{ int linux_sys_rmdir(char *path); }
41	NOARGS		{ int sys_dup(u_int fd); }
42	STD		{ int linux_sys_pipe(int *pfds); }
43	STD		{ int linux_sys_times(struct times *tms); }
44	UNIMPL		prof
45	STD		{ int linux_sys_brk(char *nsize); }
46	NOARGS		{ int sys_setgid(gid_t gid); }
47	NOARGS		{ gid_t sys_getgid(void); }
48	STD		{ int linux_sys_signal(int sig, \
			    linux_handler_t handler); }
49	NOARGS		{ uid_t sys_geteuid(void); }
50	NOARGS		{ gid_t sys_getegid(void); }
51	NOARGS		{ int sys_acct(char *path); }
52	UNIMPL		phys
53	UNIMPL		lock
54	STD		{ int linux_sys_ioctl(int fd, u_long com, \
			    caddr_t data); }
55	STD		{ int linux_sys_fcntl(int fd, int cmd, void *arg); }
56	UNIMPL		mpx
57	NOARGS		{ int sys_setpgid(int pid, int pgid); }
58	UNIMPL		ulimit
59	STD		{ int linux_sys_oldolduname(struct linux_oldold_utsname *up); }
60	NOARGS		{ int sys_umask(int newmask); }
61	NOARGS		{ int sys_chroot(char *path); }
62	UNIMPL		ustat
63	NOARGS		{ int sys_dup2(u_int from, u_int to); }
64	NOARGS		{ pid_t sys_getppid(void); }
65	NOARGS		{ int sys_getpgrp(void); }
66	NOARGS		{ int sys_setsid(void); }
67	STD		{ int linux_sys_sigaction(int signum, \
			    const struct linux_sigaction *nsa, \
			    struct linux_sigaction *osa); }
68	STD		{ int linux_sys_siggetmask(void); }
69	STD		{ int linux_sys_sigsetmask(linux_sigset_t mask); }
70	STD		{ int linux_sys_setreuid(int ruid, int euid); }
71	STD		{ int linux_sys_setregid(int rgid, int egid); }
72	STD		{ int linux_sys_sigsuspend(caddr_t restart, \
			    int oldmask, int mask); }
73	STD		{ int linux_sys_sigpending( \
			    linux_sigset_t *set); }
74	NOARGS		{ int compat_43_sys_sethostname(char *hostname, \
			    u_int len);}
75	NOARGS		{ int compat_43_sys_setrlimit(u_int which, \
			    struct orlimit *rlp); }
76	NOARGS		{ int compat_43_sys_getrlimit(u_int which, \
			    struct orlimit *rlp); }
77	NOARGS		{ int sys_getrusage(int who, struct rusage *rusage); }
78	NOARGS		{ int sys_gettimeofday(struct timeval *tp, \
			    struct timezone *tzp); }
79	NOARGS		{ int sys_settimeofday(struct timeval *tp, \
			    struct timezone *tzp); }
80	NOARGS		{ int sys_getgroups(u_int gidsetsize, gid_t *gidset); }
81	NOARGS		{ int sys_setgroups(u_int gidsetsize, gid_t *gidset); }
82	STD		{ int linux_sys_oldselect(struct linux_select *lsp); }
83	STD		{ int linux_sys_symlink(char *path, char *to); }
84	NOARGS		{ int compat_43_sys_lstat(char *path, \
			    struct stat43 *up); } oolstat
85	STD		{ int linux_sys_readlink(char *name, char *buf, \
			    int count); }
86	STD		{ int linux_sys_uselib(char *path); }
87	NOARGS		{ int compat_12_sys_swapon(char *name); }
88	NOARGS		{ int sys_reboot(int opt); }
89	STD		{ int linux_sys_readdir(int fd, caddr_t dent, \
			    unsigned int count); }
90	STD		{ int linux_sys_mmap(struct linux_mmap *lmp); }
91	NOARGS		{ int sys_munmap(caddr_t addr, int len); }
92	STD		{ int linux_sys_truncate(char *path, long length); }
93	NOARGS		{ int compat_43_sys_ftruncate(int fd, long length); }
94	NOARGS		{ int sys_fchmod(int fd, int mode); }
95	STD		{ int linux_sys_fchown(int fd, int uid, int gid); }
96	NOARGS		{ int sys_getpriority(int which, int who); }
97	NOARGS		{ int sys_setpriority(int which, int who, int prio); }
98	NOARGS		{ int sys_profil(caddr_t samples, u_int size, \
			    u_int offset, u_int scale); }
99	STD		{ int linux_sys_statfs(char *path, \
			    struct linux_statfs *sp); }
100	STD		{ int linux_sys_fstatfs(int fd, \
			    struct linux_statfs *sp); }
#ifdef __i386__
101	STD		{ int linux_sys_ioperm(unsigned int lo, \
			    unsigned int hi, int val); }
#else
101	UNIMPL		ioperm
#endif
102	STD		{ int linux_sys_socketcall(int what, void *args); }
103	UNIMPL		klog
104	NOARGS		{ int sys_setitimer(u_int which, \
			    struct itimerval *itv, struct itimerval *oitv); }
105	NOARGS		{ int sys_getitimer(u_int which, \
			    struct itimerval *itv); }
106	STD		{ int linux_sys_stat(char *path, \
			    struct linux_stat *sp); }
107	STD		{ int linux_sys_lstat(char *path, \
			    struct linux_stat *sp); }
108	STD		{ int linux_sys_fstat(int fd, struct linux_stat *sp); }
109	STD		{ int linux_sys_olduname(struct linux_old_utsname *up); }
#ifdef __i386__
110	STD		{ int linux_sys_iopl(int level); }
#else
110	UNIMPL		iopl
#endif
111	UNIMPL		vhangup
112	UNIMPL		idle
113	UNIMPL		vm86
114	STD		{ int linux_sys_wait4(int pid, int *status, \
			    int options, struct rusage *rusage); }
115	UNIMPL		swapoff
116	UNIMPL		sysinfo
117	STD		{ int linux_sys_ipc(int what, int a1, int a2, int a3, \
			    caddr_t ptr); }
118	NOARGS		{ int sys_fsync(int fd); }
119	STD		{ int linux_sys_sigreturn(struct linux_sigcontext *scp); }
120	UNIMPL		clone
121	NOARGS		{ int compat_09_sys_setdomainname(char *name, \
			    int len); }
122	STD		{ int linux_sys_uname(struct linux_utsname *up); }
#ifdef __i386__
123	STD		{ int linux_sys_modify_ldt(int func, void *ptr, \
			    size_t bytecount); }
#else
123	UNIMPL		modify_ldt
#endif
124	UNIMPL		adjtimex
125	NOARGS		{ int sys_mprotect(caddr_t addr, int len, int prot); }
126	STD		{ int linux_sys_sigprocmask(int how, \
			    const linux_sigset_t *set, \
			    linux_sigset_t *oset); }
127	UNIMPL		create_module
128	UNIMPL		init_module
129	UNIMPL		delete_module
130	UNIMPL		get_kernel_syms
131	UNIMPL		quotactl
132	STD		{ int linux_sys_getpgid(int pid); }
133	NOARGS		{ int sys_fchdir(int fd); }
134	UNIMPL		bdflush
135	UNIMPL		sysfs
136	STD		{ int linux_sys_personality(int per); }
137	UNIMPL		afs_syscall
138	UNIMPL		setfsuid
139	UNIMPL		getfsuid
140	STD		{ int linux_sys_llseek(int fd, u_int32_t ohigh, \
			    u_int32_t olow, caddr_t res, int whence); }
141	STD		{ int linux_sys_getdents(int fd, void *dirent, \
			    unsigned count); }
142	STD		{ int linux_sys_select(int nfds, fd_set *readfds, \
			    fd_set *writefds, fd_set *exceptfds, \
			    struct timeval *timeout); }
143	NOARGS		{ int sys_flock(int fd, int how); }
144	STD		{ int linux_sys_msync(caddr_t addr, int len, int fl); }
145	NOARGS		{ int sys_readv(int fd, struct iovec *iovp, \
				u_int iovcnt); }
146	NOARGS		{ int sys_writev(int fd, struct iovec *iovp, \
				u_int iovcnt); }
147	NOARGS		{ pid_t sys_getsid(pid_t pid); }
148	STD		{ int linux_sys_fdatasync(int fd); }
149	STD		{ int linux_sys___sysctl(struct linux___sysctl *lsp); }
150	NOARGS		{ int sys_mlock(caddr_t addr, size_t len); }
151	NOARGS		{ int sys_munlock(caddr_t addr, size_t len); }
152	UNIMPL		mlockall
153	UNIMPL		munlockall
154	UNIMPL		sched_setparam
155	UNIMPL		sched_getparam
156	UNIMPL		sched_setscheduler
157	UNIMPL		sched_getscheduler
158	UNIMPL		sched_yield
159	UNIMPL		sched_get_priority_max
160	UNIMPL		sched_get_priority_min
161	UNIMPL		sched_rr_get_interval
162	NOARGS		{ int sys_nanosleep(const struct timespec *rqtp, \
				struct timespec *rmtp); }
163	STD		{ void *linux_sys_mremap(void *old_address, \
			    size_t old_size, size_t new_size, u_long flags); }
@


1.25
log
@Substantial signal handling changes:
* Increase the size of sigset_t to accomodate 128 signals -- adding new
  versions of sys_setprocmask(), sys_sigaction(), sys_sigpending() and
  sys_sigsuspend() to handle the changed arguments.
* Abstract the guts of sys_sigaltstack(), sys_setprocmask(), sys_sigaction(),
  sys_sigpending() and sys_sigsuspend() into separate functions, and call them
  from all the emulations rather than hard-coding everything.  (Avoids uses
  the stackgap crap for these system calls.)
* Add a new flag (p_checksig) to indicate that a process may have signals
  pending and userret() needs to do the full (slow) check.
* Eliminate SAS_ALTSTACK; it's exactly the inverse of SS_DISABLE.
* Correct emulation bugs with restoring SS_ONSTACK.
* Make the signal mask in the sigcontext always use the emulated mask format.
* Store signals internally in sigaction structures, rather than maintaining a
  bunch of little sigsets for each SA_* bit.
* Keep track of where we put the signal trampoline, rather than figuring it out
  in *_sendsig().
* Issue a warning when a non-emulated sigaction bit is observed.
* Add missing emulated signals, and a native SIGPWR (currently not used).
* Implement the `not reset when caught' semantics for relevant signals.

Note: Only code touched by the i386 port has been modified.  Other ports and
emulations need to be updated.
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.24 1998/08/05 00:44:34 perry Exp $
@


1.24
log
@enable nanosleep in linux emul, per pr-5906 from Soren S. Jorvang
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.23 1998/02/20 18:09:04 mycroft Exp $
d120 1
a120 1
			    struct linux_sigaction *nsa, \
d128 2
a129 1
73	STD		{ int linux_sys_sigpending(linux_sigset_t *mask); }
d215 2
a216 1
			    linux_sigset_t *set, linux_sigset_t *oset); }
@


1.23
log
@Linux's getsid(2) does in fact return a pid, not a pointer.
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.22 1998/02/19 00:41:12 thorpej Exp $
d256 2
a257 1
162	UNIMPL		nanosleep
@


1.22
log
@Change a comment to reflect new makesyscalls.sh behavior.
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.21 1997/10/16 23:53:07 christos Exp $
d241 1
a241 1
147	STD		{ int linux_sys_getsid(int pid); }
@


1.21
log
@ostat -> stat43
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.20 1997/10/15 17:18:38 mycroft Exp $
d32 1
a32 1
; #include's are copied to the syscall switch definition file only.
@


1.21.2.1
log
@pull up rev 1.24 from trunk (drochner)
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.21 1997/10/16 23:53:07 christos Exp $
d256 1
a256 2
162	NOARGS		{ int sys_nanosleep(const struct timespec *rqtp, \
				struct timespec *rmtp); }
@


1.20
log
@Fix a typo inherited from kern/syscalls.master.
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.19 1997/10/10 06:25:36 mycroft Exp $
d145 1
a145 1
			    struct ostat *up); } olstat
@


1.19
log
@Emulate mremap(2) by returning ENOMEM for now.  This should be sufficient for
realloc(3) and other uses.  From Matthias Scheler in PR 3920.
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.18 1997/06/13 17:30:19 thorpej Exp $
d132 1
a132 1
			    struct ogetrlimit *rlp); }
d134 1
a134 1
			    struct ogetrlimit *rlp); }
@


1.18
log
@Use compat_12_sys_swapon().
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.17 1997/04/07 14:13:19 augustss Exp $
d257 2
a258 1
163	UNIMPL		mremap
@


1.18.4.1
log
@Update marc-pcmcia branch from trunk.
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.19 1997/10/10 06:25:36 mycroft Exp $
d257 1
a257 2
163	STD		{ void *linux_sys_mremap(void *old_address, \
			    size_t old_size, size_t new_size, u_long flags); }
@


1.17
log
@Add Linux nice() syscall.
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.16 1996/05/20 01:59:35 fvdl Exp $
d149 1
a149 1
87	NOARGS		{ int sys_swapon(char *name); }
@


1.16
log
@Update list of Linux syscalls and implement the ones that are likely to be
used and doable.
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.15 1995/12/18 14:35:10 fvdl Exp $
d84 1
a84 1
34	UNIMPL		nice
@


1.16.6.1
log
@initial work for dynamic swap additions.
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.16 1996/05/20 01:59:35 fvdl Exp $
d149 1
a149 1
87	NOARGS		{ int compat_12_sys_swapon(char *name); }
@


1.15
log
@msync, readv and writev were recently added to the Linux kernel; add them
to the emulation as well.
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.14 1995/12/09 04:01:47 mycroft Exp $
d241 17
@


1.14
log
@We don't need a private version of fork() here any more.
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.13 1995/10/07 06:27:15 mycroft Exp $
d236 5
@


1.13
log
@Prefix names of system call implementation functions with `sys_'.
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.12 1995/09/07 21:49:02 fvdl Exp $
d48 1
a48 1
2	STD		{ int linux_sys_fork(void); }
@


1.12
log
@Fix some bugs & typing problems.
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.11 1995/08/27 20:51:53 fvdl Exp $
d39 1
d43 1
d46 106
a151 97
0	NOARGS		{ int nosys(void); } syscall
1	NOARGS		{ int exit(int rval); }
2	STD		{ int linux_fork(void); }
3	NOARGS		{ int read(int fd, char *buf, u_int nbyte); }
4	NOARGS		{ int write(int fd, char *buf, u_int nbyte); }
5	STD		{ int linux_open(char *path, int flags, int mode); }
6	NOARGS		{ int close(int fd); }
7	STD		{ int linux_waitpid(int pid, int *status, int options);}
8	STD		{ int linux_creat(char *path, int mode); }
9	NOARGS		{ int link(char *path, char *link); }
10	STD		{ int linux_unlink(char *path); }
11	STD		{ int linux_execve(char *path, char **argp, char **envp); }
12	STD		{ int linux_chdir(char *path); }
13	STD		{ int linux_time(linux_time_t *t); }
14	STD		{ int linux_mknod(char *path, int mode, int dev); }
15	STD		{ int linux_chmod(char *path, int mode); }
16	STD		{ int linux_chown(char *path, int uid, int gid); }
17	STD		{ int linux_break(char *nsize); }
18	OBSOL		linux_ostat
19	NOARGS		{ long compat_43_lseek(int fd, long offset, int whence); }
20	NOARGS		{ pid_t getpid(void); }
21	UNIMPL		linux_mount
22	UNIMPL		linux_umount
23	NOARGS		{ int setuid(uid_t uid); }
24	NOARGS		{ uid_t getuid(void); }
25	UNIMPL		linux_stime
26	UNIMPL		linux_ptrace
27	STD		{ int linux_alarm(unsigned int secs); }
28	OBSOL		linux_ofstat
29	STD		{ int linux_pause(void); }
30	STD		{ int linux_utime(char *path, struct linux_utimbuf *times); }
31	UNIMPL		linux_stty
32	UNIMPL		linux_gtty
33	STD		{ int linux_access(char *path, int flags); }
34	UNIMPL		linux_nice
35	UNIMPL		linux_ftime
36	NOARGS		{ int sync(void); }
37	STD		{ int linux_kill(int pid, int signum); }
38	STD		{ int linux_rename(char *from, char *to); }
39	STD		{ int linux_mkdir(char *path, int mode); }
40	STD		{ int linux_rmdir(char *path); }
41	NOARGS		{ int dup(u_int fd); }
42	STD		{ int linux_pipe(int *pfds); }
43	STD		{ int linux_times(struct times *tms); }
44	UNIMPL		linux_prof
45	STD		{ int linux_brk(char *nsize); }
46	NOARGS		{ int setgid(gid_t gid); }
47	NOARGS		{ gid_t getgid(void); }
48	STD		{ int linux_signal(int sig, linux_handler_t handler); }
49	NOARGS		{ uid_t geteuid(void); }
50	NOARGS		{ gid_t getegid(void); }
51	NOARGS		{ int acct(char *path); }
52	UNIMPL		linux_phys
53	UNIMPL		linux_lock
54	STD		{ int linux_ioctl(int fd, u_long com, caddr_t data); }
55	STD		{ int linux_fcntl(int fd, int cmd, void *arg); }
56	UNIMPL		linux_mpx
57	NOARGS		{ int setpgid(int pid, int pgid); }
58	UNIMPL		linux_ulimit
59	STD		{ int linux_oldolduname(struct linux_oldold_utsname *up); }
60	NOARGS		{ int umask(int newmask); }
61	NOARGS		{ int chroot(char *path); }
62	UNIMPL		linux_ustat
63	NOARGS		{ int dup2(u_int from, u_int to); }
64	NOARGS		{ pid_t getppid(void); }
65	NOARGS		{ int getpgrp(void); }
66	NOARGS		{ int setsid(void); }
67	STD		{ int linux_sigaction(int signum, \
				struct linux_sigaction *nsa,\
				struct linux_sigaction *osa); }
68	STD		{ int linux_siggetmask(void); }
69	STD		{ int linux_sigsetmask(linux_sigset_t mask); }
70	STD		{ int linux_setreuid(int ruid, int euid); }
71	STD		{ int linux_setregid(int rgid, int egid); }
72	STD		{ int linux_sigsuspend(caddr_t restart, int oldmask, \
				int mask); }
73	STD		{ int linux_sigpending(linux_sigset_t *mask); }
74	NOARGS		{ int compat_43_sethostname(char *hostname, u_int len);}
75	NOARGS		{ int compat_43_setrlimit(u_int which, \
				struct ogetrlimit *rlp); }
76	NOARGS		{ int compat_43_getrlimit(u_int which, \
				struct ogetrlimit *rlp); }
77	NOARGS		{ int getrusage(int who, struct rusage *rusage); }
78	NOARGS		{ int gettimeofday(struct timeval *tp, \
				struct timezone *tzp); }
79	NOARGS		{ int settimeofday(struct timeval *tp, \
				struct timezone *tzp); }
80	NOARGS		{ int getgroups(u_int gidsetsize, gid_t *gidset); }
81	NOARGS		{ int setgroups(u_int gidsetsize, gid_t *gidset); }
82	STD		{ int linux_oldselect(struct linux_select *lsp); }
83	STD		{ int linux_symlink(char *path, char *to); }
84	NOARGS		{ int compat_43_lstat(char *path, struct ostat *up); }
85	STD		{ int linux_readlink(char *name, char *buf, int count); }
86	STD		{ int linux_uselib(char *path); }
87	NOARGS		{ int swapon(char *name); }
88	NOARGS		{ int reboot(int opt); }
89	STD		{ int linux_readdir(int fd, struct linux_dirent *dent, \
d153 14
a166 12
90	STD		{ int linux_mmap(struct linux_mmap *lmp); }
91	NOARGS		{ int munmap(caddr_t addr, int len); }
92	STD		{ int linux_truncate(char *path, long length); }
93	NOARGS		{ int compat_43_ftruncate(int fd, long length); }
94	NOARGS		{ int fchmod(int fd, int mode); }
95	STD		{ int linux_fchown(int fd, int uid, int gid); }
96	NOARGS		{ int getpriority(int which, int who); }
97	NOARGS		{ int setpriority(int which, int who, int prio); }
98	NOARGS		{ int profil(caddr_t samples, u_int size, \
				u_int offset, u_int scale); }
99	STD		{ int linux_statfs(char *path, struct linux_statfs *sp); }
100	STD		{ int linux_fstatfs(int fd, struct linux_statfs *sp); }
d168 2
a169 2
101	STD		{ int linux_ioperm(unsigned int lo, unsigned int hi, \
				int val); }
d171 1
a171 1
101	UNIMPL		linux_ioperm
d173 12
a184 9
102	STD		{ int linux_socketcall(int what, void *args); }
103	UNIMPL		linux_klog
104	NOARGS		{ int setitimer(u_int which, struct itimerval *itv, \
			    struct itimerval *oitv); }
105	NOARGS		{ int getitimer(u_int which, struct itimerval *itv); }
106	STD		{ int linux_stat(char *path, struct linux_stat *sp); }
107	STD		{ int linux_lstat(char *path, struct linux_stat *sp); }
108	STD		{ int linux_fstat(int fd, struct linux_stat *sp); }
109	STD		{ int linux_olduname(struct linux_old_utsname *up); }
d186 1
a186 1
110	STD		{ int linux_iopl(int level); }
d188 1
a188 1
110	UNIMPL		linux_iopl
d190 15
a204 14
111	UNIMPL		linux_vhangup
112	UNIMPL		linux_idle
113	UNIMPL		linux_vm86
114	STD		{ int linux_wait4(int pid, int *status, int options, \
				struct rusage *rusage); }
115	UNIMPL		linux_swapoff
116	UNIMPL		linux_sysinfo
117	STD		{ int linux_ipc(int what, int a1, int a2, int a3, \
				caddr_t ptr); }
118	NOARGS		{ int fsync(int fd); }
119	STD		{ int linux_sigreturn(struct linux_sigcontext *scp); }
120	UNIMPL		linux_clone
121	NOARGS		{ int compat_09_setdomainname(char *name, int len); }
122	STD		{ int linux_uname(struct linux_utsname *up); }
d206 2
a207 2
123	STD		{ int linux_modify_ldt(int func, void *ptr, \
				size_t bytecount); }
d209 1
a209 1
123	UNIMPL		linux_modify_ldt
d211 25
a235 25
124	UNIMPL		linux_adjtimex
125	NOARGS		{ int mprotect(caddr_t addr, int len, int prot); }
126	STD		{ int linux_sigprocmask(int how, linux_sigset_t *set, \
				linux_sigset_t *oset); }
127	UNIMPL		linux_create_module
128	UNIMPL		linux_init_module
129	UNIMPL		linux_delete_module
130	UNIMPL		linux_get_kernel_syms
131	UNIMPL		linux_quotactl
132	STD		{ int linux_getpgid(int pid); }
133	NOARGS		{ int fchdir(int fd); }
134	UNIMPL		linux_bdflush
135	UNIMPL		linux_sysfs
136	STD		{ int linux_personality(int per); }
137	UNIMPL		linux_afs_syscall
138	UNIMPL		linux_setfsuid
139	UNIMPL		linux_getfsuid
140	STD		{ int linux_llseek(int fd, u_int32_t ohigh, \
				u_int32_t olow, caddr_t res, int whence); }
141	STD		{ int linux_getdents(int fd, void *dirent, \
				unsigned count); }
142	STD		{ int linux_select(int nfds, fd_set *readfds, \
				fd_set *writefds, fd_set *exceptfds, \
				struct timeval *timeout); }
143	NOARGS		{ int flock(int fd, int how); }
@


1.11
log
@Add a hook for MD ioctl calls, plus a couple of more changes to make
svgalib binaries work on the i386
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.9 1995/08/21 03:42:12 mycroft Exp $
d90 1
a90 1
46	NOARGS		{ int setgid(uid_t gid); }
d116 2
a117 2
70	NOARGS		{ int compat_43_setreuid(int ruid, int euid); }
71	NOARGS		{ int compat_43_setregid(int rgid, int egid); }
d147 1
a147 1
95	NOARGS		{ int fchown(int fd, int uid, int gid); }
@


1.10
log
@Emulate some syscalls that appear in Linux 1.3: a select() with normal args,
getdents() and flock().
@
text
@d154 4
d159 1
d169 3
d173 1
@


1.9
log
@Implement the old and older uname(2) calls.
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.8 1995/08/14 01:27:56 mycroft Exp $
d133 1
a133 1
82	STD		{ int linux_select(struct linux_select *lsp); }
d204 6
@


1.8
log
@Rearrange #includes.
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.7 1995/07/24 06:35:58 fvdl Exp $
d103 1
a103 1
59	UNIMPL		linux_oldolduname
d163 1
a163 1
109	UNIMPL		linux_olduname
@


1.7
log
@mkdir() has 2 arguments.. fixes PR 1248 (from Brad Spencer)
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.6 1995/06/11 14:57:01 fvdl Exp $
d40 2
a42 1
#include <compat/linux/linux_syscallargs.h>
@


1.6
log
@* Make Linux ELF binaries work. Lots of code duplication, but it will have to do
  for now.
* Add a sanity check in linux_uselib
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.5 1995/05/06 18:16:40 mycroft Exp $
d82 1
a82 1
39	STD		{ int linux_mkdir(char *path); }
@


1.5
log
@Add linux_modify_ldt(), if __i386__.
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.4 1995/04/07 22:23:28 fvdl Exp $
d197 1
a197 1
136	UNIMPL		linux_personality
@


1.4
log
@Handle Linux signal tramp code differently. Some changes because of the
now seperate Linux signal trampoline code. Add linux_sigreturn to
syscalls.master.
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.3 1995/03/10 22:55:14 fvdl Exp $
d178 4
d183 1
@


1.3
log
@Add the Linux pause() system call. Fix the arguments to sigsuspend().
@
text
@d1 1
a1 1
	$NetBSD: syscalls.master,v 1.1 1995/02/28 23:26:26 fvdl Exp $
d40 1
d174 1
a174 1
119	UNIMPL		linux_sigreturn
@


1.2
log
@Added a few more system calls.
More consistent alternate root file semantics throughout.
@
text
@d71 1
a71 1
29	UNIMPL		linux_pause
d116 2
a117 1
72	STD		{ int linux_sigsuspend(int mask); }
@


1.1
log
@Added Linux compat code.
@
text
@d1 1
a1 1
	$NetBSD$
d52 1
a52 1
10	NOARGS		{ int unlink(char *path); }
d54 1
a54 1
12	NOARGS		{ int chdir(char *path); }
d56 3
a58 3
14	NOARGS		{ int mknod(char *path, int mode, int dev); }
15	NOARGS		{ int chmod(char *path, int mode); }
16	NOARGS		{ int chown(char *path, int uid, int gid); }
d80 3
a82 3
38	NOARGS		{ int rename(char *from, char *to); }
39	NOARGS		{ int mkdir(char *path); }
40	NOARGS		{ int rmdir(char *path); }
d131 1
a131 1
83	NOARGS		{ int symlink(char *path, char *to); }
d133 1
a133 1
85	NOARGS		{ int readlink(char *name, char *buf, int count); }
d141 1
a141 1
92	NOARGS		{ int compat_43_truncate(char *path, long length); }
d150 1
a150 1
100	STD		{ int linux_fstatfs(char *path, struct linux_statfs *sp); }
d192 4
@
