blob: e52f68e3ab4ba0a5e79841cc42a0c423f03216ed [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
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 */
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070024#include <linux/hid.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070025enum uhid_event_type {
26 UHID_CREATE,
27 UHID_DESTROY,
Ben Cheng655a7c02013-10-16 16:09:24 -070028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070029 UHID_START,
Ben Cheng655a7c02013-10-16 16:09:24 -070030 UHID_STOP,
31 UHID_OPEN,
32 UHID_CLOSE,
Ben Cheng655a7c02013-10-16 16:09:24 -070033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070034 UHID_OUTPUT,
Ben Cheng655a7c02013-10-16 16:09:24 -070035 UHID_OUTPUT_EV,
36 UHID_INPUT,
37 UHID_FEATURE,
Ben Cheng655a7c02013-10-16 16:09:24 -070038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070039 UHID_FEATURE_ANSWER,
40 UHID_CREATE2,
41 UHID_INPUT2,
Ben Cheng655a7c02013-10-16 16:09:24 -070042};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070044struct uhid_create_req {
45 __u8 name[128];
46 __u8 phys[64];
Ben Cheng655a7c02013-10-16 16:09:24 -070047 __u8 uniq[64];
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070049 __u8 __user *rd_data;
50 __u16 rd_size;
51 __u16 bus;
Ben Cheng655a7c02013-10-16 16:09:24 -070052 __u32 vendor;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070054 __u32 product;
55 __u32 version;
56 __u32 country;
Ben Cheng655a7c02013-10-16 16:09:24 -070057} __attribute__((__packed__));
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59struct uhid_create2_req {
60 __u8 name[128];
61 __u8 phys[64];
62 __u8 uniq[64];
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 __u16 rd_size;
65 __u16 bus;
66 __u32 vendor;
67 __u32 product;
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 __u32 version;
70 __u32 country;
71 __u8 rd_data[HID_MAX_DESCRIPTOR_SIZE];
72} __attribute__((__packed__));
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070074#define UHID_DATA_MAX 4096
75enum uhid_report_type {
76 UHID_FEATURE_REPORT,
Ben Cheng655a7c02013-10-16 16:09:24 -070077 UHID_OUTPUT_REPORT,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070079 UHID_INPUT_REPORT,
80};
81struct uhid_input_req {
Ben Cheng655a7c02013-10-16 16:09:24 -070082 __u8 data[UHID_DATA_MAX];
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070084 __u16 size;
85} __attribute__((__packed__));
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070086struct uhid_input2_req {
87 __u16 size;
Ben Cheng655a7c02013-10-16 16:09:24 -070088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 __u8 data[UHID_DATA_MAX];
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070090} __attribute__((__packed__));
91struct uhid_output_req {
92 __u8 data[UHID_DATA_MAX];
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070094 __u16 size;
95 __u8 rtype;
96} __attribute__((__packed__));
Ben Cheng655a7c02013-10-16 16:09:24 -070097struct uhid_output_ev_req {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070099 __u16 type;
100 __u16 code;
101 __s32 value;
Ben Cheng655a7c02013-10-16 16:09:24 -0700102} __attribute__((__packed__));
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700104struct uhid_feature_req {
105 __u32 id;
106 __u8 rnum;
Ben Cheng655a7c02013-10-16 16:09:24 -0700107 __u8 rtype;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700109} __attribute__((__packed__));
110struct uhid_feature_answer_req {
111 __u32 id;
Ben Cheng655a7c02013-10-16 16:09:24 -0700112 __u16 err;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700114 __u16 size;
115 __u8 data[UHID_DATA_MAX];
116} __attribute__((__packed__));
Ben Cheng655a7c02013-10-16 16:09:24 -0700117struct uhid_event {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700119 __u32 type;
120 union {
121 struct uhid_create_req create;
Ben Cheng655a7c02013-10-16 16:09:24 -0700122 struct uhid_input_req input;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700124 struct uhid_output_req output;
125 struct uhid_output_ev_req output_ev;
126 struct uhid_feature_req feature;
Ben Cheng655a7c02013-10-16 16:09:24 -0700127 struct uhid_feature_answer_req feature_answer;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129 struct uhid_create2_req create2;
130 struct uhid_input2_req input2;
Ben Cheng655a7c02013-10-16 16:09:24 -0700131 } u;
132} __attribute__((__packed__));
Ben Cheng655a7c02013-10-16 16:09:24 -0700133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700134#endif