# Copyright 2021 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. # Autogenerated by sys2syz include include include resource fd_evdev[fd] openat$evdev(fd const[AT_FDCWD], file ptr[in, string["/dev/input/eventN"]], flags flags[open_flags], mode const[0]) fd_evdev define EVIOCGABS_MIN EVIOCGABS(0) define EVIOCGABS_MAX EVIOCGABS(ABS_MAX) define EVIOCSABS_MIN EVIOCGABS(0) define EVIOCSABS_MAX EVIOCGABS(ABS_MAX) define EVIOCGNAME_CONST EVIOCGNAME(0) define EVIOCGPHYS_CONST EVIOCGPHYS(0) define EVIOCGUNIQ_CONST EVIOCGUNIQ(0) define EVIOCGPROP_CONST EVIOCGPROP(0) define EVIOCGMTSLOTS_CONST EVIOCGMTSLOTS(0) define EVIOCGLED_CONST EVIOCGLED(0) define EVIOCGKEY_CONST EVIOCGKEY(0) define EVIOCGSND_CONST EVIOCGSND(0) define EVIOCGSW_CONST EVIOCGSW(0) define EVIOCGBIT_MIN EVIOCGBIT(0, 0) define EVIOCGBIT_MAX EVIOCGBIT(EV_MAX, 0) ioctl$EVIOCGVERSION(fd fd_evdev, cmd const[EVIOCGVERSION], arg int32) ioctl$EVIOCGID(fd fd_evdev, cmd const[EVIOCGID], arg ptr[out, input_id]) ioctl$EVIOCGREP(fd fd_evdev, cmd const[EVIOCGREP], arg int32) ioctl$EVIOCSREP(fd fd_evdev, cmd const[EVIOCSREP], arg int32) ioctl$EVIOCGKEYCODE(fd fd_evdev, cmd const[EVIOCGKEYCODE], arg int32) ioctl$EVIOCGKEYCODE_V2(fd fd_evdev, cmd const[EVIOCGKEYCODE_V2], arg ptr[inout, input_keymap_entry]) ioctl$EVIOCSKEYCODE(fd fd_evdev, cmd const[EVIOCSKEYCODE], arg int32) ioctl$EVIOCSKEYCODE_V2(fd fd_evdev, cmd const[EVIOCSKEYCODE_V2], arg ptr[in, input_keymap_entry]) ioctl$EVIOCGABS(fd fd_evdev, cmd intptr[EVIOCGABS_MIN:EVIOCGABS_MAX], arg ptr[out, input_absinfo]) ioctl$EVIOCSABS(fd fd_evdev, cmd intptr[EVIOCSABS_MIN:EVIOCSABS_MAX], arg ptr[in, input_absinfo]) ioctl$EVIOCSFF(fd fd_evdev, cmd const[EVIOCSFF], arg ptr[in, ff_effect]) ioctl$EVIOCRMFF(fd fd_evdev, cmd const[EVIOCRMFF]) ioctl$EVIOCGEFFECTS(fd fd_evdev, cmd const[EVIOCGEFFECTS], arg int32) ioctl$EVIOCGRAB(fd fd_evdev, cmd const[EVIOCGRAB]) ioctl$EVIOCREVOKE(fd fd_evdev, cmd const[EVIOCREVOKE]) ioctl$EVIOCSCLOCKID(fd fd_evdev, cmd const[EVIOCSCLOCKID], arg int32) ioctl$UI_DEV_CREATE(fd fd_evdev, cmd const[UI_DEV_CREATE]) ioctl$UI_DEV_DESTROY(fd fd_evdev, cmd const[UI_DEV_DESTROY]) ioctl$UI_DEV_SETUP(fd fd_evdev, cmd const[UI_DEV_SETUP], arg ptr[in, uinput_setup]) ioctl$UI_ABS_SETUP(fd fd_evdev, cmd const[UI_ABS_SETUP], arg ptr[in, uinput_abs_setup]) ioctl$UI_GET_VERSION(fd fd_evdev, cmd const[UI_GET_VERSION], arg int32) ioctl$UI_SET_EVBIT(fd fd_evdev, cmd const[UI_SET_EVBIT]) ioctl$UI_SET_KEYBIT(fd fd_evdev, cmd const[UI_SET_KEYBIT]) ioctl$UI_SET_RELBIT(fd fd_evdev, cmd const[UI_SET_RELBIT]) ioctl$UI_SET_ABSBIT(fd fd_evdev, cmd const[UI_SET_ABSBIT]) ioctl$UI_SET_MSCBIT(fd fd_evdev, cmd const[UI_SET_MSCBIT]) ioctl$UI_SET_LEDBIT(fd fd_evdev, cmd const[UI_SET_LEDBIT]) ioctl$UI_SET_SNDBIT(fd fd_evdev, cmd const[UI_SET_SNDBIT]) ioctl$UI_SET_FFBIT(fd fd_evdev, cmd const[UI_SET_FFBIT]) ioctl$UI_SET_PHYS(fd fd_evdev, cmd const[UI_SET_PHYS]) ioctl$UI_SET_SWBIT(fd fd_evdev, cmd const[UI_SET_SWBIT]) ioctl$UI_SET_PROPBIT(fd fd_evdev, cmd const[UI_SET_PROPBIT]) ioctl$UI_BEGIN_FF_UPLOAD(fd fd_evdev, cmd const[UI_BEGIN_FF_UPLOAD], arg ptr[inout, uinput_ff_upload]) ioctl$UI_END_FF_UPLOAD(fd fd_evdev, cmd const[UI_END_FF_UPLOAD], arg ptr[in, uinput_ff_upload]) ioctl$UI_BEGIN_FF_ERASE(fd fd_evdev, cmd const[UI_BEGIN_FF_ERASE], arg ptr[inout, uinput_ff_erase]) ioctl$UI_END_FF_ERASE(fd fd_evdev, cmd const[UI_END_FF_ERASE], arg ptr[in, uinput_ff_erase]) ioctl$UI_SET_BSDUNIQ(fd fd_evdev, cmd const[UI_SET_BSDUNIQ]) ioctl$EVIOCGNAME(fd fd_evdev, cmd const[EVIOCGNAME_CONST]) ioctl$EVIOCGPHYS(fd fd_evdev, cmd const[EVIOCGPHYS_CONST]) ioctl$EVIOCGUNIQ(fd fd_evdev, cmd const[EVIOCGUNIQ_CONST]) ioctl$EVIOCGPROP(fd fd_evdev, cmd const[EVIOCGPROP_CONST]) ioctl$EVIOCGMTSLOTS(fd fd_evdev, cmd const[EVIOCGMTSLOTS_CONST]) ioctl$EVIOCGLED(fd fd_evdev, cmd const[EVIOCGLED_CONST]) ioctl$EVIOCGKEY(fd fd_evdev, cmd const[EVIOCGKEY_CONST]) ioctl$EVIOCGSND(fd fd_evdev, cmd const[EVIOCGSND_CONST]) ioctl$EVIOCGSW(fd fd_evdev, cmd const[EVIOCGSW_CONST]) ioctl$EVIOCGBIT(fd fd_evdev, cmd intptr[EVIOCGBIT_MIN:EVIOCGBIT_MAX]) input_id { bustype int16 vendor int16 product int16 version int16 } input_keymap_entry { flags int8 len int8 index int16 keycode int32 scancode array[int8, 32] } input_absinfo { value int32 minimum int32 maximum int32 fuzz int32 flat int32 resolution int32 } ff_effect { type int16[FF_EFFECT_MIN:FF_EFFECT_MAX] id int16 direction int16 trigger ff_trigger replay ff_replay u u } ff_trigger { button int16 interval int16 } ff_replay { length int16 delay int16 } ff_constant_effect { level int16 envelope ff_envelope } ff_envelope { attack_length len[attack_level, int16] attack_level int16 fade_length len[fade_level, int16] fade_level int16 } ff_ramp_effect { start_level int16 end_level int16 envelope ff_envelope } ff_periodic_effect { waveform int16[FF_WAVEFORM_MIN:FF_WAVEFORM_MAX] period int16 magnitude int16 offset int16 phase int16 envelope ff_envelope custom_len len[custom_data, int32] custom_data ptr[in, int16] } ff_condition_effect { right_saturation int16 left_saturation int16 right_coeff int16 left_coeff int16 deadband int16 center int16 } ff_rumble_effect { strong_magnitude int16 weak_magnitude int16 } uinput_setup { id input_id name array[int8, 80] ff_effects_max int32 } uinput_abs_setup { code int16 absinfo input_absinfo } uinput_ff_upload { request_id int32 retval int32 effect ff_effect old ff_effect } uinput_ff_erase { request_id int32 retval int32 effect_id int32 } u [ constant ff_constant_effect ramp ff_ramp_effect periodic ff_periodic_effect condition array[ff_condition_effect, 2] rumble ff_rumble_effect ]