162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci//
362306a36Sopenharmony_ci// kselftest configuration helpers for the hw specific configuration
462306a36Sopenharmony_ci//
562306a36Sopenharmony_ci// Original author: Jaroslav Kysela <perex@perex.cz>
662306a36Sopenharmony_ci// Copyright (c) 2022 Red Hat Inc.
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#ifndef __ALSA_LOCAL_H
962306a36Sopenharmony_ci#define __ALSA_LOCAL_H
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#include <alsa/asoundlib.h>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_cisnd_config_t *get_alsalib_config(void);
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_cisnd_config_t *conf_load_from_file(const char *filename);
1662306a36Sopenharmony_civoid conf_load(void);
1762306a36Sopenharmony_civoid conf_free(void);
1862306a36Sopenharmony_cisnd_config_t *conf_by_card(int card);
1962306a36Sopenharmony_cisnd_config_t *conf_get_subtree(snd_config_t *root, const char *key1, const char *key2);
2062306a36Sopenharmony_ciint conf_get_count(snd_config_t *root, const char *key1, const char *key2);
2162306a36Sopenharmony_ciconst char *conf_get_string(snd_config_t *root, const char *key1, const char *key2, const char *def);
2262306a36Sopenharmony_cilong conf_get_long(snd_config_t *root, const char *key1, const char *key2, long def);
2362306a36Sopenharmony_ciint conf_get_bool(snd_config_t *root, const char *key1, const char *key2, int def);
2462306a36Sopenharmony_civoid conf_get_string_array(snd_config_t *root, const char *key1, const char *key2,
2562306a36Sopenharmony_ci			   const char **array, int array_size, const char *def);
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci#endif /* __ALSA_LOCAL_H */
28