<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.7"/> <title>ALSA project - the C library reference: /home/iurt/rpmbuild/BUILD/alsa-lib-1.0.28/src/conf.c File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <script type="text/javascript"> $(document).ready(function() { searchBox.OnSelectItem(0); }); </script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">ALSA project - the C library reference </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.7 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Pages</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#define-members">Macros</a> | <a href="#func-members">Functions</a> | <a href="#var-members">Variables</a> </div> <div class="headertitle"> <div class="title">conf.c File Reference</div> </div> </div><!--header--> <div class="contents"> <p>Configuration helper functions. <a href="#details">More...</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:a8b857484628b5b4cbd2ac60503d4f80e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#a8b857484628b5b4cbd2ac60503d4f80e">ALSA_CONFIG_PATH_VAR</a>   "ALSA_CONFIG_PATH"</td></tr> <tr class="separator:a8b857484628b5b4cbd2ac60503d4f80e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa7ae5d3b32a1ec3a9aa0456a5a2f9091"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#aa7ae5d3b32a1ec3a9aa0456a5a2f9091">ALSA_CONFIG_PATH_DEFAULT</a>   ALSA_CONFIG_DIR "/alsa.conf"</td></tr> <tr class="separator:aa7ae5d3b32a1ec3a9aa0456a5a2f9091"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a0c4acd2de7999ad6e477d398662485c2"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#a0c4acd2de7999ad6e477d398662485c2">snd_config_substitute</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *dst, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *src)</td></tr> <tr class="memdesc:a0c4acd2de7999ad6e477d398662485c2"><td class="mdescLeft"> </td><td class="mdescRight">Substitutes one configuration node to another. <a href="#a0c4acd2de7999ad6e477d398662485c2">More...</a><br /></td></tr> <tr class="separator:a0c4acd2de7999ad6e477d398662485c2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a281182963641e7cd5975f56faad6ff14"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#a281182963641e7cd5975f56faad6ff14">snd_config_get_type_ascii</a> (const char *ascii, <a class="el" href="group___config.html#gaa41083e55d19c7755c5d624030e06887">snd_config_type_t</a> *type)</td></tr> <tr class="memdesc:a281182963641e7cd5975f56faad6ff14"><td class="mdescLeft"> </td><td class="mdescRight">Converts an ASCII string to a configuration node type. <a href="#a281182963641e7cd5975f56faad6ff14">More...</a><br /></td></tr> <tr class="separator:a281182963641e7cd5975f56faad6ff14"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga6def4c43ce325abaa3ddfba5a4f4d138"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___config.html#gaa41083e55d19c7755c5d624030e06887">snd_config_type_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga6def4c43ce325abaa3ddfba5a4f4d138">snd_config_get_type</a> (const <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config)</td></tr> <tr class="memdesc:ga6def4c43ce325abaa3ddfba5a4f4d138"><td class="mdescLeft"> </td><td class="mdescRight">Returns the type of a configuration node. <a href="group___config.html#ga6def4c43ce325abaa3ddfba5a4f4d138">More...</a><br /></td></tr> <tr class="separator:ga6def4c43ce325abaa3ddfba5a4f4d138"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae366751e8ea98aeb69f9ef876f7b949c"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gae366751e8ea98aeb69f9ef876f7b949c">snd_config_get_id</a> (const <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, const char **id)</td></tr> <tr class="memdesc:gae366751e8ea98aeb69f9ef876f7b949c"><td class="mdescLeft"> </td><td class="mdescRight">Returns the id of a configuration node. <a href="group___config.html#gae366751e8ea98aeb69f9ef876f7b949c">More...</a><br /></td></tr> <tr class="separator:gae366751e8ea98aeb69f9ef876f7b949c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga550948931d44695b6d8e8f148f87cb54"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga550948931d44695b6d8e8f148f87cb54">snd_config_set_id</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, const char *id)</td></tr> <tr class="memdesc:ga550948931d44695b6d8e8f148f87cb54"><td class="mdescLeft"> </td><td class="mdescRight">Sets the id of a configuration node. <a href="group___config.html#ga550948931d44695b6d8e8f148f87cb54">More...</a><br /></td></tr> <tr class="separator:ga550948931d44695b6d8e8f148f87cb54"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf563d57ea9d576a94578368a3d2382c3"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gaf563d57ea9d576a94578368a3d2382c3">snd_config_top</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **config)</td></tr> <tr class="memdesc:gaf563d57ea9d576a94578368a3d2382c3"><td class="mdescLeft"> </td><td class="mdescRight">Creates a top level configuration node. <a href="group___config.html#gaf563d57ea9d576a94578368a3d2382c3">More...</a><br /></td></tr> <tr class="separator:gaf563d57ea9d576a94578368a3d2382c3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga51f79d1f24a519e126415c72210525b0"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga51f79d1f24a519e126415c72210525b0">snd_config_load</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, <a class="el" href="group___input.html#ga39165553a2907c5a27f325e3ce4e8301">snd_input_t</a> *in)</td></tr> <tr class="memdesc:ga51f79d1f24a519e126415c72210525b0"><td class="mdescLeft"> </td><td class="mdescRight">Loads a configuration tree. <a href="group___config.html#ga51f79d1f24a519e126415c72210525b0">More...</a><br /></td></tr> <tr class="separator:ga51f79d1f24a519e126415c72210525b0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga27334922bab8391aa2ef1813f48f4d70"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga27334922bab8391aa2ef1813f48f4d70">snd_config_load_override</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, <a class="el" href="group___input.html#ga39165553a2907c5a27f325e3ce4e8301">snd_input_t</a> *in)</td></tr> <tr class="memdesc:ga27334922bab8391aa2ef1813f48f4d70"><td class="mdescLeft"> </td><td class="mdescRight">Loads a configuration tree and overrides existing configuration nodes. <a href="group___config.html#ga27334922bab8391aa2ef1813f48f4d70">More...</a><br /></td></tr> <tr class="separator:ga27334922bab8391aa2ef1813f48f4d70"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf62dd825828c05f1d63a62eee7046080"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gaf62dd825828c05f1d63a62eee7046080">snd_config_add</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *parent, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *child)</td></tr> <tr class="memdesc:gaf62dd825828c05f1d63a62eee7046080"><td class="mdescLeft"> </td><td class="mdescRight">Adds a child to a compound configuration node. <a href="group___config.html#gaf62dd825828c05f1d63a62eee7046080">More...</a><br /></td></tr> <tr class="separator:gaf62dd825828c05f1d63a62eee7046080"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad4d69b003662e09e8206a7892e849d27"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#ad4d69b003662e09e8206a7892e849d27">snd_config_remove</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config)</td></tr> <tr class="memdesc:ad4d69b003662e09e8206a7892e849d27"><td class="mdescLeft"> </td><td class="mdescRight">Removes a configuration node from its tree. <a href="#ad4d69b003662e09e8206a7892e849d27">More...</a><br /></td></tr> <tr class="separator:ad4d69b003662e09e8206a7892e849d27"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2a006b942faa3335a958a7df7bcea17e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga2a006b942faa3335a958a7df7bcea17e">snd_config_delete</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config)</td></tr> <tr class="memdesc:ga2a006b942faa3335a958a7df7bcea17e"><td class="mdescLeft"> </td><td class="mdescRight">Frees a configuration node. <a href="group___config.html#ga2a006b942faa3335a958a7df7bcea17e">More...</a><br /></td></tr> <tr class="separator:ga2a006b942faa3335a958a7df7bcea17e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaec120883e56ecb510e064151e0b11d51"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gaec120883e56ecb510e064151e0b11d51">snd_config_delete_compound_members</a> (const <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config)</td></tr> <tr class="memdesc:gaec120883e56ecb510e064151e0b11d51"><td class="mdescLeft"> </td><td class="mdescRight">Deletes the children of a node. <a href="group___config.html#gaec120883e56ecb510e064151e0b11d51">More...</a><br /></td></tr> <tr class="separator:gaec120883e56ecb510e064151e0b11d51"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac570ecbaba611ccc12bc235a1f4d0181"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gac570ecbaba611ccc12bc235a1f4d0181">snd_config_make</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **config, const char *id, <a class="el" href="group___config.html#gaa41083e55d19c7755c5d624030e06887">snd_config_type_t</a> type)</td></tr> <tr class="memdesc:gac570ecbaba611ccc12bc235a1f4d0181"><td class="mdescLeft"> </td><td class="mdescRight">Creates a configuration node. <a href="group___config.html#gac570ecbaba611ccc12bc235a1f4d0181">More...</a><br /></td></tr> <tr class="separator:gac570ecbaba611ccc12bc235a1f4d0181"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga838fac581e115574acc3711cad9f5877"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga838fac581e115574acc3711cad9f5877">snd_config_make_integer</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **config, const char *id)</td></tr> <tr class="memdesc:ga838fac581e115574acc3711cad9f5877"><td class="mdescLeft"> </td><td class="mdescRight">Creates an integer configuration node. <a href="group___config.html#ga838fac581e115574acc3711cad9f5877">More...</a><br /></td></tr> <tr class="separator:ga838fac581e115574acc3711cad9f5877"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2c27175c162fe5027e3f1b3d5420afbb"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga2c27175c162fe5027e3f1b3d5420afbb">snd_config_make_integer64</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **config, const char *id)</td></tr> <tr class="memdesc:ga2c27175c162fe5027e3f1b3d5420afbb"><td class="mdescLeft"> </td><td class="mdescRight">Creates a 64-bit-integer configuration node. <a href="group___config.html#ga2c27175c162fe5027e3f1b3d5420afbb">More...</a><br /></td></tr> <tr class="separator:ga2c27175c162fe5027e3f1b3d5420afbb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga8f175813bfc2556bd08fd580f05d36e6"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga8f175813bfc2556bd08fd580f05d36e6">snd_config_make_real</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **config, const char *id)</td></tr> <tr class="memdesc:ga8f175813bfc2556bd08fd580f05d36e6"><td class="mdescLeft"> </td><td class="mdescRight">Creates a real number configuration node. <a href="group___config.html#ga8f175813bfc2556bd08fd580f05d36e6">More...</a><br /></td></tr> <tr class="separator:ga8f175813bfc2556bd08fd580f05d36e6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga6764115f489629be027b434c4e323cff"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga6764115f489629be027b434c4e323cff">snd_config_make_string</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **config, const char *id)</td></tr> <tr class="memdesc:ga6764115f489629be027b434c4e323cff"><td class="mdescLeft"> </td><td class="mdescRight">Creates a string configuration node. <a href="group___config.html#ga6764115f489629be027b434c4e323cff">More...</a><br /></td></tr> <tr class="separator:ga6764115f489629be027b434c4e323cff"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gadbcce71d8d3a78709fc2a78d6f543584"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gadbcce71d8d3a78709fc2a78d6f543584">snd_config_make_pointer</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **config, const char *id)</td></tr> <tr class="memdesc:gadbcce71d8d3a78709fc2a78d6f543584"><td class="mdescLeft"> </td><td class="mdescRight">Creates a pointer configuration node. <a href="group___config.html#gadbcce71d8d3a78709fc2a78d6f543584">More...</a><br /></td></tr> <tr class="separator:gadbcce71d8d3a78709fc2a78d6f543584"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2ce24133c1d6828e2afe366284c61e01"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga2ce24133c1d6828e2afe366284c61e01">snd_config_make_compound</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **config, const char *id, int join)</td></tr> <tr class="memdesc:ga2ce24133c1d6828e2afe366284c61e01"><td class="mdescLeft"> </td><td class="mdescRight">Creates an empty compound configuration node. <a href="group___config.html#ga2ce24133c1d6828e2afe366284c61e01">More...</a><br /></td></tr> <tr class="separator:ga2ce24133c1d6828e2afe366284c61e01"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gafeb0552cbed09a3badbb5e74c7a7973d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gafeb0552cbed09a3badbb5e74c7a7973d">snd_config_imake_integer</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **config, const char *id, const long value)</td></tr> <tr class="memdesc:gafeb0552cbed09a3badbb5e74c7a7973d"><td class="mdescLeft"> </td><td class="mdescRight">Creates an integer configuration node with the given initial value. <a href="group___config.html#gafeb0552cbed09a3badbb5e74c7a7973d">More...</a><br /></td></tr> <tr class="separator:gafeb0552cbed09a3badbb5e74c7a7973d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga04cfbfda89dc17c19a5a4076271a4d07"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga04cfbfda89dc17c19a5a4076271a4d07">snd_config_imake_integer64</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **config, const char *id, const long long value)</td></tr> <tr class="memdesc:ga04cfbfda89dc17c19a5a4076271a4d07"><td class="mdescLeft"> </td><td class="mdescRight">Creates a 64-bit-integer configuration node with the given initial value. <a href="group___config.html#ga04cfbfda89dc17c19a5a4076271a4d07">More...</a><br /></td></tr> <tr class="separator:ga04cfbfda89dc17c19a5a4076271a4d07"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga968e5bb773dfea922b5272636b26e9c2"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga968e5bb773dfea922b5272636b26e9c2">snd_config_imake_real</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **config, const char *id, const double value)</td></tr> <tr class="memdesc:ga968e5bb773dfea922b5272636b26e9c2"><td class="mdescLeft"> </td><td class="mdescRight">Creates a real number configuration node with the given initial value. <a href="group___config.html#ga968e5bb773dfea922b5272636b26e9c2">More...</a><br /></td></tr> <tr class="separator:ga968e5bb773dfea922b5272636b26e9c2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa83035f79027a464bf9d5d31e0a20547"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gaa83035f79027a464bf9d5d31e0a20547">snd_config_imake_string</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **config, const char *id, const char *value)</td></tr> <tr class="memdesc:gaa83035f79027a464bf9d5d31e0a20547"><td class="mdescLeft"> </td><td class="mdescRight">Creates a string configuration node with the given initial value. <a href="group___config.html#gaa83035f79027a464bf9d5d31e0a20547">More...</a><br /></td></tr> <tr class="separator:gaa83035f79027a464bf9d5d31e0a20547"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac7c6ce28a676169fff594aa4222705b2"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gac7c6ce28a676169fff594aa4222705b2">snd_config_imake_pointer</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **config, const char *id, const void *value)</td></tr> <tr class="memdesc:gac7c6ce28a676169fff594aa4222705b2"><td class="mdescLeft"> </td><td class="mdescRight">Creates a pointer configuration node with the given initial value. <a href="group___config.html#gac7c6ce28a676169fff594aa4222705b2">More...</a><br /></td></tr> <tr class="separator:gac7c6ce28a676169fff594aa4222705b2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga6fd3be48221cae9cee9c7245a0804d73"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga6fd3be48221cae9cee9c7245a0804d73">snd_config_set_integer</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, long value)</td></tr> <tr class="memdesc:ga6fd3be48221cae9cee9c7245a0804d73"><td class="mdescLeft"> </td><td class="mdescRight">Changes the value of an integer configuration node. <a href="group___config.html#ga6fd3be48221cae9cee9c7245a0804d73">More...</a><br /></td></tr> <tr class="separator:ga6fd3be48221cae9cee9c7245a0804d73"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gafdb63c78c07e11194a28d591b0fbffc4"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gafdb63c78c07e11194a28d591b0fbffc4">snd_config_set_integer64</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, long long value)</td></tr> <tr class="memdesc:gafdb63c78c07e11194a28d591b0fbffc4"><td class="mdescLeft"> </td><td class="mdescRight">Changes the value of a 64-bit-integer configuration node. <a href="group___config.html#gafdb63c78c07e11194a28d591b0fbffc4">More...</a><br /></td></tr> <tr class="separator:gafdb63c78c07e11194a28d591b0fbffc4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga46c71d5d36c64f0a06ceae956a39fedc"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga46c71d5d36c64f0a06ceae956a39fedc">snd_config_set_real</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, double value)</td></tr> <tr class="memdesc:ga46c71d5d36c64f0a06ceae956a39fedc"><td class="mdescLeft"> </td><td class="mdescRight">Changes the value of a real-number configuration node. <a href="group___config.html#ga46c71d5d36c64f0a06ceae956a39fedc">More...</a><br /></td></tr> <tr class="separator:ga46c71d5d36c64f0a06ceae956a39fedc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0f76f8ad47dce7f90580c8d59c6e44f8"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga0f76f8ad47dce7f90580c8d59c6e44f8">snd_config_set_string</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, const char *value)</td></tr> <tr class="memdesc:ga0f76f8ad47dce7f90580c8d59c6e44f8"><td class="mdescLeft"> </td><td class="mdescRight">Changes the value of a string configuration node. <a href="group___config.html#ga0f76f8ad47dce7f90580c8d59c6e44f8">More...</a><br /></td></tr> <tr class="separator:ga0f76f8ad47dce7f90580c8d59c6e44f8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga037c3bf96326bb6f5dfd340475b34fbf"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga037c3bf96326bb6f5dfd340475b34fbf">snd_config_set_pointer</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, const void *value)</td></tr> <tr class="memdesc:ga037c3bf96326bb6f5dfd340475b34fbf"><td class="mdescLeft"> </td><td class="mdescRight">Changes the value of a pointer configuration node. <a href="group___config.html#ga037c3bf96326bb6f5dfd340475b34fbf">More...</a><br /></td></tr> <tr class="separator:ga037c3bf96326bb6f5dfd340475b34fbf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac1810a11f576fe339074502f4fed4a91"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gac1810a11f576fe339074502f4fed4a91">snd_config_set_ascii</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, const char *ascii)</td></tr> <tr class="memdesc:gac1810a11f576fe339074502f4fed4a91"><td class="mdescLeft"> </td><td class="mdescRight">Changes the value of a configuration node. <a href="group___config.html#gac1810a11f576fe339074502f4fed4a91">More...</a><br /></td></tr> <tr class="separator:gac1810a11f576fe339074502f4fed4a91"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gabfbc36060fd4f5d1d929938443f95559"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gabfbc36060fd4f5d1d929938443f95559">snd_config_get_integer</a> (const <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, long *<a class="el" href="seq__event_8h.html#add9af9569af79ec26dd741fb226b38ba">ptr</a>)</td></tr> <tr class="memdesc:gabfbc36060fd4f5d1d929938443f95559"><td class="mdescLeft"> </td><td class="mdescRight">Returns the value of an integer configuration node. <a href="group___config.html#gabfbc36060fd4f5d1d929938443f95559">More...</a><br /></td></tr> <tr class="separator:gabfbc36060fd4f5d1d929938443f95559"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf4d9e68918f7d49d7b4b14ffbe94afc1"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gaf4d9e68918f7d49d7b4b14ffbe94afc1">snd_config_get_integer64</a> (const <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, long long *<a class="el" href="seq__event_8h.html#add9af9569af79ec26dd741fb226b38ba">ptr</a>)</td></tr> <tr class="memdesc:gaf4d9e68918f7d49d7b4b14ffbe94afc1"><td class="mdescLeft"> </td><td class="mdescRight">Returns the value of a 64-bit-integer configuration node. <a href="group___config.html#gaf4d9e68918f7d49d7b4b14ffbe94afc1">More...</a><br /></td></tr> <tr class="separator:gaf4d9e68918f7d49d7b4b14ffbe94afc1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad4d23c0bf941527d80aeb6f991bf88c9"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gad4d23c0bf941527d80aeb6f991bf88c9">snd_config_get_real</a> (const <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, double *<a class="el" href="seq__event_8h.html#add9af9569af79ec26dd741fb226b38ba">ptr</a>)</td></tr> <tr class="memdesc:gad4d23c0bf941527d80aeb6f991bf88c9"><td class="mdescLeft"> </td><td class="mdescRight">Returns the value of a real-number configuration node. <a href="group___config.html#gad4d23c0bf941527d80aeb6f991bf88c9">More...</a><br /></td></tr> <tr class="separator:gad4d23c0bf941527d80aeb6f991bf88c9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga79738baffa6fa7722b1027ab84ac61bb"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga79738baffa6fa7722b1027ab84ac61bb">snd_config_get_ireal</a> (const <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, double *<a class="el" href="seq__event_8h.html#add9af9569af79ec26dd741fb226b38ba">ptr</a>)</td></tr> <tr class="memdesc:ga79738baffa6fa7722b1027ab84ac61bb"><td class="mdescLeft"> </td><td class="mdescRight">Returns the value of a real or integer configuration node. <a href="group___config.html#ga79738baffa6fa7722b1027ab84ac61bb">More...</a><br /></td></tr> <tr class="separator:ga79738baffa6fa7722b1027ab84ac61bb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5ab99983d1d93ddbcde9bb69a1e4f9fb"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga5ab99983d1d93ddbcde9bb69a1e4f9fb">snd_config_get_string</a> (const <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, const char **<a class="el" href="seq__event_8h.html#add9af9569af79ec26dd741fb226b38ba">ptr</a>)</td></tr> <tr class="memdesc:ga5ab99983d1d93ddbcde9bb69a1e4f9fb"><td class="mdescLeft"> </td><td class="mdescRight">Returns the value of a string configuration node. <a href="group___config.html#ga5ab99983d1d93ddbcde9bb69a1e4f9fb">More...</a><br /></td></tr> <tr class="separator:ga5ab99983d1d93ddbcde9bb69a1e4f9fb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga54868e0fa30458ef1c259772a8e7c6d7"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga54868e0fa30458ef1c259772a8e7c6d7">snd_config_get_pointer</a> (const <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, const void **<a class="el" href="seq__event_8h.html#add9af9569af79ec26dd741fb226b38ba">ptr</a>)</td></tr> <tr class="memdesc:ga54868e0fa30458ef1c259772a8e7c6d7"><td class="mdescLeft"> </td><td class="mdescRight">Returns the value of a pointer configuration node. <a href="group___config.html#ga54868e0fa30458ef1c259772a8e7c6d7">More...</a><br /></td></tr> <tr class="separator:ga54868e0fa30458ef1c259772a8e7c6d7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa26f97e098a0dd2cd5e28299b6b6c132"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gaa26f97e098a0dd2cd5e28299b6b6c132">snd_config_get_ascii</a> (const <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, char **ascii)</td></tr> <tr class="memdesc:gaa26f97e098a0dd2cd5e28299b6b6c132"><td class="mdescLeft"> </td><td class="mdescRight">Returns the value of a configuration node as a string. <a href="group___config.html#gaa26f97e098a0dd2cd5e28299b6b6c132">More...</a><br /></td></tr> <tr class="separator:gaa26f97e098a0dd2cd5e28299b6b6c132"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaeec157fd161a138e402c9bd243bbd408"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gaeec157fd161a138e402c9bd243bbd408">snd_config_test_id</a> (const <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, const char *id)</td></tr> <tr class="memdesc:gaeec157fd161a138e402c9bd243bbd408"><td class="mdescLeft"> </td><td class="mdescRight">Compares the id of a configuration node to a given string. <a href="group___config.html#gaeec157fd161a138e402c9bd243bbd408">More...</a><br /></td></tr> <tr class="separator:gaeec157fd161a138e402c9bd243bbd408"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gafac08a29a1e04b03a22028a8c70f78bd"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gafac08a29a1e04b03a22028a8c70f78bd">snd_config_save</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, <a class="el" href="group___output.html#ga49729cc6454539495c1f5b6e95cd474a">snd_output_t</a> *out)</td></tr> <tr class="memdesc:gafac08a29a1e04b03a22028a8c70f78bd"><td class="mdescLeft"> </td><td class="mdescRight">Dumps the contents of a configuration node or tree. <a href="group___config.html#gafac08a29a1e04b03a22028a8c70f78bd">More...</a><br /></td></tr> <tr class="separator:gafac08a29a1e04b03a22028a8c70f78bd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gabafb8cac2181c4c1e34b99f54421d1c6"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gabafb8cac2181c4c1e34b99f54421d1c6">snd_config_search</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, const char *key, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **result)</td></tr> <tr class="memdesc:gabafb8cac2181c4c1e34b99f54421d1c6"><td class="mdescLeft"> </td><td class="mdescRight">Searches for a node in a configuration tree. <a href="group___config.html#gabafb8cac2181c4c1e34b99f54421d1c6">More...</a><br /></td></tr> <tr class="separator:gabafb8cac2181c4c1e34b99f54421d1c6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af0f5cf4dde9399e3aadc53b4ab1d5059"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#af0f5cf4dde9399e3aadc53b4ab1d5059">snd_config_searcha</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *root, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, const char *key, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **result)</td></tr> <tr class="memdesc:af0f5cf4dde9399e3aadc53b4ab1d5059"><td class="mdescLeft"> </td><td class="mdescRight">Searches for a node in a configuration tree, expanding aliases. <a href="#af0f5cf4dde9399e3aadc53b4ab1d5059">More...</a><br /></td></tr> <tr class="separator:af0f5cf4dde9399e3aadc53b4ab1d5059"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga7b2f5723e44a1b69f2a8555d469803d1"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga7b2f5723e44a1b69f2a8555d469803d1">snd_config_searchv</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **result,...)</td></tr> <tr class="memdesc:ga7b2f5723e44a1b69f2a8555d469803d1"><td class="mdescLeft"> </td><td class="mdescRight">Searches for a node in a configuration tree. <a href="group___config.html#ga7b2f5723e44a1b69f2a8555d469803d1">More...</a><br /></td></tr> <tr class="separator:ga7b2f5723e44a1b69f2a8555d469803d1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a11646339b1555e9a36a3da3327a0bd6a"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#a11646339b1555e9a36a3da3327a0bd6a">snd_config_searchva</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *root, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **result,...)</td></tr> <tr class="memdesc:a11646339b1555e9a36a3da3327a0bd6a"><td class="mdescLeft"> </td><td class="mdescRight">Searches for a node in a configuration tree, expanding aliases. <a href="#a11646339b1555e9a36a3da3327a0bd6a">More...</a><br /></td></tr> <tr class="separator:a11646339b1555e9a36a3da3327a0bd6a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a95836105fb9cdb3ff6fb674d3a297fdb"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#a95836105fb9cdb3ff6fb674d3a297fdb">snd_config_search_alias</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, const char *base, const char *key, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **result)</td></tr> <tr class="memdesc:a95836105fb9cdb3ff6fb674d3a297fdb"><td class="mdescLeft"> </td><td class="mdescRight">Searches for a node in a configuration tree, expanding aliases. <a href="#a95836105fb9cdb3ff6fb674d3a297fdb">More...</a><br /></td></tr> <tr class="separator:a95836105fb9cdb3ff6fb674d3a297fdb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad6a8a7b3b67b8f755ab60073bec5fd48"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#ad6a8a7b3b67b8f755ab60073bec5fd48">snd_config_search_hooks</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, const char *key, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **result)</td></tr> <tr class="memdesc:ad6a8a7b3b67b8f755ab60073bec5fd48"><td class="mdescLeft"> </td><td class="mdescRight">Searches for a node in a configuration tree and expands hooks. <a href="#ad6a8a7b3b67b8f755ab60073bec5fd48">More...</a><br /></td></tr> <tr class="separator:ad6a8a7b3b67b8f755ab60073bec5fd48"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a28f17e8e4133a46c4d366d1e234df974"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#a28f17e8e4133a46c4d366d1e234df974">snd_config_searcha_hooks</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *root, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, const char *key, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **result)</td></tr> <tr class="memdesc:a28f17e8e4133a46c4d366d1e234df974"><td class="mdescLeft"> </td><td class="mdescRight">Searches for a node in a configuration tree, expanding aliases and hooks. <a href="#a28f17e8e4133a46c4d366d1e234df974">More...</a><br /></td></tr> <tr class="separator:a28f17e8e4133a46c4d366d1e234df974"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a017faa0f6768a9481989b4f38d4514b1"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#a017faa0f6768a9481989b4f38d4514b1">snd_config_searchva_hooks</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *root, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **result,...)</td></tr> <tr class="memdesc:a017faa0f6768a9481989b4f38d4514b1"><td class="mdescLeft"> </td><td class="mdescRight">Searches for a node in a configuration tree, expanding aliases and hooks. <a href="#a017faa0f6768a9481989b4f38d4514b1">More...</a><br /></td></tr> <tr class="separator:a017faa0f6768a9481989b4f38d4514b1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1f86a23e559213fb07097637feeac70f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#a1f86a23e559213fb07097637feeac70f">snd_config_search_alias_hooks</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, const char *base, const char *key, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **result)</td></tr> <tr class="memdesc:a1f86a23e559213fb07097637feeac70f"><td class="mdescLeft"> </td><td class="mdescRight">Searches for a node in a configuration tree, using an alias and expanding hooks. <a href="#a1f86a23e559213fb07097637feeac70f">More...</a><br /></td></tr> <tr class="separator:a1f86a23e559213fb07097637feeac70f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4008d77ad63047366463350b7726a5ec"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#a4008d77ad63047366463350b7726a5ec">snd_config_hook_load</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *root, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **dst, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *private_data)</td></tr> <tr class="memdesc:a4008d77ad63047366463350b7726a5ec"><td class="mdescLeft"> </td><td class="mdescRight">Loads and parses the given configurations files. <a href="#a4008d77ad63047366463350b7726a5ec">More...</a><br /></td></tr> <tr class="separator:a4008d77ad63047366463350b7726a5ec"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac64a8c73293ee35ed3f3958d47bdc721"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="conf_8c.html#ac64a8c73293ee35ed3f3958d47bdc721">snd_config_hook_load_for_all_cards</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *root, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **dst, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *private_data)</td></tr> <tr class="memdesc:ac64a8c73293ee35ed3f3958d47bdc721"><td class="mdescLeft"> </td><td class="mdescRight">Loads and parses the given configurations files for each installed sound card. <a href="#ac64a8c73293ee35ed3f3958d47bdc721">More...</a><br /></td></tr> <tr class="separator:ac64a8c73293ee35ed3f3958d47bdc721"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga06e80976c3c00fdc786f9b213e5c40f7"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga06e80976c3c00fdc786f9b213e5c40f7">snd_config_update_r</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **_top, <a class="el" href="group___config.html#gab10b229189a94e3fcbac7f6ca5794cc0">snd_config_update_t</a> **_update, const char *cfgs)</td></tr> <tr class="memdesc:ga06e80976c3c00fdc786f9b213e5c40f7"><td class="mdescLeft"> </td><td class="mdescRight">Updates a configuration tree by rereading the configuration files (if needed). <a href="group___config.html#ga06e80976c3c00fdc786f9b213e5c40f7">More...</a><br /></td></tr> <tr class="separator:ga06e80976c3c00fdc786f9b213e5c40f7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga41a3d2202cfb9016e33aa85ea70a4c9c"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga41a3d2202cfb9016e33aa85ea70a4c9c">snd_config_update</a> (void)</td></tr> <tr class="memdesc:ga41a3d2202cfb9016e33aa85ea70a4c9c"><td class="mdescLeft"> </td><td class="mdescRight">Updates <a class="el" href="group___config.html#ga6cf7955d3a072d354dab4d7b536c7831" title="Configuration top-level node (the global configuration). ">snd_config</a> by rereading the global configuration files (if needed). <a href="group___config.html#ga41a3d2202cfb9016e33aa85ea70a4c9c">More...</a><br /></td></tr> <tr class="separator:ga41a3d2202cfb9016e33aa85ea70a4c9c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga8f781ac635a0233fb2f58766a83d65cd"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga8f781ac635a0233fb2f58766a83d65cd">snd_config_update_free</a> (<a class="el" href="group___config.html#gab10b229189a94e3fcbac7f6ca5794cc0">snd_config_update_t</a> *update)</td></tr> <tr class="memdesc:ga8f781ac635a0233fb2f58766a83d65cd"><td class="mdescLeft"> </td><td class="mdescRight">Frees a private update structure. <a href="group___config.html#ga8f781ac635a0233fb2f58766a83d65cd">More...</a><br /></td></tr> <tr class="separator:ga8f781ac635a0233fb2f58766a83d65cd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga51dbc0ff1d9b34d753706d09d768116b"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga51dbc0ff1d9b34d753706d09d768116b">snd_config_update_free_global</a> (void)</td></tr> <tr class="memdesc:ga51dbc0ff1d9b34d753706d09d768116b"><td class="mdescLeft"> </td><td class="mdescRight">Frees the global configuration tree in <a class="el" href="group___config.html#ga6cf7955d3a072d354dab4d7b536c7831" title="Configuration top-level node (the global configuration). ">snd_config</a>. <a href="group___config.html#ga51dbc0ff1d9b34d753706d09d768116b">More...</a><br /></td></tr> <tr class="separator:ga51dbc0ff1d9b34d753706d09d768116b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac8965466674c10b9a119d591ed484cef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___config.html#ga6c621ab8875a222e1fcb56e9feed6ec6">snd_config_iterator_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gac8965466674c10b9a119d591ed484cef">snd_config_iterator_first</a> (const <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config)</td></tr> <tr class="memdesc:gac8965466674c10b9a119d591ed484cef"><td class="mdescLeft"> </td><td class="mdescRight">Returns an iterator pointing to a node's first child. <a href="group___config.html#gac8965466674c10b9a119d591ed484cef">More...</a><br /></td></tr> <tr class="separator:gac8965466674c10b9a119d591ed484cef"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga10c27ddc83c78680d91a167dd2f0a3cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___config.html#ga6c621ab8875a222e1fcb56e9feed6ec6">snd_config_iterator_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga10c27ddc83c78680d91a167dd2f0a3cb">snd_config_iterator_next</a> (const <a class="el" href="group___config.html#ga6c621ab8875a222e1fcb56e9feed6ec6">snd_config_iterator_t</a> iterator)</td></tr> <tr class="memdesc:ga10c27ddc83c78680d91a167dd2f0a3cb"><td class="mdescLeft"> </td><td class="mdescRight">Returns an iterator pointing to the next sibling. <a href="group___config.html#ga10c27ddc83c78680d91a167dd2f0a3cb">More...</a><br /></td></tr> <tr class="separator:ga10c27ddc83c78680d91a167dd2f0a3cb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac08a30bc630481f69feb2170fed4afda"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___config.html#ga6c621ab8875a222e1fcb56e9feed6ec6">snd_config_iterator_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gac08a30bc630481f69feb2170fed4afda">snd_config_iterator_end</a> (const <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config)</td></tr> <tr class="memdesc:gac08a30bc630481f69feb2170fed4afda"><td class="mdescLeft"> </td><td class="mdescRight">Returns an iterator that ends a node's children list. <a href="group___config.html#gac08a30bc630481f69feb2170fed4afda">More...</a><br /></td></tr> <tr class="separator:gac08a30bc630481f69feb2170fed4afda"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa91fe1d926d88041ed516a6a7293f606"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gaa91fe1d926d88041ed516a6a7293f606">snd_config_iterator_entry</a> (const <a class="el" href="group___config.html#ga6c621ab8875a222e1fcb56e9feed6ec6">snd_config_iterator_t</a> iterator)</td></tr> <tr class="memdesc:gaa91fe1d926d88041ed516a6a7293f606"><td class="mdescLeft"> </td><td class="mdescRight">Returns the configuration node handle pointed to by an iterator. <a href="group___config.html#gaa91fe1d926d88041ed516a6a7293f606">More...</a><br /></td></tr> <tr class="separator:gaa91fe1d926d88041ed516a6a7293f606"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga30f30bd27d13fbb3527270b3fc9e1676"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga30f30bd27d13fbb3527270b3fc9e1676">snd_config_copy</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **dst, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *src)</td></tr> <tr class="memdesc:ga30f30bd27d13fbb3527270b3fc9e1676"><td class="mdescLeft"> </td><td class="mdescRight">Creates a copy of a configuration node. <a href="group___config.html#ga30f30bd27d13fbb3527270b3fc9e1676">More...</a><br /></td></tr> <tr class="separator:ga30f30bd27d13fbb3527270b3fc9e1676"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga1a51645a07e204d4e814d890452da558"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga1a51645a07e204d4e814d890452da558">snd_config_evaluate</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *root, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *private_data, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **result)</td></tr> <tr class="memdesc:ga1a51645a07e204d4e814d890452da558"><td class="mdescLeft"> </td><td class="mdescRight">Evaluates a configuration node at runtime. <a href="group___config.html#ga1a51645a07e204d4e814d890452da558">More...</a><br /></td></tr> <tr class="separator:ga1a51645a07e204d4e814d890452da558"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga7759f41c3757ce72ee9bd118976071c2"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga7759f41c3757ce72ee9bd118976071c2">snd_config_expand</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *root, const char *args, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *private_data, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **result)</td></tr> <tr class="memdesc:ga7759f41c3757ce72ee9bd118976071c2"><td class="mdescLeft"> </td><td class="mdescRight">Expands a configuration node, applying arguments and functions. <a href="group___config.html#ga7759f41c3757ce72ee9bd118976071c2">More...</a><br /></td></tr> <tr class="separator:ga7759f41c3757ce72ee9bd118976071c2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad7c23084ee4052ad33d77db6278db46f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#gad7c23084ee4052ad33d77db6278db46f">snd_config_search_definition</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *config, const char *base, const char *name, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> **result)</td></tr> <tr class="memdesc:gad7c23084ee4052ad33d77db6278db46f"><td class="mdescLeft"> </td><td class="mdescRight">Searches for a definition in a configuration tree, using aliases and expanding hooks and arguments. <a href="group___config.html#gad7c23084ee4052ad33d77db6278db46f">More...</a><br /></td></tr> <tr class="separator:gad7c23084ee4052ad33d77db6278db46f"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> <tr class="memitem:ga6cf7955d3a072d354dab4d7b536c7831"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___config.html#ga6cf7955d3a072d354dab4d7b536c7831">snd_config</a> = NULL</td></tr> <tr class="memdesc:ga6cf7955d3a072d354dab4d7b536c7831"><td class="mdescLeft"> </td><td class="mdescRight">Configuration top-level node (the global configuration). <a href="group___config.html#ga6cf7955d3a072d354dab4d7b536c7831">More...</a><br /></td></tr> <tr class="separator:ga6cf7955d3a072d354dab4d7b536c7831"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Configuration helper functions. </p> <dl class="section author"><dt>Author</dt><dd>Abramo Bagnara <a href="#" onclick="location.href='mai'+'lto:'+'abr'+'am'+'o@a'+'ls'+'a-p'+'ro'+'jec'+'t.'+'org'; return false;">abram<span style="display: none;">.nosp@m.</span>o@al<span style="display: none;">.nosp@m.</span>sa-pr<span style="display: none;">.nosp@m.</span>ojec<span style="display: none;">.nosp@m.</span>t.org</a> </dd> <dd> Jaroslav Kysela <a href="#" onclick="location.href='mai'+'lto:'+'per'+'ex'+'@pe'+'re'+'x.c'+'z'; return false;">perex<span style="display: none;">.nosp@m.</span>@per<span style="display: none;">.nosp@m.</span>ex.cz</a> </dd></dl> <dl class="section date"><dt>Date</dt><dd>2000-2001</dd></dl> <p>Tree based, full nesting configuration functions.</p> <p>See the <a class="el" href="conf.html">Configuration files</a> page for more details. </p> </div><h2 class="groupheader">Macro Definition Documentation</h2> <a class="anchor" id="aa7ae5d3b32a1ec3a9aa0456a5a2f9091"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define ALSA_CONFIG_PATH_DEFAULT   ALSA_CONFIG_DIR "/alsa.conf"</td> </tr> </table> </div><div class="memdoc"> <p>The name of the default files used by <a class="el" href="group___config.html#ga41a3d2202cfb9016e33aa85ea70a4c9c" title="Updates snd_config by rereading the global configuration files (if needed). ">snd_config_update</a>. </p> </div> </div> <a class="anchor" id="a8b857484628b5b4cbd2ac60503d4f80e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define ALSA_CONFIG_PATH_VAR   "ALSA_CONFIG_PATH"</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#ga41a3d2202cfb9016e33aa85ea70a4c9c" title="Updates snd_config by rereading the global configuration files (if needed). ">snd_config_update</a>. </p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="a281182963641e7cd5975f56faad6ff14"></a> <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 * </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#gaa41083e55d19c7755c5d624030e06887">snd_config_type_t</a> * </td> <td class="paramname"><em>type</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Converts an ASCII string to a configuration node type. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">ascii</td><td>A string containing a configuration node type. </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">type</td><td>The node type corresponding to <em>ascii</em>. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Zero if successful, otherwise a negative error code.</dd></dl> <p>This function recognizes at least the following node types: </p><dl> <dt>integer<dt>::SND_CONFIG_TYPE_INTEGER </dt> <dd></dd> <dt>integer64<dt>::SND_CONFIG_TYPE_INTEGER64 </dt> <dd></dd> <dt>real<dt>::SND_CONFIG_TYPE_REAL </dt> <dd></dd> <dt>string<dt>::SND_CONFIG_TYPE_STRING </dt> <dd></dd> <dt>compound<dt>::SND_CONFIG_TYPE_COMPOUND </dt> <dd></dd> </dl> <dl class="section user"><dt>Errors:</dt><dd><dl> <dt>-EINVAL</dt> <dd>Unknown note type in <em>type</em>. </dd> </dl> </dd></dl> </div> </div> <a class="anchor" id="a4008d77ad63047366463350b7726a5ec"></a> <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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> ** </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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </td> <td class="paramname"><em>private_data</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Loads and parses the given configurations files. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">root</td><td>Handle to the root configuration node. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>Handle to the configuration node for this hook. </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">dst</td><td>The function puts the handle to the configuration node loaded from the file(s) at the address specified by <em>dst</em>. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">private_data</td><td>Handle to the private data configuration node. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Zero if successful, otherwise a negative error code.</dd></dl> <p>See <a class="el" href="confhooks.html">Hooks in configuration files</a> for an example. </p> </div> </div> <a class="anchor" id="ac64a8c73293ee35ed3f3958d47bdc721"></a> <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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> ** </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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </td> <td class="paramname"><em>private_data</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Loads and parses the given configurations files for each installed sound card. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">root</td><td>Handle to the root configuration node. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>Handle to the configuration node for this hook. </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">dst</td><td>The function puts the handle to the configuration node loaded from the file(s) at the address specified by <em>dst</em>. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">private_data</td><td>Handle to the private data configuration node. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Zero if successful, otherwise a negative error code.</dd></dl> <p>This function works like <a class="el" href="conf_8c.html#a4008d77ad63047366463350b7726a5ec" title="Loads and parses the given configurations files. ">snd_config_hook_load</a>, but the files are loaded once for each sound card. The driver name is available with the <code>private_string</code> function to customize the file name. </p> </div> </div> <a class="anchor" id="ad4d69b003662e09e8206a7892e849d27"></a> <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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </td> <td class="paramname"><em>config</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Removes a configuration node from its tree. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">config</td><td>Handle to the configuration node to be removed. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Zero if successful, otherwise a negative error code.</dd></dl> <p>This function makes <em>config</em> a top-level node, i.e., if <em>config</em> has a parent, then <em>config</em> is removed from the list of the parent's children.</p> <p>This functions does <em>not</em> free the removed node.</p> <dl class="section see"><dt>See also</dt><dd><a class="el" href="group___config.html#ga2a006b942faa3335a958a7df7bcea17e" title="Frees a configuration node. ">snd_config_delete</a> </dd></dl> </div> </div> <a class="anchor" id="a95836105fb9cdb3ff6fb674d3a297fdb"></a> <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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </td> <td class="paramname"><em>config</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>base</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> ** </td> <td class="paramname"><em>result</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Searches for a node in a configuration tree, expanding aliases. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>Handle to the root of the configuration (sub)tree to search. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">base</td><td>Search key base, or <code>NULL</code>. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>Search key suffix. </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>When <em>result</em> != <code>NULL</code>, the function puts the handle to the node found at the address specified by <em>result</em>. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Zero if successful, otherwise a negative error code.</dd></dl> <p>This functions searches for a child node of <em>config</em>, allowing aliases, like <a class="el" href="conf_8c.html#af0f5cf4dde9399e3aadc53b4ab1d5059" title="Searches for a node in a configuration tree, expanding aliases. ">snd_config_searcha</a>. However, alias definitions are searched below <em>config</em> (there is no separate <em>root</em> parameter), and <em>base</em> specifies a seach key that identifies a compound node that is used to search for an alias definitions that is not found directly below <em>config</em> and that does not contain a period. In other words, when <code>"id"</code> is not found in <em>config</em>, this function also tries <code>"base.id"</code>.</p> <dl class="section user"><dt>Errors:</dt><dd><dl> <dt>-ENOENT</dt> <dd>An id in <em>key</em> or an alias id does not exist. </dd> <dt>-ENOENT</dt> <dd><em>config</em> or one of its child nodes to be searched is not a compound or string node. </dd> </dl> </dd></dl> </div> </div> <a class="anchor" id="a1f86a23e559213fb07097637feeac70f"></a> <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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </td> <td class="paramname"><em>config</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>base</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> ** </td> <td class="paramname"><em>result</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Searches for a node in a configuration tree, using an alias and expanding hooks. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>Handle to the root of the configuration (sub)tree to search. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">base</td><td>Search key base, or <code>NULL</code>. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>Search key suffix. </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>The function puts the handle to the node found at the address specified by <em>result</em>. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Zero if successful, otherwise a negative error code.</dd></dl> <p>This functions searches for a child node of <em>config</em>, allowing aliases, like <a class="el" href="conf_8c.html#a95836105fb9cdb3ff6fb674d3a297fdb" title="Searches for a node in a configuration tree, expanding aliases. ">snd_config_search_alias</a>, and expanding hooks, like <a class="el" href="conf_8c.html#ad6a8a7b3b67b8f755ab60073bec5fd48" title="Searches for a node in a configuration tree and expands hooks. ">snd_config_search_hooks</a>.</p> <dl class="section user"><dt>Errors:</dt><dd><dl> <dt>-ENOENT</dt> <dd>An id in <em>key</em> or an alias id does not exist. </dd> <dt>-ENOENT</dt> <dd><em>config</em> or one of its child nodes to be searched is not a compound node. </dd> </dl> Additionally, any errors encountered when parsing the hook definitions or returned by the hook functions. </dd></dl> </div> </div> <a class="anchor" id="ad6a8a7b3b67b8f755ab60073bec5fd48"></a> <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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </td> <td class="paramname"><em>config</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> ** </td> <td class="paramname"><em>result</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Searches for a node in a configuration tree and expands hooks. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramdir">[in,out]</td><td class="paramname">config</td><td>Handle to the root of the configuration (sub)tree to search. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>Search key: one or more node keys, separated with dots. </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>The function puts the handle to the node found at the address specified by <em>result</em>. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Zero if successful, otherwise a negative error code.</dd></dl> <p>This functions searches for a child node of <em>config</em> like <a class="el" href="group___config.html#gabafb8cac2181c4c1e34b99f54421d1c6" title="Searches for a node in a configuration tree. ">snd_config_search</a>, but any compound nodes to be searched that contain hooks are modified by the respective hook functions.</p> <dl class="section user"><dt>Errors:</dt><dd><dl> <dt>-ENOENT</dt> <dd>An id in <em>key</em> does not exist. </dd> <dt>-ENOENT</dt> <dd><em>config</em> or one of its child nodes to be searched is not a compound node. </dd> </dl> Additionally, any errors encountered when parsing the hook definitions or returned by the hook functions. </dd></dl> </div> </div> <a class="anchor" id="af0f5cf4dde9399e3aadc53b4ab1d5059"></a> <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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </td> <td class="paramname"><em>config</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> ** </td> <td class="paramname"><em>result</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Searches for a node in a configuration tree, expanding aliases. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">root</td><td>Handle to the root configuration node containing alias definitions. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>Handle to the root of the configuration (sub)tree to search. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>Search key: one or more node keys, separated with dots. </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>When <em>result</em> != <code>NULL</code>, the function puts the handle to the node found at the address specified by <em>result</em>. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Zero if successful, otherwise a negative error code.</dd></dl> <p>This functions searches for a child node of <em>config</em> like <a class="el" href="group___config.html#gabafb8cac2181c4c1e34b99f54421d1c6" title="Searches for a node in a configuration tree. ">snd_config_search</a>. However, any compound node can also be identified by an alias, which is a string node whose value is taken as the id of a compound node below <em>root</em>.</p> <p><em>root</em> must be a compound node. <em>root</em> and <em>config</em> may be the same node.</p> <p>For example, with the following configuration, the call </p><div class="fragment"><div class="line"><a class="code" href="conf_8c.html#af0f5cf4dde9399e3aadc53b4ab1d5059">snd_config_searcha</a>(root, config, <span class="stringliteral">"a.b.c.d"</span>, &result);</div> </div><!-- fragment --><p> would return the node with id <code>d:</code> </p><div class="fragment"><div class="line">config {</div> <div class="line"> a {</div> <div class="line"> b bb</div> <div class="line"> }</div> <div class="line">}</div> <div class="line">root {</div> <div class="line"> bb {</div> <div class="line"> c cc</div> <div class="line"> }</div> <div class="line"> cc ccc</div> <div class="line"> ccc {</div> <div class="line"> d {</div> <div class="line"> x <span class="stringliteral">"icks"</span></div> <div class="line"> }</div> <div class="line"> }</div> <div class="line">}</div> </div><!-- fragment --><dl class="section user"><dt>Errors:</dt><dd><dl> <dt>-ENOENT</dt> <dd>An id in <em>key</em> or an alias id does not exist. </dd> <dt>-ENOENT</dt> <dd><em>config</em> or one of its child nodes to be searched is not a compound or string node. </dd> </dl> </dd></dl> </div> </div> <a class="anchor" id="a28f17e8e4133a46c4d366d1e234df974"></a> <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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </td> <td class="paramname"><em>config</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> ** </td> <td class="paramname"><em>result</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Searches for a node in a configuration tree, expanding aliases and hooks. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">root</td><td>Handle to the root configuration node containing alias definitions. </td></tr> <tr><td class="paramdir">[in,out]</td><td class="paramname">config</td><td>Handle to the root of the configuration (sub)tree to search. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>Search key: one or more node keys, separated with dots. </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>The function puts the handle to the node found at the address specified by <em>result</em>. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Zero if successful, otherwise a negative error code.</dd></dl> <p>This function searches for a child node of <em>config</em>, allowing aliases, like <a class="el" href="conf_8c.html#af0f5cf4dde9399e3aadc53b4ab1d5059" title="Searches for a node in a configuration tree, expanding aliases. ">snd_config_searcha</a>, and expanding hooks, like <a class="el" href="conf_8c.html#ad6a8a7b3b67b8f755ab60073bec5fd48" title="Searches for a node in a configuration tree and expands hooks. ">snd_config_search_hooks</a>.</p> <dl class="section user"><dt>Errors:</dt><dd><dl> <dt>-ENOENT</dt> <dd>An id in <em>key</em> or an alias id does not exist. </dd> <dt>-ENOENT</dt> <dd><em>config</em> or one of its child nodes to be searched is not a compound node. </dd> </dl> Additionally, any errors encountered when parsing the hook definitions or returned by the hook functions. </dd></dl> </div> </div> <a class="anchor" id="a11646339b1555e9a36a3da3327a0bd6a"></a> <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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> ** </td> <td class="paramname"><em>result</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Searches for a node in a configuration tree, expanding aliases. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">root</td><td>Handle to the root configuration node containing alias definitions. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>Handle to the root of the configuration (sub)tree to search. </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>When <em>result</em> != <code>NULL</code>, the function puts the handle to the node found at the address specified by <em>result</em>. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>One or more concatenated dot separated search keys, terminated with <code>NULL</code>. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Zero if successful, otherwise a negative error code.</dd></dl> <p>This function searches for a child node of <em>config</em>, allowing aliases, like <a class="el" href="conf_8c.html#af0f5cf4dde9399e3aadc53b4ab1d5059" title="Searches for a node in a configuration tree, expanding aliases. ">snd_config_searcha</a>, but the search key is the concatenation of all passed seach key strings, like with <a class="el" href="group___config.html#ga7b2f5723e44a1b69f2a8555d469803d1" title="Searches for a node in a configuration tree. ">snd_config_searchv</a>.</p> <dl class="section user"><dt>Errors:</dt><dd><dl> <dt>-ENOENT</dt> <dd>An id in a search key does not exist. </dd> <dt>-ENOENT</dt> <dd><em>config</em> or one of its child nodes to be searched is not a compound or string node. </dd> </dl> </dd></dl> </div> </div> <a class="anchor" id="a017faa0f6768a9481989b4f38d4514b1"></a> <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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> ** </td> <td class="paramname"><em>result</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Searches for a node in a configuration tree, expanding aliases and hooks. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">root</td><td>Handle to the root configuration node containing alias definitions. </td></tr> <tr><td class="paramdir">[in,out]</td><td class="paramname">config</td><td>Handle to the root of the configuration (sub)tree to search. </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>The function puts the handle to the node found at the address specified by <em>result</em>. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>One or more concatenated dot separated search keys, terminated with <code>NULL</code>. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Zero if successful, otherwise a negative error code.</dd></dl> <p>This function searches for a child node of <em>config</em>, allowing aliases and expanding hooks like <a class="el" href="conf_8c.html#a28f17e8e4133a46c4d366d1e234df974" title="Searches for a node in a configuration tree, expanding aliases and hooks. ">snd_config_searcha_hooks</a>, but the search key is the concatenation of all passed seach key strings, like with <a class="el" href="group___config.html#ga7b2f5723e44a1b69f2a8555d469803d1" title="Searches for a node in a configuration tree. ">snd_config_searchv</a>.</p> <dl class="section user"><dt>Errors:</dt><dd><dl> <dt>-ENOENT</dt> <dd>An id in <em>key</em> or an alias id does not exist. </dd> <dt>-ENOENT</dt> <dd><em>config</em> or one of its child nodes to be searched is not a compound node. </dd> </dl> Additionally, any errors encountered when parsing the hook definitions or returned by the hook functions. </dd></dl> </div> </div> <a class="anchor" id="a0c4acd2de7999ad6e477d398662485c2"></a> <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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </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#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </td> <td class="paramname"><em>src</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Substitutes one configuration node to another. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">dst</td><td>Handle to the destination node. </td></tr> <tr><td class="paramname">src</td><td>Handle to the source node. Must not be the same as <em>dst</em>. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Zero if successful, otherwise a negative error code.</dd></dl> <p>If both nodes are compounds, the source compound node members are appended to the destination compound node.</p> <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> <p>Otherwise, the source node's value replaces the destination node's value.</p> <p>In any case, a successful call to this function frees the source node. </p> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Wed Jun 18 2014 05:47:49 for ALSA project - the C library reference by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.7 </small></address> </body> </html>