Author: wulf
Date: Mon Apr 30 10:34:16 2018
New Revision: 333111
URL: https://svnweb.freebsd.org/changeset/base/333111

Log:
  uinput: Add FreeBSD specific ioctl to set unique identifier of input device.
  
  Reviewed by:  gonzo
  Differential Revision:        https://reviews.freebsd.org/D13456

Modified:
  head/sys/dev/evdev/uinput.c
  head/sys/dev/evdev/uinput.h

Modified: head/sys/dev/evdev/uinput.c
==============================================================================
--- head/sys/dev/evdev/uinput.c Mon Apr 30 10:24:50 2018        (r333110)
+++ head/sys/dev/evdev/uinput.c Mon Apr 30 10:34:16 2018        (r333111)
@@ -604,6 +604,15 @@ uinput_ioctl_sub(struct uinput_cdev_state *state, u_lo
                evdev_set_phys(state->ucs_evdev, buf);
                return (0);
 
+       case UI_SET_BSDUNIQ:
+               if (state->ucs_state == UINPUT_RUNNING)
+                       return (EINVAL);
+               ret = copyinstr(*(void **)data, buf, sizeof(buf), NULL);
+               if (ret != 0)
+                       return (ret);
+               evdev_set_serial(state->ucs_evdev, buf);
+               return (0);
+
        case UI_SET_SWBIT:
                if (state->ucs_state == UINPUT_RUNNING ||
                    intdata > SW_MAX || intdata < 0)

Modified: head/sys/dev/evdev/uinput.h
==============================================================================
--- head/sys/dev/evdev/uinput.h Mon Apr 30 10:24:50 2018        (r333110)
+++ head/sys/dev/evdev/uinput.h Mon Apr 30 10:34:16 2018        (r333111)
@@ -90,6 +90,13 @@ struct uinput_abs_setup {
 #define UI_BEGIN_FF_ERASE      _IOWR(UINPUT_IOCTL_BASE, 202, struct 
uinput_ff_erase)
 #define UI_END_FF_ERASE                _IOW(UINPUT_IOCTL_BASE, 203, struct 
uinput_ff_erase)
 
+/*
+ * FreeBSD specific. Set unique identifier of input device.
+ * Name and magic are chosen to reduce chances of clashing
+ * with possible future Linux extensions.
+ */
+#define UI_SET_BSDUNIQ         _IO(UINPUT_IOCTL_BASE, 109)
+
 #define EV_UINPUT              0x0101
 #define UI_FF_UPLOAD           1
 #define UI_FF_ERASE            2
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to