Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > by-pkgid > 34546d63baef3ab2a7675f37737b66ab > files > 158

libalsa2-docs-1.0.23-2.1mdv2010.1.i586.rpm

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!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"/>
<title>ALSA project - the C library reference: /home/qateam/rpm/BUILD/alsa-lib-1.0.23/include/pcm_ioplug.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li 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">
        <img id="MSearchSelect" src="search/search.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)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<h1>/home/qateam/rpm/BUILD/alsa-lib-1.0.23/include/pcm_ioplug.h</h1><a href="pcm__ioplug_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
<a name="l00010"></a>00010 <span class="comment">/*</span>
<a name="l00011"></a>00011 <span class="comment"> * ALSA external PCM plugin SDK</span>
<a name="l00012"></a>00012 <span class="comment"> *</span>
<a name="l00013"></a>00013 <span class="comment"> * Copyright (c) 2005 Takashi Iwai &lt;tiwai@suse.de&gt;</span>
<a name="l00014"></a>00014 <span class="comment"> *</span>
<a name="l00015"></a>00015 <span class="comment"> *   This library is free software; you can redistribute it and/or modify</span>
<a name="l00016"></a>00016 <span class="comment"> *   it under the terms of the GNU Lesser General Public License as</span>
<a name="l00017"></a>00017 <span class="comment"> *   published by the Free Software Foundation; either version 2.1 of</span>
<a name="l00018"></a>00018 <span class="comment"> *   the License, or (at your option) any later version.</span>
<a name="l00019"></a>00019 <span class="comment"> *</span>
<a name="l00020"></a>00020 <span class="comment"> *   This program is distributed in the hope that it will be useful,</span>
<a name="l00021"></a>00021 <span class="comment"> *   but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00022"></a>00022 <span class="comment"> *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
<a name="l00023"></a>00023 <span class="comment"> *   GNU Lesser General Public License for more details.</span>
<a name="l00024"></a>00024 <span class="comment"> *</span>
<a name="l00025"></a>00025 <span class="comment"> *   You should have received a copy of the GNU Lesser General Public</span>
<a name="l00026"></a>00026 <span class="comment"> *   License along with this library; if not, write to the Free Software</span>
<a name="l00027"></a>00027 <span class="comment"> *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA</span>
<a name="l00028"></a>00028 <span class="comment"> *</span>
<a name="l00029"></a>00029 <span class="comment"> */</span>
<a name="l00030"></a>00030 
<a name="l00031"></a>00031 <span class="preprocessor">#ifndef __ALSA_PCM_IOPLUG_H</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#define __ALSA_PCM_IOPLUG_H</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span>
<a name="l00042"></a>00042 <span class="keyword">enum</span> {
<a name="l00043"></a><a class="code" href="group___p_c_m___i_o_plug.html#gga726ca809ffd3d67ab4b8476646f26635adf64bb9d9a7f95f878e8bb22e003c357">00043</a>         <a class="code" href="group___p_c_m___i_o_plug.html#gga726ca809ffd3d67ab4b8476646f26635adf64bb9d9a7f95f878e8bb22e003c357">SND_PCM_IOPLUG_HW_ACCESS</a> = 0,   
<a name="l00044"></a><a class="code" href="group___p_c_m___i_o_plug.html#gga726ca809ffd3d67ab4b8476646f26635aa7186fa6ab3791611363c83f725f1a57">00044</a>         <a class="code" href="group___p_c_m___i_o_plug.html#gga726ca809ffd3d67ab4b8476646f26635aa7186fa6ab3791611363c83f725f1a57">SND_PCM_IOPLUG_HW_FORMAT</a>,       
<a name="l00045"></a><a class="code" href="group___p_c_m___i_o_plug.html#gga726ca809ffd3d67ab4b8476646f26635a5cb59832a513d2b87166000d3f4035e2">00045</a>         <a class="code" href="group___p_c_m___i_o_plug.html#gga726ca809ffd3d67ab4b8476646f26635a5cb59832a513d2b87166000d3f4035e2">SND_PCM_IOPLUG_HW_CHANNELS</a>,     
<a name="l00046"></a><a class="code" href="group___p_c_m___i_o_plug.html#gga726ca809ffd3d67ab4b8476646f26635a43827c9773bc5c40a1643bd8f930c8d1">00046</a>         <a class="code" href="group___p_c_m___i_o_plug.html#gga726ca809ffd3d67ab4b8476646f26635a43827c9773bc5c40a1643bd8f930c8d1">SND_PCM_IOPLUG_HW_RATE</a>,         
<a name="l00047"></a><a class="code" href="group___p_c_m___i_o_plug.html#gga726ca809ffd3d67ab4b8476646f26635aafe12ebbe6f618aa75cc7c5d64d45eda">00047</a>         <a class="code" href="group___p_c_m___i_o_plug.html#gga726ca809ffd3d67ab4b8476646f26635aafe12ebbe6f618aa75cc7c5d64d45eda">SND_PCM_IOPLUG_HW_PERIOD_BYTES</a>, 
<a name="l00048"></a><a class="code" href="group___p_c_m___i_o_plug.html#gga726ca809ffd3d67ab4b8476646f26635a004f7b7af23b37d30d520777158e8277">00048</a>         <a class="code" href="group___p_c_m___i_o_plug.html#gga726ca809ffd3d67ab4b8476646f26635a004f7b7af23b37d30d520777158e8277">SND_PCM_IOPLUG_HW_BUFFER_BYTES</a>, 
<a name="l00049"></a><a class="code" href="group___p_c_m___i_o_plug.html#gga726ca809ffd3d67ab4b8476646f26635a1f68c89ac11ae9fe28710cee044a0b94">00049</a>         <a class="code" href="group___p_c_m___i_o_plug.html#gga726ca809ffd3d67ab4b8476646f26635a1f68c89ac11ae9fe28710cee044a0b94">SND_PCM_IOPLUG_HW_PERIODS</a>,      
<a name="l00050"></a><a class="code" href="group___p_c_m___i_o_plug.html#gga726ca809ffd3d67ab4b8476646f26635ab024a119736127e7a606c75e57d34585">00050</a>         <a class="code" href="group___p_c_m___i_o_plug.html#gga726ca809ffd3d67ab4b8476646f26635ab024a119736127e7a606c75e57d34585">SND_PCM_IOPLUG_HW_PARAMS</a>        
<a name="l00051"></a>00051 };
<a name="l00052"></a>00052         
<a name="l00054"></a>00054 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structsnd__pcm__ioplug.html">snd_pcm_ioplug</a> snd_pcm_ioplug_t;
<a name="l00056"></a>00056 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structsnd__pcm__ioplug__callback.html">snd_pcm_ioplug_callback</a> snd_pcm_ioplug_callback_t;
<a name="l00057"></a>00057 
<a name="l00058"></a>00058 <span class="comment">/*</span>
<a name="l00059"></a>00059 <span class="comment"> * bit flags for additional conditions</span>
<a name="l00060"></a>00060 <span class="comment"> */</span>
<a name="l00061"></a><a class="code" href="group___p_c_m___i_o_plug.html#ga435c57838f97c24b7274a9596ccbe3b6">00061</a> <span class="preprocessor">#define SND_PCM_IOPLUG_FLAG_LISTED      (1&lt;&lt;0)          </span>
<a name="l00062"></a><a class="code" href="group___p_c_m___i_o_plug.html#gad5c0b67e4d9b7be96f1083179e95f38a">00062</a> <span class="preprocessor">#define SND_PCM_IOPLUG_FLAG_MONOTONIC   (1&lt;&lt;1)          </span>
<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="comment">/*</span>
<a name="l00065"></a>00065 <span class="comment"> * Protocol version</span>
<a name="l00066"></a>00066 <span class="comment"> */</span>
<a name="l00067"></a><a class="code" href="group___p_c_m___i_o_plug.html#ga46f4111ec394e6c4209a4e1b5f99a9f7">00067</a> <span class="preprocessor">#define SND_PCM_IOPLUG_VERSION_MAJOR    1       </span>
<a name="l00068"></a><a class="code" href="group___p_c_m___i_o_plug.html#ga49ea8946ea0c9b2655b70afb03ed79bd">00068</a> <span class="preprocessor">#define SND_PCM_IOPLUG_VERSION_MINOR    0       </span>
<a name="l00069"></a><a class="code" href="group___p_c_m___i_o_plug.html#gabe46103216aa58afc3c4bc314dd1bbc6">00069</a> <span class="preprocessor">#define SND_PCM_IOPLUG_VERSION_TINY     1       </span>
<a name="l00073"></a><a class="code" href="group___p_c_m___i_o_plug.html#ga81a2273c4df9be29d91e6e2a0860d991">00073</a> <span class="preprocessor">#define SND_PCM_IOPLUG_VERSION          ((SND_PCM_IOPLUG_VERSION_MAJOR&lt;&lt;16) |\</span>
<a name="l00074"></a>00074 <span class="preprocessor">                                         (SND_PCM_IOPLUG_VERSION_MINOR&lt;&lt;8) |\</span>
<a name="l00075"></a>00075 <span class="preprocessor">                                         (SND_PCM_IOPLUG_VERSION_TINY))</span>
<a name="l00076"></a>00076 <span class="preprocessor"></span>
<a name="l00078"></a><a class="code" href="structsnd__pcm__ioplug.html">00078</a> <span class="keyword">struct </span><a class="code" href="structsnd__pcm__ioplug.html">snd_pcm_ioplug</a> {
<a name="l00083"></a><a class="code" href="structsnd__pcm__ioplug.html#a82212f3b4b3faf86e4cd94f73f3709f7">00083</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structsnd__pcm__ioplug.html#a82212f3b4b3faf86e4cd94f73f3709f7">version</a>;
<a name="l00087"></a><a class="code" href="structsnd__pcm__ioplug.html#a26cb709f26f0a27b431c4f8ac8a8432e">00087</a>         <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structsnd__pcm__ioplug.html#a26cb709f26f0a27b431c4f8ac8a8432e">name</a>;
<a name="l00088"></a><a class="code" href="structsnd__pcm__ioplug.html#aeeaec19c1ebc6c7f495e63f1dbb44077">00088</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structsnd__pcm__ioplug.html#aeeaec19c1ebc6c7f495e63f1dbb44077">flags</a>;     
<a name="l00089"></a><a class="code" href="structsnd__pcm__ioplug.html#ab5ec9a953c48eb2497320ca29fa70ccc">00089</a>         <span class="keywordtype">int</span> <a class="code" href="structsnd__pcm__ioplug.html#ab5ec9a953c48eb2497320ca29fa70ccc">poll_fd</a>;            
<a name="l00090"></a><a class="code" href="structsnd__pcm__ioplug.html#aa6d9e1a0e624deb63327949ec0993ded">00090</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structsnd__pcm__ioplug.html#aa6d9e1a0e624deb63327949ec0993ded">poll_events</a>;       
<a name="l00091"></a><a class="code" href="structsnd__pcm__ioplug.html#adbd5412219daee8f2c79e971d1f53222">00091</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structsnd__pcm__ioplug.html#adbd5412219daee8f2c79e971d1f53222">mmap_rw</a>;           
<a name="l00095"></a><a class="code" href="structsnd__pcm__ioplug.html#a4343b66b90eb1c0d1f80ff32405d11eb">00095</a>         <span class="keyword">const</span> snd_pcm_ioplug_callback_t *<a class="code" href="structsnd__pcm__ioplug.html#a4343b66b90eb1c0d1f80ff32405d11eb">callback</a>;
<a name="l00099"></a><a class="code" href="structsnd__pcm__ioplug.html#ac311b3a612c0d95b91cc16b9fe964cc8">00099</a>         <span class="keywordtype">void</span> *<a class="code" href="structsnd__pcm__ioplug.html#ac311b3a612c0d95b91cc16b9fe964cc8">private_data</a>;
<a name="l00103"></a><a class="code" href="structsnd__pcm__ioplug.html#a937fbef4311a361f4564d27a9ba4578b">00103</a>         <a class="code" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *<a class="code" href="structsnd__pcm__ioplug.html#a937fbef4311a361f4564d27a9ba4578b">pcm</a>;
<a name="l00104"></a>00104 
<a name="l00105"></a><a class="code" href="structsnd__pcm__ioplug.html#a8e67308342c0c6eab702016a402b4647">00105</a>         <a class="code" href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">snd_pcm_stream_t</a> <a class="code" href="structsnd__pcm__ioplug.html#a8e67308342c0c6eab702016a402b4647">stream</a>;        
<a name="l00106"></a><a class="code" href="structsnd__pcm__ioplug.html#a9a25a295689632b4de8e7e673f57e94c">00106</a>         <a class="code" href="group___p_c_m.html#ga61ac499cb3701ce536d4d83725908860">snd_pcm_state_t</a> <a class="code" href="structsnd__pcm__ioplug.html#a9a25a295689632b4de8e7e673f57e94c">state</a>;          
<a name="l00107"></a><a class="code" href="structsnd__pcm__ioplug.html#a66cf297ebbce9453b4bbd961f081c730">00107</a>         <span class="keyword">volatile</span> <a class="code" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> <a class="code" href="structsnd__pcm__ioplug.html#a66cf297ebbce9453b4bbd961f081c730">appl_ptr</a>;    
<a name="l00108"></a><a class="code" href="structsnd__pcm__ioplug.html#aa314200db67b8cc9ad89cd53f6102f26">00108</a>         <span class="keyword">volatile</span> <a class="code" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> <a class="code" href="structsnd__pcm__ioplug.html#aa314200db67b8cc9ad89cd53f6102f26">hw_ptr</a>;      
<a name="l00109"></a><a class="code" href="structsnd__pcm__ioplug.html#a5186222a90004912d0895ba47631423d">00109</a>         <span class="keywordtype">int</span> <a class="code" href="structsnd__pcm__ioplug.html#a5186222a90004912d0895ba47631423d">nonblock</a>;                   
<a name="l00111"></a><a class="code" href="structsnd__pcm__ioplug.html#ac49bda6dd5d2e530d50478be89365ddc">00111</a>         <a class="code" href="group___p_c_m.html#ga661221ba5e8f1d6eaf4ab8e2da57cc1a">snd_pcm_access_t</a> <a class="code" href="structsnd__pcm__ioplug.html#ac49bda6dd5d2e530d50478be89365ddc">access</a>;        
<a name="l00112"></a><a class="code" href="structsnd__pcm__ioplug.html#a23dd3c4e4a032e35a4cc9a4ca83a07ec">00112</a>         <a class="code" href="group___p_c_m.html#gaa14b7f26877a812acbb39811364177f8">snd_pcm_format_t</a> <a class="code" href="structsnd__pcm__ioplug.html#a23dd3c4e4a032e35a4cc9a4ca83a07ec">format</a>;        
<a name="l00113"></a><a class="code" href="structsnd__pcm__ioplug.html#ad25aba6588312a3a8921971fb12bf789">00113</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structsnd__pcm__ioplug.html#ad25aba6588312a3a8921971fb12bf789">channels</a>;          
<a name="l00114"></a><a class="code" href="structsnd__pcm__ioplug.html#ab7cb56b9d1ade3b984fa96bd392b2c9e">00114</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structsnd__pcm__ioplug.html#ab7cb56b9d1ade3b984fa96bd392b2c9e">rate</a>;              
<a name="l00115"></a><a class="code" href="structsnd__pcm__ioplug.html#aecac0c1343109c8b913b867ad7701f90">00115</a>         <a class="code" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> <a class="code" href="structsnd__pcm__ioplug.html#aecac0c1343109c8b913b867ad7701f90">period_size</a>;  
<a name="l00116"></a><a class="code" href="structsnd__pcm__ioplug.html#a6138fb3dabf4c87a321c3e894021ff16">00116</a>         <a class="code" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> <a class="code" href="structsnd__pcm__ioplug.html#a6138fb3dabf4c87a321c3e894021ff16">buffer_size</a>;  
<a name="l00117"></a>00117 };
<a name="l00118"></a>00118 
<a name="l00120"></a><a class="code" href="structsnd__pcm__ioplug__callback.html">00120</a> <span class="keyword">struct </span><a class="code" href="structsnd__pcm__ioplug__callback.html">snd_pcm_ioplug_callback</a> {
<a name="l00124"></a><a class="code" href="structsnd__pcm__ioplug__callback.html#a26130cd61ac1c47d788fb806de7e53d0">00124</a>         int (*<a class="code" href="structsnd__pcm__ioplug__callback.html#a26130cd61ac1c47d788fb806de7e53d0">start</a>)(snd_pcm_ioplug_t *io);
<a name="l00128"></a><a class="code" href="structsnd__pcm__ioplug__callback.html#afbbb193940d8a0fdd04d2d91d885e9f5">00128</a>         int (*<a class="code" href="structsnd__pcm__ioplug__callback.html#afbbb193940d8a0fdd04d2d91d885e9f5">stop</a>)(snd_pcm_ioplug_t *io);
<a name="l00132"></a><a class="code" href="structsnd__pcm__ioplug__callback.html#a7a074906f3037b4f6dcc28d6136f7a68">00132</a>         <a class="code" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> (*<a class="code" href="structsnd__pcm__ioplug__callback.html#a7a074906f3037b4f6dcc28d6136f7a68">pointer</a>)(snd_pcm_ioplug_t *io);
<a name="l00136"></a><a class="code" href="structsnd__pcm__ioplug__callback.html#a3a9578f0e8f2de4203e988c3a5a205fb">00136</a>         <a class="code" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> (*<a class="code" href="structsnd__pcm__ioplug__callback.html#a3a9578f0e8f2de4203e988c3a5a205fb">transfer</a>)(snd_pcm_ioplug_t *io,
<a name="l00137"></a>00137                                       <span class="keyword">const</span> <a class="code" href="structsnd__pcm__channel__area__t.html">snd_pcm_channel_area_t</a> *areas,
<a name="l00138"></a>00138                                       <a class="code" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> offset,
<a name="l00139"></a>00139                                       <a class="code" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> size);
<a name="l00143"></a><a class="code" href="structsnd__pcm__ioplug__callback.html#afd642130ecae71293caa15279c98537e">00143</a>         int (*<a class="code" href="structsnd__pcm__ioplug__callback.html#afd642130ecae71293caa15279c98537e">close</a>)(snd_pcm_ioplug_t *io);
<a name="l00147"></a><a class="code" href="structsnd__pcm__ioplug__callback.html#a411078734ab59626c15d459800998e3d">00147</a>         int (*<a class="code" href="structsnd__pcm__ioplug__callback.html#a411078734ab59626c15d459800998e3d">hw_params</a>)(snd_pcm_ioplug_t *io, <a class="code" href="group___p_c_m.html#ga65c737127994f0a980edad744e36dc40">snd_pcm_hw_params_t</a> *params);
<a name="l00151"></a><a class="code" href="structsnd__pcm__ioplug__callback.html#a574be37b1eeed5f39806c2386a02a63f">00151</a>         int (*<a class="code" href="structsnd__pcm__ioplug__callback.html#a574be37b1eeed5f39806c2386a02a63f">hw_free</a>)(snd_pcm_ioplug_t *io);
<a name="l00155"></a><a class="code" href="structsnd__pcm__ioplug__callback.html#a67eceefe04515ec6e18c23cff297f920">00155</a>         int (*<a class="code" href="structsnd__pcm__ioplug__callback.html#a67eceefe04515ec6e18c23cff297f920">sw_params</a>)(snd_pcm_ioplug_t *io, <a class="code" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *params);
<a name="l00159"></a><a class="code" href="structsnd__pcm__ioplug__callback.html#a345566330b8ff81a954452091c3ee03b">00159</a>         int (*<a class="code" href="structsnd__pcm__ioplug__callback.html#a345566330b8ff81a954452091c3ee03b">prepare</a>)(snd_pcm_ioplug_t *io);
<a name="l00163"></a><a class="code" href="structsnd__pcm__ioplug__callback.html#af1a1b3bc1616f228636f0273e8559fac">00163</a>         int (*<a class="code" href="structsnd__pcm__ioplug__callback.html#af1a1b3bc1616f228636f0273e8559fac">drain</a>)(snd_pcm_ioplug_t *io);
<a name="l00167"></a><a class="code" href="structsnd__pcm__ioplug__callback.html#a3b80d9e3d96fd6fbc35cba3536f1a55e">00167</a>         int (*<a class="code" href="structsnd__pcm__ioplug__callback.html#a3b80d9e3d96fd6fbc35cba3536f1a55e">pause</a>)(snd_pcm_ioplug_t *io, <span class="keywordtype">int</span> enable);
<a name="l00171"></a><a class="code" href="structsnd__pcm__ioplug__callback.html#ab6618ecfb521e732deebc45b45a33fcf">00171</a>         int (*<a class="code" href="structsnd__pcm__ioplug__callback.html#ab6618ecfb521e732deebc45b45a33fcf">resume</a>)(snd_pcm_ioplug_t *io);
<a name="l00175"></a><a class="code" href="structsnd__pcm__ioplug__callback.html#a3d30deb039530293ce60596131f78c77">00175</a>         int (*<a class="code" href="structsnd__pcm__ioplug__callback.html#a3d30deb039530293ce60596131f78c77">poll_descriptors_count</a>)(snd_pcm_ioplug_t *io);
<a name="l00179"></a><a class="code" href="structsnd__pcm__ioplug__callback.html#ad58aff38733971f26c55f3bdcc5a8d74">00179</a>         int (*<a class="code" href="structsnd__pcm__ioplug__callback.html#ad58aff38733971f26c55f3bdcc5a8d74">poll_descriptors</a>)(snd_pcm_ioplug_t *io, <span class="keyword">struct </span>pollfd *pfd, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> space);
<a name="l00183"></a><a class="code" href="structsnd__pcm__ioplug__callback.html#ae922861dc820140a47f600e744eb92c9">00183</a>         int (*<a class="code" href="structsnd__pcm__ioplug__callback.html#ae922861dc820140a47f600e744eb92c9">poll_revents</a>)(snd_pcm_ioplug_t *io, <span class="keyword">struct </span>pollfd *pfd, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nfds, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> *revents);
<a name="l00187"></a><a class="code" href="structsnd__pcm__ioplug__callback.html#a112c1f4f3faa3d92ea3ca102b9958625">00187</a>         void (*<a class="code" href="structsnd__pcm__ioplug__callback.html#a112c1f4f3faa3d92ea3ca102b9958625">dump</a>)(snd_pcm_ioplug_t *io, <a class="code" href="group___output.html#ga49729cc6454539495c1f5b6e95cd474a" title="Internal structure for an output object.">snd_output_t</a> *out);
<a name="l00191"></a><a class="code" href="structsnd__pcm__ioplug__callback.html#a89ca5727bd4e9facc76416a40a0f6e8d">00191</a>         int (*<a class="code" href="structsnd__pcm__ioplug__callback.html#a89ca5727bd4e9facc76416a40a0f6e8d">delay</a>)(snd_pcm_ioplug_t *io, <a class="code" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> *delayp);
<a name="l00192"></a>00192 };
<a name="l00193"></a>00193 
<a name="l00194"></a>00194 
<a name="l00195"></a>00195 <span class="keywordtype">int</span> <a class="code" href="group___p_c_m___i_o_plug.html#ga7fb5213a5e776246e2b4dc53ec8d7604" title="Create an ioplug instance.">snd_pcm_ioplug_create</a>(snd_pcm_ioplug_t *io, <span class="keyword">const</span> <span class="keywordtype">char</span> *name,
<a name="l00196"></a>00196                           <a class="code" href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">snd_pcm_stream_t</a> stream, <span class="keywordtype">int</span> mode);
<a name="l00197"></a>00197 <span class="keywordtype">int</span> <a class="code" href="group___p_c_m___i_o_plug.html#ga286ec116983166de889f0268a2c666ef" title="Delete the ioplug instance.">snd_pcm_ioplug_delete</a>(snd_pcm_ioplug_t *io);
<a name="l00198"></a>00198 
<a name="l00199"></a>00199 <span class="comment">/* update poll_fd and mmap_rw */</span>
<a name="l00200"></a>00200 <span class="keywordtype">int</span> <a class="code" href="group___p_c_m___i_o_plug.html#gab223893226ecf78f675c89959a8c421a" title="Reinitialize the poll and mmap status.">snd_pcm_ioplug_reinit_status</a>(snd_pcm_ioplug_t *ioplug);
<a name="l00201"></a>00201 
<a name="l00202"></a>00202 <span class="comment">/* get a mmap area (for mmap_rw only) */</span>
<a name="l00203"></a>00203 <span class="keyword">const</span> <a class="code" href="structsnd__pcm__channel__area__t.html">snd_pcm_channel_area_t</a> *<a class="code" href="group___p_c_m___i_o_plug.html#gac3b666ff286745c9eb24de3e3930970a" title="Get mmap area of ioplug.">snd_pcm_ioplug_mmap_areas</a>(snd_pcm_ioplug_t *ioplug);
<a name="l00204"></a>00204 
<a name="l00205"></a>00205 <span class="comment">/* clear hw_parameter setting */</span>
<a name="l00206"></a>00206 <span class="keywordtype">void</span> <a class="code" href="group___p_c_m___i_o_plug.html#gad74355dfaa56fae80d49181c83eeecc4" title="Reset ioplug parameters.">snd_pcm_ioplug_params_reset</a>(snd_pcm_ioplug_t *io);
<a name="l00207"></a>00207 
<a name="l00208"></a>00208 <span class="comment">/* hw_parameter setting */</span>
<a name="l00209"></a>00209 <span class="keywordtype">int</span> <a class="code" href="group___p_c_m___i_o_plug.html#gab62d470b02661214319196394b55fb37" title="Set parameter as the min/max values.">snd_pcm_ioplug_set_param_minmax</a>(snd_pcm_ioplug_t *io, <span class="keywordtype">int</span> type, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> min, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> max);
<a name="l00210"></a>00210 <span class="keywordtype">int</span> <a class="code" href="group___p_c_m___i_o_plug.html#ga7d713552fb846ccdf4b7ec6a9fc1b562" title="Set parameter as the list.">snd_pcm_ioplug_set_param_list</a>(snd_pcm_ioplug_t *io, <span class="keywordtype">int</span> type, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> num_list, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *list);
<a name="l00211"></a>00211 
<a name="l00212"></a>00212 <span class="comment">/* change PCM status */</span>
<a name="l00213"></a>00213 <span class="keywordtype">int</span> <a class="code" href="group___p_c_m___i_o_plug.html#ga65feed7caf26f07aad0c722fc61fe751" title="Change the ioplug PCM status.">snd_pcm_ioplug_set_state</a>(snd_pcm_ioplug_t *ioplug, <a class="code" href="group___p_c_m.html#ga61ac499cb3701ce536d4d83725908860">snd_pcm_state_t</a> state);
<a name="l00214"></a>00214 
<a name="l00217"></a>00217 <span class="preprocessor">#endif </span><span class="comment">/* __ALSA_PCM_IOPLUG_H */</span>
</pre></div></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">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Nov 20 07:42:23 2010 for ALSA project - the C library reference by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>