111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/**************************************************************************** 211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert **************************************************************************** 311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** This header was automatically generated from a Linux kernel header 511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** of the same name, to make information necessary for userspace to 611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** call into the kernel available to libc. It contains only constants, 711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** structures, and macros generated from the original header, and thus, 811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** contains no copyrightable information. 911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** To edit the content of this header, modify the corresponding 1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** source file (e.g. under external/kernel-headers/original/) then 1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** run bionic/libc/kernel/tools/update_all.py 1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** Any manual change here will be lost the next time this script will 1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** be run. You've been warned! 1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert **************************************************************************** 1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/ 1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _UAPI_HIDDEV_H 2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _UAPI_HIDDEV_H 2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/types.h> 2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct hiddev_event { 2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned hid; 2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert signed int value; 2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct hiddev_devinfo { 2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 bustype; 3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 busnum; 3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 devnum; 3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 ifnum; 3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s16 vendor; 3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s16 product; 3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s16 version; 3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 num_applications; 3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct hiddev_collection_info { 4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 index; 4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 type; 4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 usage; 4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 level; 4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_STRING_SIZE 256 4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct hiddev_string_descriptor { 5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 index; 5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char value[HID_STRING_SIZE]; 5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct hiddev_report_info { 5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 report_type; 5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 report_id; 5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 num_fields; 5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_REPORT_ID_UNKNOWN 0xffffffff 6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_REPORT_ID_FIRST 0x00000100 6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_REPORT_ID_NEXT 0x00000200 6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_REPORT_ID_MASK 0x000000ff 6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_REPORT_ID_MAX 0x000000ff 6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_REPORT_TYPE_INPUT 1 6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_REPORT_TYPE_OUTPUT 2 6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_REPORT_TYPE_FEATURE 3 7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_REPORT_TYPE_MIN 1 7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_REPORT_TYPE_MAX 3 7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct hiddev_field_info { 7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 report_type; 7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 report_id; 7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 field_index; 7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 maxusage; 7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 flags; 8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 physical; 8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 logical; 8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 application; 8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 logical_minimum; 8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 logical_maximum; 8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 physical_minimum; 8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 physical_maximum; 8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 unit_exponent; 9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 unit; 9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_FIELD_CONSTANT 0x001 9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_FIELD_VARIABLE 0x002 9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_FIELD_RELATIVE 0x004 9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_FIELD_WRAP 0x008 9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_FIELD_NONLINEAR 0x010 9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_FIELD_NO_PREFERRED 0x020 10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_FIELD_NULL_STATE 0x040 10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_FIELD_VOLATILE 0x080 10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_FIELD_BUFFERED_BYTE 0x100 10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct hiddev_usage_ref { 10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 report_type; 10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 report_id; 10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 field_index; 10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 usage_index; 11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 usage_code; 11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 value; 11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_MAX_MULTI_USAGES 1024 11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct hiddev_usage_ref_multi { 11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct hiddev_usage_ref uref; 11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 num_values; 11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 values[HID_MAX_MULTI_USAGES]; 12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_FIELD_INDEX_NONE 0xffffffff 12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HID_VERSION 0x010004 12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDIOCGVERSION _IOR('H', 0x01, int) 12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDIOCAPPLICATION _IO('H', 0x02) 12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDIOCGDEVINFO _IOR('H', 0x03, struct hiddev_devinfo) 12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDIOCGSTRING _IOR('H', 0x04, struct hiddev_string_descriptor) 12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDIOCINITREPORT _IO('H', 0x05) 13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDIOCGNAME(len) _IOC(_IOC_READ, 'H', 0x06, len) 13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDIOCGREPORT _IOW('H', 0x07, struct hiddev_report_info) 13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDIOCSREPORT _IOW('H', 0x08, struct hiddev_report_info) 13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDIOCGREPORTINFO _IOWR('H', 0x09, struct hiddev_report_info) 13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDIOCGFIELDINFO _IOWR('H', 0x0A, struct hiddev_field_info) 13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDIOCGUSAGE _IOWR('H', 0x0B, struct hiddev_usage_ref) 13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDIOCSUSAGE _IOW('H', 0x0C, struct hiddev_usage_ref) 13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDIOCGUCODE _IOWR('H', 0x0D, struct hiddev_usage_ref) 14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDIOCGFLAG _IOR('H', 0x0E, int) 14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDIOCSFLAG _IOW('H', 0x0F, int) 14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDIOCGCOLLECTIONINDEX _IOW('H', 0x10, struct hiddev_usage_ref) 14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDIOCGCOLLECTIONINFO _IOWR('H', 0x11, struct hiddev_collection_info) 14511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDIOCGPHYS(len) _IOC(_IOC_READ, 'H', 0x12, len) 14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDIOCGUSAGES _IOWR('H', 0x13, struct hiddev_usage_ref_multi) 14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDIOCSUSAGES _IOW('H', 0x14, struct hiddev_usage_ref_multi) 14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDDEV_FLAG_UREF 0x1 15011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDDEV_FLAG_REPORT 0x2 15111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HIDDEV_FLAGS 0x3 15211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 15311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154