MOON
Server: Apache/2.2.31 (Unix) mod_ssl/2.2.31 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4
System: Linux csr818.wilogic.com 2.6.18-419.el5xen #1 SMP Fri Feb 24 22:50:37 UTC 2017 x86_64
User: digitals (531)
PHP: 5.4.45
Disabled: NONE
Upload Files
File: //usr/share/doc/alsa-lib-devel-1.0.17/lib64/html/conf_8c.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ALSA project - the C library reference: /builddir/build/BUILD/alsa-lib-1.0.17a/src/conf.c File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
    <li id="current"><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
    <li><a href="examples.html"><span>Examples</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
    <li><a href="globals.html"><span>Globals</span></a></li>
  </ul></div>
<h1>/builddir/build/BUILD/alsa-lib-1.0.17a/src/conf.c File Reference</h1>Configuration helper functions. <a href="#_details">More...</a>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#43e91f8e9acbcc913a1f0dbdf613c536">ALSA_CONFIG_PATH_VAR</a>&nbsp;&nbsp;&nbsp;&quot;ALSA_CONFIG_PATH&quot;</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#9b5cc4ef0156a6e53d75d7c2844cc06b">ALSA_CONFIG_PATH_DEFAULT</a>&nbsp;&nbsp;&nbsp;ALSA_CONFIG_DIR &quot;/alsa.conf&quot;</td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#ad6ca8de335e28e54c0410ebcd10c26d">snd_config_substitute</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *dst, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *src)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Substitutes one configuration node to another.  <a href="#ad6ca8de335e28e54c0410ebcd10c26d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#8719f3b4015d5a11cd9c1743d06fd656">snd_config_get_type_ascii</a> (const char *ascii, <a class="el" href="group___config.html#gc42c013d7b46e861523546eaeb99c157">snd_config_type_t</a> *type)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts an ASCII string to a configuration node type.  <a href="#8719f3b4015d5a11cd9c1743d06fd656"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group___config.html#gc42c013d7b46e861523546eaeb99c157">snd_config_type_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gecf5efb3139d67c2a8dc0aac8bb1f6c4">snd_config_get_type</a> (const <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type of a configuration node.  <a href="group___config.html#gecf5efb3139d67c2a8dc0aac8bb1f6c4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gcca465ec933a023e5397001167f4c963">snd_config_get_id</a> (const <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, const char **id)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the id of a configuration node.  <a href="group___config.html#gcca465ec933a023e5397001167f4c963"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g18f902a6249f9b8a81f24d44fa19e0bc">snd_config_set_id</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, const char *id)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the id of a configuration node.  <a href="group___config.html#g18f902a6249f9b8a81f24d44fa19e0bc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g39b5c1aa214df5a4a35df6d5c490ae4f">snd_config_top</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **config)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a top level configuration node.  <a href="group___config.html#g39b5c1aa214df5a4a35df6d5c490ae4f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g0743418194fd9570fe9ff4bdee687349">snd_config_load</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, <a class="el" href="group___input.html#g942229a624fb1eaccc9d61d537b9d94d">snd_input_t</a> *in)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads a configuration tree.  <a href="group___config.html#g0743418194fd9570fe9ff4bdee687349"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gd0590cb27d1353d4711dc7a69e3f84d6">snd_config_load_override</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, <a class="el" href="group___input.html#g942229a624fb1eaccc9d61d537b9d94d">snd_input_t</a> *in)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads a configuration tree and overrides existing configuration nodes.  <a href="group___config.html#gd0590cb27d1353d4711dc7a69e3f84d6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g81237f16471ef0ce5f433dfdc3eacd9d">snd_config_add</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *father, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *leaf)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a child to a compound configuration node.  <a href="group___config.html#g81237f16471ef0ce5f433dfdc3eacd9d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#7235dcad0aac6f4a1b933a02725016bc">snd_config_remove</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a configuration node from its tree.  <a href="#7235dcad0aac6f4a1b933a02725016bc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g0d7bef8a31a6575a9cd82b04b1879906">snd_config_delete</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes a configuration node (freeing all its related resources).  <a href="group___config.html#g0d7bef8a31a6575a9cd82b04b1879906"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gc06e5444e3d13f5ea1c06d8771bfd5eb">snd_config_delete_compound_members</a> (const <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes the children of a compound configuration node (freeing all its related resources).  <a href="group___config.html#gc06e5444e3d13f5ea1c06d8771bfd5eb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g8a5ee7e22ad4102921559ba36ccecb6f">snd_config_make</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **config, const char *id, <a class="el" href="group___config.html#gc42c013d7b46e861523546eaeb99c157">snd_config_type_t</a> type)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a configuration node.  <a href="group___config.html#g8a5ee7e22ad4102921559ba36ccecb6f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g87975363d8e09ea6fbb9210a8594212a">snd_config_make_integer</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **config, const char *id)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an integer configuration node.  <a href="group___config.html#g87975363d8e09ea6fbb9210a8594212a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g3b3a5f1c9829332a006c11183930ec36">snd_config_make_integer64</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **config, const char *id)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an integer64 configuration node.  <a href="group___config.html#g3b3a5f1c9829332a006c11183930ec36"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gd6f16dd2181144bfe83994f1f42ce81a">snd_config_make_real</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **config, const char *id)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a real configuration node.  <a href="group___config.html#gd6f16dd2181144bfe83994f1f42ce81a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g2042209dd20f7c56ea494d84aacb7cf0">snd_config_make_string</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **config, const char *id)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a string configuration node.  <a href="group___config.html#g2042209dd20f7c56ea494d84aacb7cf0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g56b5596a4224590e91540d54e6a33cae">snd_config_make_pointer</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **config, const char *id)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a pointer configuration node.  <a href="group___config.html#g56b5596a4224590e91540d54e6a33cae"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g4bcbb431ca9f62ed4079aeb274a051b7">snd_config_make_compound</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **config, const char *id, int join)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an empty compound configuration node.  <a href="group___config.html#g4bcbb431ca9f62ed4079aeb274a051b7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gf2c3c47d87fa67bfae5d5b8f64ea9bff">snd_config_imake_integer</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **config, const char *id, const long value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an integer configuration node with the given initial value.  <a href="group___config.html#gf2c3c47d87fa67bfae5d5b8f64ea9bff"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gdf917ac19a1fbc1ae76bd3a5b6fb4d5e">snd_config_imake_integer64</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **config, const char *id, const long long value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an integer configuration node with the given initial value.  <a href="group___config.html#gdf917ac19a1fbc1ae76bd3a5b6fb4d5e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g3fb6f4ecf737da99bdfeb0ea9534dd63">snd_config_imake_real</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **config, const char *id, const double value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a real configuration node with the given initial value.  <a href="group___config.html#g3fb6f4ecf737da99bdfeb0ea9534dd63"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g79a839cebbc1615c17f2ff0651ff1593">snd_config_imake_string</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **config, const char *id, const char *value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a string configuration node with the given initial value.  <a href="group___config.html#g79a839cebbc1615c17f2ff0651ff1593"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g1d0447fa3d1e8fd93ec0c9505cd0fbb1">snd_config_imake_pointer</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **config, const char *id, const void *value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a pointer configuration node with the given initial value.  <a href="group___config.html#g1d0447fa3d1e8fd93ec0c9505cd0fbb1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g4907b7dbd13e5ed36b9c1b2698173d43">snd_config_set_integer</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, long value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the value of an integer configuration node.  <a href="group___config.html#g4907b7dbd13e5ed36b9c1b2698173d43"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gd0c736c9c107f24a5c822b62dde9fbed">snd_config_set_integer64</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, long long value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the value of an integer64 configuration node.  <a href="group___config.html#gd0c736c9c107f24a5c822b62dde9fbed"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g518fc7ff50e1e19c412e8616e1391ed3">snd_config_set_real</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, double value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the value of a real configuration node.  <a href="group___config.html#g518fc7ff50e1e19c412e8616e1391ed3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gda8fd5e334c27fff51a381dd8e6ca5dc">snd_config_set_string</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, const char *value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the value of a string configuration node.  <a href="group___config.html#gda8fd5e334c27fff51a381dd8e6ca5dc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ge75b05cb2fb8b038f262b2e628603733">snd_config_set_pointer</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, const void *value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the value of a pointer configuration node.  <a href="group___config.html#ge75b05cb2fb8b038f262b2e628603733"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g2b8f63af51ea8f21b187104d5324ce51">snd_config_set_ascii</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, const char *ascii)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the value of a configuration node.  <a href="group___config.html#g2b8f63af51ea8f21b187104d5324ce51"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g7df651f6e8b924c983af4e93604c2c2f">snd_config_get_integer</a> (const <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, long *ptr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the value of an integer configuration node.  <a href="group___config.html#g7df651f6e8b924c983af4e93604c2c2f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g672e2fa82b926205e528f74c6333e4c8">snd_config_get_integer64</a> (const <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, long long *ptr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the value of an integer64 configuration node.  <a href="group___config.html#g672e2fa82b926205e528f74c6333e4c8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g6f967e712bb455b7c6f05cc58ddae9c0">snd_config_get_real</a> (const <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, double *ptr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the value of a real configuration node.  <a href="group___config.html#g6f967e712bb455b7c6f05cc58ddae9c0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g4bc8e9de890accae0cac827920342922">snd_config_get_ireal</a> (const <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, double *ptr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the value of a real or integer configuration node.  <a href="group___config.html#g4bc8e9de890accae0cac827920342922"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g8c064893611fe6d0b79aa341b2e0c605">snd_config_get_string</a> (const <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, const char **ptr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the value of a string configuration node.  <a href="group___config.html#g8c064893611fe6d0b79aa341b2e0c605"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g46064461921b3b0639968a485989dfb5">snd_config_get_pointer</a> (const <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, const void **ptr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the value of a pointer configuration node.  <a href="group___config.html#g46064461921b3b0639968a485989dfb5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gec70a6219973233c2487d7172c318769">snd_config_get_ascii</a> (const <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, char **ascii)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the value of a configuration node as a string.  <a href="group___config.html#gec70a6219973233c2487d7172c318769"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g6aa6fa3bce82d35bb16fdf05d343d7d1">snd_config_test_id</a> (const <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, const char *id)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compares the id of a configuration node to a given string.  <a href="group___config.html#g6aa6fa3bce82d35bb16fdf05d343d7d1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g05dcdc7eaa2cc4c7ab0f72103f7a903f">snd_config_save</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, <a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> *out)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dumps the contents of a configuration node or tree.  <a href="group___config.html#g05dcdc7eaa2cc4c7ab0f72103f7a903f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g5967fe5576ae9ae019aeb9b0f08236fc">snd_config_search</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, const char *key, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **result)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches for a node in a configuration tree.  <a href="group___config.html#g5967fe5576ae9ae019aeb9b0f08236fc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#9d049c7500ee7e0c08dfb03003a7047a">snd_config_searcha</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *root, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, const char *key, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **result)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches for a node in a configuration tree, expanding aliases.  <a href="#9d049c7500ee7e0c08dfb03003a7047a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gfa4d93ea6e7a1f6384f910eaa1233a06">snd_config_searchv</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **result,...)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches for a node in a configuration tree.  <a href="group___config.html#gfa4d93ea6e7a1f6384f910eaa1233a06"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#41d6c1cd877ab6ba92665d376f45e05f">snd_config_searchva</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *root, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **result,...)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches for a node in a configuration tree, expanding aliases.  <a href="#41d6c1cd877ab6ba92665d376f45e05f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#5056b009460add008036cf53603aa2b9">snd_config_search_alias</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, const char *base, const char *key, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **result)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches for a node in a configuration tree, using an alias.  <a href="#5056b009460add008036cf53603aa2b9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#ee236a28db34251d7cdc990cc5b435a6">snd_config_search_hooks</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, const char *key, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **result)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches for a node in a configuration tree and expands hooks.  <a href="#ee236a28db34251d7cdc990cc5b435a6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#92f9920ebebb01fe070c56a6fdf6a04f">snd_config_searcha_hooks</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *root, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, const char *key, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **result)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches for a node in a configuration tree, expanding aliases and hooks.  <a href="#92f9920ebebb01fe070c56a6fdf6a04f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#58150a971ffe13bad655a696c9f2ca04">snd_config_searchva_hooks</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *root, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **result,...)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches for a node in a configuration tree, expanding aliases and hooks.  <a href="#58150a971ffe13bad655a696c9f2ca04"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#02567d369c3948f371995bc1de01f5e1">snd_config_search_alias_hooks</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, const char *base, const char *key, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **result)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches for a node in a configuration tree, using an alias and expanding hooks.  <a href="#02567d369c3948f371995bc1de01f5e1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#c6c2ee01bf0ea9b8f884da7b47d6c035">snd_config_hook_load</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *root, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **dst, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *private_data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads and parses the given configurations files.  <a href="#c6c2ee01bf0ea9b8f884da7b47d6c035"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#4591f18880a6ffc6d1ef398b5539d8ae">snd_config_hook_load_for_all_cards</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *root, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **dst, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *private_data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads and parses the given configurations files for each installed sound card.  <a href="#4591f18880a6ffc6d1ef398b5539d8ae"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gf04eda9c4290e0ca7ede9f0e6bd97309">snd_config_update_r</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **_top, <a class="el" href="group___config.html#g780abf6a2d06086e8069aa2b186cb906">snd_config_update_t</a> **_update, const char *cfgs)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Updates a configuration tree by rereading the configuration files (if needed).  <a href="group___config.html#gf04eda9c4290e0ca7ede9f0e6bd97309"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gb0d033dc9c10b9b3e692329d1a680c3d">snd_config_update</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Updates <a class="el" href="group___config.html#g755686d6fb9a58b671abcf61e6724b9b">snd_config</a> by rereading the global configuration files (if needed).  <a href="group___config.html#gb0d033dc9c10b9b3e692329d1a680c3d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gd4fa0eb48a90f9c083afeeaa42637654">snd_config_update_free</a> (<a class="el" href="group___config.html#g780abf6a2d06086e8069aa2b186cb906">snd_config_update_t</a> *update)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees a private update structure.  <a href="group___config.html#gd4fa0eb48a90f9c083afeeaa42637654"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gf5dbd99a2e3134df7ca536c9a70617b9">snd_config_update_free_global</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees the global configuration tree in <a class="el" href="group___config.html#g755686d6fb9a58b671abcf61e6724b9b">snd_config</a>.  <a href="group___config.html#gf5dbd99a2e3134df7ca536c9a70617b9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group___config.html#ged5eac13f37db13382430a4aab472d4f">snd_config_iterator_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gd34192f9c5b999bbedc459d1bb4a6fd9">snd_config_iterator_first</a> (const <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *node)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns an iterator pointing to the first child of a compound configuration node.  <a href="group___config.html#gd34192f9c5b999bbedc459d1bb4a6fd9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group___config.html#ged5eac13f37db13382430a4aab472d4f">snd_config_iterator_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g56fe9291280f6209e2b03e7685ef1af5">snd_config_iterator_next</a> (const <a class="el" href="group___config.html#ged5eac13f37db13382430a4aab472d4f">snd_config_iterator_t</a> iterator)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns an iterator pointing to the next sibling.  <a href="group___config.html#g56fe9291280f6209e2b03e7685ef1af5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group___config.html#ged5eac13f37db13382430a4aab472d4f">snd_config_iterator_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g7dddf5c33dd3d7adf3fc67ff045c8bf7">snd_config_iterator_end</a> (const <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *node)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns an iterator pointing past the last child of a compound configuration node.  <a href="group___config.html#g7dddf5c33dd3d7adf3fc67ff045c8bf7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g0ffcdab6b5f43391ca823d83a3d84f60">snd_config_iterator_entry</a> (const <a class="el" href="group___config.html#ged5eac13f37db13382430a4aab472d4f">snd_config_iterator_t</a> iterator)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the configuration node handle pointed to by an iterator.  <a href="group___config.html#g0ffcdab6b5f43391ca823d83a3d84f60"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g98a80e991a2f72ca0a47edc6c3a5de40">snd_config_copy</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **dst, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *src)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a copy of a configuration node.  <a href="group___config.html#g98a80e991a2f72ca0a47edc6c3a5de40"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gd854bd9c808636842259a22797ffdb9a">snd_config_evaluate</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *root, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *private_data, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **result)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evaluates a configuration node at runtime.  <a href="group___config.html#gd854bd9c808636842259a22797ffdb9a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g0fa2bd75cb2a6eb9f9120ecf0c9270b4">snd_config_expand</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *root, const char *args, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *private_data, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **result)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Expands a configuration node applying arguments and functions.  <a href="group___config.html#g0fa2bd75cb2a6eb9f9120ecf0c9270b4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g68105b1c22045f00a4aa77329f2ba0d8">snd_config_search_definition</a> (<a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *config, const char *base, const char *name, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **result)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches for a definition in a configuration tree, using aliases and expanding hooks and arguments.  <a href="group___config.html#g68105b1c22045f00a4aa77329f2ba0d8"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#g755686d6fb9a58b671abcf61e6724b9b">snd_config</a> = NULL</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Configuration helper functions. 
<p>
<dl compact><dt><b>Author:</b></dt><dd>Abramo Bagnara &lt;<a href="mailto:abramo@alsa-project.org">abramo@alsa-project.org</a>&gt; <p>
Jaroslav Kysela &lt;<a href="mailto:perex@perex.cz">perex@perex.cz</a>&gt; </dd></dl>
<dl compact><dt><b>Date:</b></dt><dd>2000-2001</dd></dl>
Tree based, full nesting configuration functions.<p>
See the <a class="el" href="conf.html">Configuration files</a> page for more details. <hr><h2>Define Documentation</h2>
<a class="anchor" name="9b5cc4ef0156a6e53d75d7c2844cc06b"></a><!-- doxytag: member="conf.c::ALSA_CONFIG_PATH_DEFAULT" ref="9b5cc4ef0156a6e53d75d7c2844cc06b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ALSA_CONFIG_PATH_DEFAULT&nbsp;&nbsp;&nbsp;ALSA_CONFIG_DIR &quot;/alsa.conf&quot;          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The name of the default files used by <a class="el" href="group___config.html#gb0d033dc9c10b9b3e692329d1a680c3d">snd_config_update</a>. 
</div>
</div><p>
<a class="anchor" name="43e91f8e9acbcc913a1f0dbdf613c536"></a><!-- doxytag: member="conf.c::ALSA_CONFIG_PATH_VAR" ref="43e91f8e9acbcc913a1f0dbdf613c536" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ALSA_CONFIG_PATH_VAR&nbsp;&nbsp;&nbsp;&quot;ALSA_CONFIG_PATH&quot;          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The name of the environment variable containing the files list for <a class="el" href="group___config.html#gb0d033dc9c10b9b3e692329d1a680c3d">snd_config_update</a>. 
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="8719f3b4015d5a11cd9c1743d06fd656"></a><!-- doxytag: member="conf.c::snd_config_get_type_ascii" ref="8719f3b4015d5a11cd9c1743d06fd656" args="(const char *ascii, snd_config_type_t *type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_config_get_type_ascii           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>ascii</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#gc42c013d7b46e861523546eaeb99c157">snd_config_type_t</a> *&nbsp;</td>
          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Converts an ASCII string to a configuration node type. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ascii</em>&nbsp;</td><td>A string containing a configuration node type. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The function puts the node type at the address specified by <code>type</code>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Zero if successgul, otherwise a negative error code. </dd></dl>

</div>
</div><p>
<a class="anchor" name="c6c2ee01bf0ea9b8f884da7b47d6c035"></a><!-- doxytag: member="conf.c::snd_config_hook_load" ref="c6c2ee01bf0ea9b8f884da7b47d6c035" args="(snd_config_t *root, snd_config_t *config, snd_config_t **dst, snd_config_t *private_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_config_hook_load           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **&nbsp;</td>
          <td class="paramname"> <em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>private_data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Loads and parses the given configurations files. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>Handle to the root configuration node. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>config</em>&nbsp;</td><td>Handle to the configuration node for this hook. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>The function puts the handle to the configuration node loaded from the file(s) at the address specified by <code>dst</code>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>private_data</em>&nbsp;</td><td>Handle to the private data configuration node. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Zero if successful, otherwise a negative error code. </dd></dl>

</div>
</div><p>
<a class="anchor" name="4591f18880a6ffc6d1ef398b5539d8ae"></a><!-- doxytag: member="conf.c::snd_config_hook_load_for_all_cards" ref="4591f18880a6ffc6d1ef398b5539d8ae" args="(snd_config_t *root, snd_config_t *config, snd_config_t **dst, snd_config_t *private_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_config_hook_load_for_all_cards           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **&nbsp;</td>
          <td class="paramname"> <em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>private_data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Loads and parses the given configurations files for each installed sound card. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>Handle to the root configuration node. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>config</em>&nbsp;</td><td>Handle to the configuration node for this hook. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>The function puts the handle to the configuration node loaded from the file(s) at the address specified by <code>dst</code>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>private_data</em>&nbsp;</td><td>Handle to the private data configuration node. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Zero if successful, otherwise a negative error code. </dd></dl>

</div>
</div><p>
<a class="anchor" name="7235dcad0aac6f4a1b933a02725016bc"></a><!-- doxytag: member="conf.c::snd_config_remove" ref="7235dcad0aac6f4a1b933a02725016bc" args="(snd_config_t *config)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_config_remove           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>config</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Removes a configuration node from its tree. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>config</em>&nbsp;</td><td>Handle to the configuration node to be removed. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Zero if successful, otherwise a negative error code.</dd></dl>
This functions does <em>not</em> delete the removed node. 
</div>
</div><p>
<a class="anchor" name="5056b009460add008036cf53603aa2b9"></a><!-- doxytag: member="conf.c::snd_config_search_alias" ref="5056b009460add008036cf53603aa2b9" args="(snd_config_t *config, const char *base, const char *key, snd_config_t **result)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_config_search_alias           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **&nbsp;</td>
          <td class="paramname"> <em>result</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Searches for a node in a configuration tree, using an alias. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>config</em>&nbsp;</td><td>Handle to the root of the configuration (sub)tree to search. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>base</em>&nbsp;</td><td>Search key base, or <code>NULL</code>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>Search key suffix. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>The function puts the handle to the node found at the address specified by <code>result</code>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Zero if successful, otherwise a negative error code.</dd></dl>
First <code>key</code> is tried, then, if nothing is found, <code>base.key</code> is tried. If the value found is a string, this is recursively tried in the same way. 
</div>
</div><p>
<a class="anchor" name="02567d369c3948f371995bc1de01f5e1"></a><!-- doxytag: member="conf.c::snd_config_search_alias_hooks" ref="02567d369c3948f371995bc1de01f5e1" args="(snd_config_t *config, const char *base, const char *key, snd_config_t **result)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_config_search_alias_hooks           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **&nbsp;</td>
          <td class="paramname"> <em>result</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Searches for a node in a configuration tree, using an alias and expanding hooks. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>config</em>&nbsp;</td><td>Handle to the root of the configuration (sub)tree to search. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>base</em>&nbsp;</td><td>Search key base, or <code>NULL</code>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>Search key suffix. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>The function puts the handle to the node found at the address specified by <code>result</code>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Zero if successful, otherwise a negative error code.</dd></dl>
First <code>key</code> is tried, then, if nothing is found, <code>base.key</code> is tried. If the value found is a string, this is recursively tried in the same way. 
</div>
</div><p>
<a class="anchor" name="ee236a28db34251d7cdc990cc5b435a6"></a><!-- doxytag: member="conf.c::snd_config_search_hooks" ref="ee236a28db34251d7cdc990cc5b435a6" args="(snd_config_t *config, const char *key, snd_config_t **result)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_config_search_hooks           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **&nbsp;</td>
          <td class="paramname"> <em>result</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Searches for a node in a configuration tree and expands hooks. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>config</em>&nbsp;</td><td>Handle to the root of the configuration (sub)tree to search. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>Search key: one or more node keys, separated with dots. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>The function puts the handle to the node found at the address specified by <code>result</code>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Zero if successful, otherwise a negative error code. </dd></dl>

</div>
</div><p>
<a class="anchor" name="9d049c7500ee7e0c08dfb03003a7047a"></a><!-- doxytag: member="conf.c::snd_config_searcha" ref="9d049c7500ee7e0c08dfb03003a7047a" args="(snd_config_t *root, snd_config_t *config, const char *key, snd_config_t **result)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_config_searcha           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **&nbsp;</td>
          <td class="paramname"> <em>result</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Searches for a node in a configuration tree, expanding aliases. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>Handle to the root configuration node containing alias definitions. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>config</em>&nbsp;</td><td>Handle to the root of the configuration (sub)tree to search. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>Search key: one or more node keys, separated with dots. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>The function puts the handle to the node found at the address specified by <code>result</code>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Zero if successful, otherwise a negative error code. </dd></dl>

</div>
</div><p>
<a class="anchor" name="92f9920ebebb01fe070c56a6fdf6a04f"></a><!-- doxytag: member="conf.c::snd_config_searcha_hooks" ref="92f9920ebebb01fe070c56a6fdf6a04f" args="(snd_config_t *root, snd_config_t *config, const char *key, snd_config_t **result)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_config_searcha_hooks           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **&nbsp;</td>
          <td class="paramname"> <em>result</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Searches for a node in a configuration tree, expanding aliases and hooks. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>Handle to the root configuration node containing alias definitions. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>config</em>&nbsp;</td><td>Handle to the root of the configuration (sub)tree to search. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>Search key: one or more node keys, separated with dots. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>The function puts the handle to the node found at the address specified by <code>result</code>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Zero if successful, otherwise a negative error code. </dd></dl>

</div>
</div><p>
<a class="anchor" name="41d6c1cd877ab6ba92665d376f45e05f"></a><!-- doxytag: member="conf.c::snd_config_searchva" ref="41d6c1cd877ab6ba92665d376f45e05f" args="(snd_config_t *root, snd_config_t *config, snd_config_t **result,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_config_searchva           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **&nbsp;</td>
          <td class="paramname"> <em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Searches for a node in a configuration tree, expanding aliases. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>Handle to the root configuration node containing alias definitions. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>config</em>&nbsp;</td><td>Handle to the root of the configuration (sub)tree to search. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>The function puts the handle to the node found at the address specified by <code>result</code>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>One or more concatenated dot separated search keys, terminated with <code>NULL</code>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Zero if successful, otherwise a negative error code. </dd></dl>

</div>
</div><p>
<a class="anchor" name="58150a971ffe13bad655a696c9f2ca04"></a><!-- doxytag: member="conf.c::snd_config_searchva_hooks" ref="58150a971ffe13bad655a696c9f2ca04" args="(snd_config_t *root, snd_config_t *config, snd_config_t **result,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_config_searchva_hooks           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> **&nbsp;</td>
          <td class="paramname"> <em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Searches for a node in a configuration tree, expanding aliases and hooks. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>root</em>&nbsp;</td><td>Handle to the root configuration node containing alias definitions. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>config</em>&nbsp;</td><td>Handle to the root of the configuration (sub)tree to search. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>The function puts the handle to the node found at the address specified by <code>result</code>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>One or more concatenated dot separated search keys, terminated with <code>NULL</code>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Zero if successful, otherwise a negative error code. </dd></dl>

</div>
</div><p>
<a class="anchor" name="ad6ca8de335e28e54c0410ebcd10c26d"></a><!-- doxytag: member="conf.c::snd_config_substitute" ref="ad6ca8de335e28e54c0410ebcd10c26d" args="(snd_config_t *dst, snd_config_t *src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_config_substitute           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>src</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Substitutes one configuration node to another. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>Handle to the destination node. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>Handle to the source node. Must not be the same as <code>dst</code>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Zero if successful, otherwise a negative error code.</dd></dl>
If both nodes are compounds, the source compound node members are appended to the destination compound node.<p>
If the destination node is a compound and the source node is an ordinary type, the compound members are deleted (including their contents).<p>
A successful call to this function invalidates the source node. 
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Tue Jan 20 22:42:10 2009 for ALSA project - the C library reference by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>