<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>confmisc.c File Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.2.18 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> <a class="qindex" href="pages.html">Related Pages</a> <a class="qindex" href="examples.html">Examples</a> </center> <hr><h1>confmisc.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>Functions</h2></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="confmisc_8c.html#a0">snd_config_get_bool_ascii</a> (const char *ascii)</td></tr> <tr><td> </td><td><font size=-1><em>Gets the boolean value from the given ASCII string.</em> <a href="#a0"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="confmisc_8c.html#a1">snd_config_get_bool</a> (const <a class="el" href="group___config.html#a1">snd_config_t</a> *conf)</td></tr> <tr><td> </td><td><font size=-1><em>Gets the boolean value from a configuration node.</em> <a href="#a1"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="confmisc_8c.html#a2">snd_config_get_ctl_iface_ascii</a> (const char *ascii)</td></tr> <tr><td> </td><td><font size=-1><em>Gets the control interface index from the given ASCII string.</em> <a href="#a2"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="confmisc_8c.html#a3">snd_config_get_ctl_iface</a> (const <a class="el" href="group___config.html#a1">snd_config_t</a> *conf)</td></tr> <tr><td> </td><td><font size=-1><em>Gets the control interface index from a configuration node.</em> <a href="#a3"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="confmisc_8c.html#a4">snd_func_getenv</a> (<a class="el" href="group___config.html#a1">snd_config_t</a> **dst, <a class="el" href="group___config.html#a1">snd_config_t</a> *root, <a class="el" href="group___config.html#a1">snd_config_t</a> *src, <a class="el" href="group___config.html#a1">snd_config_t</a> *private_data)</td></tr> <tr><td> </td><td><font size=-1><em>Returns an environment value.</em> <a href="#a4"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="confmisc_8c.html#a5">snd_func_igetenv</a> (<a class="el" href="group___config.html#a1">snd_config_t</a> **dst, <a class="el" href="group___config.html#a1">snd_config_t</a> *root, <a class="el" href="group___config.html#a1">snd_config_t</a> *src, <a class="el" href="group___config.html#a1">snd_config_t</a> *private_data)</td></tr> <tr><td> </td><td><font size=-1><em>Returns an integer environment value.</em> <a href="#a5"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="confmisc_8c.html#a6">snd_func_concat</a> (<a class="el" href="group___config.html#a1">snd_config_t</a> **dst, <a class="el" href="group___config.html#a1">snd_config_t</a> *root, <a class="el" href="group___config.html#a1">snd_config_t</a> *src, <a class="el" href="group___config.html#a1">snd_config_t</a> *private_data)</td></tr> <tr><td> </td><td><font size=-1><em>Merges the given strings.</em> <a href="#a6"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="confmisc_8c.html#a7">snd_func_datadir</a> (<a class="el" href="group___config.html#a1">snd_config_t</a> **dst, <a class="el" href="group___config.html#a1">snd_config_t</a> *root ATTRIBUTE_UNUSED, <a class="el" href="group___config.html#a1">snd_config_t</a> *src, <a class="el" href="group___config.html#a1">snd_config_t</a> *private_data ATTRIBUTE_UNUSED)</td></tr> <tr><td> </td><td><font size=-1><em>Returns the ALSA data directory.</em> <a href="#a7"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="confmisc_8c.html#a9">snd_func_private_string</a> (<a class="el" href="group___config.html#a1">snd_config_t</a> **dst, <a class="el" href="group___config.html#a1">snd_config_t</a> *root ATTRIBUTE_UNUSED, <a class="el" href="group___config.html#a1">snd_config_t</a> *src, <a class="el" href="group___config.html#a1">snd_config_t</a> *private_data)</td></tr> <tr><td> </td><td><font size=-1><em>Returns the string from <code>private_data</code>.</em> <a href="#a9"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="confmisc_8c.html#a10">snd_func_private_card_driver</a> (<a class="el" href="group___config.html#a1">snd_config_t</a> **dst, <a class="el" href="group___config.html#a1">snd_config_t</a> *root ATTRIBUTE_UNUSED, <a class="el" href="group___config.html#a1">snd_config_t</a> *src, <a class="el" href="group___config.html#a1">snd_config_t</a> *private_data)</td></tr> <tr><td> </td><td><font size=-1><em>Returns the driver identification from <code>private_data</code>.</em> <a href="#a10"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="confmisc_8c.html#a11">snd_func_card_driver</a> (<a class="el" href="group___config.html#a1">snd_config_t</a> **dst, <a class="el" href="group___config.html#a1">snd_config_t</a> *root, <a class="el" href="group___config.html#a1">snd_config_t</a> *src, <a class="el" href="group___config.html#a1">snd_config_t</a> *private_data)</td></tr> <tr><td> </td><td><font size=-1><em>Returns the driver identification for a card.</em> <a href="#a11"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="confmisc_8c.html#a12">snd_func_card_id</a> (<a class="el" href="group___config.html#a1">snd_config_t</a> **dst, <a class="el" href="group___config.html#a1">snd_config_t</a> *root, <a class="el" href="group___config.html#a1">snd_config_t</a> *src, <a class="el" href="group___config.html#a1">snd_config_t</a> *private_data)</td></tr> <tr><td> </td><td><font size=-1><em>Returns the identification of a card.</em> <a href="#a12"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="confmisc_8c.html#a13">snd_func_pcm_id</a> (<a class="el" href="group___config.html#a1">snd_config_t</a> **dst, <a class="el" href="group___config.html#a1">snd_config_t</a> *root, <a class="el" href="group___config.html#a1">snd_config_t</a> *src, void *private_data)</td></tr> <tr><td> </td><td><font size=-1><em>Returns the pcm identification of a device.</em> <a href="#a13"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="confmisc_8c.html#a14">snd_func_private_pcm_subdevice</a> (<a class="el" href="group___config.html#a1">snd_config_t</a> **dst, <a class="el" href="group___config.html#a1">snd_config_t</a> *root ATTRIBUTE_UNUSED, <a class="el" href="group___config.html#a1">snd_config_t</a> *src, <a class="el" href="group___config.html#a1">snd_config_t</a> *private_data)</td></tr> <tr><td> </td><td><font size=-1><em>Returns the PCM subdevice from <code>private_data</code>.</em> <a href="#a14"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="confmisc_8c.html#a15">snd_func_refer</a> (<a class="el" href="group___config.html#a1">snd_config_t</a> **dst, <a class="el" href="group___config.html#a1">snd_config_t</a> *root, <a class="el" href="group___config.html#a1">snd_config_t</a> *src, <a class="el" href="group___config.html#a1">snd_config_t</a> *private_data)</td></tr> <tr><td> </td><td><font size=-1><em>Copies the specified configuration node.</em> <a href="#a15"></a><em></em></font><br><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Configuration helper functions. <p> <p> <dl compact><dt><b>Author: </b></dt><dd> Abramo Bagnara <<a href="mailto:abramo@alsa-project.org">abramo@alsa-project.org</a>> , Jaroslav Kysela <<a href="mailto:perex@suse.cz">perex@suse.cz</a>> </dl><dl compact><dt><b>Date: </b></dt><dd> 2000-2001</dl>Configuration helper functions. <p> See the <a href="conffunc.html#conffunc">Runtime functions in configuration files</a> page for more details. <p> <hr><h2>Function Documentation</h2> <a name="a1" doxytag="confmisc.c::snd_config_get_bool"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_config_get_bool </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>conf</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Gets the boolean value from a configuration node. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>conf</em> </td><td> Handle to the configuration node to be parsed. </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 or 1 if successful, otherwise a negative error code. </dl> </td> </tr> </table> <a name="a0" doxytag="confmisc.c::snd_config_get_bool_ascii"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_config_get_bool_ascii </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const char * </td> <td class="mdname1" valign="top" nowrap> <em>ascii</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Gets the boolean value from the given ASCII string. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ascii</em> </td><td> The string to be parsed. </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 or 1 if successful, otherwise a negative error code. </dl> </td> </tr> </table> <a name="a3" doxytag="confmisc.c::snd_config_get_ctl_iface"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_config_get_ctl_iface </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>conf</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Gets the control interface index from a configuration node. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>conf</em> </td><td> Handle to the configuration node to be parsed. </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> The control interface index if successful, otherwise a negative error code. </dl> </td> </tr> </table> <a name="a2" doxytag="confmisc.c::snd_config_get_ctl_iface_ascii"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_config_get_ctl_iface_ascii </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const char * </td> <td class="mdname1" valign="top" nowrap> <em>ascii</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Gets the control interface index from the given ASCII string. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ascii</em> </td><td> The string to be parsed. </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> The control interface index if successful, otherwise a negative error code. </dl> </td> </tr> </table> <a name="a11" doxytag="confmisc.c::snd_func_card_driver"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_func_card_driver </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___config.html#a1">snd_config_t</a> ** </td> <td class="mdname" nowrap> <em>dst</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>root</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>src</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>private_data</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Returns the driver identification for a card. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>dst</em> </td><td> The function puts the handle to the result configuration node (with type string) at the address specified by <code>dst</code>. </td></tr> <tr><td valign=top><em>root</em> </td><td> Handle to the root source node. </td></tr> <tr><td valign=top><em>src</em> </td><td> Handle to the source node, with a <code>card</code> definition. </td></tr> <tr><td valign=top><em>private_data</em> </td><td> Handle to the <code>private_data</code> node. </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> A non-negative value if successful, otherwise a negative error code.</dl>Example: <div class="fragment"><pre> { @func card_driver card 0 } </pre></div> </td> </tr> </table> <a name="a12" doxytag="confmisc.c::snd_func_card_id"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_func_card_id </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___config.html#a1">snd_config_t</a> ** </td> <td class="mdname" nowrap> <em>dst</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>root</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>src</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>private_data</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Returns the identification of a card. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>dst</em> </td><td> The function puts the handle to the result configuration node (with type string) at the address specified by <code>dst</code>. </td></tr> <tr><td valign=top><em>root</em> </td><td> Handle to the root source node. </td></tr> <tr><td valign=top><em>src</em> </td><td> Handle to the source node, with a <code>card</code> definition. </td></tr> <tr><td valign=top><em>private_data</em> </td><td> Handle to the <code>private_data</code> node. </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> A non-negative value if successful, otherwise a negative error code.</dl>Example: <div class="fragment"><pre> { @func card_id card 0 } </pre></div> </td> </tr> </table> <a name="a6" doxytag="confmisc.c::snd_func_concat"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_func_concat </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___config.html#a1">snd_config_t</a> ** </td> <td class="mdname" nowrap> <em>dst</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>root</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>src</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>private_data</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Merges the given strings. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>dst</em> </td><td> The function puts the handle to the result configuration node (with type string) at the address specified by <code>dst</code>. </td></tr> <tr><td valign=top><em>root</em> </td><td> Handle to the root source node. </td></tr> <tr><td valign=top><em>src</em> </td><td> Handle to the source node, with a definition for <code>strings</code>. </td></tr> <tr><td valign=top><em>private_data</em> </td><td> Handle to the <code>private_data</code> node. </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> A non-negative value if successful, otherwise a negative error code.</dl>Example (result is "a1b2c3"): <div class="fragment"><pre> { @func concat strings [ <span class="stringliteral">"a1"</span> <span class="stringliteral">"b2"</span> <span class="stringliteral">"c3"</span> ] } </pre></div> </td> </tr> </table> <a name="a7" doxytag="confmisc.c::snd_func_datadir"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_func_datadir </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___config.html#a1">snd_config_t</a> ** </td> <td class="mdname" nowrap> <em>dst</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> *root </td> <td class="mdname" nowrap> <em>ATTRIBUTE_UNUSED</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>src</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> *private_data </td> <td class="mdname" nowrap> <em>ATTRIBUTE_UNUSED</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Returns the ALSA data directory. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>dst</em> </td><td> The function puts the handle to the result configuration node (with type string) at the address specified by <code>dst</code>. </td></tr> <tr><td valign=top><em>root</em> </td><td> Handle to the root source node. </td></tr> <tr><td valign=top><em>src</em> </td><td> Handle to the source node. </td></tr> <tr><td valign=top><em>private_data</em> </td><td> Handle to the <code>private_data</code> node. Not used. </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> A non-negative value if successful, otherwise a negative error code.</dl>Example (result is "/usr/share/alsa" using the default paths): <div class="fragment"><pre> { @func datadir } </pre></div> </td> </tr> </table> <a name="a4" doxytag="confmisc.c::snd_func_getenv"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_func_getenv </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___config.html#a1">snd_config_t</a> ** </td> <td class="mdname" nowrap> <em>dst</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>root</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>src</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>private_data</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Returns an environment value. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>dst</em> </td><td> The function puts the handle to the result configuration node (with type string) at the address specified by <code>dst</code>. </td></tr> <tr><td valign=top><em>root</em> </td><td> Handle to the root source node. </td></tr> <tr><td valign=top><em>src</em> </td><td> Handle to the source node, with definitions for <code>vars</code> and <code>default</code>. </td></tr> <tr><td valign=top><em>private_data</em> </td><td> Handle to the <code>private_data</code> node. </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> Zero if successful, otherwise a negative error code.</dl>Example: <div class="fragment"><pre> { @func getenv vars [ MY_CARD CARD C ] <span class="keywordflow">default</span> 0 } </pre></div> </td> </tr> </table> <a name="a5" doxytag="confmisc.c::snd_func_igetenv"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_func_igetenv </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___config.html#a1">snd_config_t</a> ** </td> <td class="mdname" nowrap> <em>dst</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>root</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>src</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>private_data</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Returns an integer environment value. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>dst</em> </td><td> The function puts the handle to the result configuration node (with type integer) at the address specified by <code>dst</code>. </td></tr> <tr><td valign=top><em>root</em> </td><td> Handle to the root source node. </td></tr> <tr><td valign=top><em>src</em> </td><td> Handle to the source node, with definitions for <code>vars</code> and <code>default</code>. </td></tr> <tr><td valign=top><em>private_data</em> </td><td> Handle to the <code>private_data</code> node. </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> Zero if successful, otherwise a negative error code.</dl>Example: <div class="fragment"><pre> { @func igetenv vars [ MY_DEVICE DEVICE D ] <span class="keywordflow">default</span> 0 } </pre></div> </td> </tr> </table> <a name="a13" doxytag="confmisc.c::snd_func_pcm_id"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_func_pcm_id </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___config.html#a1">snd_config_t</a> ** </td> <td class="mdname" nowrap> <em>dst</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>root</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>src</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>void * </td> <td class="mdname" nowrap> <em>private_data</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Returns the pcm identification of a device. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>dst</em> </td><td> The function puts the handle to the result configuration node (with type string) at the address specified by <code>dst</code>. </td></tr> <tr><td valign=top><em>root</em> </td><td> Handle to the root source node. </td></tr> <tr><td valign=top><em>src</em> </td><td> Handle to the source node, with definitions for <code>card</code>, <code>device</code> and (optionally) <code>subdevice</code>. </td></tr> <tr><td valign=top><em>private_data</em> </td><td> Handle to the <code>private_data</code> node. </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> A non-negative value if successful, otherwise a negative error code.</dl>Example: <div class="fragment"><pre> { @func pcm_id card 0 device 0 subdevice 0 # optional } </pre></div> </td> </tr> </table> <a name="a10" doxytag="confmisc.c::snd_func_private_card_driver"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_func_private_card_driver </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___config.html#a1">snd_config_t</a> ** </td> <td class="mdname" nowrap> <em>dst</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> *root </td> <td class="mdname" nowrap> <em>ATTRIBUTE_UNUSED</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>src</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>private_data</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Returns the driver identification from <code>private_data</code>. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>dst</em> </td><td> The function puts the handle to the result configuration node (with type string) at the address specified by <code>dst</code>. </td></tr> <tr><td valign=top><em>root</em> </td><td> Handle to the root source node. </td></tr> <tr><td valign=top><em>src</em> </td><td> Handle to the source node. </td></tr> <tr><td valign=top><em>private_data</em> </td><td> Handle to the <code>private_data</code> node (type integer, id "card"). </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> A non-negative value if successful, otherwise a negative error code.</dl>Example: <div class="fragment"><pre> { @func private_card_driver } </pre></div> </td> </tr> </table> <a name="a14" doxytag="confmisc.c::snd_func_private_pcm_subdevice"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_func_private_pcm_subdevice </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___config.html#a1">snd_config_t</a> ** </td> <td class="mdname" nowrap> <em>dst</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> *root </td> <td class="mdname" nowrap> <em>ATTRIBUTE_UNUSED</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>src</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>private_data</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Returns the PCM subdevice from <code>private_data</code>. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>dst</em> </td><td> The function puts the handle to the result configuration node (with type integer) at the address specified by <code>dst</code>. </td></tr> <tr><td valign=top><em>root</em> </td><td> Handle to the root source node. </td></tr> <tr><td valign=top><em>src</em> </td><td> Handle to the source node. </td></tr> <tr><td valign=top><em>private_data</em> </td><td> Handle to the <code>private_data</code> node (type pointer, id "pcm_handle"). </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> A non-negative value if successful, otherwise a negative error code.</dl>Example: <div class="fragment"><pre> { @func private_pcm_subdevice } </pre></div> </td> </tr> </table> <a name="a9" doxytag="confmisc.c::snd_func_private_string"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_func_private_string </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___config.html#a1">snd_config_t</a> ** </td> <td class="mdname" nowrap> <em>dst</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> *root </td> <td class="mdname" nowrap> <em>ATTRIBUTE_UNUSED</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>src</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>private_data</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Returns the string from <code>private_data</code>. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>dst</em> </td><td> The function puts the handle to the result configuration node (with type string) at the address specified by <code>dst</code>. </td></tr> <tr><td valign=top><em>root</em> </td><td> Handle to the root source node. </td></tr> <tr><td valign=top><em>src</em> </td><td> Handle to the source node. </td></tr> <tr><td valign=top><em>private_data</em> </td><td> Handle to the <code>private_data</code> node (type string, id "string"). </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> A non-negative value if successful, otherwise a negative error code.</dl>Example: <div class="fragment"><pre> { @func private_string } </pre></div> </td> </tr> </table> <a name="a15" doxytag="confmisc.c::snd_func_refer"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_func_refer </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___config.html#a1">snd_config_t</a> ** </td> <td class="mdname" nowrap> <em>dst</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>root</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>src</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___config.html#a1">snd_config_t</a> * </td> <td class="mdname" nowrap> <em>private_data</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Copies the specified configuration node. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>dst</em> </td><td> The function puts the handle to the result configuration node (with the same type as the specified node) at the address specified by <code>dst</code>. </td></tr> <tr><td valign=top><em>root</em> </td><td> Handle to the root source node. </td></tr> <tr><td valign=top><em>src</em> </td><td> Handle to the source node, with definitions for <code>name</code> and (optionally) <code>file</code>. </td></tr> <tr><td valign=top><em>private_data</em> </td><td> Handle to the <code>private_data</code> node. </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> A non-negative value if successful, otherwise a negative error code. </dl><dl compact><dt><b>Note: </b></dt><dd> The root source node can be modified!</dl>Example: <div class="fragment"><pre> { @func refer file <span class="stringliteral">"/etc/myconf.conf"</span> # optional name <span class="stringliteral">"id1.id2.id3"</span> } </pre></div> </td> </tr> </table> <hr><address style="align: right;"><small>Generated on Wed Apr 2 16:06:33 2003 for ALSA project - the C library reference by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.18 </small></address> </body> </html>