xen_snd_front_cfg.h 991 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* SPDX-License-Identifier: GPL-2.0 OR MIT */
  2. /*
  3. * Xen para-virtual sound device
  4. *
  5. * Copyright (C) 2016-2018 EPAM Systems Inc.
  6. *
  7. * Author: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
  8. */
  9. #ifndef __XEN_SND_FRONT_CFG_H
  10. #define __XEN_SND_FRONT_CFG_H
  11. #include <sound/core.h>
  12. #include <sound/pcm.h>
  13. struct xen_snd_front_info;
  14. struct xen_front_cfg_stream {
  15. int index;
  16. char *xenstore_path;
  17. struct snd_pcm_hardware pcm_hw;
  18. };
  19. struct xen_front_cfg_pcm_instance {
  20. char name[80];
  21. int device_id;
  22. struct snd_pcm_hardware pcm_hw;
  23. int num_streams_pb;
  24. struct xen_front_cfg_stream *streams_pb;
  25. int num_streams_cap;
  26. struct xen_front_cfg_stream *streams_cap;
  27. };
  28. struct xen_front_cfg_card {
  29. char name_short[32];
  30. char name_long[80];
  31. struct snd_pcm_hardware pcm_hw;
  32. int num_pcm_instances;
  33. struct xen_front_cfg_pcm_instance *pcm_instances;
  34. };
  35. int xen_snd_front_cfg_card(struct xen_snd_front_info *front_info,
  36. int *stream_cnt);
  37. #endif /* __XEN_SND_FRONT_CFG_H */