aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@googlemail.com>2012-06-10 15:16:18 +0200
committerColin Cross <ccross@android.com>2012-08-16 12:44:28 -0700
commit6b1a4c7c9a0839648d970d7fe1ecba9a31ca87c2 (patch)
treef27a1a56c2122a62ff082b7b9db8d19e4c630783 /include
parentd3444a842acc1113febe0ebade74fe18aa99dfee (diff)
downloadkernel_samsung_crespo-6b1a4c7c9a0839648d970d7fe1ecba9a31ca87c2.zip
kernel_samsung_crespo-6b1a4c7c9a0839648d970d7fe1ecba9a31ca87c2.tar.gz
kernel_samsung_crespo-6b1a4c7c9a0839648d970d7fe1ecba9a31ca87c2.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.h21
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_ */