Module Name:    src
Committed By:   bouyer
Date:           Sat Aug 27 19:25:35 UTC 2011

Modified Files:
        src/sys/compat/netbsd32: netbsd32_ioctl.c netbsd32_ioctl.h

Log Message:
translate WDOGIOC_GWDOGS


To generate a diff of this commit:
cvs rdiff -u -r1.56 -r1.57 src/sys/compat/netbsd32/netbsd32_ioctl.c
cvs rdiff -u -r1.35 -r1.36 src/sys/compat/netbsd32/netbsd32_ioctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.56 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.57
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.56	Mon Apr  4 18:24:56 2011
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Sat Aug 27 19:25:35 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.56 2011/04/04 18:24:56 ahoka Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.57 2011/08/27 19:25:35 bouyer Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.56 2011/04/04 18:24:56 ahoka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.57 2011/08/27 19:25:35 bouyer Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -51,6 +51,7 @@
 #include <sys/ktrace.h>
 #include <sys/kmem.h>
 #include <sys/envsys.h>
+#include <sys/wdog.h>
 
 #ifdef __sparc__
 #include <dev/sun/fbio.h>
@@ -279,6 +280,14 @@
 	*p = (u_long)*s32p;
 }
 
+static inline void
+netbsd32_to_wdog_conf(struct netbsd32_wdog_conf *s32p, struct wdog_conf *p, u_long cmd)
+{
+
+	p->wc_names = (char *)NETBSD32PTR64(s32p->wc_names);
+	p->wc_count = s32p->wc_count;
+}
+
 /*
  * handle ioctl conversions from 64-bit kernel -> netbsd32
  */
@@ -436,6 +445,14 @@
 }
 
 static inline void
+netbsd32_from_wdog_conf(struct wdog_conf *p, struct netbsd32_wdog_conf *s32p, u_long cmd)
+{
+
+	NETBSD32PTR32(s32p->wc_names, p->wc_names);
+	s32p->wc_count = p->wc_count;
+}
+
+static inline void
 netbsd32_from_u_long(u_long *p, netbsd32_u_long *s32p, u_long cmd)
 {
 
@@ -743,6 +760,9 @@
 	case ENVSYS_REMOVEPROPS32:
 		IOCTL_STRUCT_CONV_TO(ENVSYS_REMOVEPROPS, plistref);
 
+	case WDOGIOC_GWDOGS32:
+		IOCTL_STRUCT_CONV_TO(WDOGIOC_GWDOGS, wdog_conf);
+
 	default:
 #ifdef NETBSD32_MD_IOCTL
 		error = netbsd32_md_ioctl(fp, com, data32, l);

Index: src/sys/compat/netbsd32/netbsd32_ioctl.h
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.h:1.35 src/sys/compat/netbsd32/netbsd32_ioctl.h:1.36
--- src/sys/compat/netbsd32/netbsd32_ioctl.h:1.35	Mon Apr  4 18:24:56 2011
+++ src/sys/compat/netbsd32/netbsd32_ioctl.h	Sat Aug 27 19:25:35 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.h,v 1.35 2011/04/04 18:24:56 ahoka Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.h,v 1.36 2011/08/27 19:25:35 bouyer Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -392,3 +392,10 @@
 #define ENVSYS_GETDICTIONARY32	_IOWR('E', 0, struct netbsd32_plistref)
 #define ENVSYS_SETDICTIONARY32	_IOWR('E', 1, struct netbsd32_plistref)
 #define ENVSYS_REMOVEPROPS32	_IOWR('E', 2, struct netbsd32_plistref)
+
+/* from <sys/wdog.h> */
+struct netbsd32_wdog_conf {
+	netbsd32_charp	wc_names;
+	int		wc_count;
+};
+#define WDOGIOC_GWDOGS32	_IOWR('w', 5, struct netbsd32_wdog_conf)

Reply via email to