summaryrefslogtreecommitdiff
path: root/sys/compat/linux32/common/linux32_ioctl.c
diff options
context:
space:
mode:
authormanu <manu@NetBSD.org>2006-08-25 08:25:03 +0000
committermanu <manu@NetBSD.org>2006-08-25 08:25:03 +0000
commit01f2e16aa80f6c3751e1c19267836bfc08e99705 (patch)
treedbb184cde64e22a27952737b715d1593dc10bb67 /sys/compat/linux32/common/linux32_ioctl.c
parent4f9577ff1dcba8e8dac5d8f1822082dbbe97f99f (diff)
Add support for socket ioctl.
Diffstat (limited to 'sys/compat/linux32/common/linux32_ioctl.c')
-rw-r--r--sys/compat/linux32/common/linux32_ioctl.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/sys/compat/linux32/common/linux32_ioctl.c b/sys/compat/linux32/common/linux32_ioctl.c
index 052bf1c5b2e..950d7a5b4f0 100644
--- a/sys/compat/linux32/common/linux32_ioctl.c
+++ b/sys/compat/linux32/common/linux32_ioctl.c
@@ -1,4 +1,4 @@
-/* $NetBSD: linux32_ioctl.c,v 1.2 2006/02/15 09:31:17 manu Exp $ */
+/* $NetBSD: linux32_ioctl.c,v 1.3 2006/08/25 08:25:03 manu Exp $ */
/*-
* Copyright (c) 2006 Emmanuel Dreyfus, all rights reserved.
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux32_ioctl.c,v 1.2 2006/02/15 09:31:17 manu Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux32_ioctl.c,v 1.3 2006/08/25 08:25:03 manu Exp $");
#include <sys/types.h>
#include <sys/param.h>
@@ -53,6 +53,9 @@ __KERNEL_RCSID(0, "$NetBSD: linux32_ioctl.c,v 1.2 2006/02/15 09:31:17 manu Exp $
#include <compat/linux32/common/linux32_sysctl.h>
#include <compat/linux32/linux32_syscallargs.h>
+extern int linux_ioctl_socket(struct lwp *,
+ struct linux_sys_ioctl_args *, register_t *);
+
int
linux32_sys_ioctl(l, v, retval)
struct lwp *l;
@@ -76,6 +79,15 @@ linux32_sys_ioctl(l, v, retval)
case 'T':
error = linux32_ioctl_termios(l, uap, retval);
break;
+ case 0x89: {
+ struct linux_sys_ioctl_args cup;
+
+ SCARG(&cup, fd) = SCARG(uap, fd);
+ SCARG(&cup, com) = (u_long)SCARG(uap, com);
+ SCARG(&cup, data) = (caddr_t)(u_long)SCARG(uap, data);
+ error = linux_ioctl_socket(l, &cup, retval);
+ break;
+ }
default:
printf("Not yet implemented ioctl group \'%c\'\n", group);
error = EINVAL;