From d22edf0adfbfb5e5d583b51d274e9fbcb285bb02 Mon Sep 17 00:00:00 2001 From: Filip Bozuta Date: Wed, 15 Jan 2020 20:36:44 +0100 Subject: linux-user: Add support for selecting alsa timer using ioctl This patch implements functionality of following ioctl: SNDRV_TIMER_IOCTL_SELECT - Selecting timer Selects the timer which id is specified. The timer id is specified in the following strcuture: struct snd_timer_select { struct snd_timer_id id; /* timer ID */ unsigned char reserved[32]; /* reserved */ }; A pointer to this structure should be passed as the third ioctl's argument. Before calling the ioctl, the field "tid" should be initialized with the id information for the timer which is to be selected. If there is no timer device with the specified id, the error ENODEV ("No such device") is returned. Implementation notes: Ioctl implemented in this patch has a pointer to a 'struct snd_timer_select' as its third argument. That is the reason why a corresponding definition was added in 'linux-user/syscall_types.h'. The rest of the implementation was straightforward. Reviewed-by: Laurent Vivier Signed-off-by: Filip Bozuta Message-Id: <1579117007-7565-11-git-send-email-Filip.Bozuta@rt-rk.com> Signed-off-by: Laurent Vivier --- linux-user/syscall_types.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'linux-user/syscall_types.h') diff --git a/linux-user/syscall_types.h b/linux-user/syscall_types.h index adcfa28224..81bc719382 100644 --- a/linux-user/syscall_types.h +++ b/linux-user/syscall_types.h @@ -116,6 +116,10 @@ STRUCT(snd_timer_gstatus, TYPE_ULONG, /* resolution_den */ MK_ARRAY(TYPE_CHAR, 32)) /* reserved */ +STRUCT(snd_timer_select, + MK_STRUCT(STRUCT_snd_timer_id), /* id */ + MK_ARRAY(TYPE_CHAR, 32)) /* reserved */ + /* loop device ioctls */ STRUCT(loop_info, TYPE_INT, /* lo_number */ -- cgit 1.4.1