qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 12/12] linux-user: Add support for selected alsa timer instru


From: Laurent Vivier
Subject: Re: [PATCH 12/12] linux-user: Add support for selected alsa timer instructions using ioctls
Date: Tue, 14 Jan 2020 13:57:19 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.3.1

Le 09/01/2020 à 13:59, Filip Bozuta a écrit :
> This patch implements functionalities of following ioctls:
> 
> SNDRV_TIMER_IOCTL_START - Start selected alsa timer
> 
>     Starts the timer device that is selected. The third ioctl's argument is
>     ignored. Before calling this ioctl, the ioctl "SNDRV_TIMER_IOCTL_SELECT"
>     should be called first to select the timer that is to be started. If no
>     timer is selected, the error EBADFD ("File descriptor in bad shape")
>     is returned.
> 
> SNDRV_TIMER_IOCTL_STOP - Stop selected alsa timer
> 
>     Stops the timer device that is selected. The third ioctl's argument is
>     ignored. Before calling this ioctl, the ioctl "SNDRV_TIMER_IOCTL_SELECT"
>     should be called first to select the timer that is to be stopped. If no
>     timer is selected, the error EBADFD ("File descriptor in bad shape")
>     is returned.
> 
> SNDRV_TIMER_IOCTL_CONTINUE - Continue selected alsa timer
> 
>     Continues the timer device that is selected. The third ioctl's argument is
>     ignored. Before calling this ioctl, the ioctl "SNDRV_TIMER_IOCTL_SELECT"
>     should be called first to select the timer that is to be continued. If no
>     timer is selected, the error EBADFD ("File descriptor in bad shape")
>     is returned.
> 
> SNDRV_TIMER_IOCTL_PAUSE - Pause selected alsa timer
> 
>     Pauses the timer device that is selected. The third ioctl's argument is
>     ignored. Before calling this ioctl, the ioctl "SNDRV_TIMER_IOCTL_SELECT"
>     should be called first to select the timer that is to be paused. If no
>     timer is selected, the error EBADFD ("File descriptor in bad shape")
>     is returned.
> 
> Implementation notes:
> 
>     Since all of the implemented ioctls have NULL as their third argument,
>     their implementation was straightforward.
> 
> Signed-off-by: Filip Bozuta <address@hidden>
> ---
>  linux-user/ioctls.h       | 4 ++++
>  linux-user/syscall_defs.h | 4 ++++
>  2 files changed, 8 insertions(+)
> 
> diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
> index 43e7e5d..75a2f0e 100644
> --- a/linux-user/ioctls.h
> +++ b/linux-user/ioctls.h
> @@ -466,6 +466,10 @@
>          MK_PTR(MK_STRUCT(STRUCT_snd_timer_params)))
>    IOCTL(SNDRV_TIMER_IOCTL_STATUS, IOC_R,
>          MK_PTR(MK_STRUCT(STRUCT_snd_timer_status)))
> +  IOCTL(SNDRV_TIMER_IOCTL_START, 0, TYPE_NULL)
> +  IOCTL(SNDRV_TIMER_IOCTL_STOP, 0, TYPE_NULL)
> +  IOCTL(SNDRV_TIMER_IOCTL_CONTINUE, 0, TYPE_NULL)
> +  IOCTL(SNDRV_TIMER_IOCTL_PAUSE, 0, TYPE_NULL)
>  
>    IOCTL(HDIO_GETGEO, IOC_R, MK_PTR(MK_STRUCT(STRUCT_hd_geometry)))
>    IOCTL(HDIO_GET_UNMASKINTR, IOC_R, MK_PTR(TYPE_INT))
> diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
> index d76124d..311aec0 100644
> --- a/linux-user/syscall_defs.h
> +++ b/linux-user/syscall_defs.h
> @@ -2505,6 +2505,10 @@ struct target_snd_timer_status {
>                                                           struct 
> snd_timer_params)
>  #define TARGET_SNDRV_TIMER_IOCTL_STATUS       TARGET_IOR('T', 0x14,          
>             \
>                                                           struct 
> target_snd_timer_status)
> +#define TARGET_SNDRV_TIMER_IOCTL_START        TARGET_IO('T', 0xa0)
> +#define TARGET_SNDRV_TIMER_IOCTL_STOP         TARGET_IO('T', 0xa1)
> +#define TARGET_SNDRV_TIMER_IOCTL_CONTINUE     TARGET_IO('T', 0xa2)
> +#define TARGET_SNDRV_TIMER_IOCTL_PAUSE        TARGET_IO('T', 0xa3)
>  
>  /* vfat ioctls */
>  #define TARGET_VFAT_IOCTL_READDIR_BOTH    TARGET_IORU('r', 1)
> 

Reviewed-by: Laurent Vivier <address@hidden>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]