blob: 29143ef5210167dacee5787310a7eeb6e4715252 [file] [log] [blame]
// SPDX-License-Identifier: GPL-2.0
//
// kselftest configuration helpers for the hw specific configuration
//
// Original author: Jaroslav Kysela <perex@perex.cz>
// Copyright (c) 2022 Red Hat Inc.
#ifndef __ALSA_LOCAL_H
#define __ALSA_LOCAL_H
#include <alsa/asoundlib.h>
snd_config_t *get_alsalib_config(void);
snd_config_t *conf_load_from_file(const char *filename);
void conf_load(void);
void conf_free(void);
snd_config_t *conf_by_card(int card);
snd_config_t *conf_get_subtree(snd_config_t *root, const char *key1, const char *key2);
int conf_get_count(snd_config_t *root, const char *key1, const char *key2);
const char *conf_get_string(snd_config_t *root, const char *key1, const char *key2, const char *def);
long conf_get_long(snd_config_t *root, const char *key1, const char *key2, long def);
int conf_get_bool(snd_config_t *root, const char *key1, const char *key2, int def);
void conf_get_string_array(snd_config_t *root, const char *key1, const char *key2,
const char **array, int array_size, const char *def);
struct card_cfg_data {
int card;
snd_config_t *config;
const char *filename;
const char *config_id;
struct card_cfg_data *next;
};
extern struct card_cfg_data *conf_cards;
#endif /* __ALSA_LOCAL_H */