Merge branches 'for-3.18/always-poll-quirk', 'for-3.18/logitech', 'for-3.18/picolcd...
[pandora-kernel.git] / include / uapi / linux / uhid.h
index 116536e..aaa86d6 100644 (file)
@@ -37,6 +37,8 @@ enum uhid_event_type {
        UHID_GET_REPORT_REPLY,
        UHID_CREATE2,
        UHID_INPUT2,
+       UHID_SET_REPORT,
+       UHID_SET_REPORT_REPLY,
 };
 
 struct uhid_create2_req {
@@ -52,6 +54,16 @@ struct uhid_create2_req {
        __u8 rd_data[HID_MAX_DESCRIPTOR_SIZE];
 } __attribute__((__packed__));
 
+enum uhid_dev_flag {
+       UHID_DEV_NUMBERED_FEATURE_REPORTS                       = (1ULL << 0),
+       UHID_DEV_NUMBERED_OUTPUT_REPORTS                        = (1ULL << 1),
+       UHID_DEV_NUMBERED_INPUT_REPORTS                         = (1ULL << 2),
+};
+
+struct uhid_start_req {
+       __u64 dev_flags;
+};
+
 #define UHID_DATA_MAX 4096
 
 enum uhid_report_type {
@@ -84,6 +96,19 @@ struct uhid_get_report_reply_req {
        __u8 data[UHID_DATA_MAX];
 } __attribute__((__packed__));
 
+struct uhid_set_report_req {
+       __u32 id;
+       __u8 rnum;
+       __u8 rtype;
+       __u16 size;
+       __u8 data[UHID_DATA_MAX];
+} __attribute__((__packed__));
+
+struct uhid_set_report_reply_req {
+       __u32 id;
+       __u16 err;
+} __attribute__((__packed__));
+
 /*
  * Compat Layer
  * All these commands and requests are obsolete. You should avoid using them in
@@ -165,6 +190,9 @@ struct uhid_event {
                struct uhid_get_report_reply_req get_report_reply;
                struct uhid_create2_req create2;
                struct uhid_input2_req input2;
+               struct uhid_set_report_req set_report;
+               struct uhid_set_report_reply_req set_report_reply;
+               struct uhid_start_req start;
        } u;
 } __attribute__((__packed__));