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 8 #ifndef __ALSA_LOCAL_H 9 #define __ALSA_LOCAL_H 10 11 #include <alsa/asoundlib.h> 12 13 snd_config_t *get_alsalib_config(void); 14 15 snd_config_t *conf_load_from_file(const char *filename); 16 void conf_load(void); 17 void conf_free(void); 18 snd_config_t *conf_by_card(int card); 19 snd_config_t *conf_get_subtree(snd_config_t *root, const char *key1, const char *key2); 20 int conf_get_count(snd_config_t *root, const char *key1, const char *key2); 21 const char *conf_get_string(snd_config_t *root, const char *key1, const char *key2, const char *def); 22 long conf_get_long(snd_config_t *root, const char *key1, const char *key2, long def); 23 int conf_get_bool(snd_config_t *root, const char *key1, const char *key2, int def); 24 void conf_get_string_array(snd_config_t *root, const char *key1, const char *key2, 25 const char **array, int array_size, const char *def); 26 27 struct card_cfg_data { 28 int card; 29 snd_config_t *config; 30 const char *filename; 31 const char *config_id; 32 struct card_cfg_data *next; 33 }; 34 35 extern struct card_cfg_data *conf_cards; 36 37 #endif /* __ALSA_LOCAL_H */ 38