diff options
author | David Herrmann <dh.herrmann@googlemail.com> | 2012-06-10 09:16:18 -0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2012-06-18 07:42:01 -0400 |
commit | d365c6cfd337a2bccdc65eacce271a311ea1072c (patch) | |
tree | fcd33cd4935c8c1c0acdebaaa62047d35e103e86 /include/linux/uhid.h | |
parent | 6664ef72a47459f883d3409ca9b2fa200015704b (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.h | 21 |
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 | ||
25 | enum uhid_event_type { | 25 | enum uhid_event_type { |
26 | UHID_DUMMY, | 26 | UHID_CREATE, |
27 | UHID_DESTROY, | ||
27 | }; | 28 | }; |
28 | 29 | ||
30 | struct 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 | |||
29 | struct uhid_event { | 44 | struct 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_ */ |