blob: a1dcedf9d4506108bad6c269387601dc31be33e7 [file] [log] [blame]
# Copyright 2018 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 <sound/asound.h>
resource fd_midi[fd]
syz_open_dev$sndmidi(dev ptr[in, string["/dev/snd/midiC#D#"]], id intptr, flags flags[open_flags]) fd_midi
ioctl$SNDRV_RAWMIDI_IOCTL_PVERSION(fd fd_midi, cmd const[SNDRV_RAWMIDI_IOCTL_PVERSION], arg ptr[out, int32])
ioctl$SNDRV_RAWMIDI_IOCTL_INFO(fd fd_midi, cmd const[SNDRV_RAWMIDI_IOCTL_INFO], arg ptr[out, snd_rawmidi_info_raw])
ioctl$SNDRV_RAWMIDI_IOCTL_PARAMS(fd fd_midi, cmd const[SNDRV_RAWMIDI_IOCTL_PARAMS], arg ptr[inout, snd_rawmidi_params])
ioctl$SNDRV_RAWMIDI_IOCTL_STATUS(fd fd_midi, cmd const[SNDRV_RAWMIDI_IOCTL_STATUS], arg ptr[inout, snd_rawmidi_status])
ioctl$SNDRV_RAWMIDI_IOCTL_DROP(fd fd_midi, cmd const[SNDRV_RAWMIDI_IOCTL_DROP], arg ptr[in, int32])
ioctl$SNDRV_RAWMIDI_IOCTL_DRAIN(fd fd_midi, cmd const[SNDRV_RAWMIDI_IOCTL_DRAIN], arg ptr[in, int32])
snd_rawmidi_info_raw {
device int32
subdevice int32
stream flags[sndrv_rawmidi_stream, int32]
card int32
flags flags[snd_rawmidi_info_flags, int32]
id array[int8, 64]
name array[int8, 80]
subname array[int8, 32]
subdevices_count int32
subdevices_avail int32
reserved array[const[0, int8], 64]
}
snd_rawmidi_params {
stream flags[sndrv_rawmidi_stream, int32]
buffer_size int32
avail_min int32
no_active_sensing int32
reserved array[const[0, int8], 16]
}
snd_rawmidi_status {
stream flags[sndrv_rawmidi_stream, int32]
tstamp timespec
avail int32
xruns int32
reserved array[const[0, int8], 16]
}
sndrv_rawmidi_stream = SNDRV_RAWMIDI_STREAM_OUTPUT, SNDRV_RAWMIDI_STREAM_INPUT, SNDRV_RAWMIDI_STREAM_LAST
snd_rawmidi_info_flags = SNDRV_RAWMIDI_INFO_OUTPUT, SNDRV_RAWMIDI_INFO_INPUT, SNDRV_RAWMIDI_INFO_DUPLEX