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 |
Configuration node type. | |
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 } |
Configuration node type. More... | |
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) |
Frees a configuration node. | |
int | snd_config_delete_compound_members (const snd_config_t *config) |
Deletes the children of a node. | |
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 a 64-bit-integer configuration node. | |
int | snd_config_make_real (snd_config_t **config, const char *key) |
Creates a real number 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 a 64-bit-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 number 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 a 64-bit-integer configuration node. | |
int | snd_config_set_real (snd_config_t *config, double value) |
Changes the value of a real-number 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 a 64-bit-integer configuration node. | |
int | snd_config_get_real (const snd_config_t *config, double *value) |
Returns the value of a real-number 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 a node's first child. | |
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 that ends a node's children list. | |
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 |
Configuration top-level node (the global configuration). | |
snd_config_t * | snd_config = NULL |
Configuration top-level node (the global configuration). |
|
Helper macro to iterate over the children of a compound node.
for statement, e.g.: snd_config_iterator_t pos, next; snd_config_for_each(pos, next, node) { snd_config_t *entry = snd_config_iterator_entry(pos); ... } This macro allows deleting or removing the current node. |
|
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. |
|
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. |
|
Internal structure for a configuration private update object. The ALSA library uses this structure to save private update information. |
|
Device-name list element |
|
Configuration node type.
|
|
Adds a child to a compound configuration node.
The parent node then owns the child node, i.e., the child node gets deleted together with its parent. child must have an id.
|
|
Creates a copy of a configuration node.
|
|
Frees a configuration node.
If the node is a child node, it is removed from the tree before being deleted. If the node is a compound node, its descendants (the whole subtree) are deleted recursively.
|
|
Deletes the children of a node.
Any compound nodes among the children of config are deleted recursively. After a successful call to this function, config is an empty compound node.
|
|
Evaluates a configuration node at runtime.
@func ) in config and replaces those nodes with the respective function results. |
|
Expands a configuration node, applying arguments and functions.
@args ), this function replaces any string node beginning with $ with the respective argument value, or the default argument value, or nothing. Furthermore, any functions are evaluated (see snd_config_evaluate). The resulting copy of config is returned in result. |
|
Returns the value of a configuration node as a string.
free() when it is no longer used.
For a string node with Supported node types are SND_CONFIG_TYPE_INTEGER, SND_CONFIG_TYPE_INTEGER64, SND_CONFIG_TYPE_REAL, and SND_CONFIG_TYPE_STRING.
|
|
Gets the boolean value from a configuration node.
|
|
Gets the boolean value from the given ASCII string.
|
|
Gets the control interface index from a configuration node.
|
|
Gets the control interface index from the given ASCII string.
|
|
Returns the id of a configuration node.
If the node does not have an id, *id is set to
|
|
Returns the value of an integer configuration node.
|
|
Returns the value of a 64-bit-integer configuration node.
|
|
Returns the value of a real or integer configuration node.
double type on the fly.
|
|
Returns the value of a pointer configuration node.
|
|
Returns the value of a real-number configuration node.
|
|
Returns the value of a string configuration node.
The string may be
|
|
Returns the type of a configuration node.
|
|
Creates an integer configuration node with the given initial value.
|
|
Creates a 64-bit-integer configuration node with the given initial value.
|
|
Creates a pointer configuration node with the given initial value.
value .
|
|
Creates a real number configuration node with the given initial value.
|
|
Creates a string configuration node with the given initial value.
value .
|
|
Returns an iterator that ends a node's children list.
The return value can be understood as pointing past the last child of config.
|
|
Returns the configuration node handle pointed to by an iterator.
|
|
Returns an iterator pointing to a node's first child.
The returned iterator is valid if it is not equal to the return value of snd_config_iterator_end on config. Use snd_config_iterator_entry to get the handle of the node pointed to.
|
|
Returns an iterator pointing to the next sibling.
Use snd_config_iterator_entry to get the handle of the node pointed to.
|
|
Loads a configuration tree.
|
|
Loads a configuration tree and overrides existing configuration nodes.
|
|
Creates a configuration node.
NULL .
The value of the new node is zero (for numbers), or
|
|
Creates an empty compound configuration node.
join determines how the compound node's id is printed when the configuration is saved to a text file. For example, if the join flag of compound node a {
b "hello"
c 42
}
a is nonzero, its id will be joined with its children's ids, like this: a.b "hello"
a.c 42
|
|
Creates an integer configuration node.
0 .
|
|
Creates a 64-bit-integer configuration node.
0 .
|
|
Creates a pointer configuration node.
NULL .
|
|
Creates a real number configuration node.
0 .0.
|
|
Creates a string configuration node.
NULL .
|
|
Dumps the contents of a configuration node or tree.
|
|
Searches for a node in a configuration tree.
In the following example, the comment after each node shows the search key to find that node, assuming that config is a handle to the compound node with id config { a 42 # "a" b { # "b" c "cee" # "b.c" d { # "b.d" e 2.71828 # "b.d.e" } } }
|
|
Searches for a definition in a configuration tree, using aliases and expanding hooks and arguments.
If name contains a colon (:), the rest of the string after the colon contains arguments that are expanded as with snd_config_expand. In any case, result is a new node that must be freed by the caller.
|
|
Searches for a node in a configuration tree.
snd_config_searchv(cfg, &res, "a", "b.c", "d.e", NULL); snd_config_search(cfg, "a.b.c.d.e", &res);
|
|
Changes the value of a configuration node.
NULL , not even for a string node.The node's type does not change, i.e., the string must contain a valid value with the same type as the node's type. For a string node, the node's new value is a copy of ascii.
|
|
Sets the id of a configuration node.
|
|
Changes the value of an integer configuration node.
|
|
Changes the value of a 64-bit-integer configuration node.
|
|
Changes the value of a pointer configuration node.
|
|
Changes the value of a real-number configuration node.
|
|
Changes the value of a string configuration node.
|
|
Compares the id of a configuration node to a given string.
|
|
Creates a top level configuration node.
|
|
Updates snd_config by rereading the global configuration files (if needed).
|
|
Frees a private update structure.
|
|
Frees the global configuration tree in snd_config.
NULL .
|
|
Updates a configuration tree by rereading the configuration files (if needed).
NULL before the first call to this function. The private update information holds information about all used configuration files that allows this function to detects changes to them; this data can be freed with snd_config_update_free.
The global configuration files are specified in the environment variable
|
|
Give a list of device names and associated comments for selected interface.
ALSA_NAMES_FILE . |
|
Release the list of device names.
|
|
Configuration top-level node (the global configuration). This variable contains a handle to the top-level configuration node, as loaded from global configuration file.
This variable is initialized or updated by snd_config_update. Functions like snd_pcm_open (that use a device name from the global configuration) automatically call snd_config_update. Before the first call to snd_config_update, this variable is
The global configuration files are specified in the environment variable
|
|
Configuration top-level node (the global configuration). This variable contains a handle to the top-level configuration node, as loaded from global configuration file.
This variable is initialized or updated by snd_config_update. Functions like snd_pcm_open (that use a device name from the global configuration) automatically call snd_config_update. Before the first call to snd_config_update, this variable is
The global configuration files are specified in the environment variable
|