From: Jaroslav Kysela Date: Mon, 4 Oct 2021 15:25:06 +0000 (+0200) Subject: rawmidi: add support for SNDRV_RAWMIDI_IOCTL_USER_PVERSION X-Git-Tag: v1.2.6~20 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=c932c1e7abd07b7f5a402891a344d676c10275a5;p=alsa-lib.git rawmidi: add support for SNDRV_RAWMIDI_IOCTL_USER_PVERSION Signed-off-by: Jaroslav Kysela --- diff --git a/include/sound/uapi/asound.h b/include/sound/uapi/asound.h index 9fe3943f..c3f65e13 100644 --- a/include/sound/uapi/asound.h +++ b/include/sound/uapi/asound.h @@ -773,6 +773,7 @@ struct snd_rawmidi_status { #define SNDRV_RAWMIDI_IOCTL_PVERSION _IOR('W', 0x00, int) #define SNDRV_RAWMIDI_IOCTL_INFO _IOR('W', 0x01, struct snd_rawmidi_info) +#define SNDRV_RAWMIDI_IOCTL_USER_PVERSION _IOW('W', 0x02, int) #define SNDRV_RAWMIDI_IOCTL_PARAMS _IOWR('W', 0x10, struct snd_rawmidi_params) #define SNDRV_RAWMIDI_IOCTL_STATUS _IOWR('W', 0x20, struct snd_rawmidi_status) #define SNDRV_RAWMIDI_IOCTL_DROP _IOW('W', 0x30, int) diff --git a/src/rawmidi/rawmidi_hw.c b/src/rawmidi/rawmidi_hw.c index c6afec10..390271a4 100644 --- a/src/rawmidi/rawmidi_hw.c +++ b/src/rawmidi/rawmidi_hw.c @@ -354,6 +354,11 @@ int snd_rawmidi_hw_open(snd_rawmidi_t **inputp, snd_rawmidi_t **outputp, snd_ctl_close(ctl); return -SND_ERROR_INCOMPATIBLE_VERSION; } + if (SNDRV_PROTOCOL_VERSION(2, 0, 2) <= ver) { + /* inform the protocol version we're supporting */ + unsigned int user_ver = SNDRV_RAWMIDI_VERSION; + ioctl(fd, SNDRV_RAWMIDI_IOCTL_USER_PVERSION, &user_ver); + } if (subdevice >= 0) { memset(&info, 0, sizeof(info)); info.stream = outputp ? SNDRV_RAWMIDI_STREAM_OUTPUT : SNDRV_RAWMIDI_STREAM_INPUT;