forked from google/syzkaller
-
Notifications
You must be signed in to change notification settings - Fork 0
/
dev_input.txt
177 lines (154 loc) · 5.59 KB
/
dev_input.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
# Copyright 2015 syzkaller project authors. All rights reserved.
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
include <linux/input.h>
resource fd_evdev[fd]
# There seems to be nothing special we can do with this fd.
syz_open_dev$mouse(dev ptr[in, string["/dev/input/mouse#"]], id intptr, flags flags[open_flags]) fd
openat$mice(fd const[AT_FDCWD], file ptr[in, string["/dev/input/mice"]], flags flags[open_flags]) fd
syz_open_dev$evdev(dev ptr[in, string["/dev/input/event#"]], id intptr, flags flags[open_flags]) fd_evdev
write$evdev(fd fd_evdev, data ptr[in, array[input_event]], len bytesize[data])
ioctl$EVIOCGVERSION(fd fd_evdev, cmd const[EVIOCGVERSION], arg buffer[out])
ioctl$EVIOCGID(fd fd_evdev, cmd const[EVIOCGID], arg buffer[out])
ioctl$EVIOCGREP(fd fd_evdev, cmd const[EVIOCGREP], arg buffer[out])
ioctl$EVIOCGKEYCODE(fd fd_evdev, cmd const[EVIOCGKEYCODE], arg buffer[out])
ioctl$EVIOCGKEYCODE_V2(fd fd_evdev, cmd const[EVIOCGKEYCODE_V2], arg buffer[out])
ioctl$EVIOCGEFFECTS(fd fd_evdev, cmd const[EVIOCGEFFECTS], arg buffer[out])
ioctl$EVIOCGMASK(fd fd_evdev, cmd const[EVIOCGMASK], arg ptr[in, input_mask])
ioctl$EVIOCGNAME(fd fd_evdev, cmd const[EVIOCGNAME64], arg buffer[out])
ioctl$EVIOCGPHYS(fd fd_evdev, cmd const[EVIOCGPHYS64], arg buffer[out])
ioctl$EVIOCGUNIQ(fd fd_evdev, cmd const[EVIOCGUNIQ64], arg buffer[out])
ioctl$EVIOCGPROP(fd fd_evdev, cmd const[EVIOCGPROP64], arg buffer[out])
ioctl$EVIOCGMTSLOTS(fd fd_evdev, cmd const[EVIOCGMTSLOTS64], arg buffer[out])
ioctl$EVIOCGKEY(fd fd_evdev, cmd const[EVIOCGKEY64], arg buffer[out])
ioctl$EVIOCGLED(fd fd_evdev, cmd const[EVIOCGLED64], arg buffer[out])
ioctl$EVIOCGSND(fd fd_evdev, cmd const[EVIOCGSND64], arg buffer[out])
ioctl$EVIOCGSW(fd fd_evdev, cmd const[EVIOCGSW64], arg buffer[out])
ioctl$EVIOCGBITKEY(fd fd_evdev, cmd const[EVIOCGBITKEY64], arg buffer[out])
ioctl$EVIOCGBITSND(fd fd_evdev, cmd const[EVIOCGBITSND64], arg buffer[out])
ioctl$EVIOCGBITSW(fd fd_evdev, cmd const[EVIOCGBITSW64], arg buffer[out])
ioctl$EVIOCGABS0(fd fd_evdev, cmd const[EVIOCGABS0], arg buffer[out])
ioctl$EVIOCGABS20(fd fd_evdev, cmd const[EVIOCGABS20], arg buffer[out])
ioctl$EVIOCGABS2F(fd fd_evdev, cmd const[EVIOCGABS2F], arg buffer[out])
ioctl$EVIOCGABS3F(fd fd_evdev, cmd const[EVIOCGABS3F], arg buffer[out])
ioctl$EVIOCSREP(fd fd_evdev, cmd const[EVIOCSREP], arg ptr[in, array[int32, 2]])
ioctl$EVIOCSKEYCODE(fd fd_evdev, cmd const[EVIOCSKEYCODE], arg ptr[in, array[int32, 2]])
ioctl$EVIOCSKEYCODE_V2(fd fd_evdev, cmd const[EVIOCSKEYCODE_V2], arg ptr[in, input_keymap_entry])
ioctl$EVIOCSFF(fd fd_evdev, cmd const[EVIOCSFF], arg ptr[in, ff_effect])
ioctl$EVIOCRMFF(fd fd_evdev, cmd const[EVIOCRMFF], arg ptr[in, int32])
ioctl$EVIOCGRAB(fd fd_evdev, cmd const[EVIOCGRAB], arg ptr[in, int32])
ioctl$EVIOCREVOKE(fd fd_evdev, cmd const[EVIOCREVOKE], arg ptr[in, int32])
ioctl$EVIOCSMASK(fd fd_evdev, cmd const[EVIOCSMASK], arg ptr[in, input_mask])
ioctl$EVIOCSCLOCKID(fd fd_evdev, cmd const[EVIOCSCLOCKID], arg ptr[in, int32])
ioctl$EVIOCSABS0(fd fd_evdev, cmd const[EVIOCSABS0], arg ptr[in, input_absinfo])
ioctl$EVIOCSABS20(fd fd_evdev, cmd const[EVIOCSABS20], arg ptr[in, input_absinfo])
ioctl$EVIOCSABS2F(fd fd_evdev, cmd const[EVIOCSABS2F], arg ptr[in, input_absinfo])
ioctl$EVIOCSABS3F(fd fd_evdev, cmd const[EVIOCSABS3F], arg ptr[in, input_absinfo])
ff_effect_type = FF_PERIODIC, FF_CONSTANT, FF_SPRING, FF_FRICTION, FF_DAMPER, FF_INERTIA, FF_RAMP
ff_periodic_effect_wave = FF_SQUARE, FF_TRIANGLE, FF_SINE, FF_SAW_UP, FF_SAW_DOWN, FF_CUSTOM
input_codes = EV_SYN, EV_KEY, EV_REL, EV_ABS, EV_MSC, EV_SW, EV_LED, EV_SND, EV_REP, EV_FF, EV_PWR, EV_FF_STATUS, EV_MAX
input_event {
time timeval
type flags[input_codes, int16]
code int16
val int32
}
input_keymap_entry {
flags int8
len int8[0:32]
index int16
keycode int32
scancod array[int8, 32]
}
ff_effect {
type flags[ff_effect_type, int16]
id int16
dir int16
trigger ff_trigger
replay ff_replay
u ff_effect_u
}
ff_effect_u [
const ff_constant_effect
ramp ff_ramp_effect
period ff_periodic_effect
cond array[ff_condition_effect, 2]
rumble ff_rumble_effect
]
ff_trigger {
button int16
interv int16
}
ff_replay {
len int16
delay int16
}
ff_constant_effect {
level int16
envelop ff_envelope
}
ff_ramp_effect {
slevel int16
elevel int16
envelop ff_envelope
}
ff_periodic_effect {
wave flags[ff_periodic_effect_wave, int16]
period int16
magnit int16
offset int16
phase int16
envelope ff_envelope
custom_len len[custom_data, int32]
custom_data ptr[in, array[int16]]
}
ff_condition_effect {
rsatur int16
lsatur int16
rcoeff int16
lcoeff int16
dead int16
center int16
}
ff_rumble_effect {
smagnit int16
wmagnit int16
}
ff_envelope {
len int16
level int16
flen int16
flevel int16
}
input_mask {
type flags[input_codes, int32]
size bytesize[ptr, int32]
ptr ptr64[in, array[int8]]
}
input_absinfo {
val int32
min int32
max int32
fuzz int32
flag int32
res int32
}
define EVIOCGNAME64 EVIOCGNAME(64)
define EVIOCGPHYS64 EVIOCGPHYS(64)
define EVIOCGUNIQ64 EVIOCGUNIQ(64)
define EVIOCGPROP64 EVIOCGPROP(64)
define EVIOCGMTSLOTS64 EVIOCGMTSLOTS(64)
define EVIOCGKEY64 EVIOCGKEY(64)
define EVIOCGLED64 EVIOCGLED(64)
define EVIOCGSND64 EVIOCGSND(64)
define EVIOCGSW64 EVIOCGSW(64)
define EVIOCGBITKEY64 EVIOCGBIT(EV_KEY, 64)
define EVIOCGBITSND64 EVIOCGBIT(EV_SND, 64)
define EVIOCGBITSW64 EVIOCGBIT(EV_SW, 64)
define EVIOCGABS0 EVIOCGABS(0)
define EVIOCGABS20 EVIOCGABS(0x20)
define EVIOCGABS2F EVIOCGABS(0x2F)
define EVIOCGABS3F EVIOCGABS(0x3F)
define EVIOCSABS0 EVIOCSABS(0)
define EVIOCSABS20 EVIOCSABS(0x20)
define EVIOCSABS2F EVIOCSABS(0x2F)
define EVIOCSABS3F EVIOCSABS(0x3F)