diff options
| author | Ruslan Ermilov <ru@FreeBSD.org> | 2006-09-27 19:57:02 +0000 |
|---|---|---|
| committer | Ruslan Ermilov <ru@FreeBSD.org> | 2006-09-27 19:57:02 +0000 |
| commit | 9fddcc6661d2cf7bb8e704308437d2b1674b50be (patch) | |
| tree | a886251dab8c19f71a5bfd0199ec1d9b327b3513 /sys/dev/usb/ukbd.c | |
| parent | 3ea944faa0a3cf1e2fdcd8279ea45c038d5173cf (diff) | |
Notes
Diffstat (limited to 'sys/dev/usb/ukbd.c')
| -rw-r--r-- | sys/dev/usb/ukbd.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/sys/dev/usb/ukbd.c b/sys/dev/usb/ukbd.c index 848ac819ebb4..391979400bf9 100644 --- a/sys/dev/usb/ukbd.c +++ b/sys/dev/usb/ukbd.c @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); * HID spec: http://www.usb.org/developers/devclass_docs/HID1_11.pdf */ +#include "opt_compat.h" #include "opt_kbd.h" #include "opt_ukbd.h" @@ -1159,6 +1160,10 @@ ukbd_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg) ukbd_state_t *state = kbd->kb_data; int s; int i; +#if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) || \ + defined(COMPAT_FREEBSD4) || defined(COMPAT_43) + int ival; +#endif s = splusb(); switch (cmd) { @@ -1166,6 +1171,13 @@ ukbd_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg) case KDGKBMODE: /* get keyboard mode */ *(int *)arg = state->ks_mode; break; +#if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) || \ + defined(COMPAT_FREEBSD4) || defined(COMPAT_43) + case _IO('K', 7): + ival = IOCPARM_IVAL(arg); + arg = (caddr_t)&ival; + /* FALLTHROUGH */ +#endif case KDSKBMODE: /* set keyboard mode */ switch (*(int *)arg) { case K_XLATE: @@ -1191,6 +1203,13 @@ ukbd_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg) case KDGETLED: /* get keyboard LED */ *(int *)arg = KBD_LED_VAL(kbd); break; +#if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) || \ + defined(COMPAT_FREEBSD4) || defined(COMPAT_43) + case _IO('K', 66): + ival = IOCPARM_IVAL(arg); + arg = (caddr_t)&ival; + /* FALLTHROUGH */ +#endif case KDSETLED: /* set keyboard LED */ /* NOTE: lock key state in ks_state won't be changed */ if (*(int *)arg & ~LOCK_MASK) { @@ -1215,6 +1234,13 @@ ukbd_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg) case KDGKBSTATE: /* get lock key state */ *(int *)arg = state->ks_state & LOCK_MASK; break; +#if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) || \ + defined(COMPAT_FREEBSD4) || defined(COMPAT_43) + case _IO('K', 20): + ival = IOCPARM_IVAL(arg); + arg = (caddr_t)&ival; + /* FALLTHROUGH */ +#endif case KDSKBSTATE: /* set lock key state */ if (*(int *)arg & ~LOCK_MASK) { splx(s); @@ -1241,6 +1267,13 @@ ukbd_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg) kbd->kb_delay2 = ((int *)arg)[1]; return 0; +#if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) || \ + defined(COMPAT_FREEBSD4) || defined(COMPAT_43) + case _IO('K', 67): + ival = IOCPARM_IVAL(arg); + arg = (caddr_t)&ival; + /* FALLTHROUGH */ +#endif case KDSETRAD: /* set keyboard repeat rate (old interface) */ splx(s); return set_typematic(kbd, *(int *)arg); |
