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