• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 BUS_RMI 0x1D
135 #define BUS_CEC 0x1E
136 #define BUS_INTEL_ISHTP 0x1F
137 #define MT_TOOL_FINGER 0
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 #define MT_TOOL_PEN 1
140 #define MT_TOOL_PALM 2
141 #define MT_TOOL_MAX 2
142 #define FF_STATUS_STOPPED 0x00
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144 #define FF_STATUS_PLAYING 0x01
145 #define FF_STATUS_MAX 0x01
146 struct ff_replay {
147   __u16 length;
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149   __u16 delay;
150 };
151 struct ff_trigger {
152   __u16 button;
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154   __u16 interval;
155 };
156 struct ff_envelope {
157   __u16 attack_length;
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159   __u16 attack_level;
160   __u16 fade_length;
161   __u16 fade_level;
162 };
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164 struct ff_constant_effect {
165   __s16 level;
166   struct ff_envelope envelope;
167 };
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169 struct ff_ramp_effect {
170   __s16 start_level;
171   __s16 end_level;
172   struct ff_envelope envelope;
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174 };
175 struct ff_condition_effect {
176   __u16 right_saturation;
177   __u16 left_saturation;
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179   __s16 right_coeff;
180   __s16 left_coeff;
181   __u16 deadband;
182   __s16 center;
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184 };
185 struct ff_periodic_effect {
186   __u16 waveform;
187   __u16 period;
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189   __s16 magnitude;
190   __s16 offset;
191   __u16 phase;
192   struct ff_envelope envelope;
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194   __u32 custom_len;
195   __s16 __user * custom_data;
196 };
197 struct ff_rumble_effect {
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199   __u16 strong_magnitude;
200   __u16 weak_magnitude;
201 };
202 struct ff_effect {
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204   __u16 type;
205   __s16 id;
206   __u16 direction;
207   struct ff_trigger trigger;
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209   struct ff_replay replay;
210   union {
211     struct ff_constant_effect constant;
212     struct ff_ramp_effect ramp;
213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214     struct ff_periodic_effect periodic;
215     struct ff_condition_effect condition[2];
216     struct ff_rumble_effect rumble;
217   } u;
218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219 };
220 #define FF_RUMBLE 0x50
221 #define FF_PERIODIC 0x51
222 #define FF_CONSTANT 0x52
223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224 #define FF_SPRING 0x53
225 #define FF_FRICTION 0x54
226 #define FF_DAMPER 0x55
227 #define FF_INERTIA 0x56
228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229 #define FF_RAMP 0x57
230 #define FF_EFFECT_MIN FF_RUMBLE
231 #define FF_EFFECT_MAX FF_RAMP
232 #define FF_SQUARE 0x58
233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234 #define FF_TRIANGLE 0x59
235 #define FF_SINE 0x5a
236 #define FF_SAW_UP 0x5b
237 #define FF_SAW_DOWN 0x5c
238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239 #define FF_CUSTOM 0x5d
240 #define FF_WAVEFORM_MIN FF_SQUARE
241 #define FF_WAVEFORM_MAX FF_CUSTOM
242 #define FF_GAIN 0x60
243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244 #define FF_AUTOCENTER 0x61
245 #define FF_MAX_EFFECTS FF_GAIN
246 #define FF_MAX 0x7f
247 #define FF_CNT (FF_MAX + 1)
248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249 #endif
250