xref: /linux/tools/testing/selftests/alsa/alsa-local.h (revision 8e1bb4a41aa78d6105e59186af3dcd545fc66e70)
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