aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/uhid.h
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@googlemail.com>2012-06-10 09:16:18 -0400
committerJiri Kosina <jkosina@suse.cz>2012-06-18 07:42:01 -0400
commitd365c6cfd337a2bccdc65eacce271a311ea1072c (patch)
treefcd33cd4935c8c1c0acdebaaa62047d35e103e86 /include/linux/uhid.h
parent6664ef72a47459f883d3409ca9b2fa200015704b (diff)
HID: uhid: add UHID_CREATE and UHID_DESTROY events
UHID_CREATE and UHID_DESTROY are used to create and destroy a device on an open uhid char-device. Internally, we allocate and register an HID device with the HID core and immediately start the device. From now on events may be received or sent to the device. The UHID_CREATE event has a payload similar to the data used by Bluetooth-HIDP when creating a new connection. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'include/linux/uhid.h')
-rw-r--r--include/linux/uhid.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/include/linux/uhid.h b/include/linux/uhid.h
index 16b786a2b18f..8a493e604a77 100644
--- a/include/linux/uhid.h
+++ b/include/linux/uhid.h
@@ -23,11 +23,30 @@
23#include <linux/types.h> 23#include <linux/types.h>
24 24
25enum uhid_event_type { 25enum uhid_event_type {
26 UHID_DUMMY, 26 UHID_CREATE,
27 UHID_DESTROY,
27}; 28};
28 29
30struct uhid_create_req {
31 __u8 name[128];
32 __u8 phys[64];
33 __u8 uniq[64];
34 __u8 __user *rd_data;
35 __u16 rd_size;
36
37 __u16 bus;
38 __u32 vendor;
39 __u32 product;
40 __u32 version;
41 __u32 country;
42} __attribute__((__packed__));
43
29struct uhid_event { 44struct uhid_event {
30 __u32 type; 45 __u32 type;
46
47 union {
48 struct uhid_create_req create;
49 } u;
31} __attribute__((__packed__)); 50} __attribute__((__packed__));
32 51
33#endif /* __UHID_H_ */ 52#endif /* __UHID_H_ */