summaryrefslogtreecommitdiffstats
path: root/sys/dev/kbdmux/kbdmux.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/kbdmux/kbdmux.c')
-rw-r--r--sys/dev/kbdmux/kbdmux.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/sys/dev/kbdmux/kbdmux.c b/sys/dev/kbdmux/kbdmux.c
index d058b8a..8e93272c 100644
--- a/sys/dev/kbdmux/kbdmux.c
+++ b/sys/dev/kbdmux/kbdmux.c
@@ -31,6 +31,7 @@
* $FreeBSD$
*/
+#include "opt_compat.h"
#include "opt_kbd.h"
#include <sys/param.h>
@@ -940,6 +941,9 @@ kbdmux_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg)
kbdmux_kbd_t *k;
keyboard_info_t *ki;
int error = 0, mode;
+#ifdef COMPAT_FREEBSD6
+ int ival;
+#endif
if (state == NULL)
return (ENXIO);
@@ -1048,6 +1052,12 @@ kbdmux_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg)
KBDMUX_UNLOCK(state);
break;
+#ifdef COMPAT_FREEBSD6
+ case _IO('K', 7):
+ ival = IOCPARM_IVAL(arg);
+ arg = (caddr_t)&ival;
+ /* FALLTHROUGH */
+#endif
case KDSKBMODE: /* set keyboard mode */
KBDMUX_LOCK(state);
@@ -1082,6 +1092,12 @@ kbdmux_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg)
KBDMUX_UNLOCK(state);
break;
+#ifdef COMPAT_FREEBSD6
+ case _IO('K', 66):
+ ival = IOCPARM_IVAL(arg);
+ arg = (caddr_t)&ival;
+ /* FALLTHROUGH */
+#endif
case KDSETLED: /* set keyboard LED */
KBDMUX_LOCK(state);
@@ -1107,6 +1123,12 @@ kbdmux_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg)
KBDMUX_UNLOCK(state);
break;
+#ifdef COMPAT_FREEBSD6
+ case _IO('K', 20):
+ ival = IOCPARM_IVAL(arg);
+ arg = (caddr_t)&ival;
+ /* FALLTHROUGH */
+#endif
case KDSKBSTATE: /* set lock key state */
KBDMUX_LOCK(state);
@@ -1128,6 +1150,13 @@ kbdmux_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg)
return (kbdmux_ioctl(kbd, KDSETLED, arg));
/* NOT REACHED */
+#ifdef COMPAT_FREEBSD6
+ case _IO('K', 67):
+ cmd = KDSETRAD;
+ ival = IOCPARM_IVAL(arg);
+ arg = (caddr_t)&ival;
+ /* FALLTHROUGH */
+#endif
case KDSETREPEAT: /* set keyboard repeat rate (new interface) */
case KDSETRAD: /* set keyboard repeat rate (old interface) */
KBDMUX_LOCK(state);
OpenPOWER on IntegriCloud