<!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>conf.h Source File</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>conf.h</h1><div class="fragment"><pre>00001 00011 <span class="comment">/*</span> 00012 <span class="comment"> * This library is free software; you can redistribute it and/or modify</span> 00013 <span class="comment"> * it under the terms of the GNU Lesser General Public License as</span> 00014 <span class="comment"> * published by the Free Software Foundation; either version 2.1 of</span> 00015 <span class="comment"> * the License, or (at your option) any later version.</span> 00016 <span class="comment"> *</span> 00017 <span class="comment"> * This program is distributed in the hope that it will be useful,</span> 00018 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span> 00019 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span> 00020 <span class="comment"> * GNU Lesser General Public License for more details.</span> 00021 <span class="comment"> *</span> 00022 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span> 00023 <span class="comment"> * License along with this library; if not, write to the Free Software</span> 00024 <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span> 00025 <span class="comment"> *</span> 00026 <span class="comment"> */</span> 00027 00028 <span class="preprocessor">#ifndef __ALSA_CONF_H</span> 00029 <span class="preprocessor"></span><span class="preprocessor">#define __ALSA_CONF_H</span> 00030 <span class="preprocessor"></span> 00031 <span class="preprocessor">#ifdef __cplusplus</span> 00032 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { 00033 <span class="preprocessor">#endif</span> 00034 <span class="preprocessor"></span> <a name="l00043"></a><a class="code" href="group___config.html#a59">00043</a> <span class="preprocessor">#define SND_CONFIG_DLSYM_VERSION_EVALUATE _dlsym_config_evaluate_001</span> 00044 <span class="preprocessor"></span> <a name="l00045"></a><a class="code" href="group___config.html#a60">00045</a> <span class="preprocessor">#define SND_CONFIG_DLSYM_VERSION_HOOK _dlsym_config_hook_001</span> 00046 <span class="preprocessor"></span> <a name="l00048"></a><a class="code" href="group___config.html#a62">00048</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="group___config.html#a62">_snd_config_type</a> { 00050 <a class="code" href="group___config.html#a62a8">SND_CONFIG_TYPE_INTEGER</a>, 00052 <a class="code" href="group___config.html#a62a9">SND_CONFIG_TYPE_INTEGER64</a>, 00054 <a class="code" href="group___config.html#a62a10">SND_CONFIG_TYPE_REAL</a>, 00056 <a class="code" href="group___config.html#a62a11">SND_CONFIG_TYPE_STRING</a>, 00058 <a class="code" href="group___config.html#a62a12">SND_CONFIG_TYPE_POINTER</a>, 00060 <a class="code" href="group___config.html#a62a13">SND_CONFIG_TYPE_COMPOUND</a> = 1024 00061 } <a class="code" href="group___config.html#a0">snd_config_type_t</a>; 00062 <a name="l00069"></a><a class="code" href="group___config.html#a1">00069</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>_snd_config <a class="code" href="group___config.html#a1">snd_config_t</a>; <a name="l00077"></a><a class="code" href="group___config.html#a2">00077</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>_snd_config_iterator *<a class="code" href="group___config.html#a2">snd_config_iterator_t</a>; <a name="l00083"></a><a class="code" href="group___config.html#a3">00083</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>_snd_config_update snd_config_update_t; 00084 <a name="l00085"></a><a class="code" href="group___config.html#a4">00085</a> <span class="keyword">extern</span> <a class="code" href="group___config.html#a1">snd_config_t</a> *<a class="code" href="group___config.html#a4">snd_config</a>; 00086 00087 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a10">snd_config_top</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> **config); 00088 00089 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a12">snd_config_load</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> *config, <a class="code" href="group___input.html#a0">snd_input_t</a> *in); 00090 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a13">snd_config_load_override</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> *config, <a class="code" href="group___input.html#a0">snd_input_t</a> *in); 00091 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a44">snd_config_save</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> *config, <a class="code" href="group___output.html#a0">snd_output_t</a> *out); 00092 <span class="keywordtype">int</span> <a class="code" href="group___config.html#a9">snd_config_update</a>(<span class="keywordtype">void</span>); 00093 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a58">snd_config_update_r</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> **top, snd_config_update_t **update, <span class="keyword">const</span> <span class="keywordtype">char</span> *path); 00094 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a60">snd_config_update_free</a>(snd_config_update_t *update); 00095 <span class="keywordtype">int</span> <a class="code" href="group___config.html#a12">snd_config_update_free_global</a>(<span class="keywordtype">void</span>); 00096 00097 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a45">snd_config_search</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> *config, <span class="keyword">const</span> <span class="keywordtype">char</span> *key, 00098 <a class="code" href="group___config.html#a1">snd_config_t</a> **result); 00099 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a47">snd_config_searchv</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> *config, 00100 <a class="code" href="group___config.html#a1">snd_config_t</a> **result, ...); 00101 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a80">snd_config_search_definition</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> *config, 00102 <span class="keyword">const</span> <span class="keywordtype">char</span> *base, <span class="keyword">const</span> <span class="keywordtype">char</span> *key, 00103 <a class="code" href="group___config.html#a1">snd_config_t</a> **result); 00104 00105 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a79">snd_config_expand</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> *config, <a class="code" href="group___config.html#a1">snd_config_t</a> *root, 00106 <span class="keyword">const</span> <span class="keywordtype">char</span> *args, <a class="code" href="group___config.html#a1">snd_config_t</a> *private_data, 00107 <a class="code" href="group___config.html#a1">snd_config_t</a> **result); 00108 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a71">snd_config_evaluate</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> *config, <a class="code" href="group___config.html#a1">snd_config_t</a> *root, 00109 <a class="code" href="group___config.html#a1">snd_config_t</a> *private_data, <a class="code" href="group___config.html#a1">snd_config_t</a> **result); 00110 00111 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a14">snd_config_add</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> *config, <a class="code" href="group___config.html#a1">snd_config_t</a> *leaf); 00112 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a16">snd_config_delete</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> *config); 00113 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a17">snd_config_delete_compound_members</a>(<span class="keyword">const</span> <a class="code" href="group___config.html#a1">snd_config_t</a> *config); 00114 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a68">snd_config_copy</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> **dst, <a class="code" href="group___config.html#a1">snd_config_t</a> *src); 00115 00116 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a18">snd_config_make</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> **config, <span class="keyword">const</span> <span class="keywordtype">char</span> *key, 00117 <a class="code" href="group___config.html#a0">snd_config_type_t</a> type); 00118 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a19">snd_config_make_integer</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> **config, <span class="keyword">const</span> <span class="keywordtype">char</span> *key); 00119 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a20">snd_config_make_integer64</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> **config, <span class="keyword">const</span> <span class="keywordtype">char</span> *key); 00120 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a21">snd_config_make_real</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> **config, <span class="keyword">const</span> <span class="keywordtype">char</span> *key); 00121 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a22">snd_config_make_string</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> **config, <span class="keyword">const</span> <span class="keywordtype">char</span> *key); 00122 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a23">snd_config_make_pointer</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> **config, <span class="keyword">const</span> <span class="keywordtype">char</span> *key); 00123 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a24">snd_config_make_compound</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> **config, <span class="keyword">const</span> <span class="keywordtype">char</span> *key, <span class="keywordtype">int</span> join); 00124 00125 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a25">snd_config_imake_integer</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> **config, <span class="keyword">const</span> <span class="keywordtype">char</span> *key, <span class="keyword">const</span> <span class="keywordtype">long</span> value); 00126 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a26">snd_config_imake_integer64</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> **config, <span class="keyword">const</span> <span class="keywordtype">char</span> *key, <span class="keyword">const</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> value); 00127 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a27">snd_config_imake_real</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> **config, <span class="keyword">const</span> <span class="keywordtype">char</span> *key, <span class="keyword">const</span> <span class="keywordtype">double</span> value); 00128 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a28">snd_config_imake_string</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> **config, <span class="keyword">const</span> <span class="keywordtype">char</span> *key, <span class="keyword">const</span> <span class="keywordtype">char</span> *ascii); 00129 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a29">snd_config_imake_pointer</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> **config, <span class="keyword">const</span> <span class="keywordtype">char</span> *key, <span class="keyword">const</span> <span class="keywordtype">void</span> *ptr); 00130 00131 <a class="code" href="group___config.html#a0">snd_config_type_t</a> <a class="code" href="conf_8c.html#a7">snd_config_get_type</a>(<span class="keyword">const</span> <a class="code" href="group___config.html#a1">snd_config_t</a> *config); 00132 00133 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a9">snd_config_set_id</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> *config, <span class="keyword">const</span> <span class="keywordtype">char</span> *id); 00134 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a30">snd_config_set_integer</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> *config, <span class="keywordtype">long</span> value); 00135 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a31">snd_config_set_integer64</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> *config, <span class="keywordtype">long</span> <span class="keywordtype">long</span> value); 00136 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a32">snd_config_set_real</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> *config, <span class="keywordtype">double</span> value); 00137 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a33">snd_config_set_string</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> *config, <span class="keyword">const</span> <span class="keywordtype">char</span> *value); 00138 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a35">snd_config_set_ascii</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> *config, <span class="keyword">const</span> <span class="keywordtype">char</span> *ascii); 00139 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a34">snd_config_set_pointer</a>(<a class="code" href="group___config.html#a1">snd_config_t</a> *config, <span class="keyword">const</span> <span class="keywordtype">void</span> *ptr); 00140 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a8">snd_config_get_id</a>(<span class="keyword">const</span> <a class="code" href="group___config.html#a1">snd_config_t</a> *config, <span class="keyword">const</span> <span class="keywordtype">char</span> **value); 00141 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a36">snd_config_get_integer</a>(<span class="keyword">const</span> <a class="code" href="group___config.html#a1">snd_config_t</a> *config, <span class="keywordtype">long</span> *value); 00142 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a37">snd_config_get_integer64</a>(<span class="keyword">const</span> <a class="code" href="group___config.html#a1">snd_config_t</a> *config, <span class="keywordtype">long</span> <span class="keywordtype">long</span> *value); 00143 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a38">snd_config_get_real</a>(<span class="keyword">const</span> <a class="code" href="group___config.html#a1">snd_config_t</a> *config, <span class="keywordtype">double</span> *value); 00144 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a39">snd_config_get_ireal</a>(<span class="keyword">const</span> <a class="code" href="group___config.html#a1">snd_config_t</a> *config, <span class="keywordtype">double</span> *value); 00145 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a40">snd_config_get_string</a>(<span class="keyword">const</span> <a class="code" href="group___config.html#a1">snd_config_t</a> *config, <span class="keyword">const</span> <span class="keywordtype">char</span> **value); 00146 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a42">snd_config_get_ascii</a>(<span class="keyword">const</span> <a class="code" href="group___config.html#a1">snd_config_t</a> *config, <span class="keywordtype">char</span> **value); 00147 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a41">snd_config_get_pointer</a>(<span class="keyword">const</span> <a class="code" href="group___config.html#a1">snd_config_t</a> *config, <span class="keyword">const</span> <span class="keywordtype">void</span> **value); 00148 <span class="keywordtype">int</span> <a class="code" href="conf_8c.html#a43">snd_config_test_id</a>(<span class="keyword">const</span> <a class="code" href="group___config.html#a1">snd_config_t</a> *config, <span class="keyword">const</span> <span class="keywordtype">char</span> *id); 00149 00150 <a class="code" href="group___config.html#a2">snd_config_iterator_t</a> <a class="code" href="conf_8c.html#a62">snd_config_iterator_first</a>(<span class="keyword">const</span> <a class="code" href="group___config.html#a1">snd_config_t</a> *node); 00151 <a class="code" href="group___config.html#a2">snd_config_iterator_t</a> <a class="code" href="conf_8c.html#a63">snd_config_iterator_next</a>(<span class="keyword">const</span> <a class="code" href="group___config.html#a2">snd_config_iterator_t</a> iterator); 00152 <a class="code" href="group___config.html#a2">snd_config_iterator_t</a> <a class="code" href="conf_8c.html#a64">snd_config_iterator_end</a>(<span class="keyword">const</span> <a class="code" href="group___config.html#a1">snd_config_t</a> *node); 00153 <a class="code" href="group___config.html#a1">snd_config_t</a> *<a class="code" href="conf_8c.html#a65">snd_config_iterator_entry</a>(<span class="keyword">const</span> <a class="code" href="group___config.html#a2">snd_config_iterator_t</a> iterator); 00154 <a name="l00163"></a><a class="code" href="group___config.html#a61">00163</a> <span class="preprocessor">#define snd_config_for_each(pos, next, node) \</span> 00164 <span class="preprocessor"> for (pos = snd_config_iterator_first(node), next = snd_config_iterator_next(pos); pos != snd_config_iterator_end(node); pos = next, next = snd_config_iterator_next(pos))</span> 00165 <span class="preprocessor"></span> 00166 <span class="comment">/* Misc functions */</span> 00167 00168 <span class="keywordtype">int</span> <a class="code" href="confmisc_8c.html#a0">snd_config_get_bool_ascii</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *ascii); 00169 <span class="keywordtype">int</span> <a class="code" href="confmisc_8c.html#a1">snd_config_get_bool</a>(<span class="keyword">const</span> <a class="code" href="group___config.html#a1">snd_config_t</a> *conf); 00170 <span class="keywordtype">int</span> <a class="code" href="confmisc_8c.html#a2">snd_config_get_ctl_iface_ascii</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *ascii); 00171 <span class="keywordtype">int</span> <a class="code" href="confmisc_8c.html#a3">snd_config_get_ctl_iface</a>(<span class="keyword">const</span> <a class="code" href="group___config.html#a1">snd_config_t</a> *conf); 00172 00175 <span class="preprocessor">#ifdef __cplusplus</span> 00176 <span class="preprocessor"></span>} 00177 <span class="preprocessor">#endif</span> 00178 <span class="preprocessor"></span> 00179 <span class="preprocessor">#endif </span><span class="comment">/* __ALSA_CONF_H */</span> 00180 </pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 16:06:31 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>