From 2f68adff0b52208bd2a86941c4c406fb9dcaa5e6 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Wed, 18 Dec 2019 10:27:38 +0100 Subject: sys/linux: support new split sound ioctls Some sounds ioctls are now explicitly doubled for 32/64 bits. Support that. Fix mips SOL_SOCKET issues by rearranging includes. Improve few other fields. --- sys/linux/dev_snd_midi.txt | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) (limited to 'sys/linux/dev_snd_midi.txt') diff --git a/sys/linux/dev_snd_midi.txt b/sys/linux/dev_snd_midi.txt index 65f4a5bd3..8e88bb266 100644 --- a/sys/linux/dev_snd_midi.txt +++ b/sys/linux/dev_snd_midi.txt @@ -19,7 +19,8 @@ read$midi(fd fd_midi, data ptr[out, array[int8]], len bytesize[data]) 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_STATUS32(fd fd_midi, cmd const[SNDRV_RAWMIDI_IOCTL_STATUS32], arg ptr[inout, snd_rawmidi_status32]) +ioctl$SNDRV_RAWMIDI_IOCTL_STATUS64(fd fd_midi, cmd const[SNDRV_RAWMIDI_IOCTL_STATUS64], arg ptr[inout, snd_rawmidi_status64]) 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]) @@ -45,13 +46,27 @@ snd_rawmidi_params { reserved array[const[0, int8], 16] } -snd_rawmidi_status { +snd_rawmidi_status32 { stream flags[sndrv_rawmidi_stream, int32] - tstamp timespec - avail intptr - xruns intptr + tstamp_sec const[0, int32] + tstamp_nsec const[0, int32] + avail const[0, int32] + xruns const[0, int32] reserved array[const[0, int8], 16] } -sndrv_rawmidi_stream = SNDRV_RAWMIDI_STREAM_OUTPUT, SNDRV_RAWMIDI_STREAM_INPUT, SNDRV_RAWMIDI_STREAM_LAST +snd_rawmidi_status64 { + stream flags[sndrv_rawmidi_stream, int32] + rsvd array[const[0, int8], 4] + tstamp_sec const[0, int64] + tstamp_nsec const[0, int64] + avail const[0, int64] + xruns const[0, int64] + reserved array[const[0, int8], 16] +} + +define SNDRV_RAWMIDI_IOCTL_STATUS32 _IOWR('W', 0x20, char[36]) +define SNDRV_RAWMIDI_IOCTL_STATUS64 _IOWR('W', 0x20, char[56]) + +sndrv_rawmidi_stream = SNDRV_RAWMIDI_STREAM_OUTPUT, SNDRV_RAWMIDI_STREAM_INPUT snd_rawmidi_info_flags = SNDRV_RAWMIDI_INFO_OUTPUT, SNDRV_RAWMIDI_INFO_INPUT, SNDRV_RAWMIDI_INFO_DUPLEX -- cgit mrf-deployment