Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 OR MIT */
0002 
0003 /*
0004  * Xen para-virtual sound device
0005  *
0006  * Copyright (C) 2016-2018 EPAM Systems Inc.
0007  *
0008  * Author: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
0009  */
0010 
0011 #ifndef __XEN_SND_FRONT_CFG_H
0012 #define __XEN_SND_FRONT_CFG_H
0013 
0014 #include <sound/core.h>
0015 #include <sound/pcm.h>
0016 
0017 struct xen_snd_front_info;
0018 
0019 struct xen_front_cfg_stream {
0020     int index;
0021     char *xenstore_path;
0022     struct snd_pcm_hardware pcm_hw;
0023 };
0024 
0025 struct xen_front_cfg_pcm_instance {
0026     char name[80];
0027     int device_id;
0028     struct snd_pcm_hardware pcm_hw;
0029     int  num_streams_pb;
0030     struct xen_front_cfg_stream *streams_pb;
0031     int  num_streams_cap;
0032     struct xen_front_cfg_stream *streams_cap;
0033 };
0034 
0035 struct xen_front_cfg_card {
0036     char name_short[32];
0037     char name_long[80];
0038     struct snd_pcm_hardware pcm_hw;
0039     int num_pcm_instances;
0040     struct xen_front_cfg_pcm_instance *pcm_instances;
0041 };
0042 
0043 int xen_snd_front_cfg_card(struct xen_snd_front_info *front_info,
0044                int *stream_cnt);
0045 
0046 #endif /* __XEN_SND_FRONT_CFG_H */