uhid.h revision 655a7c081f83b8351ed5f11a6c6accd9458293a8
1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef __UHID_H_
20#define __UHID_H_
21#include <linux/input.h>
22#include <linux/types.h>
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24enum uhid_event_type {
25 UHID_CREATE,
26 UHID_DESTROY,
27 UHID_START,
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 UHID_STOP,
30 UHID_OPEN,
31 UHID_CLOSE,
32 UHID_OUTPUT,
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 UHID_OUTPUT_EV,
35 UHID_INPUT,
36 UHID_FEATURE,
37 UHID_FEATURE_ANSWER,
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39};
40struct uhid_create_req {
41 __u8 name[128];
42 __u8 phys[64];
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 __u8 uniq[64];
45 __u8 __user *rd_data;
46 __u16 rd_size;
47 __u16 bus;
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 __u32 vendor;
50 __u32 product;
51 __u32 version;
52 __u32 country;
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54} __attribute__((__packed__));
55#define UHID_DATA_MAX 4096
56enum uhid_report_type {
57 UHID_FEATURE_REPORT,
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 UHID_OUTPUT_REPORT,
60 UHID_INPUT_REPORT,
61};
62struct uhid_input_req {
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 __u8 data[UHID_DATA_MAX];
65 __u16 size;
66} __attribute__((__packed__));
67struct uhid_output_req {
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 __u8 data[UHID_DATA_MAX];
70 __u16 size;
71 __u8 rtype;
72} __attribute__((__packed__));
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74struct uhid_output_ev_req {
75 __u16 type;
76 __u16 code;
77 __s32 value;
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79} __attribute__((__packed__));
80struct uhid_feature_req {
81 __u32 id;
82 __u8 rnum;
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 __u8 rtype;
85} __attribute__((__packed__));
86struct uhid_feature_answer_req {
87 __u32 id;
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 __u16 err;
90 __u16 size;
91 __u8 data[UHID_DATA_MAX];
92} __attribute__((__packed__));
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94struct uhid_event {
95 __u32 type;
96 union {
97 struct uhid_create_req create;
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 struct uhid_input_req input;
100 struct uhid_output_req output;
101 struct uhid_output_ev_req output_ev;
102 struct uhid_feature_req feature;
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 struct uhid_feature_answer_req feature_answer;
105 } u;
106} __attribute__((__packed__));
107#endif
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109