152bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson/****************************************************************************
252bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson ****************************************************************************
352bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson ***
452bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson ***   This header was automatically generated from a Linux kernel header
552bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson ***   of the same name, to make information necessary for userspace to
652bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson ***   call into the kernel available to libc.  It contains only constants,
752bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson ***   structures, and macros generated from the original header, and thus,
852bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson ***   contains no copyrightable information.
952bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson ***
1052bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson ***   To edit the content of this header, modify the corresponding
1152bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson ***   source file (e.g. under external/kernel-headers/original/) then
1252bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson ***   run bionic/libc/kernel/tools/update_all.py
1352bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson ***
1452bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson ***   Any manual change here will be lost the next time this script will
1552bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson ***   be run. You've been warned!
1652bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson ***
1752bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson ****************************************************************************
1852bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson ****************************************************************************/
1952bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson#ifndef __UHID_H_
2052bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson#define __UHID_H_
2152bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson#include <linux/input.h>
2252bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson#include <linux/types.h>
2352bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2452bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Andersonenum uhid_event_type {
2552bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson UHID_CREATE,
2652bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson UHID_DESTROY,
2752bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson UHID_START,
2852bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2952bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson UHID_STOP,
3052bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson UHID_OPEN,
3152bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson UHID_CLOSE,
3252bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson UHID_OUTPUT,
3352bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3452bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson UHID_OUTPUT_EV,
3552bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson UHID_INPUT,
3652bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson UHID_FEATURE,
3752bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson UHID_FEATURE_ANSWER,
3852bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3952bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson};
4052bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Andersonstruct uhid_create_req {
4152bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u8 name[128];
4252bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u8 phys[64];
4352bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4452bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u8 uniq[64];
4552bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u8 __user *rd_data;
4652bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u16 rd_size;
4752bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u16 bus;
4852bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4952bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u32 vendor;
5052bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u32 product;
5152bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u32 version;
5252bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u32 country;
5352bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5452bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson} __attribute__((__packed__));
5552bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson#define UHID_DATA_MAX 4096
5652bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Andersonenum uhid_report_type {
5752bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson UHID_FEATURE_REPORT,
5852bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5952bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson UHID_OUTPUT_REPORT,
6052bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson UHID_INPUT_REPORT,
6152bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson};
6252bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Andersonstruct uhid_input_req {
6352bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6452bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u8 data[UHID_DATA_MAX];
6552bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u16 size;
6652bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson} __attribute__((__packed__));
6752bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Andersonstruct uhid_output_req {
6852bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6952bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u8 data[UHID_DATA_MAX];
7052bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u16 size;
7152bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u8 rtype;
7252bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson} __attribute__((__packed__));
7352bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7452bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Andersonstruct uhid_output_ev_req {
7552bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u16 type;
7652bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u16 code;
7752bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __s32 value;
7852bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7952bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson} __attribute__((__packed__));
8052bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Andersonstruct uhid_feature_req {
8152bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u32 id;
8252bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u8 rnum;
8352bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8452bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u8 rtype;
8552bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson} __attribute__((__packed__));
8652bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Andersonstruct uhid_feature_answer_req {
8752bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u32 id;
8852bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8952bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u16 err;
9052bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u16 size;
9152bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u8 data[UHID_DATA_MAX];
9252bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson};
9352bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9452bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Andersonstruct uhid_event {
9552bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson __u32 type;
9652bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson union {
9752bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson struct uhid_create_req create;
9852bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9952bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson struct uhid_input_req input;
10052bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson struct uhid_output_req output;
10152bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson struct uhid_output_ev_req output_ev;
10252bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson struct uhid_feature_req feature;
10352bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10452bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson struct uhid_feature_answer_req feature_answer;
10552bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson } u;
10652bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson} __attribute__((__packed__));
10752bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson#endif
10852bf2d5659e7c2d05c8cc79fd2aa2102b200c0f0Scott Anderson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109