diff options
author | David Herrmann <dh.herrmann@googlemail.com> | 2012-06-10 15:16:18 +0200 |
---|---|---|
committer | Pawit Pornkitprasan <p.pawit@gmail.com> | 2012-12-05 23:04:10 +0700 |
commit | f4c5ebe1b081247b21a856eb011764763e231188 (patch) | |
tree | 0d3c68c6491079cf6d7dc768205a028dab964166 /include | |
parent | 73b7af8dc9002574ec760d68080f09d5e0cd9e46 (diff) | |
download | kernel_samsung_aries-f4c5ebe1b081247b21a856eb011764763e231188.zip kernel_samsung_aries-f4c5ebe1b081247b21a856eb011764763e231188.tar.gz kernel_samsung_aries-f4c5ebe1b081247b21a856eb011764763e231188.tar.bz2 |
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')
-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..8a493e6 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_ */ |