Home | History | Annotate | Download | only in linux
      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 _UAPI_INPUT_H
     20 #define _UAPI_INPUT_H
     21 #include <sys/time.h>
     22 #include <sys/ioctl.h>
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24 #include <sys/types.h>
     25 #include <linux/types.h>
     26 #include "input-event-codes.h"
     27 struct input_event {
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29   struct timeval time;
     30   __u16 type;
     31   __u16 code;
     32   __s32 value;
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34 };
     35 #define EV_VERSION 0x010001
     36 struct input_id {
     37   __u16 bustype;
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39   __u16 vendor;
     40   __u16 product;
     41   __u16 version;
     42 };
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44 struct input_absinfo {
     45   __s32 value;
     46   __s32 minimum;
     47   __s32 maximum;
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49   __s32 fuzz;
     50   __s32 flat;
     51   __s32 resolution;
     52 };
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54 struct input_keymap_entry {
     55 #define INPUT_KEYMAP_BY_INDEX (1 << 0)
     56   __u8 flags;
     57   __u8 len;
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59   __u16 index;
     60   __u32 keycode;
     61   __u8 scancode[32];
     62 };
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64 struct input_mask {
     65   __u32 type;
     66   __u32 codes_size;
     67   __u64 codes_ptr;
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69 };
     70 #define EVIOCGVERSION _IOR('E', 0x01, int)
     71 #define EVIOCGID _IOR('E', 0x02, struct input_id)
     72 #define EVIOCGREP _IOR('E', 0x03, unsigned int[2])
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74 #define EVIOCSREP _IOW('E', 0x03, unsigned int[2])
     75 #define EVIOCGKEYCODE _IOR('E', 0x04, unsigned int[2])
     76 #define EVIOCGKEYCODE_V2 _IOR('E', 0x04, struct input_keymap_entry)
     77 #define EVIOCSKEYCODE _IOW('E', 0x04, unsigned int[2])
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79 #define EVIOCSKEYCODE_V2 _IOW('E', 0x04, struct input_keymap_entry)
     80 #define EVIOCGNAME(len) _IOC(_IOC_READ, 'E', 0x06, len)
     81 #define EVIOCGPHYS(len) _IOC(_IOC_READ, 'E', 0x07, len)
     82 #define EVIOCGUNIQ(len) _IOC(_IOC_READ, 'E', 0x08, len)
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84 #define EVIOCGPROP(len) _IOC(_IOC_READ, 'E', 0x09, len)
     85 #define EVIOCGMTSLOTS(len) _IOC(_IOC_READ, 'E', 0x0a, len)
     86 #define EVIOCGKEY(len) _IOC(_IOC_READ, 'E', 0x18, len)
     87 #define EVIOCGLED(len) _IOC(_IOC_READ, 'E', 0x19, len)
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89 #define EVIOCGSND(len) _IOC(_IOC_READ, 'E', 0x1a, len)
     90 #define EVIOCGSW(len) _IOC(_IOC_READ, 'E', 0x1b, len)
     91 #define EVIOCGBIT(ev,len) _IOC(_IOC_READ, 'E', 0x20 + (ev), len)
     92 #define EVIOCGABS(abs) _IOR('E', 0x40 + (abs), struct input_absinfo)
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94 #define EVIOCSABS(abs) _IOW('E', 0xc0 + (abs), struct input_absinfo)
     95 #define EVIOCSFF _IOW('E', 0x80, struct ff_effect)
     96 #define EVIOCRMFF _IOW('E', 0x81, int)
     97 #define EVIOCGEFFECTS _IOR('E', 0x84, int)
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99 #define EVIOCGRAB _IOW('E', 0x90, int)
    100 #define EVIOCREVOKE _IOW('E', 0x91, int)
    101 #define EVIOCGMASK _IOR('E', 0x92, struct input_mask)
    102 #define EVIOCSMASK _IOW('E', 0x93, struct input_mask)
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104 #define EVIOCSCLOCKID _IOW('E', 0xa0, int)
    105 #define ID_BUS 0
    106 #define ID_VENDOR 1
    107 #define ID_PRODUCT 2
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109 #define ID_VERSION 3
    110 #define BUS_PCI 0x01
    111 #define BUS_ISAPNP 0x02
    112 #define BUS_USB 0x03
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114 #define BUS_HIL 0x04
    115 #define BUS_BLUETOOTH 0x05
    116 #define BUS_VIRTUAL 0x06
    117 #define BUS_ISA 0x10
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119 #define BUS_I8042 0x11
    120 #define BUS_XTKBD 0x12
    121 #define BUS_RS232 0x13
    122 #define BUS_GAMEPORT 0x14
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124 #define BUS_PARPORT 0x15
    125 #define BUS_AMIGA 0x16
    126 #define BUS_ADB 0x17
    127 #define BUS_I2C 0x18
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129 #define BUS_HOST 0x19
    130 #define BUS_GSC 0x1A
    131 #define BUS_ATARI 0x1B
    132 #define BUS_SPI 0x1C
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134 #define MT_TOOL_FINGER 0
    135 #define MT_TOOL_PEN 1
    136 #define MT_TOOL_PALM 2
    137 #define MT_TOOL_MAX 2
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139 #define FF_STATUS_STOPPED 0x00
    140 #define FF_STATUS_PLAYING 0x01
    141 #define FF_STATUS_MAX 0x01
    142 struct ff_replay {
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144   __u16 length;
    145   __u16 delay;
    146 };
    147 struct ff_trigger {
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149   __u16 button;
    150   __u16 interval;
    151 };
    152 struct ff_envelope {
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154   __u16 attack_length;
    155   __u16 attack_level;
    156   __u16 fade_length;
    157   __u16 fade_level;
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159 };
    160 struct ff_constant_effect {
    161   __s16 level;
    162   struct ff_envelope envelope;
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164 };
    165 struct ff_ramp_effect {
    166   __s16 start_level;
    167   __s16 end_level;
    168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    169   struct ff_envelope envelope;
    170 };
    171 struct ff_condition_effect {
    172   __u16 right_saturation;
    173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    174   __u16 left_saturation;
    175   __s16 right_coeff;
    176   __s16 left_coeff;
    177   __u16 deadband;
    178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    179   __s16 center;
    180 };
    181 struct ff_periodic_effect {
    182   __u16 waveform;
    183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    184   __u16 period;
    185   __s16 magnitude;
    186   __s16 offset;
    187   __u16 phase;
    188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    189   struct ff_envelope envelope;
    190   __u32 custom_len;
    191   __s16 __user * custom_data;
    192 };
    193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    194 struct ff_rumble_effect {
    195   __u16 strong_magnitude;
    196   __u16 weak_magnitude;
    197 };
    198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    199 struct ff_effect {
    200   __u16 type;
    201   __s16 id;
    202   __u16 direction;
    203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    204   struct ff_trigger trigger;
    205   struct ff_replay replay;
    206   union {
    207     struct ff_constant_effect constant;
    208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    209     struct ff_ramp_effect ramp;
    210     struct ff_periodic_effect periodic;
    211     struct ff_condition_effect condition[2];
    212     struct ff_rumble_effect rumble;
    213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    214   } u;
    215 };
    216 #define FF_RUMBLE 0x50
    217 #define FF_PERIODIC 0x51
    218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    219 #define FF_CONSTANT 0x52
    220 #define FF_SPRING 0x53
    221 #define FF_FRICTION 0x54
    222 #define FF_DAMPER 0x55
    223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    224 #define FF_INERTIA 0x56
    225 #define FF_RAMP 0x57
    226 #define FF_EFFECT_MIN FF_RUMBLE
    227 #define FF_EFFECT_MAX FF_RAMP
    228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    229 #define FF_SQUARE 0x58
    230 #define FF_TRIANGLE 0x59
    231 #define FF_SINE 0x5a
    232 #define FF_SAW_UP 0x5b
    233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    234 #define FF_SAW_DOWN 0x5c
    235 #define FF_CUSTOM 0x5d
    236 #define FF_WAVEFORM_MIN FF_SQUARE
    237 #define FF_WAVEFORM_MAX FF_CUSTOM
    238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    239 #define FF_GAIN 0x60
    240 #define FF_AUTOCENTER 0x61
    241 #define FF_MAX_EFFECTS FF_GAIN
    242 #define FF_MAX 0x7f
    243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    244 #define FF_CNT (FF_MAX + 1)
    245 #endif
    246