Data Structures | |
struct | snd_devname |
Defines | |
#define | SND_CONFIG_DLSYM_VERSION_EVALUATE _dlsym_config_evaluate_001 |
dlsym version for the config evaluate callback. | |
#define | SND_CONFIG_DLSYM_VERSION_HOOK _dlsym_config_hook_001 |
dlsym version for the config hook callback. | |
#define | snd_config_for_each(pos, next, node) for (pos = snd_config_iterator_first(node), next = snd_config_iterator_next(pos); pos != snd_config_iterator_end(node); pos = next, next = snd_config_iterator_next(pos)) |
Helper macro to iterate over the children of a compound node. | |
Typedefs | |
typedef enum _snd_config_type | snd_config_type_t |
typedef _snd_config | snd_config_t |
Internal structure for a configuration node object. | |
typedef _snd_config_iterator * | snd_config_iterator_t |
Type for a configuration compound iterator. | |
typedef _snd_config_update | snd_config_update_t |
Internal structure for a configuration private update object. | |
typedef snd_devname | snd_devname_t |
Enumerations | |
enum | _snd_config_type { SND_CONFIG_TYPE_INTEGER, SND_CONFIG_TYPE_INTEGER64, SND_CONFIG_TYPE_REAL, SND_CONFIG_TYPE_STRING, SND_CONFIG_TYPE_POINTER, SND_CONFIG_TYPE_COMPOUND = 1024 } |
Functions | |
int | snd_config_top (snd_config_t **config) |
Creates a top level configuration node. | |
int | snd_config_load (snd_config_t *config, snd_input_t *in) |
Loads a configuration tree. | |
int | snd_config_load_override (snd_config_t *config, snd_input_t *in) |
Loads a configuration tree and overrides existing configuration nodes. | |
int | snd_config_save (snd_config_t *config, snd_output_t *out) |
Dumps the contents of a configuration node or tree. | |
int | snd_config_update (void) |
Updates snd_config by rereading the global configuration files (if needed). | |
int | snd_config_update_r (snd_config_t **top, snd_config_update_t **update, const char *path) |
Updates a configuration tree by rereading the configuration files (if needed). | |
int | snd_config_update_free (snd_config_update_t *update) |
Frees a private update structure. | |
int | snd_config_update_free_global (void) |
Frees the global configuration tree in snd_config. | |
int | snd_config_search (snd_config_t *config, const char *key, snd_config_t **result) |
Searches for a node in a configuration tree. | |
int | snd_config_searchv (snd_config_t *config, snd_config_t **result,...) |
Searches for a node in a configuration tree. | |
int | snd_config_search_definition (snd_config_t *config, const char *base, const char *key, snd_config_t **result) |
Searches for a definition in a configuration tree, using aliases and expanding hooks and arguments. | |
int | snd_config_expand (snd_config_t *config, snd_config_t *root, const char *args, snd_config_t *private_data, snd_config_t **result) |
Expands a configuration node applying arguments and functions. | |
int | snd_config_evaluate (snd_config_t *config, snd_config_t *root, snd_config_t *private_data, snd_config_t **result) |
Evaluates a configuration node at runtime. | |
int | snd_config_add (snd_config_t *config, snd_config_t *leaf) |
Adds a child to a compound configuration node. | |
int | snd_config_delete (snd_config_t *config) |
Deletes a configuration node (freeing all its related resources). | |
int | snd_config_delete_compound_members (const snd_config_t *config) |
Deletes the children of a compound configuration node (freeing all its related resources). | |
int | snd_config_copy (snd_config_t **dst, snd_config_t *src) |
Creates a copy of a configuration node. | |
int | snd_config_make (snd_config_t **config, const char *key, snd_config_type_t type) |
Creates a configuration node. | |
int | snd_config_make_integer (snd_config_t **config, const char *key) |
Creates an integer configuration node. | |
int | snd_config_make_integer64 (snd_config_t **config, const char *key) |
Creates an integer64 configuration node. | |
int | snd_config_make_real (snd_config_t **config, const char *key) |
Creates a real configuration node. | |
int | snd_config_make_string (snd_config_t **config, const char *key) |
Creates a string configuration node. | |
int | snd_config_make_pointer (snd_config_t **config, const char *key) |
Creates a pointer configuration node. | |
int | snd_config_make_compound (snd_config_t **config, const char *key, int join) |
Creates an empty compound configuration node. | |
int | snd_config_imake_integer (snd_config_t **config, const char *key, const long value) |
Creates an integer configuration node with the given initial value. | |
int | snd_config_imake_integer64 (snd_config_t **config, const char *key, const long long value) |
Creates an integer configuration node with the given initial value. | |
int | snd_config_imake_real (snd_config_t **config, const char *key, const double value) |
Creates a real configuration node with the given initial value. | |
int | snd_config_imake_string (snd_config_t **config, const char *key, const char *ascii) |
Creates a string configuration node with the given initial value. | |
int | snd_config_imake_pointer (snd_config_t **config, const char *key, const void *ptr) |
Creates a pointer configuration node with the given initial value. | |
snd_config_type_t | snd_config_get_type (const snd_config_t *config) |
Returns the type of a configuration node. | |
int | snd_config_set_id (snd_config_t *config, const char *id) |
Sets the id of a configuration node. | |
int | snd_config_set_integer (snd_config_t *config, long value) |
Changes the value of an integer configuration node. | |
int | snd_config_set_integer64 (snd_config_t *config, long long value) |
Changes the value of an integer64 configuration node. | |
int | snd_config_set_real (snd_config_t *config, double value) |
Changes the value of a real configuration node. | |
int | snd_config_set_string (snd_config_t *config, const char *value) |
Changes the value of a string configuration node. | |
int | snd_config_set_ascii (snd_config_t *config, const char *ascii) |
Changes the value of a configuration node. | |
int | snd_config_set_pointer (snd_config_t *config, const void *ptr) |
Changes the value of a pointer configuration node. | |
int | snd_config_get_id (const snd_config_t *config, const char **value) |
Returns the id of a configuration node. | |
int | snd_config_get_integer (const snd_config_t *config, long *value) |
Returns the value of an integer configuration node. | |
int | snd_config_get_integer64 (const snd_config_t *config, long long *value) |
Returns the value of an integer64 configuration node. | |
int | snd_config_get_real (const snd_config_t *config, double *value) |
Returns the value of a real configuration node. | |
int | snd_config_get_ireal (const snd_config_t *config, double *value) |
Returns the value of a real or integer configuration node. | |
int | snd_config_get_string (const snd_config_t *config, const char **value) |
Returns the value of a string configuration node. | |
int | snd_config_get_ascii (const snd_config_t *config, char **value) |
Returns the value of a configuration node as a string. | |
int | snd_config_get_pointer (const snd_config_t *config, const void **value) |
Returns the value of a pointer configuration node. | |
int | snd_config_test_id (const snd_config_t *config, const char *id) |
Compares the id of a configuration node to a given string. | |
snd_config_iterator_t | snd_config_iterator_first (const snd_config_t *node) |
Returns an iterator pointing to the first child of a compound configuration node. | |
snd_config_iterator_t | snd_config_iterator_next (const snd_config_iterator_t iterator) |
Returns an iterator pointing to the next sibling. | |
snd_config_iterator_t | snd_config_iterator_end (const snd_config_t *node) |
Returns an iterator pointing past the last child of a compound configuration node. | |
snd_config_t * | snd_config_iterator_entry (const snd_config_iterator_t iterator) |
Returns the configuration node handle pointed to by an iterator. | |
int | snd_config_get_bool_ascii (const char *ascii) |
Gets the boolean value from the given ASCII string. | |
int | snd_config_get_bool (const snd_config_t *conf) |
Gets the boolean value from a configuration node. | |
int | snd_config_get_ctl_iface_ascii (const char *ascii) |
Gets the control interface index from the given ASCII string. | |
int | snd_config_get_ctl_iface (const snd_config_t *conf) |
Gets the control interface index from a configuration node. | |
int | snd_names_list (const char *iface, snd_devname_t **list) |
Give a list of device names and associated comments for selected interface. | |
void | snd_names_list_free (snd_devname_t *list) |
Release the list of device names. | |
Variables | |
snd_config_t * | snd_config |
snd_config_t * | snd_config = NULL |
#define snd_config_for_each | ( | pos, | |||
next, | |||||
node | ) | for (pos = snd_config_iterator_first(node), next = snd_config_iterator_next(pos); pos != snd_config_iterator_end(node); pos = next, next = snd_config_iterator_next(pos)) |
Helper macro to iterate over the children of a compound node.
pos | Iterator variable for the current node. | |
next | Iterator variable for the next node. | |
node | Handle to the compound configuration node to iterate over. |
typedef struct _snd_config_iterator* snd_config_iterator_t |
Type for a configuration compound iterator.
The ALSA library uses this pointer type as a handle to a configuration compound iterator. Applications don't directly access the contents of the structure pointed to by this type.
typedef struct _snd_config snd_config_t |
Internal structure for a configuration node object.
The ALSA library uses a pointer to this structure as a handle to a configuration node. Applications don't access its contents directly.
typedef enum _snd_config_type snd_config_type_t |
Configuration node type.
typedef struct _snd_config_update snd_config_update_t |
Internal structure for a configuration private update object.
The ALSA library uses this structure to save private update information.
typedef struct snd_devname snd_devname_t |
Device-name list element
enum _snd_config_type |
Configuration node type.
int snd_config_add | ( | snd_config_t * | father, | |
snd_config_t * | leaf | |||
) |
Adds a child to a compound configuration node.
father | Handle to the compound configuration node. | |
leaf | Handle to the configuration node to be added to father . |
int snd_config_copy | ( | snd_config_t ** | dst, | |
snd_config_t * | src | |||
) |
Creates a copy of a configuration node.
dst | The function puts the handle to the new configuration node at the address specified by dst . | |
src | Handle to the source configuration node. |
int snd_config_delete | ( | snd_config_t * | config | ) |
Deletes a configuration node (freeing all its related resources).
config | Handle to the configuration node to be deleted. |
int snd_config_delete_compound_members | ( | const snd_config_t * | config | ) |
Deletes the children of a compound configuration node (freeing all its related resources).
config | Handle to the compound configuration node. |
config
are deleted recursively.
int snd_config_evaluate | ( | snd_config_t * | config, | |
snd_config_t * | root, | |||
snd_config_t * | private_data, | |||
snd_config_t ** | result | |||
) |
Evaluates a configuration node at runtime.
config | Handle to the source configuration node. | |
root | Handle to the root of the source configuration. | |
private_data | Handle to the private data node for runtime evaluation. | |
result | The function puts the handle to the result node at the address specified by result . result is NULL for in-place evaluation. |
int snd_config_expand | ( | snd_config_t * | config, | |
snd_config_t * | root, | |||
const char * | args, | |||
snd_config_t * | private_data, | |||
snd_config_t ** | result | |||
) |
Expands a configuration node applying arguments and functions.
config | Handle to the configuration node. | |
root | Handle to the root configuration node. | |
args | Arguments string (optional). | |
private_data | Handle to the private data node for functions. | |
result | The function puts the handle to the result configuration node at the address specified by result . |
int snd_config_get_ascii | ( | const snd_config_t * | config, | |
char ** | ascii | |||
) |
Returns the value of a configuration node as a string.
config | Handle to the configuration node. | |
ascii | The function puts the pointer to the returned string at the address specified by ascii . |
free()
when it is no longer used.
int snd_config_get_bool | ( | const snd_config_t * | conf | ) |
Gets the boolean value from a configuration node.
conf | Handle to the configuration node to be parsed. |
int snd_config_get_bool_ascii | ( | const char * | ascii | ) |
Gets the boolean value from the given ASCII string.
ascii | The string to be parsed. |
int snd_config_get_ctl_iface | ( | const snd_config_t * | conf | ) |
Gets the control interface index from a configuration node.
conf | Handle to the configuration node to be parsed. |
int snd_config_get_ctl_iface_ascii | ( | const char * | ascii | ) |
Gets the control interface index from the given ASCII string.
ascii | The string to be parsed. |
int snd_config_get_id | ( | const snd_config_t * | config, | |
const char ** | id | |||
) |
Returns the id of a configuration node.
config | Handle to the configuration node. | |
id | The function puts the pointer to the id string at the address specified by id . |
int snd_config_get_integer | ( | const snd_config_t * | config, | |
long * | ptr | |||
) |
Returns the value of an integer configuration node.
config | Handle to the configuration node. | |
ptr | The function puts the node's value at the address specified by ptr . |
int snd_config_get_integer64 | ( | const snd_config_t * | config, | |
long long * | ptr | |||
) |
Returns the value of an integer64 configuration node.
config | Handle to the configuration node. | |
ptr | The function puts the node's value at the address specified by ptr . |
int snd_config_get_ireal | ( | const snd_config_t * | config, | |
double * | ptr | |||
) |
Returns the value of a real or integer configuration node.
config | Handle to the configuration node. | |
ptr | The function puts the node's value at the address specified by ptr . |
double
type on the fly.
int snd_config_get_pointer | ( | const snd_config_t * | config, | |
const void ** | ptr | |||
) |
Returns the value of a pointer configuration node.
config | Handle to the configuration node. | |
ptr | The function puts the node's value at the address specified by ptr . |
int snd_config_get_real | ( | const snd_config_t * | config, | |
double * | ptr | |||
) |
Returns the value of a real configuration node.
config | Handle to the configuration node. | |
ptr | The function puts the node's value at the address specified by ptr . |
int snd_config_get_string | ( | const snd_config_t * | config, | |
const char ** | ptr | |||
) |
Returns the value of a string configuration node.
config | Handle to the configuration node. | |
ptr | The function puts the node's value at the address specified by ptr . |
snd_config_type_t snd_config_get_type | ( | const snd_config_t * | config | ) |
Returns the type of a configuration node.
config | Handle to the configuration node. |
int snd_config_imake_integer | ( | snd_config_t ** | config, | |
const char * | id, | |||
const long | value | |||
) |
Creates an integer configuration node with the given initial value.
config | The function puts the handle to the new node at the address specified by config . | |
id | The id of the new node. | |
value | The initial value of the new node. |
int snd_config_imake_integer64 | ( | snd_config_t ** | config, | |
const char * | id, | |||
const long long | value | |||
) |
Creates an integer configuration node with the given initial value.
config | The function puts the handle to the new node at the address specified by config . | |
id | The id of the new node. | |
value | The initial value of the new node. |
int snd_config_imake_pointer | ( | snd_config_t ** | config, | |
const char * | id, | |||
const void * | value | |||
) |
Creates a pointer configuration node with the given initial value.
config | The function puts the handle to the new node at the address specified by config . | |
id | The id of the new node. | |
value | The initial value of the new node. May be NULL . |
int snd_config_imake_real | ( | snd_config_t ** | config, | |
const char * | id, | |||
const double | value | |||
) |
Creates a real configuration node with the given initial value.
config | The function puts the handle to the new node at the address specified by config . | |
id | The id of the new node. | |
value | The initial value of the new node. |
int snd_config_imake_string | ( | snd_config_t ** | config, | |
const char * | id, | |||
const char * | value | |||
) |
Creates a string configuration node with the given initial value.
config | The function puts the handle to the new node at the address specified by config . | |
id | The id of the new node. | |
value | The initial value of the new node. May be NULL . |
snd_config_iterator_t snd_config_iterator_end | ( | const snd_config_t * | node | ) |
Returns an iterator pointing past the last child of a compound configuration node.
node | Handle to the compound configuration node. |
node
. snd_config_t* snd_config_iterator_entry | ( | const snd_config_iterator_t | iterator | ) |
Returns the configuration node handle pointed to by an iterator.
iterator | A configuration node iterator. |
iterator
. snd_config_iterator_t snd_config_iterator_first | ( | const snd_config_t * | node | ) |
Returns an iterator pointing to the first child of a compound configuration node.
node | Handle to the compound configuration node. |
snd_config_iterator_t snd_config_iterator_next | ( | const snd_config_iterator_t | iterator | ) |
Returns an iterator pointing to the next sibling.
iterator | An iterator pointing to a child configuration node. |
iterator
. If iterator
is the last sibling, the returned value is the same as the result of calling snd_config_iterator_end on the father of the nodes. int snd_config_load | ( | snd_config_t * | config, | |
snd_input_t * | in | |||
) |
Loads a configuration tree.
config | Handle to a top level configuration node. | |
in | Input handle to read the configuration from. |
int snd_config_load_override | ( | snd_config_t * | config, | |
snd_input_t * | in | |||
) |
Loads a configuration tree and overrides existing configuration nodes.
config | Handle to a top level configuration node. | |
in | Input handle to read the configuration from. |
int snd_config_make | ( | snd_config_t ** | config, | |
const char * | id, | |||
snd_config_type_t | type | |||
) |
Creates a configuration node.
config | The function puts the handle to the new node at the address specified by config . | |
id | The id of the new node. | |
type | The type of the new node. |
int snd_config_make_compound | ( | snd_config_t ** | config, | |
const char * | id, | |||
int | join | |||
) |
Creates an empty compound configuration node.
config | The function puts the handle to the new node at the address specified by config . | |
id | The id of the new node. | |
join | Join flag. This is checked in snd_config_save to change look. (Huh?) |
int snd_config_make_integer | ( | snd_config_t ** | config, | |
const char * | id | |||
) |
Creates an integer configuration node.
config | The function puts the handle to the new node at the address specified by config . | |
id | The id of the new node. |
int snd_config_make_integer64 | ( | snd_config_t ** | config, | |
const char * | id | |||
) |
Creates an integer64 configuration node.
config | The function puts the handle to the new node at the address specified by config . | |
id | The id of the new node. |
int snd_config_make_pointer | ( | snd_config_t ** | config, | |
const char * | id | |||
) |
Creates a pointer configuration node.
config | The function puts the handle to the new node at the address specified by config . | |
id | The id of the new node. |
NULL
.
int snd_config_make_real | ( | snd_config_t ** | config, | |
const char * | id | |||
) |
Creates a real configuration node.
config | The function puts the handle to the new node at the address specified by config . | |
id | The id of the new node. |
int snd_config_make_string | ( | snd_config_t ** | config, | |
const char * | id | |||
) |
Creates a string configuration node.
config | The function puts the handle to the new node at the address specified by config . | |
id | The id of the new node. |
NULL
.
int snd_config_save | ( | snd_config_t * | config, | |
snd_output_t * | out | |||
) |
Dumps the contents of a configuration node or tree.
config | Handle to the (root) configuration node. | |
out | Output handle. |
int snd_config_search | ( | snd_config_t * | config, | |
const char * | key, | |||
snd_config_t ** | result | |||
) |
Searches for a node in a configuration tree.
config | Handle to the root of the configuration (sub)tree to search. | |
key | Search key: one or more node keys, separated with dots. | |
result | The function puts the handle to the node found at the address specified by result . |
int snd_config_search_definition | ( | snd_config_t * | config, | |
const char * | base, | |||
const char * | name, | |||
snd_config_t ** | result | |||
) |
Searches for a definition in a configuration tree, using aliases and expanding hooks and arguments.
config | Handle to the configuration (sub)tree to search. | |
base | Implicit key base, or NULL for none. | |
name | Key suffix. | |
result | The function puts the handle to the expanded found node at the address specified by result . |
If key
contains a dot (.), the implicit base is ignored and the key starts from the root given by config
.
int snd_config_searchv | ( | snd_config_t * | config, | |
snd_config_t ** | result, | |||
... | ||||
) |
Searches for a node in a configuration tree.
config | Handle to the root of the configuration (sub)tree to search. | |
result | The function puts the handle to the node found at the address specified by result . | |
... | One or more concatenated dot separated search keys, terminated with NULL . |
int snd_config_set_ascii | ( | snd_config_t * | config, | |
const char * | ascii | |||
) |
Changes the value of a configuration node.
config | Handle to the configuration node. | |
ascii | The new value for the node as an ASCII string. ascii must not be NULL , not even for a string node. |
int snd_config_set_id | ( | snd_config_t * | config, | |
const char * | id | |||
) |
Sets the id of a configuration node.
config | Handle to the configuration node. | |
id | The new node id. |
int snd_config_set_integer | ( | snd_config_t * | config, | |
long | value | |||
) |
Changes the value of an integer configuration node.
config | Handle to the configuration node. | |
value | The new value for the node. |
int snd_config_set_integer64 | ( | snd_config_t * | config, | |
long long | value | |||
) |
Changes the value of an integer64 configuration node.
config | Handle to the configuration node. | |
value | The new value for the node. |
int snd_config_set_pointer | ( | snd_config_t * | config, | |
const void * | value | |||
) |
Changes the value of a pointer configuration node.
config | Handle to the configuration node. | |
value | The new value for the node. May be NULL . |
int snd_config_set_real | ( | snd_config_t * | config, | |
double | value | |||
) |
Changes the value of a real configuration node.
config | Handle to the configuration node. | |
value | The new value for the node. |
int snd_config_set_string | ( | snd_config_t * | config, | |
const char * | value | |||
) |
Changes the value of a string configuration node.
config | Handle to the configuration node. | |
value | The new value for the node. May be NULL . |
int snd_config_test_id | ( | const snd_config_t * | config, | |
const char * | id | |||
) |
Compares the id of a configuration node to a given string.
config | Handle to the configuration node. | |
id | ASCII id. |
strcmp
function. int snd_config_top | ( | snd_config_t ** | config | ) |
Creates a top level configuration node.
config | The function puts the handle to the new node at the address specified by config . |
int snd_config_update | ( | void | ) |
Updates snd_config by rereading the global configuration files (if needed).
0 | No action is needed. | |
1 | The configuration tree has been rebuilt. |
ALSA_CONFIG_PATH
. If this is not set, the default value is "/usr/share/alsa/alsa.conf".
int snd_config_update_free | ( | snd_config_update_t * | update | ) |
Frees a private update structure.
update | The private update structure to free. |
int snd_config_update_free_global | ( | void | ) |
Frees the global configuration tree in snd_config.
int snd_config_update_r | ( | snd_config_t ** | _top, | |
snd_config_update_t ** | _update, | |||
const char * | cfgs | |||
) |
Updates a configuration tree by rereading the configuration files (if needed).
_top | Address of the handle to the top level node. | |
_update | Address of a pointer to private update information. | |
cfgs | A list of configuration file names, delimited with ':'. If cfgs is set to NULL , the default global configuration file is used ("/usr/share/alsa/alsa.conf"). |
0 | No action is needed. | |
1 | The configuration tree has been rebuilt. |
ALSA_CONFIG_PATH
.
int snd_names_list | ( | const char * | iface, | |
snd_devname_t ** | list | |||
) |
Give a list of device names and associated comments for selected interface.
iface | a string identifying interface ("pcm", "ctl", "seq", "rawmidi") | |
list | result - a pointer to list |
ALSA_NAMES_FILE
.
void snd_names_list_free | ( | snd_devname_t * | list | ) |
Release the list of device names.
list | the name list to release |
snd_config_t* snd_config = NULL |
Configuration top level node (the global configuration).
Configuration top level node (the global configuration).