diff options
author | David Herrmann <dh.herrmann@googlemail.com> | 2012-06-10 15:16:18 +0200 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2012-08-16 12:44:28 -0700 |
commit | 6b1a4c7c9a0839648d970d7fe1ecba9a31ca87c2 (patch) | |
tree | f27a1a56c2122a62ff082b7b9db8d19e4c630783 /include/linux/uhid.h | |
parent | d3444a842acc1113febe0ebade74fe18aa99dfee (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 @@ #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_ */ |