Moved via repository copy

This commit is contained in:
christos 1998-10-03 18:47:24 +00:00
parent a7ed63d0ee
commit 5bc85e96b4
25 changed files with 0 additions and 3987 deletions

View File

@ -1,11 +0,0 @@
# $NetBSD: Makefile,v 1.1 1998/10/01 00:28:33 erh Exp $
KDIR= /sys/compat/linux/i386
INCSDIR= /usr/include/compat/linux/i386
INCS= linux_errno.h linux_exec.h linux_fcntl.h linux_machdep.h linux_mmap.h \
linux_signal.h linux_socket.h linux_syscall.h linux_syscallargs.h \
linux_types.h
.include <../Makefile.sc>
.include <bsd.kinc.mk>

View File

@ -1,23 +0,0 @@
# $NetBSD: files.linux_i386,v 1.1 1998/10/01 00:29:11 erh Exp $
#
# Config file description for i386-dependent Linux compat code.
file compat/linux/i386/linux_machdep.c compat_linux
file compat/linux/i386/linux_syscalls.c compat_linux
file compat/linux/i386/linux_sysent.c compat_linux
file compat/linux/i386/linux_sigarray.c compat_linux
file compat/linux/multiarch/linux_pipe.c compat_linux
file compat/linux/multiarch/linux_ipccall.c compat_linux
file compat/linux/multiarch/linux_misc_notalpha.c compat_linux
file compat/linux/multiarch/linux_sig_notalpha.c compat_linux
file compat/linux/multiarch/linux_sigaction.c compat_linux
file compat/linux/multiarch/linux_socketcall.c compat_linux
file compat/linux/multiarch/linux_llseek.c compat_linux
file compat/linux/multiarch/linux_break.c compat_linux
file compat/linux/multiarch/linux_oldmmap.c compat_linux
file compat/linux/multiarch/linux_oldselect.c compat_linux
file compat/linux/multiarch/linux_olduname.c compat_linux
file compat/linux/multiarch/linux_oldolduname.c compat_linux

View File

@ -1,162 +0,0 @@
/* $NetBSD: linux_errno.h,v 1.2 1998/10/01 01:03:38 erh Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
* by Eric Haszlakiewicz.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the NetBSD
* Foundation, Inc. and its contributors.
* 4. Neither the name of The NetBSD Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/*
* Copyright (c) 1995 Frank van der Linden
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed for the NetBSD Project
* by Frank van der Linden
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _I386_LINUX_ERRNO_H
#define _I386_LINUX_ERRNO_H
/* Use common/linux_errno.h for #1-35 */
#define LINUX_ENAMETOOLONG 36
#define LINUX_ENOLCK 37
#define LINUX_ENOSYS 38
#define LINUX_ENOTEMPTY 39
#define LINUX_ELOOP 40
#define LINUX_ENOMSG 42
#define LINUX_EIDRM 43
#define LINUX_ECHRNG 44
#define LINUX_EL2NSYNC 45
#define LINUX_EL3HLT 46
#define LINUX_EL3RST 47
#define LINUX_ELNRNG 48
#define LINUX_EUNATCH 49
#define LINUX_ENOCSI 50
#define LINUX_EL2HLT 51
#define LINUX_EBADE 52
#define LINUX_EBADR 53
#define LINUX_EXFULL 54
#define LINUX_ENOANO 55
#define LINUX_EBADRQC 56
#define LINUX_EBADSLT 57
#define LINUX_EDEADLOCK 58
#define LINUX_EBFONT 59
#define LINUX_ENOSTR 60
#define LINUX_ENODATA 61
#define LINUX_ETIME 62
#define LINUX_ENOSR 63
#define LINUX_ENONET 64
#define LINUX_ENOPKG 65
#define LINUX_EREMOTE 66
#define LINUX_ENOLINK 67
#define LINUX_EADV 68
#define LINUX_ESRMNT 69
#define LINUX_ECOMM 70
#define LINUX_EPROTO 71
#define LINUX_EMULTIHOP 72
#define LINUX_EDOTDOT 73
#define LINUX_EBADMSG 74
#define LINUX_EOVERFLOW 75
#define LINUX_ENOTUNIQ 76
#define LINUX_EBADFD 77
#define LINUX_EREMCHG 78
#define LINUX_ELIBACC 79
#define LINUX_ELIBBAD 80
#define LINUX_ELIBSCN 81
#define LINUX_ELIBMAX 82
#define LINUX_ELIBEXEC 83
#define LINUX_EILSEQ 84
#define LINUX_ERESTART 85
#define LINUX_ESTRPIPE 86
#define LINUX_EUSERS 87
#define LINUX_ENOTSOCK 88
#define LINUX_EDESTADDRREQ 89
#define LINUX_EMSGSIZE 90
#define LINUX_EPROTOTYPE 91
#define LINUX_ENOPROTOOPT 92
#define LINUX_EPROTONOSUPPORT 93
#define LINUX_ESOCKTNOSUPPORT 94
#define LINUX_EOPNOTSUPP 95
#define LINUX_EPFNOSUPPORT 96
#define LINUX_EAFNOSUPPORT 97
#define LINUX_EADDRINUSE 98
#define LINUX_EADDRNOTAVAIL 99
#define LINUX_ENETDOWN 100
#define LINUX_ENETUNREACH 101
#define LINUX_ENETRESET 102
#define LINUX_ECONNABORTED 103
#define LINUX_ECONNRESET 104
#define LINUX_ENOBUFS 105
#define LINUX_EISCONN 106
#define LINUX_ENOTCONN 107
#define LINUX_ESHUTDOWN 108
#define LINUX_ETOOMANYREFS 109
#define LINUX_ETIMEDOUT 110
#define LINUX_ECONNREFUSED 111
#define LINUX_EHOSTDOWN 112
#define LINUX_EHOSTUNREACH 113
#define LINUX_EALREADY 114
#define LINUX_EINPROGRESS 115
#define LINUX_ESTALE 116
#define LINUX_EUCLEAN 117
#define LINUX_ENOTNAM 118
#define LINUX_ENAVAIL 119
#define LINUX_EISNAM 120
#define LINUX_EREMOTEIO 121
#define LINUX_EDQUOT 122
#endif /* !_I386_LINUX_ERRNO_H */

View File

@ -1,45 +0,0 @@
/* $NetBSD: linux_exec.h,v 1.1 1998/10/01 02:09:12 erh Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
* by Eric Haszlakiewicz.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the NetBSD
* Foundation, Inc. and its contributors.
* 4. Neither the name of The NetBSD Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _I386_LINUX_EXEC_H
#define _I386_LINUX_EXEC_H
#define LINUX_M_I386 100
#define LINUX_MID_MACHINE LINUX_M_I386
#endif /* !_I386_LINUX_EXEC_H */

View File

@ -1,109 +0,0 @@
/* $NetBSD: linux_fcntl.h,v 1.2 1998/10/01 01:16:43 erh Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
* by Eric Haszlakiewicz.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the NetBSD
* Foundation, Inc. and its contributors.
* 4. Neither the name of The NetBSD Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/*
* Copyright (c) 1995 Frank van der Linden
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed for the NetBSD Project
* by Frank van der Linden
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
* Various flag values used in Linux for open(2) and fcntl(2).
*/
#ifndef _I386_LINUX_FCNTL_H
#define _I386_LINUX_FCNTL_H
/* read/write mode for open(2) defined in common/linux_fcntl.h */
/* flags used in open(2) */
#define LINUX_O_CREAT 0x0040
#define LINUX_O_EXCL 0x0080
#define LINUX_O_NOCTTY 0x0100
#define LINUX_O_TRUNC 0x0200
#define LINUX_O_APPEND 0x0400
#define LINUX_O_NDELAY 0x0800
#define LINUX_O_SYNC 0x1000
#define LINUX_FASYNC 0x2000
/* fcntl(2) operations */
#define LINUX_F_DUPFD 0
#define LINUX_F_GETFD 1
#define LINUX_F_SETFD 2
#define LINUX_F_GETFL 3
#define LINUX_F_SETFL 4
#define LINUX_F_GETLK 5
#define LINUX_F_SETLK 6
#define LINUX_F_SETLKW 7
#define LINUX_F_SETOWN 8
#define LINUX_F_GETOWN 9
#define LINUX_F_RDLCK 0
#define LINUX_F_WRLCK 1
#define LINUX_F_UNLCK 2
#define LINUX_LOCK_EX 4
#define LINUX_LOCK_SH 8
#endif /* !_I386_LINUX_FCNTL_H */

View File

@ -1,75 +0,0 @@
/* $NetBSD: linux_ioctl.h,v 1.8 1998/10/01 01:33:04 erh Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
* by Eric Haszlakiewicz.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the NetBSD
* Foundation, Inc. and its contributors.
* 4. Neither the name of The NetBSD Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/*
* Copyright (c) 1995 Frank van der Linden
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed for the NetBSD Project
* by Frank van der Linden
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _I386_LINUX_IOCTL_H
#define _I386_LINUX_IOCTL_H
#define _LINUX_IO(x,y) (((x) << 8) | (y))
#define LINUX_IOCGROUP(x) (((x) >> 8) & 0xff)
#endif /* !_I386_LINUX_IOCTL_H */

View File

@ -1,718 +0,0 @@
/* $NetBSD: linux_machdep.c,v 1.43 1998/10/01 02:17:31 erh Exp $ */
/*
* Copyright (c) 1995 Frank van der Linden
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed for the NetBSD Project
* by Frank van der Linden
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "opt_vm86.h"
#include "opt_user_ldt.h"
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/signalvar.h>
#include <sys/kernel.h>
#include <sys/map.h>
#include <sys/proc.h>
#include <sys/user.h>
#include <sys/buf.h>
#include <sys/reboot.h>
#include <sys/conf.h>
#include <sys/exec.h>
#include <sys/file.h>
#include <sys/callout.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/msgbuf.h>
#include <sys/mount.h>
#include <sys/vnode.h>
#include <sys/device.h>
#include <sys/syscallargs.h>
#include <sys/filedesc.h>
#include <sys/exec_elf.h>
#include <compat/linux/linux_types.h>
#include <compat/linux/linux_signal.h>
#include <compat/linux/linux_syscallargs.h>
#include <compat/linux/linux_util.h>
#include <compat/linux/linux_ioctl.h>
#include <compat/linux/linux_exec.h>
#include <compat/linux/linux_machdep.h>
#include <machine/cpu.h>
#include <machine/cpufunc.h>
#include <machine/psl.h>
#include <machine/reg.h>
#include <machine/segments.h>
#include <machine/specialreg.h>
#include <machine/sysarch.h>
#include <machine/vm86.h>
#include <machine/vmparam.h>
/*
* To see whether pcvt is configured (for virtual console ioctl calls).
*/
#ifndef NVT
#include "vt.h"
#endif
#if NVT > 0
#include <arch/i386/isa/pcvt/pcvt_ioctl.h>
#endif
#include "wsdisplay.h"
#if (NWSDISPLAY > 0)
#include <sys/ioctl.h>
#include <dev/wscons/wsdisplay_usl_io.h>
#include "opt_xserver.h"
#endif
#ifdef USER_LDT
#include <machine/cpu.h>
int linux_read_ldt __P((struct proc *, struct linux_sys_modify_ldt_args *,
register_t *));
int linux_write_ldt __P((struct proc *, struct linux_sys_modify_ldt_args *,
register_t *));
#endif
/*
* Deal with some i386-specific things in the Linux emulation code.
*/
void
linux_setregs(p, epp, stack)
struct proc *p;
struct exec_package *epp;
u_long stack;
{
register struct pcb *pcb = &p->p_addr->u_pcb;
pcb->pcb_savefpu.sv_env.en_cw = __Linux_NPXCW__;
setregs(p, epp, stack);
}
/*
* Send an interrupt to process.
*
* Stack is set up to allow sigcode stored
* in u. to call routine, followed by kcall
* to sigreturn routine below. After sigreturn
* resets the signal mask, the stack, and the
* frame pointer, it returns to the user
* specified pc, psl.
*/
void
linux_sendsig(catcher, sig, mask, code)
sig_t catcher;
int sig;
sigset_t *mask;
u_long code;
{
register struct proc *p = curproc;
register struct trapframe *tf;
struct linux_sigframe *fp, frame;
struct sigacts *psp = p->p_sigacts;
tf = p->p_md.md_regs;
/* Allocate space for the signal handler context. */
/* XXX Linux doesn't support the signal stack. */
fp = (struct linux_sigframe *)tf->tf_esp;
fp--;
/* Build stack frame for signal trampoline. */
frame.sf_handler = catcher;
frame.sf_sig = native_to_linux_sig[sig];
/* Save register context. */
#ifdef VM86
if (tf->tf_eflags & PSL_VM) {
frame.sf_sc.sc_gs = tf->tf_vm86_gs;
frame.sf_sc.sc_fs = tf->tf_vm86_fs;
frame.sf_sc.sc_es = tf->tf_vm86_es;
frame.sf_sc.sc_ds = tf->tf_vm86_ds;
frame.sf_sc.sc_eflags = get_vflags(p);
} else
#endif
{
__asm("movl %%gs,%w0" : "=r" (frame.sf_sc.sc_gs));
__asm("movl %%fs,%w0" : "=r" (frame.sf_sc.sc_fs));
frame.sf_sc.sc_es = tf->tf_es;
frame.sf_sc.sc_ds = tf->tf_ds;
frame.sf_sc.sc_eflags = tf->tf_eflags;
}
frame.sf_sc.sc_edi = tf->tf_edi;
frame.sf_sc.sc_esi = tf->tf_esi;
frame.sf_sc.sc_ebp = tf->tf_ebp;
frame.sf_sc.sc_ebx = tf->tf_ebx;
frame.sf_sc.sc_edx = tf->tf_edx;
frame.sf_sc.sc_ecx = tf->tf_ecx;
frame.sf_sc.sc_eax = tf->tf_eax;
frame.sf_sc.sc_eip = tf->tf_eip;
frame.sf_sc.sc_cs = tf->tf_cs;
frame.sf_sc.sc_esp_at_signal = tf->tf_esp;
frame.sf_sc.sc_ss = tf->tf_ss;
frame.sf_sc.sc_err = tf->tf_err;
frame.sf_sc.sc_trapno = tf->tf_trapno;
/* Save signal stack. */
/* XXX Linux doesn't support the signal stack. */
/* Save signal mask. */
native_to_linux_sigset(mask, &frame.sf_sc.sc_mask);
if (copyout(&frame, fp, sizeof(frame)) != 0) {
/*
* Process has trashed its stack; give it an illegal
* instruction to halt it in its tracks.
*/
sigexit(p, SIGILL);
/* NOTREACHED */
}
/*
* Build context to run handler in.
*/
tf->tf_es = GSEL(GUDATA_SEL, SEL_UPL);
tf->tf_ds = GSEL(GUDATA_SEL, SEL_UPL);
tf->tf_eip = (int)psp->ps_sigcode;
tf->tf_cs = GSEL(GUCODE_SEL, SEL_UPL);
tf->tf_eflags &= ~(PSL_T|PSL_VM|PSL_AC);
tf->tf_esp = (int)fp;
tf->tf_ss = GSEL(GUDATA_SEL, SEL_UPL);
/* Remember that we're now on the signal stack. */
/* XXX Linux doesn't support the signal stack. */
}
/*
* System call to cleanup state after a signal
* has been taken. Reset signal mask and
* stack state from context left by sendsig (above).
* Return to previous pc and psl as specified by
* context left by sendsig. Check carefully to
* make sure that the user has not modified the
* psl to gain improper privileges or to cause
* a machine fault.
*/
int
linux_sys_rt_sigreturn(p, v, retval)
struct proc *p;
void *v;
register_t *retval;
{
/* XXX XAX write me */
return(ENOSYS);
}
int
linux_sys_sigreturn(p, v, retval)
struct proc *p;
void *v;
register_t *retval;
{
struct linux_sys_sigreturn_args /* {
syscallarg(struct linux_sigcontext *) scp;
} */ *uap = v;
struct linux_sigcontext *scp, context;
register struct trapframe *tf;
sigset_t mask;
/*
* The trampoline code hands us the context.
* It is unsafe to keep track of it ourselves, in the event that a
* program jumps out of a signal handler.
*/
scp = SCARG(uap, scp);
if (copyin((caddr_t)scp, &context, sizeof(*scp)) != 0)
return (EFAULT);
/* Restore register context. */
tf = p->p_md.md_regs;
#ifdef VM86
if (context.sc_eflags & PSL_VM) {
tf->tf_vm86_gs = context.sc_gs;
tf->tf_vm86_fs = context.sc_fs;
tf->tf_vm86_es = context.sc_es;
tf->tf_vm86_ds = context.sc_ds;
set_vflags(p, context.sc_eflags);
} else
#endif
{
/*
* Check for security violations. If we're returning to
* protected mode, the CPU will validate the segment registers
* automatically and generate a trap on violations. We handle
* the trap, rather than doing all of the checking here.
*/
if (((context.sc_eflags ^ tf->tf_eflags) & PSL_USERSTATIC) != 0 ||
!USERMODE(context.sc_cs, context.sc_eflags))
return (EINVAL);
/* %fs and %gs were restored by the trampoline. */
tf->tf_es = context.sc_es;
tf->tf_ds = context.sc_ds;
tf->tf_eflags = context.sc_eflags;
}
tf->tf_edi = context.sc_edi;
tf->tf_esi = context.sc_esi;
tf->tf_ebp = context.sc_ebp;
tf->tf_ebx = context.sc_ebx;
tf->tf_edx = context.sc_edx;
tf->tf_ecx = context.sc_ecx;
tf->tf_eax = context.sc_eax;
tf->tf_eip = context.sc_eip;
tf->tf_cs = context.sc_cs;
tf->tf_esp = context.sc_esp_at_signal;
tf->tf_ss = context.sc_ss;
/* Restore signal stack. */
p->p_sigacts->ps_sigstk.ss_flags &= ~SS_ONSTACK;
/* Restore signal mask. */
linux_to_native_sigset(&context.sc_mask, &mask);
(void) sigprocmask1(p, SIG_SETMASK, &mask, 0);
return (EJUSTRETURN);
}
#ifdef USER_LDT
int
linux_read_ldt(p, uap, retval)
struct proc *p;
struct linux_sys_modify_ldt_args /* {
syscallarg(int) func;
syscallarg(void *) ptr;
syscallarg(size_t) bytecount;
} */ *uap;
register_t *retval;
{
struct i386_get_ldt_args gl;
int error;
caddr_t sg;
char *parms;
sg = stackgap_init(p->p_emul);
gl.start = 0;
gl.desc = SCARG(uap, ptr);
gl.num = SCARG(uap, bytecount) / sizeof(union descriptor);
parms = stackgap_alloc(&sg, sizeof(gl));
if ((error = copyout(&gl, parms, sizeof(gl))) != 0)
return (error);
if ((error = i386_get_ldt(p, parms, retval)) != 0)
return (error);
*retval *= sizeof(union descriptor);
return (0);
}
struct linux_ldt_info {
u_int entry_number;
u_long base_addr;
u_int limit;
u_int seg_32bit:1;
u_int contents:2;
u_int read_exec_only:1;
u_int limit_in_pages:1;
u_int seg_not_present:1;
};
int
linux_write_ldt(p, uap, retval)
struct proc *p;
struct linux_sys_modify_ldt_args /* {
syscallarg(int) func;
syscallarg(void *) ptr;
syscallarg(size_t) bytecount;
} */ *uap;
register_t *retval;
{
struct linux_ldt_info ldt_info;
struct segment_descriptor sd;
struct i386_set_ldt_args sl;
int error;
caddr_t sg;
char *parms;
if (SCARG(uap, bytecount) != sizeof(ldt_info))
return (EINVAL);
if ((error = copyin(SCARG(uap, ptr), &ldt_info, sizeof(ldt_info))) != 0)
return error;
if (ldt_info.contents == 3)
return (EINVAL);
sg = stackgap_init(p->p_emul);
sd.sd_lobase = ldt_info.base_addr & 0xffffff;
sd.sd_hibase = (ldt_info.base_addr >> 24) & 0xff;
sd.sd_lolimit = ldt_info.limit & 0xffff;
sd.sd_hilimit = (ldt_info.limit >> 16) & 0xf;
sd.sd_type =
16 | (ldt_info.contents << 2) | (!ldt_info.read_exec_only << 1);
sd.sd_dpl = SEL_UPL;
sd.sd_p = !ldt_info.seg_not_present;
sd.sd_def32 = ldt_info.seg_32bit;
sd.sd_gran = ldt_info.limit_in_pages;
sl.start = ldt_info.entry_number;
sl.desc = stackgap_alloc(&sg, sizeof(sd));
sl.num = 1;
#if 0
printf("linux_write_ldt: idx=%d, base=%x, limit=%x\n",
ldt_info.entry_number, ldt_info.base_addr, ldt_info.limit);
#endif
parms = stackgap_alloc(&sg, sizeof(sl));
if ((error = copyout(&sd, sl.desc, sizeof(sd))) != 0)
return (error);
if ((error = copyout(&sl, parms, sizeof(sl))) != 0)
return (error);
if ((error = i386_set_ldt(p, parms, retval)) != 0)
return (error);
*retval = 0;
return (0);
}
#endif /* USER_LDT */
int
linux_sys_modify_ldt(p, v, retval)
struct proc *p;
void *v;
register_t *retval;
{
struct linux_sys_modify_ldt_args /* {
syscallarg(int) func;
syscallarg(void *) ptr;
syscallarg(size_t) bytecount;
} */ *uap = v;
switch (SCARG(uap, func)) {
#ifdef USER_LDT
case 0:
return (linux_read_ldt(p, uap, retval));
case 1:
return (linux_write_ldt(p, uap, retval));
#endif /* USER_LDT */
default:
return (ENOSYS);
}
}
/*
* XXX Pathetic hack to make svgalib work. This will fake the major
* device number of an opened VT so that svgalib likes it. grmbl.
* Should probably do it 'wrong the right way' and use a mapping
* array for all major device numbers, and map linux_mknod too.
*/
dev_t
linux_fakedev(dev)
dev_t dev;
{
#if (NVT > 0)
if (major(dev) == NETBSD_PCCONS_MAJOR)
return makedev(LINUX_CONS_MAJOR, (minor(dev) + 1));
#endif
#if (NWSDISPLAY > 0)
if (major(dev) == NETBSD_WSCONS_MAJOR)
return makedev(LINUX_CONS_MAJOR, (minor(dev) + 1));
#endif
return dev;
}
#if (NWSDISPLAY > 0) && defined(XSERVER)
/*
* That's not complete, but enough to get an X server running.
*/
#define NR_KEYS 128
static u_short plain_map[NR_KEYS] = {
0x0200, 0x001b, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036,
0x0037, 0x0038, 0x0039, 0x0030, 0x002d, 0x003d, 0x007f, 0x0009,
0x0b71, 0x0b77, 0x0b65, 0x0b72, 0x0b74, 0x0b79, 0x0b75, 0x0b69,
0x0b6f, 0x0b70, 0x005b, 0x005d, 0x0201, 0x0702, 0x0b61, 0x0b73,
0x0b64, 0x0b66, 0x0b67, 0x0b68, 0x0b6a, 0x0b6b, 0x0b6c, 0x003b,
0x0027, 0x0060, 0x0700, 0x005c, 0x0b7a, 0x0b78, 0x0b63, 0x0b76,
0x0b62, 0x0b6e, 0x0b6d, 0x002c, 0x002e, 0x002f, 0x0700, 0x030c,
0x0703, 0x0020, 0x0207, 0x0100, 0x0101, 0x0102, 0x0103, 0x0104,
0x0105, 0x0106, 0x0107, 0x0108, 0x0109, 0x0208, 0x0209, 0x0307,
0x0308, 0x0309, 0x030b, 0x0304, 0x0305, 0x0306, 0x030a, 0x0301,
0x0302, 0x0303, 0x0300, 0x0310, 0x0206, 0x0200, 0x003c, 0x010a,
0x010b, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x030e, 0x0702, 0x030d, 0x001c, 0x0701, 0x0205, 0x0114, 0x0603,
0x0118, 0x0601, 0x0602, 0x0117, 0x0600, 0x0119, 0x0115, 0x0116,
0x011a, 0x010c, 0x010d, 0x011b, 0x011c, 0x0110, 0x0311, 0x011d,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
}, shift_map[NR_KEYS] = {
0x0200, 0x001b, 0x0021, 0x0040, 0x0023, 0x0024, 0x0025, 0x005e,
0x0026, 0x002a, 0x0028, 0x0029, 0x005f, 0x002b, 0x007f, 0x0009,
0x0b51, 0x0b57, 0x0b45, 0x0b52, 0x0b54, 0x0b59, 0x0b55, 0x0b49,
0x0b4f, 0x0b50, 0x007b, 0x007d, 0x0201, 0x0702, 0x0b41, 0x0b53,
0x0b44, 0x0b46, 0x0b47, 0x0b48, 0x0b4a, 0x0b4b, 0x0b4c, 0x003a,
0x0022, 0x007e, 0x0700, 0x007c, 0x0b5a, 0x0b58, 0x0b43, 0x0b56,
0x0b42, 0x0b4e, 0x0b4d, 0x003c, 0x003e, 0x003f, 0x0700, 0x030c,
0x0703, 0x0020, 0x0207, 0x010a, 0x010b, 0x010c, 0x010d, 0x010e,
0x010f, 0x0110, 0x0111, 0x0112, 0x0113, 0x0213, 0x0203, 0x0307,
0x0308, 0x0309, 0x030b, 0x0304, 0x0305, 0x0306, 0x030a, 0x0301,
0x0302, 0x0303, 0x0300, 0x0310, 0x0206, 0x0200, 0x003e, 0x010a,
0x010b, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x030e, 0x0702, 0x030d, 0x0200, 0x0701, 0x0205, 0x0114, 0x0603,
0x020b, 0x0601, 0x0602, 0x0117, 0x0600, 0x020a, 0x0115, 0x0116,
0x011a, 0x010c, 0x010d, 0x011b, 0x011c, 0x0110, 0x0311, 0x011d,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
}, altgr_map[NR_KEYS] = {
0x0200, 0x0200, 0x0200, 0x0040, 0x0200, 0x0024, 0x0200, 0x0200,
0x007b, 0x005b, 0x005d, 0x007d, 0x005c, 0x0200, 0x0200, 0x0200,
0x0b71, 0x0b77, 0x0918, 0x0b72, 0x0b74, 0x0b79, 0x0b75, 0x0b69,
0x0b6f, 0x0b70, 0x0200, 0x007e, 0x0201, 0x0702, 0x0914, 0x0b73,
0x0917, 0x0919, 0x0b67, 0x0b68, 0x0b6a, 0x0b6b, 0x0b6c, 0x0200,
0x0200, 0x0200, 0x0700, 0x0200, 0x0b7a, 0x0b78, 0x0916, 0x0b76,
0x0915, 0x0b6e, 0x0b6d, 0x0200, 0x0200, 0x0200, 0x0700, 0x030c,
0x0703, 0x0200, 0x0207, 0x050c, 0x050d, 0x050e, 0x050f, 0x0510,
0x0511, 0x0512, 0x0513, 0x0514, 0x0515, 0x0208, 0x0202, 0x0911,
0x0912, 0x0913, 0x030b, 0x090e, 0x090f, 0x0910, 0x030a, 0x090b,
0x090c, 0x090d, 0x090a, 0x0310, 0x0206, 0x0200, 0x007c, 0x0516,
0x0517, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x030e, 0x0702, 0x030d, 0x0200, 0x0701, 0x0205, 0x0114, 0x0603,
0x0118, 0x0601, 0x0602, 0x0117, 0x0600, 0x0119, 0x0115, 0x0116,
0x011a, 0x010c, 0x010d, 0x011b, 0x011c, 0x0110, 0x0311, 0x011d,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
}, ctrl_map[NR_KEYS] = {
0x0200, 0x0200, 0x0200, 0x0000, 0x001b, 0x001c, 0x001d, 0x001e,
0x001f, 0x007f, 0x0200, 0x0200, 0x001f, 0x0200, 0x0008, 0x0200,
0x0011, 0x0017, 0x0005, 0x0012, 0x0014, 0x0019, 0x0015, 0x0009,
0x000f, 0x0010, 0x001b, 0x001d, 0x0201, 0x0702, 0x0001, 0x0013,
0x0004, 0x0006, 0x0007, 0x0008, 0x000a, 0x000b, 0x000c, 0x0200,
0x0007, 0x0000, 0x0700, 0x001c, 0x001a, 0x0018, 0x0003, 0x0016,
0x0002, 0x000e, 0x000d, 0x0200, 0x020e, 0x007f, 0x0700, 0x030c,
0x0703, 0x0000, 0x0207, 0x0100, 0x0101, 0x0102, 0x0103, 0x0104,
0x0105, 0x0106, 0x0107, 0x0108, 0x0109, 0x0208, 0x0204, 0x0307,
0x0308, 0x0309, 0x030b, 0x0304, 0x0305, 0x0306, 0x030a, 0x0301,
0x0302, 0x0303, 0x0300, 0x0310, 0x0206, 0x0200, 0x0200, 0x010a,
0x010b, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x030e, 0x0702, 0x030d, 0x001c, 0x0701, 0x0205, 0x0114, 0x0603,
0x0118, 0x0601, 0x0602, 0x0117, 0x0600, 0x0119, 0x0115, 0x0116,
0x011a, 0x010c, 0x010d, 0x011b, 0x011c, 0x0110, 0x0311, 0x011d,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
};
u_short *linux_keytabs[] = {
plain_map, shift_map, altgr_map, altgr_map, ctrl_map
};
#endif
/*
* We come here in a last attempt to satisfy a Linux ioctl() call
*/
int
linux_machdepioctl(p, v, retval)
struct proc *p;
void *v;
register_t *retval;
{
struct linux_sys_ioctl_args /* {
syscallarg(int) fd;
syscallarg(u_long) com;
syscallarg(caddr_t) data;
} */ *uap = v;
struct sys_ioctl_args bia;
u_long com;
#if (NVT > 0) || (NWSDISPLAY > 0)
int error;
struct vt_mode lvt;
caddr_t bvtp, sg;
#endif
#if (NWSDISPLAY > 0) && defined(XSERVER)
struct kbentry kbe;
#endif
SCARG(&bia, fd) = SCARG(uap, fd);
SCARG(&bia, data) = SCARG(uap, data);
com = SCARG(uap, com);
switch (com) {
#if (NVT > 0) || (NWSDISPLAY > 0)
case LINUX_KDGKBMODE:
com = KDGKBMODE;
break;
case LINUX_KDSKBMODE:
com = KDSKBMODE;
if ((unsigned)SCARG(uap, data) == LINUX_K_MEDIUMRAW)
SCARG(&bia, data) = (caddr_t)K_RAW;
break;
case LINUX_KDMKTONE:
com = KDMKTONE;
break;
case LINUX_KDSETMODE:
com = KDSETMODE;
break;
case LINUX_KDENABIO:
com = KDENABIO;
break;
case LINUX_KDDISABIO:
com = KDDISABIO;
break;
case LINUX_KDGETLED:
com = KDGETLED;
break;
case LINUX_KDSETLED:
com = KDSETLED;
break;
case LINUX_VT_OPENQRY:
com = VT_OPENQRY;
break;
case LINUX_VT_GETMODE:
SCARG(&bia, com) = VT_GETMODE;
if ((error = sys_ioctl(p, &bia, retval)))
return error;
if ((error = copyin(SCARG(uap, data), (caddr_t)&lvt,
sizeof (struct vt_mode))))
return error;
lvt.relsig = native_to_linux_sig[lvt.relsig];
lvt.acqsig = native_to_linux_sig[lvt.acqsig];
lvt.frsig = native_to_linux_sig[lvt.frsig];
return copyout((caddr_t)&lvt, SCARG(uap, data),
sizeof (struct vt_mode));
case LINUX_VT_SETMODE:
com = VT_SETMODE;
if ((error = copyin(SCARG(uap, data), (caddr_t)&lvt,
sizeof (struct vt_mode))))
return error;
lvt.relsig = linux_to_native_sig[lvt.relsig];
lvt.acqsig = linux_to_native_sig[lvt.acqsig];
lvt.frsig = linux_to_native_sig[lvt.frsig];
sg = stackgap_init(p->p_emul);
bvtp = stackgap_alloc(&sg, sizeof (struct vt_mode));
if ((error = copyout(&lvt, bvtp, sizeof (struct vt_mode))))
return error;
SCARG(&bia, data) = bvtp;
break;
case LINUX_VT_RELDISP:
com = VT_RELDISP;
break;
case LINUX_VT_ACTIVATE:
com = VT_ACTIVATE;
break;
case LINUX_VT_WAITACTIVE:
com = VT_WAITACTIVE;
break;
#endif
#if (NWSDISPLAY > 0)
case LINUX_VT_GETSTATE:
com = VT_GETSTATE;
break;
#ifdef XSERVER
case LINUX_KDGKBTYPE:
/* This is what Linux does. */
return (subyte(SCARG(uap, data), KB_101));
case LINUX_KDGKBENT:
/*
* The Linux KDGKBENT ioctl is different from the
* SYSV original. So we handle it in machdep code.
* XXX We should use keyboard mapping information
* from wsdisplay, but this would be expensive.
*/
if ((error = copyin(SCARG(uap, data), &kbe,
sizeof(struct kbentry))))
return (error);
if (kbe.kb_table >= sizeof(linux_keytabs) / sizeof(u_short *)
|| kbe.kb_index >= NR_KEYS)
return (EINVAL);
kbe.kb_value = linux_keytabs[kbe.kb_table][kbe.kb_index];
return (copyout(&kbe, SCARG(uap, data),
sizeof(struct kbentry)));
#endif
#endif
default:
printf("linux_machdepioctl: invalid ioctl %08lx\n", com);
return EINVAL;
}
SCARG(&bia, com) = com;
return sys_ioctl(p, &bia, retval);
}
/*
* Set I/O permissions for a process. Just set the maximum level
* right away (ignoring the argument), otherwise we would have
* to rely on I/O permission maps, which are not implemented.
*/
int
linux_sys_iopl(p, v, retval)
struct proc *p;
void *v;
register_t *retval;
{
#if 0
struct linux_sys_iopl_args /* {
syscallarg(int) level;
} */ *uap = v;
#endif
struct trapframe *fp = p->p_md.md_regs;
if (suser(p->p_ucred, &p->p_acflag) != 0)
return EPERM;
fp->tf_eflags |= PSL_IOPL;
*retval = 0;
return 0;
}
/*
* See above. If a root process tries to set access to an I/O port,
* just let it have the whole range.
*/
int
linux_sys_ioperm(p, v, retval)
struct proc *p;
void *v;
register_t *retval;
{
struct linux_sys_ioperm_args /* {
syscallarg(unsigned int) lo;
syscallarg(unsigned int) hi;
syscallarg(int) val;
} */ *uap = v;
struct trapframe *fp = p->p_md.md_regs;
if (suser(p->p_ucred, &p->p_acflag) != 0)
return EPERM;
if (SCARG(uap, val))
fp->tf_eflags |= PSL_IOPL;
*retval = 0;
return 0;
}

View File

@ -1,126 +0,0 @@
/* $NetBSD: linux_machdep.h,v 1.8 1998/10/01 02:22:01 erh Exp $ */
/*
* Copyright (c) 1995 Frank van der Linden
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed for the NetBSD Project
* by Frank van der Linden
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _I386_LINUX_MACHDEP_H
#define _I386_LINUX_MACHDEP_H
/*
* The Linux sigcontext, pretty much a standard 386 trapframe.
*/
struct linux_sigcontext {
int sc_gs;
int sc_fs;
int sc_es;
int sc_ds;
int sc_edi;
int sc_esi;
int sc_ebp;
int sc_esp;
int sc_ebx;
int sc_edx;
int sc_ecx;
int sc_eax;
int sc_trapno;
int sc_err;
int sc_eip;
int sc_cs;
int sc_eflags;
int sc_esp_at_signal;
int sc_ss;
int sc_387;
/* XXX XAX is this sigset_t? old_sigset_t? */
/* XXX XAX what happens with RT sigs? */
linux_sigset_t sc_mask;
int sc_cr2;
};
/*
* We make the stack look like Linux expects it when calling a signal
* handler, but use the BSD way of calling the handler and sigreturn().
* This means that we need to pass the pointer to the handler too.
* It is appended to the frame to not interfere with the rest of it.
*/
struct linux_sigframe {
int sf_sig;
struct linux_sigcontext sf_sc;
sig_t sf_handler;
};
#ifdef _KERNEL
__BEGIN_DECLS
void linux_sendsig __P((sig_t, int, sigset_t *, u_long));
dev_t linux_fakedev __P((dev_t));
__END_DECLS
#endif /* _KERNEL */
/*
* Major device numbers of VT device on both Linux and NetBSD. Used in
* ugly patch to fake device numbers.
*/
#define LINUX_CONS_MAJOR 4
#define NETBSD_PCCONS_MAJOR 12
#define NETBSD_WSCONS_MAJOR 47
/*
* Linux ioctl calls for the keyboard.
*/
#define LINUX_KDGKBMODE 0x4b44
#define LINUX_KDSKBMODE 0x4b45
#define LINUX_KDMKTONE 0x4b30
#define LINUX_KDSETMODE 0x4b3a
#define LINUX_KDENABIO 0x4b36
#define LINUX_KDDISABIO 0x4b37
#define LINUX_KDGETLED 0x4b31
#define LINUX_KDSETLED 0x4b32
#define LINUX_KDGKBTYPE 0x4B33
#define LINUX_KDGKBENT 0x4B46
/*
* Mode for KDSKBMODE which we don't have (we just use plain mode for this)
*/
#define LINUX_K_MEDIUMRAW 2
/*
* VT ioctl calls in Linux (the ones that pcvt can handle)
*/
#define LINUX_VT_OPENQRY 0x5600
#define LINUX_VT_GETMODE 0x5601
#define LINUX_VT_SETMODE 0x5602
#define LINUX_VT_GETSTATE 0x5603
#define LINUX_VT_RELDISP 0x5605
#define LINUX_VT_ACTIVATE 0x5606
#define LINUX_VT_WAITACTIVE 0x5607
#endif /* _I386_LINUX_MACHDEP_H */

View File

@ -1,90 +0,0 @@
/* $NetBSD: linux_mmap.h,v 1.2 1998/10/01 00:53:45 erh Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
* by Eric Haszlakiewicz.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the NetBSD
* Foundation, Inc. and its contributors.
* 4. Neither the name of The NetBSD Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/*
* Copyright (c) 1995 Frank van der Linden
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed for the NetBSD Project
* by Frank van der Linden
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _I386_LINUX_MMAP_H
#define _I386_LINUX_MMAP_H
/* LINUX_PROT_* defined in common/linux_mmap.h */
/* LINUX_MAP_SHARED/PRIVATE defined in common/linux_mmap.h */
#define LINUX_MAP_FIXED 0x0010
#define LINUX_MAP_ANON 0x0020
/* the following flags are silently ignored */
#define LINUX_MAP_GROWSDOWN 0x0100
#define LINUX_MAP_DENYWRITE 0x0800
#define LINUX_MAP_EXECUTABLE 0x1000
#define LINUX_MAP_LOCKED 0x2000
#define LINUX_MAP_NORESERVE 0x4000
#define LINUX_MAP_IGNMASK 0x7900
#endif /* !_I386_LINUX_MMAP_H */

View File

@ -1,113 +0,0 @@
/* $NetBSD: linux_sigarray.c,v 1.14 1998/10/01 02:27:33 erh Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
* by Eric Haszlakiewicz.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the NetBSD
* Foundation, Inc. and its contributors.
* 4. Neither the name of The NetBSD Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/*
* Copyright (c) 1995 Frank van der Linden
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed for the NetBSD Project
* by Frank van der Linden
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* heavily from: svr4_signal.c,v 1.7 1995/01/09 01:04:21 christos Exp
*/
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/signal.h>
#include <compat/linux/linux_signal.h>
int linux_to_native_sig[LINUX_NSIG] = {
0,
SIGHUP,
SIGINT,
SIGQUIT,
SIGILL,
SIGTRAP,
SIGABRT,
SIGBUS,
SIGFPE,
SIGKILL,
SIGUSR1,
SIGSEGV,
SIGUSR2,
SIGPIPE,
SIGALRM,
SIGTERM,
0, /* SIGSTKFLT */
SIGCHLD,
SIGCONT,
SIGSTOP,
SIGTSTP,
SIGTTIN,
SIGTTOU,
SIGURG,
SIGXCPU,
SIGXFSZ,
SIGVTALRM,
SIGPROF,
SIGWINCH,
SIGIO,
SIGPWR,
0, /* SIGUNUSED */
};

View File

@ -1,126 +0,0 @@
/* $NetBSD: linux_signal.h,v 1.6 1998/10/01 00:57:30 erh Exp $ */
/*
* Copyright (c) 1998 Eric Haszlakiewicz
* Copyright (c) 1995 Frank van der Linden
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed for the NetBSD Project
* by Frank van der Linden
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _I386_LINUX_SIGNAL_H
#define _I386_LINUX_SIGNAL_H
#define LINUX_SIGHUP 1
#define LINUX_SIGINT 2
#define LINUX_SIGQUIT 3
#define LINUX_SIGILL 4
#define LINUX_SIGTRAP 5
#define LINUX_SIGABRT 6
#define LINUX_SIGIOT 6
#define LINUX_SIGBUS 7
#define LINUX_SIGFPE 8
#define LINUX_SIGKILL 9
#define LINUX_SIGUSR1 10
#define LINUX_SIGSEGV 11
#define LINUX_SIGUSR2 12
#define LINUX_SIGPIPE 13
#define LINUX_SIGALRM 14
#define LINUX_SIGTERM 15
#define LINUX_SIGSTKFLT 16
#define LINUX_SIGCHLD 17
#define LINUX_SIGCONT 18
#define LINUX_SIGSTOP 19
#define LINUX_SIGTSTP 20
#define LINUX_SIGTTIN 21
#define LINUX_SIGTTOU 22
#define LINUX_SIGURG 23
#define LINUX_SIGXCPU 24
#define LINUX_SIGXFSZ 25
#define LINUX_SIGVTALRM 26
#define LINUX_SIGPROF 27
#define LINUX_SIGWINCH 28
#define LINUX_SIGIO 29
#define LINUX_SIGPWR 30
#define LINUX_SIGUNUSED 31
#define LINUX_NSIG 32
/*
* XXX We don't really support linux real-time (>32) signals
* XXX we now have >32 signals. FIXME!
* XXX old linux_sigset_t are assumed to be the same size.
*/
#if 0
#define LINUX__NSIG 64
#else
#define LINUX__NSIG 32
#endif
#define LINUX__NSIG_BPW 32
#define LINUX__NSIG_WORDS (LINUX__NSIG / LINUX__NSIG_BPW)
#define LINUX_SIG_BLOCK 0
#define LINUX_SIG_UNBLOCK 1
#define LINUX_SIG_SETMASK 2
/* sa_flags */
#define LINUX_SA_NOCLDSTOP 0x00000001
#define LINUX_SA_SIGINFO 0x00000004
#define LINUX_SA_ONSTACK 0x08000000
#define LINUX_SA_RESTART 0x10000000
#define LINUX_SA_INTERRUPT 0x20000000
#define LINUX_SA_NOMASK 0x40000000
#define LINUX_SA_ONESHOT 0x80000000
#define LINUX_SA_ALLBITS 0xf8000001
typedef void (*linux_handler_t) __P((int));
typedef u_long linux_old_sigset_t;
typedef struct {
u_long sig[LINUX__NSIG_WORDS];
} linux_sigset_t;
struct linux_old_sigaction {
linux_handler_t sa_handler;
linux_old_sigset_t sa_mask;
u_long sa_flags;
void (*sa_restorer) __P((void));
};
/* Used in rt_* calls */
struct linux_sigaction {
linux_handler_t sa_handler;
u_long sa_flags;
void (*sa_restorer) __P((void));
linux_sigset_t sa_mask;
};
struct linux_k_sigaction {
struct linux_sigaction sa;
#define k_sa_restorer sa.sa_restorer
};
#endif /* !_I386_LINUX_SIGNAL_H */

View File

@ -1,115 +0,0 @@
/* $NetBSD: linux_socket.h,v 1.4 1998/10/01 01:19:07 erh Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
* by Eric Haszlakiewicz.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the NetBSD
* Foundation, Inc. and its contributors.
* 4. Neither the name of The NetBSD Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/*
* Copyright (c) 1995 Frank van der Linden
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed for the NetBSD Project
* by Frank van der Linden
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _I386_LINUX_SOCKET_H
#define _I386_LINUX_SOCKET_H
/*
* Option levels for [gs]etsockopt(2). Only SOL_SOCKET is different,
* the rest matches IPPROTO_XXX
*/
#define LINUX_SOL_SOCKET 1
/*
* Options for [gs]etsockopt(2), socket level. For Linux, thay
* are not masks, but just increasing numbers.
*/
#define LINUX_SO_DEBUG 1
#define LINUX_SO_REUSEADDR 2
#define LINUX_SO_TYPE 3
#define LINUX_SO_ERROR 4
#define LINUX_SO_DONTROUTE 5
#define LINUX_SO_BROADCAST 6
#define LINUX_SO_SNDBUF 7
#define LINUX_SO_RCVBUF 8
#define LINUX_SO_KEEPALIVE 9
#define LINUX_SO_OOBINLINE 10
#define LINUX_SO_NO_CHECK 11
#define LINUX_SO_PRIORITY 12
#define LINUX_SO_LINGER 13
/* unused: */
#define LINUX_SO_BSDCOMPAT 14
#define LINUX_SO_REUSEPORT 15 /* undef in Linux */
#define LINUX_SO_PASSCRED 16
#define LINUX_SO_PEERCRED 17
#define LINUX_SO_RCVLOWAT 18
#define LINUX_SO_SNDLOWAT 19
#define LINUX_SO_RCVTIMEO 20
#define LINUX_SO_SNDTIMEO 21
#define LINUX_SO_SECURITY_AUTHENTICATION 22
#define LINUX_SO_SECURITY_ENCRYPTION_TRANSPORT 23
#define LINUX_SO_SECURITY_ENCRYPTION_NETWORK 24
#define LINUX_SO_BINDTODEVICE 25
#define LINUX_SO_ATTACH_FILTER 26
#define LINUX_SO_DETACH_FILTER 26
#endif /* !_I386_LINUX_SOCKET_H */

View File

@ -1,404 +0,0 @@
/* $NetBSD: linux_syscall.h,v 1.1 1998/10/01 02:05:32 erh Exp $ */
/*
* System call numbers.
*
* DO NOT EDIT-- this file is automatically generated.
* created from NetBSD: syscalls.master,v 1.26 1998/10/01 02:03:17 erh Exp
*/
/* syscall: "syscall" ret: "int" args: */
#define LINUX_SYS_syscall 0
/* syscall: "exit" ret: "int" args: "int" */
#define LINUX_SYS_exit 1
/* syscall: "fork" ret: "int" args: */
#define LINUX_SYS_fork 2
/* syscall: "read" ret: "int" args: "int" "char *" "u_int" */
#define LINUX_SYS_read 3
/* syscall: "write" ret: "int" args: "int" "char *" "u_int" */
#define LINUX_SYS_write 4
/* syscall: "open" ret: "int" args: "char *" "int" "int" */
#define LINUX_SYS_open 5
/* syscall: "close" ret: "int" args: "int" */
#define LINUX_SYS_close 6
/* syscall: "waitpid" ret: "int" args: "int" "int *" "int" */
#define LINUX_SYS_waitpid 7
/* syscall: "creat" ret: "int" args: "char *" "int" */
#define LINUX_SYS_creat 8
/* syscall: "link" ret: "int" args: "char *" "char *" */
#define LINUX_SYS_link 9
/* syscall: "unlink" ret: "int" args: "char *" */
#define LINUX_SYS_unlink 10
/* syscall: "execve" ret: "int" args: "char *" "char **" "char **" */
#define LINUX_SYS_execve 11
/* syscall: "chdir" ret: "int" args: "char *" */
#define LINUX_SYS_chdir 12
/* syscall: "time" ret: "int" args: "linux_time_t *" */
#define LINUX_SYS_time 13
/* syscall: "mknod" ret: "int" args: "char *" "int" "int" */
#define LINUX_SYS_mknod 14
/* syscall: "chmod" ret: "int" args: "char *" "int" */
#define LINUX_SYS_chmod 15
/* syscall: "lchown" ret: "int" args: "char *" "int" "int" */
#define LINUX_SYS_lchown 16
/* syscall: "break" ret: "int" args: "char *" */
#define LINUX_SYS_break 17
/* 18 is obsolete ostat */
/* syscall: "lseek" ret: "long" args: "int" "long" "int" */
#define LINUX_SYS_lseek 19
/* syscall: "getpid" ret: "pid_t" args: */
#define LINUX_SYS_getpid 20
/* syscall: "setuid" ret: "int" args: "uid_t" */
#define LINUX_SYS_setuid 23
/* syscall: "getuid" ret: "uid_t" args: */
#define LINUX_SYS_getuid 24
/* syscall: "alarm" ret: "int" args: "unsigned int" */
#define LINUX_SYS_alarm 27
/* 28 is obsolete ofstat */
/* syscall: "pause" ret: "int" args: */
#define LINUX_SYS_pause 29
/* syscall: "utime" ret: "int" args: "char *" "struct linux_utimbuf *" */
#define LINUX_SYS_utime 30
/* 31 is obsolete stty */
/* 32 is obsolete gtty */
/* syscall: "access" ret: "int" args: "char *" "int" */
#define LINUX_SYS_access 33
/* syscall: "nice" ret: "int" args: "int" */
#define LINUX_SYS_nice 34
/* 35 is obsolete ftime */
/* syscall: "sync" ret: "int" args: */
#define LINUX_SYS_sync 36
/* syscall: "kill" ret: "int" args: "int" "int" */
#define LINUX_SYS_kill 37
/* syscall: "rename" ret: "int" args: "char *" "char *" */
#define LINUX_SYS_rename 38
/* syscall: "mkdir" ret: "int" args: "char *" "int" */
#define LINUX_SYS_mkdir 39
/* syscall: "rmdir" ret: "int" args: "char *" */
#define LINUX_SYS_rmdir 40
/* syscall: "dup" ret: "int" args: "u_int" */
#define LINUX_SYS_dup 41
/* syscall: "pipe" ret: "int" args: "int *" */
#define LINUX_SYS_pipe 42
/* syscall: "times" ret: "int" args: "struct times *" */
#define LINUX_SYS_times 43
/* 44 is obsolete prof */
/* syscall: "brk" ret: "int" args: "char *" */
#define LINUX_SYS_brk 45
/* syscall: "setgid" ret: "int" args: "gid_t" */
#define LINUX_SYS_setgid 46
/* syscall: "getgid" ret: "gid_t" args: */
#define LINUX_SYS_getgid 47
/* syscall: "signal" ret: "int" args: "int" "linux_handler_t" */
#define LINUX_SYS_signal 48
/* syscall: "geteuid" ret: "uid_t" args: */
#define LINUX_SYS_geteuid 49
/* syscall: "getegid" ret: "gid_t" args: */
#define LINUX_SYS_getegid 50
/* syscall: "acct" ret: "int" args: "char *" */
#define LINUX_SYS_acct 51
/* 52 is obsolete phys */
/* 53 is obsolete lock */
/* syscall: "ioctl" ret: "int" args: "int" "u_long" "caddr_t" */
#define LINUX_SYS_ioctl 54
/* syscall: "fcntl" ret: "int" args: "int" "int" "void *" */
#define LINUX_SYS_fcntl 55
/* 56 is obsolete mpx */
/* syscall: "setpgid" ret: "int" args: "int" "int" */
#define LINUX_SYS_setpgid 57
/* 58 is obsolete ulimit */
/* syscall: "oldolduname" ret: "int" args: "struct linux_oldold_utsname *" */
#define LINUX_SYS_oldolduname 59
/* syscall: "umask" ret: "int" args: "int" */
#define LINUX_SYS_umask 60
/* syscall: "chroot" ret: "int" args: "char *" */
#define LINUX_SYS_chroot 61
/* syscall: "dup2" ret: "int" args: "u_int" "u_int" */
#define LINUX_SYS_dup2 63
/* syscall: "getppid" ret: "pid_t" args: */
#define LINUX_SYS_getppid 64
/* syscall: "getpgrp" ret: "int" args: */
#define LINUX_SYS_getpgrp 65
/* syscall: "setsid" ret: "int" args: */
#define LINUX_SYS_setsid 66
/* syscall: "sigaction" ret: "int" args: "int" "const struct linux_old_sigaction *" "struct linux_old_sigaction *" */
#define LINUX_SYS_sigaction 67
/* syscall: "siggetmask" ret: "int" args: */
#define LINUX_SYS_siggetmask 68
/* syscall: "sigsetmask" ret: "int" args: "linux_old_sigset_t" */
#define LINUX_SYS_sigsetmask 69
/* syscall: "setreuid" ret: "int" args: "int" "int" */
#define LINUX_SYS_setreuid 70
/* syscall: "setregid" ret: "int" args: "int" "int" */
#define LINUX_SYS_setregid 71
/* syscall: "sigsuspend" ret: "int" args: "caddr_t" "int" "int" */
#define LINUX_SYS_sigsuspend 72
/* syscall: "sigpending" ret: "int" args: "linux_old_sigset_t *" */
#define LINUX_SYS_sigpending 73
/* syscall: "sethostname" ret: "int" args: "char *" "u_int" */
#define LINUX_SYS_sethostname 74
/* syscall: "setrlimit" ret: "int" args: "u_int" "struct orlimit *" */
#define LINUX_SYS_setrlimit 75
/* syscall: "getrlimit" ret: "int" args: "u_int" "struct orlimit *" */
#define LINUX_SYS_getrlimit 76
/* syscall: "getrusage" ret: "int" args: "int" "struct rusage *" */
#define LINUX_SYS_getrusage 77
/* syscall: "gettimeofday" ret: "int" args: "struct timeval *" "struct timezone *" */
#define LINUX_SYS_gettimeofday 78
/* syscall: "settimeofday" ret: "int" args: "struct timeval *" "struct timezone *" */
#define LINUX_SYS_settimeofday 79
/* syscall: "getgroups" ret: "int" args: "u_int" "gid_t *" */
#define LINUX_SYS_getgroups 80
/* syscall: "setgroups" ret: "int" args: "u_int" "gid_t *" */
#define LINUX_SYS_setgroups 81
/* syscall: "oldselect" ret: "int" args: "struct linux_oldselect *" */
#define LINUX_SYS_oldselect 82
/* syscall: "symlink" ret: "int" args: "char *" "char *" */
#define LINUX_SYS_symlink 83
/* syscall: "oolstat" ret: "int" args: "char *" "struct stat43 *" */
#define LINUX_SYS_oolstat 84
/* syscall: "readlink" ret: "int" args: "char *" "char *" "int" */
#define LINUX_SYS_readlink 85
/* syscall: "uselib" ret: "int" args: "char *" */
#define LINUX_SYS_uselib 86
/* syscall: "swapon" ret: "int" args: "char *" */
#define LINUX_SYS_swapon 87
/* syscall: "reboot" ret: "int" args: "int" */
#define LINUX_SYS_reboot 88
/* syscall: "readdir" ret: "int" args: "int" "caddr_t" "unsigned int" */
#define LINUX_SYS_readdir 89
/* syscall: "old_mmap" ret: "int" args: "struct linux_oldmmap *" */
#define LINUX_SYS_old_mmap 90
/* syscall: "munmap" ret: "int" args: "caddr_t" "int" */
#define LINUX_SYS_munmap 91
/* syscall: "truncate" ret: "int" args: "char *" "long" */
#define LINUX_SYS_truncate 92
/* syscall: "ftruncate" ret: "int" args: "int" "long" */
#define LINUX_SYS_ftruncate 93
/* syscall: "fchmod" ret: "int" args: "int" "int" */
#define LINUX_SYS_fchmod 94
/* syscall: "fchown" ret: "int" args: "int" "int" "int" */
#define LINUX_SYS_fchown 95
/* syscall: "getpriority" ret: "int" args: "int" "int" */
#define LINUX_SYS_getpriority 96
/* syscall: "setpriority" ret: "int" args: "int" "int" "int" */
#define LINUX_SYS_setpriority 97
/* syscall: "profil" ret: "int" args: "caddr_t" "u_int" "u_int" "u_int" */
#define LINUX_SYS_profil 98
/* syscall: "statfs" ret: "int" args: "char *" "struct linux_statfs *" */
#define LINUX_SYS_statfs 99
/* syscall: "fstatfs" ret: "int" args: "int" "struct linux_statfs *" */
#define LINUX_SYS_fstatfs 100
/* syscall: "ioperm" ret: "int" args: "unsigned int" "unsigned int" "int" */
#define LINUX_SYS_ioperm 101
/* syscall: "socketcall" ret: "int" args: "int" "void *" */
#define LINUX_SYS_socketcall 102
/* syscall: "setitimer" ret: "int" args: "u_int" "struct itimerval *" "struct itimerval *" */
#define LINUX_SYS_setitimer 104
/* syscall: "getitimer" ret: "int" args: "u_int" "struct itimerval *" */
#define LINUX_SYS_getitimer 105
/* syscall: "stat" ret: "int" args: "char *" "struct linux_stat *" */
#define LINUX_SYS_stat 106
/* syscall: "lstat" ret: "int" args: "char *" "struct linux_stat *" */
#define LINUX_SYS_lstat 107
/* syscall: "fstat" ret: "int" args: "int" "struct linux_stat *" */
#define LINUX_SYS_fstat 108
/* syscall: "olduname" ret: "int" args: "struct linux_old_utsname *" */
#define LINUX_SYS_olduname 109
/* syscall: "iopl" ret: "int" args: "int" */
#define LINUX_SYS_iopl 110
/* syscall: "wait4" ret: "int" args: "int" "int *" "int" "struct rusage *" */
#define LINUX_SYS_wait4 114
/* syscall: "ipc" ret: "int" args: "int" "int" "int" "int" "caddr_t" */
#define LINUX_SYS_ipc 117
/* syscall: "fsync" ret: "int" args: "int" */
#define LINUX_SYS_fsync 118
/* syscall: "sigreturn" ret: "int" args: "struct linux_sigcontext *" */
#define LINUX_SYS_sigreturn 119
/* syscall: "setdomainname" ret: "int" args: "char *" "int" */
#define LINUX_SYS_setdomainname 121
/* syscall: "uname" ret: "int" args: "struct linux_utsname *" */
#define LINUX_SYS_uname 122
/* syscall: "modify_ldt" ret: "int" args: "int" "void *" "size_t" */
#define LINUX_SYS_modify_ldt 123
/* syscall: "mprotect" ret: "int" args: "caddr_t" "int" "int" */
#define LINUX_SYS_mprotect 125
/* syscall: "sigprocmask" ret: "int" args: "int" "const linux_old_sigset_t *" "linux_old_sigset_t *" */
#define LINUX_SYS_sigprocmask 126
/* syscall: "getpgid" ret: "int" args: "int" */
#define LINUX_SYS_getpgid 132
/* syscall: "fchdir" ret: "int" args: "int" */
#define LINUX_SYS_fchdir 133
/* syscall: "personality" ret: "int" args: "int" */
#define LINUX_SYS_personality 136
/* syscall: "llseek" ret: "int" args: "int" "u_int32_t" "u_int32_t" "caddr_t" "int" */
#define LINUX_SYS_llseek 140
/* syscall: "getdents" ret: "int" args: "int" "struct linux_dirent *" "unsigned int" */
#define LINUX_SYS_getdents 141
/* syscall: "select" ret: "int" args: "int" "fd_set *" "fd_set *" "fd_set *" "struct timeval *" */
#define LINUX_SYS_select 142
/* syscall: "flock" ret: "int" args: "int" "int" */
#define LINUX_SYS_flock 143
/* syscall: "msync" ret: "int" args: "caddr_t" "int" "int" */
#define LINUX_SYS_msync 144
/* syscall: "readv" ret: "int" args: "int" "struct iovec *" "u_int" */
#define LINUX_SYS_readv 145
/* syscall: "writev" ret: "int" args: "int" "struct iovec *" "u_int" */
#define LINUX_SYS_writev 146
/* syscall: "getsid" ret: "pid_t" args: "pid_t" */
#define LINUX_SYS_getsid 147
/* syscall: "fdatasync" ret: "int" args: "int" */
#define LINUX_SYS_fdatasync 148
/* syscall: "__sysctl" ret: "int" args: "struct linux___sysctl *" */
#define LINUX_SYS___sysctl 149
/* syscall: "mlock" ret: "int" args: "caddr_t" "size_t" */
#define LINUX_SYS_mlock 150
/* syscall: "munlock" ret: "int" args: "caddr_t" "size_t" */
#define LINUX_SYS_munlock 151
/* syscall: "nanosleep" ret: "int" args: "const struct timespec *" "struct timespec *" */
#define LINUX_SYS_nanosleep 162
/* syscall: "mremap" ret: "void *" args: "void *" "size_t" "size_t" "u_long" */
#define LINUX_SYS_mremap 163
/* syscall: "rt_sigreturn" ret: "int" args: "struct linux_rt_sigframe *" */
#define LINUX_SYS_rt_sigreturn 173
/* syscall: "rt_sigaction" ret: "int" args: "int" "const struct linux_sigaction *" "struct linux_sigaction *" "size_t" */
#define LINUX_SYS_rt_sigaction 174
/* syscall: "rt_sigprocmask" ret: "int" args: "int" "const linux_sigset_t *" "linux_sigset_t *" "size_t" */
#define LINUX_SYS_rt_sigprocmask 175
/* syscall: "rt_sigpending" ret: "int" args: "linux_sigset_t *" "size_t" */
#define LINUX_SYS_rt_sigpending 176
/* syscall: "rt_queueinfo" ret: "int" args: "int" "int" "void *" */
#define LINUX_SYS_rt_queueinfo 178
/* syscall: "rt_sigsuspend" ret: "int" args: "linux_sigset_t *" "size_t" */
#define LINUX_SYS_rt_sigsuspend 179
/* syscall: "chown" ret: "int" args: "char *" "int" "int" */
#define LINUX_SYS_chown 182
#define LINUX_SYS_MAXSYSCALL 186

View File

@ -1,509 +0,0 @@
/* $NetBSD: linux_syscallargs.h,v 1.1 1998/10/01 02:05:33 erh Exp $ */
/*
* System call argument lists.
*
* DO NOT EDIT-- this file is automatically generated.
* created from NetBSD: syscalls.master,v 1.26 1998/10/01 02:03:17 erh Exp
*/
#define syscallarg(x) union { x datum; register_t pad; }
struct linux_sys_open_args {
syscallarg(char *) path;
syscallarg(int) flags;
syscallarg(int) mode;
};
struct linux_sys_waitpid_args {
syscallarg(int) pid;
syscallarg(int *) status;
syscallarg(int) options;
};
struct linux_sys_creat_args {
syscallarg(char *) path;
syscallarg(int) mode;
};
struct linux_sys_unlink_args {
syscallarg(char *) path;
};
struct linux_sys_execve_args {
syscallarg(char *) path;
syscallarg(char **) argp;
syscallarg(char **) envp;
};
struct linux_sys_chdir_args {
syscallarg(char *) path;
};
struct linux_sys_time_args {
syscallarg(linux_time_t *) t;
};
struct linux_sys_mknod_args {
syscallarg(char *) path;
syscallarg(int) mode;
syscallarg(int) dev;
};
struct linux_sys_chmod_args {
syscallarg(char *) path;
syscallarg(int) mode;
};
struct linux_sys_lchown_args {
syscallarg(char *) path;
syscallarg(int) uid;
syscallarg(int) gid;
};
struct linux_sys_break_args {
syscallarg(char *) nsize;
};
struct linux_sys_alarm_args {
syscallarg(unsigned int) secs;
};
struct linux_sys_utime_args {
syscallarg(char *) path;
syscallarg(struct linux_utimbuf *) times;
};
struct linux_sys_access_args {
syscallarg(char *) path;
syscallarg(int) flags;
};
struct linux_sys_nice_args {
syscallarg(int) incr;
};
struct linux_sys_kill_args {
syscallarg(int) pid;
syscallarg(int) signum;
};
struct linux_sys_rename_args {
syscallarg(char *) from;
syscallarg(char *) to;
};
struct linux_sys_mkdir_args {
syscallarg(char *) path;
syscallarg(int) mode;
};
struct linux_sys_rmdir_args {
syscallarg(char *) path;
};
struct linux_sys_pipe_args {
syscallarg(int *) pfds;
};
struct linux_sys_times_args {
syscallarg(struct times *) tms;
};
struct linux_sys_brk_args {
syscallarg(char *) nsize;
};
struct linux_sys_signal_args {
syscallarg(int) sig;
syscallarg(linux_handler_t) handler;
};
struct linux_sys_ioctl_args {
syscallarg(int) fd;
syscallarg(u_long) com;
syscallarg(caddr_t) data;
};
struct linux_sys_fcntl_args {
syscallarg(int) fd;
syscallarg(int) cmd;
syscallarg(void *) arg;
};
struct linux_sys_oldolduname_args {
syscallarg(struct linux_oldold_utsname *) up;
};
struct linux_sys_sigaction_args {
syscallarg(int) signum;
syscallarg(const struct linux_old_sigaction *) nsa;
syscallarg(struct linux_old_sigaction *) osa;
};
struct linux_sys_sigsetmask_args {
syscallarg(linux_old_sigset_t) mask;
};
struct linux_sys_setreuid_args {
syscallarg(int) ruid;
syscallarg(int) euid;
};
struct linux_sys_setregid_args {
syscallarg(int) rgid;
syscallarg(int) egid;
};
struct linux_sys_sigsuspend_args {
syscallarg(caddr_t) restart;
syscallarg(int) oldmask;
syscallarg(int) mask;
};
struct linux_sys_sigpending_args {
syscallarg(linux_old_sigset_t *) set;
};
struct linux_sys_oldselect_args {
syscallarg(struct linux_oldselect *) lsp;
};
struct linux_sys_symlink_args {
syscallarg(char *) path;
syscallarg(char *) to;
};
struct linux_sys_readlink_args {
syscallarg(char *) name;
syscallarg(char *) buf;
syscallarg(int) count;
};
struct linux_sys_uselib_args {
syscallarg(char *) path;
};
struct linux_sys_readdir_args {
syscallarg(int) fd;
syscallarg(caddr_t) dent;
syscallarg(unsigned int) count;
};
struct linux_sys_old_mmap_args {
syscallarg(struct linux_oldmmap *) lmp;
};
struct linux_sys_truncate_args {
syscallarg(char *) path;
syscallarg(long) length;
};
struct linux_sys_fchown_args {
syscallarg(int) fd;
syscallarg(int) uid;
syscallarg(int) gid;
};
struct linux_sys_statfs_args {
syscallarg(char *) path;
syscallarg(struct linux_statfs *) sp;
};
struct linux_sys_fstatfs_args {
syscallarg(int) fd;
syscallarg(struct linux_statfs *) sp;
};
struct linux_sys_ioperm_args {
syscallarg(unsigned int) lo;
syscallarg(unsigned int) hi;
syscallarg(int) val;
};
struct linux_sys_socketcall_args {
syscallarg(int) what;
syscallarg(void *) args;
};
struct linux_sys_stat_args {
syscallarg(char *) path;
syscallarg(struct linux_stat *) sp;
};
struct linux_sys_lstat_args {
syscallarg(char *) path;
syscallarg(struct linux_stat *) sp;
};
struct linux_sys_fstat_args {
syscallarg(int) fd;
syscallarg(struct linux_stat *) sp;
};
struct linux_sys_olduname_args {
syscallarg(struct linux_old_utsname *) up;
};
struct linux_sys_iopl_args {
syscallarg(int) level;
};
struct linux_sys_wait4_args {
syscallarg(int) pid;
syscallarg(int *) status;
syscallarg(int) options;
syscallarg(struct rusage *) rusage;
};
struct linux_sys_ipc_args {
syscallarg(int) what;
syscallarg(int) a1;
syscallarg(int) a2;
syscallarg(int) a3;
syscallarg(caddr_t) ptr;
};
struct linux_sys_sigreturn_args {
syscallarg(struct linux_sigcontext *) scp;
};
struct linux_sys_uname_args {
syscallarg(struct linux_utsname *) up;
};
struct linux_sys_modify_ldt_args {
syscallarg(int) func;
syscallarg(void *) ptr;
syscallarg(size_t) bytecount;
};
struct linux_sys_sigprocmask_args {
syscallarg(int) how;
syscallarg(const linux_old_sigset_t *) set;
syscallarg(linux_old_sigset_t *) oset;
};
struct linux_sys_getpgid_args {
syscallarg(int) pid;
};
struct linux_sys_personality_args {
syscallarg(int) per;
};
struct linux_sys_llseek_args {
syscallarg(int) fd;
syscallarg(u_int32_t) ohigh;
syscallarg(u_int32_t) olow;
syscallarg(caddr_t) res;
syscallarg(int) whence;
};
struct linux_sys_getdents_args {
syscallarg(int) fd;
syscallarg(struct linux_dirent *) dent;
syscallarg(unsigned int) count;
};
struct linux_sys_select_args {
syscallarg(int) nfds;
syscallarg(fd_set *) readfds;
syscallarg(fd_set *) writefds;
syscallarg(fd_set *) exceptfds;
syscallarg(struct timeval *) timeout;
};
struct linux_sys_msync_args {
syscallarg(caddr_t) addr;
syscallarg(int) len;
syscallarg(int) fl;
};
struct linux_sys_fdatasync_args {
syscallarg(int) fd;
};
struct linux_sys___sysctl_args {
syscallarg(struct linux___sysctl *) lsp;
};
struct linux_sys_mremap_args {
syscallarg(void *) old_address;
syscallarg(size_t) old_size;
syscallarg(size_t) new_size;
syscallarg(u_long) flags;
};
struct linux_sys_rt_sigreturn_args {
syscallarg(struct linux_rt_sigframe *) sfp;
};
struct linux_sys_rt_sigaction_args {
syscallarg(int) signum;
syscallarg(const struct linux_sigaction *) nsa;
syscallarg(struct linux_sigaction *) osa;
syscallarg(size_t) sigsetsize;
};
struct linux_sys_rt_sigprocmask_args {
syscallarg(int) how;
syscallarg(const linux_sigset_t *) set;
syscallarg(linux_sigset_t *) oset;
syscallarg(size_t) sigsetsize;
};
struct linux_sys_rt_sigpending_args {
syscallarg(linux_sigset_t *) set;
syscallarg(size_t) sigsetsize;
};
struct linux_sys_rt_queueinfo_args {
syscallarg(int) pid;
syscallarg(int) signum;
syscallarg(void *) uinfo;
};
struct linux_sys_rt_sigsuspend_args {
syscallarg(linux_sigset_t *) unewset;
syscallarg(size_t) sigsetsize;
};
struct linux_sys_chown_args {
syscallarg(char *) path;
syscallarg(int) uid;
syscallarg(int) gid;
};
/*
* System call prototypes.
*/
int sys_nosys __P((struct proc *, void *, register_t *));
int sys_exit __P((struct proc *, void *, register_t *));
int sys_fork __P((struct proc *, void *, register_t *));
int sys_read __P((struct proc *, void *, register_t *));
int sys_write __P((struct proc *, void *, register_t *));
int linux_sys_open __P((struct proc *, void *, register_t *));
int sys_close __P((struct proc *, void *, register_t *));
int linux_sys_waitpid __P((struct proc *, void *, register_t *));
int linux_sys_creat __P((struct proc *, void *, register_t *));
int sys_link __P((struct proc *, void *, register_t *));
int linux_sys_unlink __P((struct proc *, void *, register_t *));
int linux_sys_execve __P((struct proc *, void *, register_t *));
int linux_sys_chdir __P((struct proc *, void *, register_t *));
int linux_sys_time __P((struct proc *, void *, register_t *));
int linux_sys_mknod __P((struct proc *, void *, register_t *));
int linux_sys_chmod __P((struct proc *, void *, register_t *));
int linux_sys_lchown __P((struct proc *, void *, register_t *));
int linux_sys_break __P((struct proc *, void *, register_t *));
int compat_43_sys_lseek __P((struct proc *, void *, register_t *));
int sys_getpid __P((struct proc *, void *, register_t *));
int sys_setuid __P((struct proc *, void *, register_t *));
int sys_getuid __P((struct proc *, void *, register_t *));
int linux_sys_alarm __P((struct proc *, void *, register_t *));
int linux_sys_pause __P((struct proc *, void *, register_t *));
int linux_sys_utime __P((struct proc *, void *, register_t *));
int linux_sys_access __P((struct proc *, void *, register_t *));
int linux_sys_nice __P((struct proc *, void *, register_t *));
int sys_sync __P((struct proc *, void *, register_t *));
int linux_sys_kill __P((struct proc *, void *, register_t *));
int linux_sys_rename __P((struct proc *, void *, register_t *));
int linux_sys_mkdir __P((struct proc *, void *, register_t *));
int linux_sys_rmdir __P((struct proc *, void *, register_t *));
int sys_dup __P((struct proc *, void *, register_t *));
int linux_sys_pipe __P((struct proc *, void *, register_t *));
int linux_sys_times __P((struct proc *, void *, register_t *));
int linux_sys_brk __P((struct proc *, void *, register_t *));
int sys_setgid __P((struct proc *, void *, register_t *));
int sys_getgid __P((struct proc *, void *, register_t *));
int linux_sys_signal __P((struct proc *, void *, register_t *));
int sys_geteuid __P((struct proc *, void *, register_t *));
int sys_getegid __P((struct proc *, void *, register_t *));
int sys_acct __P((struct proc *, void *, register_t *));
int linux_sys_ioctl __P((struct proc *, void *, register_t *));
int linux_sys_fcntl __P((struct proc *, void *, register_t *));
int sys_setpgid __P((struct proc *, void *, register_t *));
int linux_sys_oldolduname __P((struct proc *, void *, register_t *));
int sys_umask __P((struct proc *, void *, register_t *));
int sys_chroot __P((struct proc *, void *, register_t *));
int sys_dup2 __P((struct proc *, void *, register_t *));
int sys_getppid __P((struct proc *, void *, register_t *));
int sys_getpgrp __P((struct proc *, void *, register_t *));
int sys_setsid __P((struct proc *, void *, register_t *));
int linux_sys_sigaction __P((struct proc *, void *, register_t *));
int linux_sys_siggetmask __P((struct proc *, void *, register_t *));
int linux_sys_sigsetmask __P((struct proc *, void *, register_t *));
int linux_sys_setreuid __P((struct proc *, void *, register_t *));
int linux_sys_setregid __P((struct proc *, void *, register_t *));
int linux_sys_sigsuspend __P((struct proc *, void *, register_t *));
int linux_sys_sigpending __P((struct proc *, void *, register_t *));
int compat_43_sys_sethostname __P((struct proc *, void *, register_t *));
int compat_43_sys_setrlimit __P((struct proc *, void *, register_t *));
int compat_43_sys_getrlimit __P((struct proc *, void *, register_t *));
int sys_getrusage __P((struct proc *, void *, register_t *));
int sys_gettimeofday __P((struct proc *, void *, register_t *));
int sys_settimeofday __P((struct proc *, void *, register_t *));
int sys_getgroups __P((struct proc *, void *, register_t *));
int sys_setgroups __P((struct proc *, void *, register_t *));
int linux_sys_oldselect __P((struct proc *, void *, register_t *));
int linux_sys_symlink __P((struct proc *, void *, register_t *));
int compat_43_sys_lstat __P((struct proc *, void *, register_t *));
int linux_sys_readlink __P((struct proc *, void *, register_t *));
int linux_sys_uselib __P((struct proc *, void *, register_t *));
int compat_12_sys_swapon __P((struct proc *, void *, register_t *));
int sys_reboot __P((struct proc *, void *, register_t *));
int linux_sys_readdir __P((struct proc *, void *, register_t *));
int linux_sys_old_mmap __P((struct proc *, void *, register_t *));
int sys_munmap __P((struct proc *, void *, register_t *));
int linux_sys_truncate __P((struct proc *, void *, register_t *));
int compat_43_sys_ftruncate __P((struct proc *, void *, register_t *));
int sys_fchmod __P((struct proc *, void *, register_t *));
int linux_sys_fchown __P((struct proc *, void *, register_t *));
int sys_getpriority __P((struct proc *, void *, register_t *));
int sys_setpriority __P((struct proc *, void *, register_t *));
int sys_profil __P((struct proc *, void *, register_t *));
int linux_sys_statfs __P((struct proc *, void *, register_t *));
int linux_sys_fstatfs __P((struct proc *, void *, register_t *));
int linux_sys_ioperm __P((struct proc *, void *, register_t *));
int linux_sys_socketcall __P((struct proc *, void *, register_t *));
int sys_setitimer __P((struct proc *, void *, register_t *));
int sys_getitimer __P((struct proc *, void *, register_t *));
int linux_sys_stat __P((struct proc *, void *, register_t *));
int linux_sys_lstat __P((struct proc *, void *, register_t *));
int linux_sys_fstat __P((struct proc *, void *, register_t *));
int linux_sys_olduname __P((struct proc *, void *, register_t *));
int linux_sys_iopl __P((struct proc *, void *, register_t *));
int linux_sys_wait4 __P((struct proc *, void *, register_t *));
int linux_sys_ipc __P((struct proc *, void *, register_t *));
int sys_fsync __P((struct proc *, void *, register_t *));
int linux_sys_sigreturn __P((struct proc *, void *, register_t *));
int compat_09_sys_setdomainname __P((struct proc *, void *, register_t *));
int linux_sys_uname __P((struct proc *, void *, register_t *));
int linux_sys_modify_ldt __P((struct proc *, void *, register_t *));
int sys_mprotect __P((struct proc *, void *, register_t *));
int linux_sys_sigprocmask __P((struct proc *, void *, register_t *));
int linux_sys_getpgid __P((struct proc *, void *, register_t *));
int sys_fchdir __P((struct proc *, void *, register_t *));
int linux_sys_personality __P((struct proc *, void *, register_t *));
int linux_sys_llseek __P((struct proc *, void *, register_t *));
int linux_sys_getdents __P((struct proc *, void *, register_t *));
int linux_sys_select __P((struct proc *, void *, register_t *));
int sys_flock __P((struct proc *, void *, register_t *));
int linux_sys_msync __P((struct proc *, void *, register_t *));
int sys_readv __P((struct proc *, void *, register_t *));
int sys_writev __P((struct proc *, void *, register_t *));
int sys_getsid __P((struct proc *, void *, register_t *));
int linux_sys_fdatasync __P((struct proc *, void *, register_t *));
int linux_sys___sysctl __P((struct proc *, void *, register_t *));
int sys_mlock __P((struct proc *, void *, register_t *));
int sys_munlock __P((struct proc *, void *, register_t *));
int sys_nanosleep __P((struct proc *, void *, register_t *));
int linux_sys_mremap __P((struct proc *, void *, register_t *));
int linux_sys_rt_sigreturn __P((struct proc *, void *, register_t *));
int linux_sys_rt_sigaction __P((struct proc *, void *, register_t *));
int linux_sys_rt_sigprocmask __P((struct proc *, void *, register_t *));
int linux_sys_rt_sigpending __P((struct proc *, void *, register_t *));
int linux_sys_rt_queueinfo __P((struct proc *, void *, register_t *));
int linux_sys_rt_sigsuspend __P((struct proc *, void *, register_t *));
int linux_sys_chown __P((struct proc *, void *, register_t *));

View File

@ -1,210 +0,0 @@
/* $NetBSD: linux_syscalls.c,v 1.1 1998/10/01 02:05:33 erh Exp $ */
/*
* System call names.
*
* DO NOT EDIT-- this file is automatically generated.
* created from NetBSD: syscalls.master,v 1.26 1998/10/01 02:03:17 erh Exp
*/
#if defined(_KERNEL) && !defined(_LKM)
#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_siginfo.h>
#include <compat/linux/i386/linux_syscallargs.h>
#include <compat/linux/linux_machdep.h>
#endif /* _KERNEL && ! _LKM */
char *linux_syscallnames[] = {
"syscall", /* 0 = syscall */
"exit", /* 1 = exit */
"fork", /* 2 = fork */
"read", /* 3 = read */
"write", /* 4 = write */
"open", /* 5 = open */
"close", /* 6 = close */
"waitpid", /* 7 = waitpid */
"creat", /* 8 = creat */
"link", /* 9 = link */
"unlink", /* 10 = unlink */
"execve", /* 11 = execve */
"chdir", /* 12 = chdir */
"time", /* 13 = time */
"mknod", /* 14 = mknod */
"chmod", /* 15 = chmod */
"lchown", /* 16 = lchown */
"break", /* 17 = break */
"#18 (obsolete ostat)", /* 18 = obsolete ostat */
"lseek", /* 19 = lseek */
"getpid", /* 20 = getpid */
"#21 (unimplemented mount)", /* 21 = unimplemented mount */
"#22 (unimplemented umount)", /* 22 = unimplemented umount */
"setuid", /* 23 = setuid */
"getuid", /* 24 = getuid */
"#25 (unimplemented stime)", /* 25 = unimplemented stime */
"#26 (unimplemented ptrace)", /* 26 = unimplemented ptrace */
"alarm", /* 27 = alarm */
"#28 (obsolete ofstat)", /* 28 = obsolete ofstat */
"pause", /* 29 = pause */
"utime", /* 30 = utime */
"#31 (obsolete stty)", /* 31 = obsolete stty */
"#32 (obsolete gtty)", /* 32 = obsolete gtty */
"access", /* 33 = access */
"nice", /* 34 = nice */
"#35 (obsolete ftime)", /* 35 = obsolete ftime */
"sync", /* 36 = sync */
"kill", /* 37 = kill */
"rename", /* 38 = rename */
"mkdir", /* 39 = mkdir */
"rmdir", /* 40 = rmdir */
"dup", /* 41 = dup */
"pipe", /* 42 = pipe */
"times", /* 43 = times */
"#44 (obsolete prof)", /* 44 = obsolete prof */
"brk", /* 45 = brk */
"setgid", /* 46 = setgid */
"getgid", /* 47 = getgid */
"signal", /* 48 = signal */
"geteuid", /* 49 = geteuid */
"getegid", /* 50 = getegid */
"acct", /* 51 = acct */
"#52 (obsolete phys)", /* 52 = obsolete phys */
"#53 (obsolete lock)", /* 53 = obsolete lock */
"ioctl", /* 54 = ioctl */
"fcntl", /* 55 = fcntl */
"#56 (obsolete mpx)", /* 56 = obsolete mpx */
"setpgid", /* 57 = setpgid */
"#58 (obsolete ulimit)", /* 58 = obsolete ulimit */
"oldolduname", /* 59 = oldolduname */
"umask", /* 60 = umask */
"chroot", /* 61 = chroot */
"#62 (unimplemented ustat)", /* 62 = unimplemented ustat */
"dup2", /* 63 = dup2 */
"getppid", /* 64 = getppid */
"getpgrp", /* 65 = getpgrp */
"setsid", /* 66 = setsid */
"sigaction", /* 67 = sigaction */
"siggetmask", /* 68 = siggetmask */
"sigsetmask", /* 69 = sigsetmask */
"setreuid", /* 70 = setreuid */
"setregid", /* 71 = setregid */
"sigsuspend", /* 72 = sigsuspend */
"sigpending", /* 73 = sigpending */
"sethostname", /* 74 = sethostname */
"setrlimit", /* 75 = setrlimit */
"getrlimit", /* 76 = getrlimit */
"getrusage", /* 77 = getrusage */
"gettimeofday", /* 78 = gettimeofday */
"settimeofday", /* 79 = settimeofday */
"getgroups", /* 80 = getgroups */
"setgroups", /* 81 = setgroups */
"oldselect", /* 82 = oldselect */
"symlink", /* 83 = symlink */
"oolstat", /* 84 = oolstat */
"readlink", /* 85 = readlink */
"uselib", /* 86 = uselib */
"swapon", /* 87 = swapon */
"reboot", /* 88 = reboot */
"readdir", /* 89 = readdir */
"old_mmap", /* 90 = old_mmap */
"munmap", /* 91 = munmap */
"truncate", /* 92 = truncate */
"ftruncate", /* 93 = ftruncate */
"fchmod", /* 94 = fchmod */
"fchown", /* 95 = fchown */
"getpriority", /* 96 = getpriority */
"setpriority", /* 97 = setpriority */
"profil", /* 98 = profil */
"statfs", /* 99 = statfs */
"fstatfs", /* 100 = fstatfs */
"ioperm", /* 101 = ioperm */
"socketcall", /* 102 = socketcall */
"#103 (unimplemented syslog)", /* 103 = unimplemented syslog */
"setitimer", /* 104 = setitimer */
"getitimer", /* 105 = getitimer */
"stat", /* 106 = stat */
"lstat", /* 107 = lstat */
"fstat", /* 108 = fstat */
"olduname", /* 109 = olduname */
"iopl", /* 110 = iopl */
"#111 (unimplemented vhangup)", /* 111 = unimplemented vhangup */
"#112 (unimplemented idle)", /* 112 = unimplemented idle */
"#113 (unimplemented vm86old)", /* 113 = unimplemented vm86old */
"wait4", /* 114 = wait4 */
"#115 (unimplemented swapoff)", /* 115 = unimplemented swapoff */
"#116 (unimplemented sysinfo)", /* 116 = unimplemented sysinfo */
"ipc", /* 117 = ipc */
"fsync", /* 118 = fsync */
"sigreturn", /* 119 = sigreturn */
"#120 (unimplemented clone)", /* 120 = unimplemented clone */
"setdomainname", /* 121 = setdomainname */
"uname", /* 122 = uname */
"modify_ldt", /* 123 = modify_ldt */
"#124 (unimplemented adjtimex)", /* 124 = unimplemented adjtimex */
"mprotect", /* 125 = mprotect */
"sigprocmask", /* 126 = sigprocmask */
"#127 (unimplemented create_module)", /* 127 = unimplemented create_module */
"#128 (unimplemented init_module)", /* 128 = unimplemented init_module */
"#129 (unimplemented delete_module)", /* 129 = unimplemented delete_module */
"#130 (unimplemented get_kernel_syms)", /* 130 = unimplemented get_kernel_syms */
"#131 (unimplemented quotactl)", /* 131 = unimplemented quotactl */
"getpgid", /* 132 = getpgid */
"fchdir", /* 133 = fchdir */
"#134 (unimplemented bdflush)", /* 134 = unimplemented bdflush */
"#135 (unimplemented sysfs)", /* 135 = unimplemented sysfs */
"personality", /* 136 = personality */
"#137 (unimplemented afs_syscall)", /* 137 = unimplemented afs_syscall */
"#138 (unimplemented setfsuid)", /* 138 = unimplemented setfsuid */
"#139 (unimplemented getfsuid)", /* 139 = unimplemented getfsuid */
"llseek", /* 140 = llseek */
"getdents", /* 141 = getdents */
"select", /* 142 = select */
"flock", /* 143 = flock */
"msync", /* 144 = msync */
"readv", /* 145 = readv */
"writev", /* 146 = writev */
"getsid", /* 147 = getsid */
"fdatasync", /* 148 = fdatasync */
"__sysctl", /* 149 = __sysctl */
"mlock", /* 150 = mlock */
"munlock", /* 151 = munlock */
"#152 (unimplemented mlockall)", /* 152 = unimplemented mlockall */
"#153 (unimplemented munlockall)", /* 153 = unimplemented munlockall */
"#154 (unimplemented sched_setparam)", /* 154 = unimplemented sched_setparam */
"#155 (unimplemented sched_getparam)", /* 155 = unimplemented sched_getparam */
"#156 (unimplemented sched_setscheduler)", /* 156 = unimplemented sched_setscheduler */
"#157 (unimplemented sched_getscheduler)", /* 157 = unimplemented sched_getscheduler */
"#158 (unimplemented sched_yield)", /* 158 = unimplemented sched_yield */
"#159 (unimplemented sched_get_priority_max)", /* 159 = unimplemented sched_get_priority_max */
"#160 (unimplemented sched_get_priority_min)", /* 160 = unimplemented sched_get_priority_min */
"#161 (unimplemented sched_rr_get_interval)", /* 161 = unimplemented sched_rr_get_interval */
"nanosleep", /* 162 = nanosleep */
"mremap", /* 163 = mremap */
"#164 (unimplemented setresuid)", /* 164 = unimplemented setresuid */
"#165 (unimplemented getresuid)", /* 165 = unimplemented getresuid */
"#166 (unimplemented vm86)", /* 166 = unimplemented vm86 */
"#167 (unimplemented query_module)", /* 167 = unimplemented query_module */
"#168 (unimplemented poll)", /* 168 = unimplemented poll */
"#169 (unimplemented nfsservctl)", /* 169 = unimplemented nfsservctl */
"#170 (unimplemented setresgid)", /* 170 = unimplemented setresgid */
"#171 (unimplemented setresgid)", /* 171 = unimplemented setresgid */
"#172 (unimplemented prctl)", /* 172 = unimplemented prctl */
"rt_sigreturn", /* 173 = rt_sigreturn */
"rt_sigaction", /* 174 = rt_sigaction */
"rt_sigprocmask", /* 175 = rt_sigprocmask */
"rt_sigpending", /* 176 = rt_sigpending */
"#177 (unimplemented rt_sigtimedwait)", /* 177 = unimplemented rt_sigtimedwait */
"rt_queueinfo", /* 178 = rt_queueinfo */
"rt_sigsuspend", /* 179 = rt_sigsuspend */
"#180 (unimplemented pread)", /* 180 = unimplemented pread */
"#181 (unimplemented pwrite)", /* 181 = unimplemented pwrite */
"chown", /* 182 = chown */
"#183 (unimplemented getcwd)", /* 183 = unimplemented getcwd */
"#184 (unimplemented capget)", /* 184 = unimplemented capget */
"#185 (unimplemented capset)", /* 185 = unimplemented capset */
};

View File

@ -1,397 +0,0 @@
/* $NetBSD: linux_sysent.c,v 1.1 1998/10/01 02:05:33 erh Exp $ */
/*
* System call switch table.
*
* DO NOT EDIT-- this file is automatically generated.
* created from NetBSD: syscalls.master,v 1.26 1998/10/01 02:03:17 erh Exp
*/
#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_siginfo.h>
#include <compat/linux/i386/linux_syscallargs.h>
#include <compat/linux/linux_machdep.h>
#define s(type) sizeof(type)
struct sysent linux_sysent[] = {
{ 0, 0,
sys_nosys }, /* 0 = syscall */
{ 1, s(struct sys_exit_args),
sys_exit }, /* 1 = exit */
{ 0, 0,
sys_fork }, /* 2 = fork */
{ 3, s(struct sys_read_args),
sys_read }, /* 3 = read */
{ 3, s(struct sys_write_args),
sys_write }, /* 4 = write */
{ 3, s(struct linux_sys_open_args),
linux_sys_open }, /* 5 = open */
{ 1, s(struct sys_close_args),
sys_close }, /* 6 = close */
{ 3, s(struct linux_sys_waitpid_args),
linux_sys_waitpid }, /* 7 = waitpid */
{ 2, s(struct linux_sys_creat_args),
linux_sys_creat }, /* 8 = creat */
{ 2, s(struct sys_link_args),
sys_link }, /* 9 = link */
{ 1, s(struct linux_sys_unlink_args),
linux_sys_unlink }, /* 10 = unlink */
{ 3, s(struct linux_sys_execve_args),
linux_sys_execve }, /* 11 = execve */
{ 1, s(struct linux_sys_chdir_args),
linux_sys_chdir }, /* 12 = chdir */
{ 1, s(struct linux_sys_time_args),
linux_sys_time }, /* 13 = time */
{ 3, s(struct linux_sys_mknod_args),
linux_sys_mknod }, /* 14 = mknod */
{ 2, s(struct linux_sys_chmod_args),
linux_sys_chmod }, /* 15 = chmod */
{ 3, s(struct linux_sys_lchown_args),
linux_sys_lchown }, /* 16 = lchown */
{ 1, s(struct linux_sys_break_args),
linux_sys_break }, /* 17 = break */
{ 0, 0,
sys_nosys }, /* 18 = obsolete ostat */
{ 3, s(struct compat_43_sys_lseek_args),
compat_43_sys_lseek }, /* 19 = lseek */
{ 0, 0,
sys_getpid }, /* 20 = getpid */
{ 0, 0,
sys_nosys }, /* 21 = unimplemented mount */
{ 0, 0,
sys_nosys }, /* 22 = unimplemented umount */
{ 1, s(struct sys_setuid_args),
sys_setuid }, /* 23 = setuid */
{ 0, 0,
sys_getuid }, /* 24 = getuid */
{ 0, 0,
sys_nosys }, /* 25 = unimplemented stime */
{ 0, 0,
sys_nosys }, /* 26 = unimplemented ptrace */
{ 1, s(struct linux_sys_alarm_args),
linux_sys_alarm }, /* 27 = alarm */
{ 0, 0,
sys_nosys }, /* 28 = obsolete ofstat */
{ 0, 0,
linux_sys_pause }, /* 29 = pause */
{ 2, s(struct linux_sys_utime_args),
linux_sys_utime }, /* 30 = utime */
{ 0, 0,
sys_nosys }, /* 31 = obsolete stty */
{ 0, 0,
sys_nosys }, /* 32 = obsolete gtty */
{ 2, s(struct linux_sys_access_args),
linux_sys_access }, /* 33 = access */
{ 1, s(struct linux_sys_nice_args),
linux_sys_nice }, /* 34 = nice */
{ 0, 0,
sys_nosys }, /* 35 = obsolete ftime */
{ 0, 0,
sys_sync }, /* 36 = sync */
{ 2, s(struct linux_sys_kill_args),
linux_sys_kill }, /* 37 = kill */
{ 2, s(struct linux_sys_rename_args),
linux_sys_rename }, /* 38 = rename */
{ 2, s(struct linux_sys_mkdir_args),
linux_sys_mkdir }, /* 39 = mkdir */
{ 1, s(struct linux_sys_rmdir_args),
linux_sys_rmdir }, /* 40 = rmdir */
{ 1, s(struct sys_dup_args),
sys_dup }, /* 41 = dup */
{ 1, s(struct linux_sys_pipe_args),
linux_sys_pipe }, /* 42 = pipe */
{ 1, s(struct linux_sys_times_args),
linux_sys_times }, /* 43 = times */
{ 0, 0,
sys_nosys }, /* 44 = obsolete prof */
{ 1, s(struct linux_sys_brk_args),
linux_sys_brk }, /* 45 = brk */
{ 1, s(struct sys_setgid_args),
sys_setgid }, /* 46 = setgid */
{ 0, 0,
sys_getgid }, /* 47 = getgid */
{ 2, s(struct linux_sys_signal_args),
linux_sys_signal }, /* 48 = signal */
{ 0, 0,
sys_geteuid }, /* 49 = geteuid */
{ 0, 0,
sys_getegid }, /* 50 = getegid */
{ 1, s(struct sys_acct_args),
sys_acct }, /* 51 = acct */
{ 0, 0,
sys_nosys }, /* 52 = obsolete phys */
{ 0, 0,
sys_nosys }, /* 53 = obsolete lock */
{ 3, s(struct linux_sys_ioctl_args),
linux_sys_ioctl }, /* 54 = ioctl */
{ 3, s(struct linux_sys_fcntl_args),
linux_sys_fcntl }, /* 55 = fcntl */
{ 0, 0,
sys_nosys }, /* 56 = obsolete mpx */
{ 2, s(struct sys_setpgid_args),
sys_setpgid }, /* 57 = setpgid */
{ 0, 0,
sys_nosys }, /* 58 = obsolete ulimit */
{ 1, s(struct linux_sys_oldolduname_args),
linux_sys_oldolduname }, /* 59 = oldolduname */
{ 1, s(struct sys_umask_args),
sys_umask }, /* 60 = umask */
{ 1, s(struct sys_chroot_args),
sys_chroot }, /* 61 = chroot */
{ 0, 0,
sys_nosys }, /* 62 = unimplemented ustat */
{ 2, s(struct sys_dup2_args),
sys_dup2 }, /* 63 = dup2 */
{ 0, 0,
sys_getppid }, /* 64 = getppid */
{ 0, 0,
sys_getpgrp }, /* 65 = getpgrp */
{ 0, 0,
sys_setsid }, /* 66 = setsid */
{ 3, s(struct linux_sys_sigaction_args),
linux_sys_sigaction }, /* 67 = sigaction */
{ 0, 0,
linux_sys_siggetmask }, /* 68 = siggetmask */
{ 1, s(struct linux_sys_sigsetmask_args),
linux_sys_sigsetmask }, /* 69 = sigsetmask */
{ 2, s(struct linux_sys_setreuid_args),
linux_sys_setreuid }, /* 70 = setreuid */
{ 2, s(struct linux_sys_setregid_args),
linux_sys_setregid }, /* 71 = setregid */
{ 3, s(struct linux_sys_sigsuspend_args),
linux_sys_sigsuspend }, /* 72 = sigsuspend */
{ 1, s(struct linux_sys_sigpending_args),
linux_sys_sigpending }, /* 73 = sigpending */
{ 2, s(struct compat_43_sys_sethostname_args),
compat_43_sys_sethostname }, /* 74 = sethostname */
{ 2, s(struct compat_43_sys_setrlimit_args),
compat_43_sys_setrlimit }, /* 75 = setrlimit */
{ 2, s(struct compat_43_sys_getrlimit_args),
compat_43_sys_getrlimit }, /* 76 = getrlimit */
{ 2, s(struct sys_getrusage_args),
sys_getrusage }, /* 77 = getrusage */
{ 2, s(struct sys_gettimeofday_args),
sys_gettimeofday }, /* 78 = gettimeofday */
{ 2, s(struct sys_settimeofday_args),
sys_settimeofday }, /* 79 = settimeofday */
{ 2, s(struct sys_getgroups_args),
sys_getgroups }, /* 80 = getgroups */
{ 2, s(struct sys_setgroups_args),
sys_setgroups }, /* 81 = setgroups */
{ 1, s(struct linux_sys_oldselect_args),
linux_sys_oldselect }, /* 82 = oldselect */
{ 2, s(struct linux_sys_symlink_args),
linux_sys_symlink }, /* 83 = symlink */
{ 2, s(struct compat_43_sys_lstat_args),
compat_43_sys_lstat }, /* 84 = oolstat */
{ 3, s(struct linux_sys_readlink_args),
linux_sys_readlink }, /* 85 = readlink */
{ 1, s(struct linux_sys_uselib_args),
linux_sys_uselib }, /* 86 = uselib */
{ 1, s(struct compat_12_sys_swapon_args),
compat_12_sys_swapon }, /* 87 = swapon */
{ 1, s(struct sys_reboot_args),
sys_reboot }, /* 88 = reboot */
{ 3, s(struct linux_sys_readdir_args),
linux_sys_readdir }, /* 89 = readdir */
{ 1, s(struct linux_sys_old_mmap_args),
linux_sys_old_mmap }, /* 90 = old_mmap */
{ 2, s(struct sys_munmap_args),
sys_munmap }, /* 91 = munmap */
{ 2, s(struct linux_sys_truncate_args),
linux_sys_truncate }, /* 92 = truncate */
{ 2, s(struct compat_43_sys_ftruncate_args),
compat_43_sys_ftruncate }, /* 93 = ftruncate */
{ 2, s(struct sys_fchmod_args),
sys_fchmod }, /* 94 = fchmod */
{ 3, s(struct linux_sys_fchown_args),
linux_sys_fchown }, /* 95 = fchown */
{ 2, s(struct sys_getpriority_args),
sys_getpriority }, /* 96 = getpriority */
{ 3, s(struct sys_setpriority_args),
sys_setpriority }, /* 97 = setpriority */
{ 4, s(struct sys_profil_args),
sys_profil }, /* 98 = profil */
{ 2, s(struct linux_sys_statfs_args),
linux_sys_statfs }, /* 99 = statfs */
{ 2, s(struct linux_sys_fstatfs_args),
linux_sys_fstatfs }, /* 100 = fstatfs */
{ 3, s(struct linux_sys_ioperm_args),
linux_sys_ioperm }, /* 101 = ioperm */
{ 2, s(struct linux_sys_socketcall_args),
linux_sys_socketcall }, /* 102 = socketcall */
{ 0, 0,
sys_nosys }, /* 103 = unimplemented syslog */
{ 3, s(struct sys_setitimer_args),
sys_setitimer }, /* 104 = setitimer */
{ 2, s(struct sys_getitimer_args),
sys_getitimer }, /* 105 = getitimer */
{ 2, s(struct linux_sys_stat_args),
linux_sys_stat }, /* 106 = stat */
{ 2, s(struct linux_sys_lstat_args),
linux_sys_lstat }, /* 107 = lstat */
{ 2, s(struct linux_sys_fstat_args),
linux_sys_fstat }, /* 108 = fstat */
{ 1, s(struct linux_sys_olduname_args),
linux_sys_olduname }, /* 109 = olduname */
{ 1, s(struct linux_sys_iopl_args),
linux_sys_iopl }, /* 110 = iopl */
{ 0, 0,
sys_nosys }, /* 111 = unimplemented vhangup */
{ 0, 0,
sys_nosys }, /* 112 = unimplemented idle */
{ 0, 0,
sys_nosys }, /* 113 = unimplemented vm86old */
{ 4, s(struct linux_sys_wait4_args),
linux_sys_wait4 }, /* 114 = wait4 */
{ 0, 0,
sys_nosys }, /* 115 = unimplemented swapoff */
{ 0, 0,
sys_nosys }, /* 116 = unimplemented sysinfo */
{ 5, s(struct linux_sys_ipc_args),
linux_sys_ipc }, /* 117 = ipc */
{ 1, s(struct sys_fsync_args),
sys_fsync }, /* 118 = fsync */
{ 1, s(struct linux_sys_sigreturn_args),
linux_sys_sigreturn }, /* 119 = sigreturn */
{ 0, 0,
sys_nosys }, /* 120 = unimplemented clone */
{ 2, s(struct compat_09_sys_setdomainname_args),
compat_09_sys_setdomainname }, /* 121 = setdomainname */
{ 1, s(struct linux_sys_uname_args),
linux_sys_uname }, /* 122 = uname */
{ 3, s(struct linux_sys_modify_ldt_args),
linux_sys_modify_ldt }, /* 123 = modify_ldt */
{ 0, 0,
sys_nosys }, /* 124 = unimplemented adjtimex */
{ 3, s(struct sys_mprotect_args),
sys_mprotect }, /* 125 = mprotect */
{ 3, s(struct linux_sys_sigprocmask_args),
linux_sys_sigprocmask }, /* 126 = sigprocmask */
{ 0, 0,
sys_nosys }, /* 127 = unimplemented create_module */
{ 0, 0,
sys_nosys }, /* 128 = unimplemented init_module */
{ 0, 0,
sys_nosys }, /* 129 = unimplemented delete_module */
{ 0, 0,
sys_nosys }, /* 130 = unimplemented get_kernel_syms */
{ 0, 0,
sys_nosys }, /* 131 = unimplemented quotactl */
{ 1, s(struct linux_sys_getpgid_args),
linux_sys_getpgid }, /* 132 = getpgid */
{ 1, s(struct sys_fchdir_args),
sys_fchdir }, /* 133 = fchdir */
{ 0, 0,
sys_nosys }, /* 134 = unimplemented bdflush */
{ 0, 0,
sys_nosys }, /* 135 = unimplemented sysfs */
{ 1, s(struct linux_sys_personality_args),
linux_sys_personality }, /* 136 = personality */
{ 0, 0,
sys_nosys }, /* 137 = unimplemented afs_syscall */
{ 0, 0,
sys_nosys }, /* 138 = unimplemented setfsuid */
{ 0, 0,
sys_nosys }, /* 139 = unimplemented getfsuid */
{ 5, s(struct linux_sys_llseek_args),
linux_sys_llseek }, /* 140 = llseek */
{ 3, s(struct linux_sys_getdents_args),
linux_sys_getdents }, /* 141 = getdents */
{ 5, s(struct linux_sys_select_args),
linux_sys_select }, /* 142 = select */
{ 2, s(struct sys_flock_args),
sys_flock }, /* 143 = flock */
{ 3, s(struct linux_sys_msync_args),
linux_sys_msync }, /* 144 = msync */
{ 3, s(struct sys_readv_args),
sys_readv }, /* 145 = readv */
{ 3, s(struct sys_writev_args),
sys_writev }, /* 146 = writev */
{ 1, s(struct sys_getsid_args),
sys_getsid }, /* 147 = getsid */
{ 1, s(struct linux_sys_fdatasync_args),
linux_sys_fdatasync }, /* 148 = fdatasync */
{ 1, s(struct linux_sys___sysctl_args),
linux_sys___sysctl }, /* 149 = __sysctl */
{ 2, s(struct sys_mlock_args),
sys_mlock }, /* 150 = mlock */
{ 2, s(struct sys_munlock_args),
sys_munlock }, /* 151 = munlock */
{ 0, 0,
sys_nosys }, /* 152 = unimplemented mlockall */
{ 0, 0,
sys_nosys }, /* 153 = unimplemented munlockall */
{ 0, 0,
sys_nosys }, /* 154 = unimplemented sched_setparam */
{ 0, 0,
sys_nosys }, /* 155 = unimplemented sched_getparam */
{ 0, 0,
sys_nosys }, /* 156 = unimplemented sched_setscheduler */
{ 0, 0,
sys_nosys }, /* 157 = unimplemented sched_getscheduler */
{ 0, 0,
sys_nosys }, /* 158 = unimplemented sched_yield */
{ 0, 0,
sys_nosys }, /* 159 = unimplemented sched_get_priority_max */
{ 0, 0,
sys_nosys }, /* 160 = unimplemented sched_get_priority_min */
{ 0, 0,
sys_nosys }, /* 161 = unimplemented sched_rr_get_interval */
{ 2, s(struct sys_nanosleep_args),
sys_nanosleep }, /* 162 = nanosleep */
{ 4, s(struct linux_sys_mremap_args),
linux_sys_mremap }, /* 163 = mremap */
{ 0, 0,
sys_nosys }, /* 164 = unimplemented setresuid */
{ 0, 0,
sys_nosys }, /* 165 = unimplemented getresuid */
{ 0, 0,
sys_nosys }, /* 166 = unimplemented vm86 */
{ 0, 0,
sys_nosys }, /* 167 = unimplemented query_module */
{ 0, 0,
sys_nosys }, /* 168 = unimplemented poll */
{ 0, 0,
sys_nosys }, /* 169 = unimplemented nfsservctl */
{ 0, 0,
sys_nosys }, /* 170 = unimplemented setresgid */
{ 0, 0,
sys_nosys }, /* 171 = unimplemented setresgid */
{ 0, 0,
sys_nosys }, /* 172 = unimplemented prctl */
{ 1, s(struct linux_sys_rt_sigreturn_args),
linux_sys_rt_sigreturn }, /* 173 = rt_sigreturn */
{ 4, s(struct linux_sys_rt_sigaction_args),
linux_sys_rt_sigaction }, /* 174 = rt_sigaction */
{ 4, s(struct linux_sys_rt_sigprocmask_args),
linux_sys_rt_sigprocmask }, /* 175 = rt_sigprocmask */
{ 2, s(struct linux_sys_rt_sigpending_args),
linux_sys_rt_sigpending }, /* 176 = rt_sigpending */
{ 0, 0,
sys_nosys }, /* 177 = unimplemented rt_sigtimedwait */
{ 3, s(struct linux_sys_rt_queueinfo_args),
linux_sys_rt_queueinfo }, /* 178 = rt_queueinfo */
{ 2, s(struct linux_sys_rt_sigsuspend_args),
linux_sys_rt_sigsuspend }, /* 179 = rt_sigsuspend */
{ 0, 0,
sys_nosys }, /* 180 = unimplemented pread */
{ 0, 0,
sys_nosys }, /* 181 = unimplemented pwrite */
{ 3, s(struct linux_sys_chown_args),
linux_sys_chown }, /* 182 = chown */
{ 0, 0,
sys_nosys }, /* 183 = unimplemented getcwd */
{ 0, 0,
sys_nosys }, /* 184 = unimplemented capget */
{ 0, 0,
sys_nosys }, /* 185 = unimplemented capset */
};

View File

@ -1,235 +0,0 @@
/* $NetBSD: linux_termios.h,v 1.3 1998/10/01 01:52:59 erh Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
* by Eric Haszlakiewicz.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the NetBSD
* Foundation, Inc. and its contributors.
* 4. Neither the name of The NetBSD Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _I386_LINUX_TERMIOS_H
#define _I386_LINUX_TERMIOS_H
#define LINUX_TCGETS _LINUX_IO('T', 1)
#define LINUX_TCSETS _LINUX_IO('T', 2)
#define LINUX_TCSETSW _LINUX_IO('T', 3)
#define LINUX_TCSETSF _LINUX_IO('T', 4)
#define LINUX_TCGETA _LINUX_IO('T', 5)
#define LINUX_TCSETA _LINUX_IO('T', 6)
#define LINUX_TCSETAW _LINUX_IO('T', 7)
#define LINUX_TCSETAF _LINUX_IO('T', 8)
#define LINUX_TCSBRK _LINUX_IO('T', 9)
#define LINUX_TCXONC _LINUX_IO('T', 10)
#define LINUX_TCFLSH _LINUX_IO('T', 11)
#define LINUX_TIOCEXCL _LINUX_IO('T', 12)
#define LINUX_TIOCNXCL _LINUX_IO('T', 13)
#define LINUX_TIOCSCTTY _LINUX_IO('T', 14)
#define LINUX_TIOCGPGRP _LINUX_IO('T', 15)
#define LINUX_TIOCSPGRP _LINUX_IO('T', 16)
#define LINUX_TIOCOUTQ _LINUX_IO('T', 17)
#define LINUX_TIOCSTI _LINUX_IO('T', 18)
#define LINUX_TIOCGWINSZ _LINUX_IO('T', 19)
#define LINUX_TIOCSWINSZ _LINUX_IO('T', 20)
#define LINUX_TIOCMGET _LINUX_IO('T', 21)
#define LINUX_TIOCMBIS _LINUX_IO('T', 22)
#define LINUX_TIOCMBIC _LINUX_IO('T', 23)
#define LINUX_TIOCMSET _LINUX_IO('T', 24)
#define LINUX_TIOCGSOFTCAR _LINUX_IO('T', 25)
#define LINUX_TIOCSSOFTCAR _LINUX_IO('T', 26)
#define LINUX_FIONREAD _LINUX_IO('T', 27)
#define LINUX_TIOCINQ LINUX_FIONREAD
#define LINUX_TIOCLINUX _LINUX_IO('T', 28)
#define LINUX_TIOCCONS _LINUX_IO('T', 29)
#define LINUX_TIOCGSERIAL _LINUX_IO('T', 30)
#define LINUX_TIOCSSERIAL _LINUX_IO('T', 31)
#define LINUX_TIOCPKT _LINUX_IO('T', 32)
#define LINUX_FIONBIO _LINUX_IO('T', 33)
#define LINUX_TIOCNOTTY _LINUX_IO('T', 34)
#define LINUX_TIOCSETD _LINUX_IO('T', 35)
#define LINUX_TIOCGETD _LINUX_IO('T', 36)
#define LINUX_TCSBRKP _LINUX_IO('T', 37)
#define LINUX_TIOCTTYGSTRUCT _LINUX_IO('T', 38)
#define LINUX_FIONCLEX _LINUX_IO('T', 80)
#define LINUX_FIOCLEX _LINUX_IO('T', 81)
#define LINUX_FIOASYNC _LINUX_IO('T', 82)
#define LINUX_TIOCSERCONFIG _LINUX_IO('T', 83)
#define LINUX_TIOCSERGWILD _LINUX_IO('T', 84)
#define LINUX_TIOCSERSWILD _LINUX_IO('T', 85)
#define LINUX_TIOCGLCKTRMIOS _LINUX_IO('T', 86)
#define LINUX_TIOCSLCKTRMIOS _LINUX_IO('T', 87)
#define LINUX_TIOCSERGSTRUCT _LINUX_IO('T', 88)
#define LINUX_TIOCSERGETLSR _LINUX_IO('T', 89)
/* linux_termios c_cc chars: */
#define LINUX_VINTR 0
#define LINUX_VQUIT 1
#define LINUX_VERASE 2
#define LINUX_VKILL 3
#define LINUX_VEOF 4
#define LINUX_VTIME 5
#define LINUX_VMIN 6
#define LINUX_VSWTC 7
#define LINUX_VSTART 8
#define LINUX_VSTOP 9
#define LINUX_VSUSP 10
#define LINUX_VEOL 11
#define LINUX_VREPRINT 12
#define LINUX_VDISCARD 13
#define LINUX_VWERASE 14
#define LINUX_VLNEXT 15
#define LINUX_VEOL2 16
/* Old style linux_termio */
#define LINUX_OLD_VINTR LINUX_VINTR
#define LINUX_OLD_VQUIT LINUX_VQUIT
#define LINUX_OLD_VERASE LINUX_VERASE
#define LINUX_OLD_VKILL LINUX_VKILL
#define LINUX_OLD_VEOF LINUX_VEOF
#define LINUX_OLD_VMIN LINUX_VMIN
#define LINUX_OLD_VEOL LINUX_VEOL
#define LINUX_OLD_VTIME LINUX_VTIME
#define LINUX_OLD_VEOL2 LINUX_VEOL2
#define LINUX_OLD_VSWTC LINUX_VSWTC
/* Linux c_iflag masks */
#define LINUX_IGNBRK 0x0000001
#define LINUX_BRKINT 0x0000002
#define LINUX_IGNPAR 0x0000004
#define LINUX_PARMRK 0x0000008
#define LINUX_INPCK 0x0000010
#define LINUX_ISTRIP 0x0000020
#define LINUX_INLCR 0x0000040
#define LINUX_IGNCR 0x0000080
#define LINUX_ICRNL 0x0000100
#define LINUX_IUCLC 0x0000200
#define LINUX_IXON 0x0000400
#define LINUX_IXANY 0x0000800
#define LINUX_IXOFF 0x0001000
#define LINUX_IMAXBEL 0x0002000
/* Linux c_oflag masks */
#define LINUX_OPOST 0x0000001
#define LINUX_OLCUC 0x0000002
#define LINUX_ONLCR 0x0000004
#define LINUX_OCRNL 0x0000008
#define LINUX_ONOCR 0x0000010
#define LINUX_ONLRET 0x0000020
#define LINUX_OFILL 0x0000040
#define LINUX_OFDEL 0x0000080
#define LINUX_NLDLY 0x0000100
#define LINUX_NL0 0x0000000
#define LINUX_NL1 0x0000100
#define LINUX_CRDLY 0x0000600
#define LINUX_CR0 0x0000000
#define LINUX_CR1 0x0000200
#define LINUX_CR2 0x0000400
#define LINUX_CR3 0x0000600
#define LINUX_TABDLY 0x0001800
#define LINUX_TAB0 0x0000000
#define LINUX_TAB1 0x0000800
#define LINUX_TAB2 0x0001000
#define LINUX_TAB3 0x0001800
#define LINUX_XTABS 0x0001800
#define LINUX_BSDLY 0x0002000
#define LINUX_BS0 0x0000000
#define LINUX_BS1 0x0002000
#define LINUX_VTDLY 0x0004000
#define LINUX_VT0 0x0000000
#define LINUX_VT1 0x0004000
#define LINUX_FFDLY 0x0008000
#define LINUX_FF0 0x0000000
#define LINUX_FF1 0x0008000
/* Linux c_cflag bit masks */
#define LINUX_NSPEEDS 16
#define LINUX_NXSPEEDS 3 /* XXX Add B460800, NXSPEEDS=4 */
#define LINUX_CBAUD 0x0000100f
#define LINUX_B0 0x00000000
#define LINUX_B50 0x00000001
#define LINUX_B75 0x00000002
#define LINUX_B110 0x00000003
#define LINUX_B134 0x00000004
#define LINUX_B150 0x00000005
#define LINUX_B200 0x00000006
#define LINUX_B300 0x00000007
#define LINUX_B600 0x00000008
#define LINUX_B1200 0x00000009
#define LINUX_B1800 0x0000000a
#define LINUX_B2400 0x0000000b
#define LINUX_B4800 0x0000000c
#define LINUX_B9600 0x0000000d
#define LINUX_B19200 0x0000000e
#define LINUX_B38400 0x0000000f
#define LINUX_EXTA LINUX_B19200
#define LINUX_EXTB LINUX_B38400
#define LINUX_CBAUDEX 0x00001000
#define LINUX_B57600 0x00001001
#define LINUX_B115200 0x00001002
#define LINUX_B230400 0x00001003
#define LINUX_CSIZE 0x00000030
#define LINUX_CS5 0x00000000
#define LINUX_CS6 0x00000010
#define LINUX_CS7 0x00000020
#define LINUX_CS8 0x00000030
#define LINUX_CSTOPB 0x00000040
#define LINUX_CREAD 0x00000080
#define LINUX_PARENB 0x00000100
#define LINUX_PARODD 0x00000200
#define LINUX_HUPCL 0x00000400
#define LINUX_CLOCAL 0x00000800
#define LINUX_CRTSCTS 0x80000000
/* Linux c_lflag masks */
#define LINUX_ISIG 0x00000001
#define LINUX_ICANON 0x00000002
#define LINUX_XCASE 0x00000004
#define LINUX_ECHO 0x00000008
#define LINUX_ECHOE 0x00000010
#define LINUX_ECHOK 0x00000020
#define LINUX_ECHONL 0x00000040
#define LINUX_NOFLSH 0x00000080
#define LINUX_TOSTOP 0x00000100
#define LINUX_ECHOCTL 0x00000200
#define LINUX_ECHOPRT 0x00000400
#define LINUX_ECHOKE 0x00000800
#define LINUX_FLUSHO 0x00001000
#define LINUX_PENDIN 0x00002000
#define LINUX_IEXTEN 0x00008000
#endif /* !_I386_LINUX_TERMIOS_H */

View File

@ -1,129 +0,0 @@
/* $NetBSD: linux_types.h,v 1.6 1998/10/01 01:31:11 erh Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
* by Eric Haszlakiewicz.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the NetBSD
* Foundation, Inc. and its contributors.
* 4. Neither the name of The NetBSD Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/*
* Copyright (c) 1995 Frank van der Linden
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed for the NetBSD Project
* by Frank van der Linden
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _I386_LINUX_TYPES_H
#define _I386_LINUX_TYPES_H
typedef struct {
long val[2];
} linux_fsid_t;
typedef unsigned short linux_uid_t;
typedef unsigned short linux_gid_t;
typedef unsigned short linux_dev_t;
typedef unsigned long linux_ino_t;
typedef unsigned short linux_mode_t;
typedef unsigned short linux_nlink_t;
typedef long linux_time_t;
typedef long linux_clock_t;
typedef long linux_off_t;
typedef int linux_pid_t;
/* From linux_termios.h */
typedef unsigned char linux_cc_t;
typedef unsigned long linux_speed_t;
typedef unsigned long linux_tcflag_t;
struct linux_statfs {
long l_ftype;
long l_fbsize;
long l_fblocks;
long l_fbfree;
long l_fbavail;
long l_ffiles;
long l_fffree;
linux_fsid_t l_ffsid;
long l_fnamelen;
long l_fspare[6];
};
struct linux_stat {
linux_dev_t lst_dev;
unsigned short pad1;
linux_ino_t lst_ino;
linux_mode_t lst_mode;
linux_nlink_t lst_nlink;
linux_uid_t lst_uid;
linux_gid_t lst_gid;
linux_dev_t lst_rdev;
unsigned short pad2;
linux_off_t lst_size;
unsigned long lst_blksize;
unsigned long lst_blocks;
linux_time_t lst_atime;
unsigned long unused1;
linux_time_t lst_mtime;
unsigned long unused2;
linux_time_t lst_ctime;
unsigned long unused3;
unsigned long unused4;
unsigned long unused5;
};
#endif /* !_I386_LINUX_TYPES_H */

View File

@ -1,12 +0,0 @@
# $NetBSD: syscalls.conf,v 1.2 1998/10/01 00:42:01 erh Exp $
sysnames="linux_syscalls.c"
sysnumhdr="linux_syscall.h"
syssw="linux_sysent.c"
sysarghdr="linux_syscallargs.h"
compatopts=""
libcompatopts=""
switchname="linux_sysent"
namesname="linux_syscallnames"
constprefix="LINUX_SYS_"

View File

@ -1,286 +0,0 @@
$NetBSD: syscalls.master,v 1.26 1998/10/01 02:03:17 erh Exp $
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
; NetBSD i386 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
; INDIR included, but don't define the syscall args structure
; and allow it to be "really" varargs.
;
; 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_siginfo.h>
#include <compat/linux/i386/linux_syscallargs.h>
#include <compat/linux/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_lchown(char *path, int uid, int gid); }
;17 - no longer in linux source.
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 OBSOL stty
32 OBSOL gtty
33 STD { int linux_sys_access(char *path, int flags); }
34 STD { int linux_sys_nice(int incr); }
35 OBSOL 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 OBSOL 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 OBSOL phys
53 OBSOL 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 OBSOL mpx
57 NOARGS { int sys_setpgid(int pid, int pgid); }
58 OBSOL 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_old_sigaction *nsa, \
struct linux_old_sigaction *osa); }
68 STD { int linux_sys_siggetmask(void); }
69 STD { int linux_sys_sigsetmask(linux_old_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_old_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_oldselect *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_old_mmap(struct linux_oldmmap *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); }
101 STD { int linux_sys_ioperm(unsigned int lo, \
unsigned int hi, int val); }
102 STD { int linux_sys_socketcall(int what, void *args); }
103 UNIMPL syslog
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); }
110 STD { int linux_sys_iopl(int level); }
111 UNIMPL vhangup
112 UNIMPL idle
113 UNIMPL vm86old
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); }
123 STD { int linux_sys_modify_ldt(int func, void *ptr, \
size_t bytecount); }
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_old_sigset_t *set, \
linux_old_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, \
struct linux_dirent *dent, unsigned int 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); }
164 UNIMPL setresuid
165 UNIMPL getresuid
166 UNIMPL vm86
167 UNIMPL query_module
168 UNIMPL poll
169 UNIMPL nfsservctl
170 UNIMPL setresgid
171 UNIMPL setresgid
172 UNIMPL prctl
173 STD { int linux_sys_rt_sigreturn( \
struct linux_rt_sigframe *sfp); }
174 STD { int linux_sys_rt_sigaction(int signum, \
const struct linux_sigaction *nsa, \
struct linux_sigaction *osa, \
size_t sigsetsize); }
175 STD { int linux_sys_rt_sigprocmask(int how, \
const linux_sigset_t *set, \
linux_sigset_t *oset, \
size_t sigsetsize); }
176 STD { int linux_sys_rt_sigpending( \
linux_sigset_t *set, \
size_t sigsetsize); }
177 UNIMPL rt_sigtimedwait
; XXX XAX int here? sigset_t here? siginfo_t
178 STD { int linux_sys_rt_queueinfo(int pid, int signum, \
void *uinfo); }
179 STD { int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \
size_t sigsetsize); }
180 UNIMPL pread
181 UNIMPL pwrite
182 STD { int linux_sys_chown(char *path, int uid, int gid); }
183 UNIMPL getcwd
184 UNIMPL capget
185 UNIMPL capset

View File

@ -1,3 +0,0 @@
# $NetBSD: Makefile,v 1.1 1998/09/30 21:55:58 erh Exp $
.include <../Makefile.inc>

View File

@ -1,12 +0,0 @@
# $NetBSD: syscalls.conf,v 1.1 1998/09/30 21:55:58 erh Exp $
sysnames="linux_syscalls.c"
sysnumhdr="linux_syscall.h"
syssw="linux_sysent.c"
sysarghdr="linux_syscallargs.h"
compatopts=""
libcompatopts=""
switchname="linux_sysent"
namesname="linux_syscallnames"
constprefix="LINUX_SYS_"

View File

@ -1,3 +0,0 @@
# $NetBSD: Makefile,v 1.1 1998/09/30 21:55:58 erh Exp $
.include <../Makefile.inc>

View File

@ -1,62 +0,0 @@
/* $NetBSD: linux_mmap.h,v 1.1 1998/09/30 21:55:58 erh Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
* by Eric Haszlakiewicz.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the NetBSD
* Foundation, Inc. and its contributors.
* 4. Neither the name of The NetBSD Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _MIPS_LINUX_MMAP_H
#define _MIPS_LINUX_MMAP_H
/* LINUX_PROT_* defined in common/linux_mmap.h */
/* LINUX_MAP_SHARED/PRIVATE defined in common/linux_mmap.h */
#define LINUX_MAP_FIXED 0x0010
#define LINUX_MAP_ANON 0x0800
/* Ignored */
#define LINUX_MAP_RENAME 0x0020
#define LINUX_MAP_AUTOGROW 0x0040
#define LINUX_MAP_LOCAL 0x0080
#define LINUX_MAP_AUTORSRV 0x0100
#define LINUX_MAP_NORESERVE 0x0400
#define LINUX_MAP_GROWSDOWN 0x1000
#define LINUX_MAP_DENYWRITE 0x2000
#define LINUX_MAP_EXECUTABLE 0x4000
#define LINUX_MAP_LOCKED 0x8000
#define LINUX_MAP_IGNMASK 0xf5e0
#endif /* !_MIPS_LINUX_MMAP_H */

View File

@ -1,12 +0,0 @@
# $NetBSD: syscalls.conf,v 1.1 1998/09/30 21:55:58 erh Exp $
sysnames="linux_syscalls.c"
sysnumhdr="linux_syscall.h"
syssw="linux_sysent.c"
sysarghdr="linux_syscallargs.h"
compatopts=""
libcompatopts=""
switchname="linux_sysent"
namesname="linux_syscallnames"
constprefix="LINUX_SYS_"