File: //usr/share/doc/alsa-lib-devel-1.0.17/lib64/html/pcm__hooks_8c.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ALSA project - the C library reference: /builddir/build/BUILD/alsa-lib-1.0.17a/src/pcm/pcm_hooks.c File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main Page</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 id="current"><a href="files.html"><span>Files</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul></div>
<h1>/builddir/build/BUILD/alsa-lib-1.0.17a/src/pcm/pcm_hooks.c File Reference</h1>PCM Hook Interface. <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 class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pcm__hooks_8c.html#c20df8fef22742c9066858a3ce8070a7">snd_pcm_hooks_open</a> (<a class="el" href="group___p_c_m.html#gb5676348e7618b444e28907607660cef">snd_pcm_t</a> **pcmp, const char *name, <a class="el" href="group___p_c_m.html#gb5676348e7618b444e28907607660cef">snd_pcm_t</a> *slave, int close_slave)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a new hooks PCM. <a href="#c20df8fef22742c9066858a3ce8070a7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pcm__hooks_8c.html#dfe222761eb6d1aab99475b57cf286db">_snd_pcm_hooks_open</a> (<a class="el" href="group___p_c_m.html#gb5676348e7618b444e28907607660cef">snd_pcm_t</a> **pcmp, const char *name, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *root, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *conf, <a class="el" href="group___p_c_m.html#g854f0966bd0d7248ed3d9e5c293136ed">snd_pcm_stream_t</a> stream, int mode)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a new hooks PCM. <a href="#dfe222761eb6d1aab99475b57cf286db"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group___p_c_m.html#gb5676348e7618b444e28907607660cef">snd_pcm_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___hook.html#g7e35037722b4eac871355253ee5aba0b">snd_pcm_hook_get_pcm</a> (<a class="el" href="group___p_c_m___hook.html#g9650da88cca4114e1f16303c4bcf0da7">snd_pcm_hook_t</a> *hook)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get PCM handle for a PCM hook. <a href="group___p_c_m___hook.html#g7e35037722b4eac871355253ee5aba0b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___hook.html#g168abc18a96e4a831a5989927408992d">snd_pcm_hook_get_private</a> (<a class="el" href="group___p_c_m___hook.html#g9650da88cca4114e1f16303c4bcf0da7">snd_pcm_hook_t</a> *hook)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get callback function private data for a PCM hook. <a href="group___p_c_m___hook.html#g168abc18a96e4a831a5989927408992d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___hook.html#ga2bc189746d1f5f918ae6dcbbf62f9bc">snd_pcm_hook_set_private</a> (<a class="el" href="group___p_c_m___hook.html#g9650da88cca4114e1f16303c4bcf0da7">snd_pcm_hook_t</a> *hook, void *private_data)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set callback function private data for a PCM hook. <a href="group___p_c_m___hook.html#ga2bc189746d1f5f918ae6dcbbf62f9bc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___hook.html#g6bb65df20d81b2c742b636d573195cd2">snd_pcm_hook_add</a> (<a class="el" href="group___p_c_m___hook.html#g9650da88cca4114e1f16303c4bcf0da7">snd_pcm_hook_t</a> **hookp, <a class="el" href="group___p_c_m.html#gb5676348e7618b444e28907607660cef">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m___hook.html#gddb85ea9304bd1c56ba1948822440fad">snd_pcm_hook_type_t</a> type, <a class="el" href="group___p_c_m___hook.html#g769d13eceb6a6530761b07fa1c7e6f2c">snd_pcm_hook_func_t</a> func, void *private_data)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Add a PCM hook at end of hooks chain. <a href="group___p_c_m___hook.html#g6bb65df20d81b2c742b636d573195cd2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___hook.html#g65d5a725a5edcd8acae8ca3d6bad4cb2">snd_pcm_hook_remove</a> (<a class="el" href="group___p_c_m___hook.html#g9650da88cca4114e1f16303c4bcf0da7">snd_pcm_hook_t</a> *hook)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Remove a PCM hook. <a href="group___p_c_m___hook.html#g65d5a725a5edcd8acae8ca3d6bad4cb2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pcm__hooks_8c.html#1ff6eec6f67c89844d409d7a42e26115">_snd_pcm_hook_ctl_elems_install</a> (<a class="el" href="group___p_c_m.html#gb5676348e7618b444e28907607660cef">snd_pcm_t</a> *pcm, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *conf)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Install CTL settings using hardware associated with PCM handle. <a href="#1ff6eec6f67c89844d409d7a42e26115"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
PCM Hook Interface.
<p>
<dl compact><dt><b>Author:</b></dt><dd>Abramo Bagnara <<a href="mailto:abramo@alsa-project.org">abramo@alsa-project.org</a>> <p>
Jaroslav Kysela <<a href="mailto:perex@perex.cz">perex@perex.cz</a>> </dd></dl>
<dl compact><dt><b>Date:</b></dt><dd>2000-2001 </dd></dl>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="1ff6eec6f67c89844d409d7a42e26115"></a><!-- doxytag: member="pcm_hooks.c::_snd_pcm_hook_ctl_elems_install" ref="1ff6eec6f67c89844d409d7a42e26115" args="(snd_pcm_t *pcm, snd_config_t *conf)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int _snd_pcm_hook_ctl_elems_install </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___p_c_m.html#gb5676348e7618b444e28907607660cef">snd_pcm_t</a> * </td>
<td class="paramname"> <em>pcm</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> * </td>
<td class="paramname"> <em>conf</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Install CTL settings using hardware associated with PCM handle.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>pcm</em> </td><td>PCM handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>conf</em> </td><td>Configuration node with CTL settings </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>zero on success otherwise a negative error code </dd></dl>
</div>
</div><p>
<a class="anchor" name="dfe222761eb6d1aab99475b57cf286db"></a><!-- doxytag: member="pcm_hooks.c::_snd_pcm_hooks_open" ref="dfe222761eb6d1aab99475b57cf286db" args="(snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int _snd_pcm_hooks_open </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___p_c_m.html#gb5676348e7618b444e28907607660cef">snd_pcm_t</a> ** </td>
<td class="paramname"> <em>pcmp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> * </td>
<td class="paramname"> <em>root</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> * </td>
<td class="paramname"> <em>conf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group___p_c_m.html#g854f0966bd0d7248ed3d9e5c293136ed">snd_pcm_stream_t</a> </td>
<td class="paramname"> <em>stream</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>mode</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Creates a new hooks PCM.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>pcmp</em> </td><td>Returns created PCM handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>Name of PCM </td></tr>
<tr><td valign="top"></td><td valign="top"><em>root</em> </td><td>Root configuration node </td></tr>
<tr><td valign="top"></td><td valign="top"><em>conf</em> </td><td>Configuration node with hooks PCM description </td></tr>
<tr><td valign="top"></td><td valign="top"><em>stream</em> </td><td>PCM Stream </td></tr>
<tr><td valign="top"></td><td valign="top"><em>mode</em> </td><td>PCM Mode </td></tr>
</table>
</dl>
<dl compact><dt><b>Return values:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>zero</em> </td><td>on success otherwise a negative error code </td></tr>
</table>
</dl>
<dl compact><dt><b>Warning:</b></dt><dd>Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future. </dd></dl>
</div>
</div><p>
<a class="anchor" name="c20df8fef22742c9066858a3ce8070a7"></a><!-- doxytag: member="pcm_hooks.c::snd_pcm_hooks_open" ref="c20df8fef22742c9066858a3ce8070a7" args="(snd_pcm_t **pcmp, const char *name, snd_pcm_t *slave, int close_slave)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_pcm_hooks_open </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___p_c_m.html#gb5676348e7618b444e28907607660cef">snd_pcm_t</a> ** </td>
<td class="paramname"> <em>pcmp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group___p_c_m.html#gb5676348e7618b444e28907607660cef">snd_pcm_t</a> * </td>
<td class="paramname"> <em>slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>close_slave</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Creates a new hooks PCM.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>pcmp</em> </td><td>Returns created PCM handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>Name of PCM </td></tr>
<tr><td valign="top"></td><td valign="top"><em>slave</em> </td><td>Slave PCM </td></tr>
<tr><td valign="top"></td><td valign="top"><em>close_slave</em> </td><td>If set, slave PCM handle is closed when hooks PCM is closed </td></tr>
</table>
</dl>
<dl compact><dt><b>Return values:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>zero</em> </td><td>on success otherwise a negative error code </td></tr>
</table>
</dl>
<dl compact><dt><b>Warning:</b></dt><dd>Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future. </dd></dl>
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Tue Jan 20 22:42:10 2009 for ALSA project - the C library reference by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>