diff options
author | David Herrmann <dh.herrmann@googlemail.com> | 2012-06-10 15:16:18 +0200 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2012-06-18 13:42:01 +0200 |
commit | d365c6cfd337a2bccdc65eacce271a311ea1072c (patch) | |
tree | fcd33cd4935c8c1c0acdebaaa62047d35e103e86 /include/linux/uhid.h | |
parent | 6664ef72a47459f883d3409ca9b2fa200015704b (diff) | |
download | op-kernel-dev-d365c6cfd337a2bccdc65eacce271a311ea1072c.zip op-kernel-dev-d365c6cfd337a2bccdc65eacce271a311ea1072c.tar.gz |
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 16b786a..8a493e60 100644 --- a/include/linux/uhid.h +++ b/include/linux/uhid.h @@ -23,11 +23,30 @@ #include <linux/types.h> enum uhid_event_type { - UHID_DUMMY, + UHID_CREATE, + UHID_DESTROY, }; +struct uhid_create_req { + __u8 name[128]; + __u8 phys[64]; + __u8 uniq[64]; + __u8 __user *rd_data; + __u16 rd_size; + + __u16 bus; + __u32 vendor; + __u32 product; + __u32 version; + __u32 country; +} __attribute__((__packed__)); + struct uhid_event { __u32 type; + + union { + struct uhid_create_req create; + } u; } __attribute__((__packed__)); #endif /* __UHID_H_ */ |