alsa-local.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. // SPDX-License-Identifier: GPL-2.0
  2. //
  3. // kselftest configuration helpers for the hw specific configuration
  4. //
  5. // Original author: Jaroslav Kysela <perex@perex.cz>
  6. // Copyright (c) 2022 Red Hat Inc.
  7. #ifndef __ALSA_LOCAL_H
  8. #define __ALSA_LOCAL_H
  9. #include <alsa/asoundlib.h>
  10. snd_config_t *get_alsalib_config(void);
  11. snd_config_t *conf_load_from_file(const char *filename);
  12. void conf_load(void);
  13. void conf_free(void);
  14. snd_config_t *conf_by_card(int card);
  15. snd_config_t *conf_get_subtree(snd_config_t *root, const char *key1, const char *key2);
  16. int conf_get_count(snd_config_t *root, const char *key1, const char *key2);
  17. const char *conf_get_string(snd_config_t *root, const char *key1, const char *key2, const char *def);
  18. long conf_get_long(snd_config_t *root, const char *key1, const char *key2, long def);
  19. int conf_get_bool(snd_config_t *root, const char *key1, const char *key2, int def);
  20. void conf_get_string_array(snd_config_t *root, const char *key1, const char *key2,
  21. const char **array, int array_size, const char *def);
  22. struct card_cfg_data {
  23. int card;
  24. snd_config_t *config;
  25. const char *filename;
  26. const char *config_id;
  27. struct card_cfg_data *next;
  28. };
  29. extern struct card_cfg_data *conf_cards;
  30. #endif /* __ALSA_LOCAL_H */