diff options
Diffstat (limited to 'include/uapi/linux/uhid.h')
-rw-r--r-- | include/uapi/linux/uhid.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/uapi/linux/uhid.h b/include/uapi/linux/uhid.h index 414b74be4da1..1e3b09c191cd 100644 --- a/include/uapi/linux/uhid.h +++ b/include/uapi/linux/uhid.h | |||
@@ -21,6 +21,7 @@ | |||
21 | 21 | ||
22 | #include <linux/input.h> | 22 | #include <linux/input.h> |
23 | #include <linux/types.h> | 23 | #include <linux/types.h> |
24 | #include <linux/hid.h> | ||
24 | 25 | ||
25 | enum uhid_event_type { | 26 | enum uhid_event_type { |
26 | UHID_CREATE, | 27 | UHID_CREATE, |
@@ -34,6 +35,8 @@ enum uhid_event_type { | |||
34 | UHID_INPUT, | 35 | UHID_INPUT, |
35 | UHID_FEATURE, | 36 | UHID_FEATURE, |
36 | UHID_FEATURE_ANSWER, | 37 | UHID_FEATURE_ANSWER, |
38 | UHID_CREATE2, | ||
39 | UHID_INPUT2, | ||
37 | }; | 40 | }; |
38 | 41 | ||
39 | struct uhid_create_req { | 42 | struct uhid_create_req { |
@@ -50,6 +53,19 @@ struct uhid_create_req { | |||
50 | __u32 country; | 53 | __u32 country; |
51 | } __attribute__((__packed__)); | 54 | } __attribute__((__packed__)); |
52 | 55 | ||
56 | struct uhid_create2_req { | ||
57 | __u8 name[128]; | ||
58 | __u8 phys[64]; | ||
59 | __u8 uniq[64]; | ||
60 | __u16 rd_size; | ||
61 | __u16 bus; | ||
62 | __u32 vendor; | ||
63 | __u32 product; | ||
64 | __u32 version; | ||
65 | __u32 country; | ||
66 | __u8 rd_data[HID_MAX_DESCRIPTOR_SIZE]; | ||
67 | } __attribute__((__packed__)); | ||
68 | |||
53 | #define UHID_DATA_MAX 4096 | 69 | #define UHID_DATA_MAX 4096 |
54 | 70 | ||
55 | enum uhid_report_type { | 71 | enum uhid_report_type { |
@@ -63,6 +79,11 @@ struct uhid_input_req { | |||
63 | __u16 size; | 79 | __u16 size; |
64 | } __attribute__((__packed__)); | 80 | } __attribute__((__packed__)); |
65 | 81 | ||
82 | struct uhid_input2_req { | ||
83 | __u16 size; | ||
84 | __u8 data[UHID_DATA_MAX]; | ||
85 | } __attribute__((__packed__)); | ||
86 | |||
66 | struct uhid_output_req { | 87 | struct uhid_output_req { |
67 | __u8 data[UHID_DATA_MAX]; | 88 | __u8 data[UHID_DATA_MAX]; |
68 | __u16 size; | 89 | __u16 size; |
@@ -100,6 +121,8 @@ struct uhid_event { | |||
100 | struct uhid_output_ev_req output_ev; | 121 | struct uhid_output_ev_req output_ev; |
101 | struct uhid_feature_req feature; | 122 | struct uhid_feature_req feature; |
102 | struct uhid_feature_answer_req feature_answer; | 123 | struct uhid_feature_answer_req feature_answer; |
124 | struct uhid_create2_req create2; | ||
125 | struct uhid_input2_req input2; | ||
103 | } u; | 126 | } u; |
104 | } __attribute__((__packed__)); | 127 | } __attribute__((__packed__)); |
105 | 128 | ||