<!-- 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: snd_pcm_ioplug_callback_t Struct Reference</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 Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><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="annotated.html"><span>Data Structures</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> </div> <div class="contents"> <h1>snd_pcm_ioplug_callback_t Struct Reference<br/> <small> [<a class="el" href="group___p_c_m___i_o_plug.html">External I/O plugin SDK</a>]</small> </h1><!-- doxytag: class="snd_pcm_ioplug_callback" --><table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Data Fields</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a26130cd61ac1c47d788fb806de7e53d0">start</a> )(snd_pcm_ioplug_t *io)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#afbbb193940d8a0fdd04d2d91d885e9f5">stop</a> )(snd_pcm_ioplug_t *io)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a7a074906f3037b4f6dcc28d6136f7a68">pointer</a> )(snd_pcm_ioplug_t *io)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a3a9578f0e8f2de4203e988c3a5a205fb">transfer</a> )(snd_pcm_ioplug_t *io, const <a class="el" href="structsnd__pcm__channel__area__t.html">snd_pcm_channel_area_t</a> *areas, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> offset, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> size)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#afd642130ecae71293caa15279c98537e">close</a> )(snd_pcm_ioplug_t *io)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a411078734ab59626c15d459800998e3d">hw_params</a> )(snd_pcm_ioplug_t *io, <a class="el" href="group___p_c_m.html#ga65c737127994f0a980edad744e36dc40">snd_pcm_hw_params_t</a> *params)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a574be37b1eeed5f39806c2386a02a63f">hw_free</a> )(snd_pcm_ioplug_t *io)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a67eceefe04515ec6e18c23cff297f920">sw_params</a> )(snd_pcm_ioplug_t *io, <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *params)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a345566330b8ff81a954452091c3ee03b">prepare</a> )(snd_pcm_ioplug_t *io)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#af1a1b3bc1616f228636f0273e8559fac">drain</a> )(snd_pcm_ioplug_t *io)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a3b80d9e3d96fd6fbc35cba3536f1a55e">pause</a> )(snd_pcm_ioplug_t *io, int enable)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#ab6618ecfb521e732deebc45b45a33fcf">resume</a> )(snd_pcm_ioplug_t *io)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a3d30deb039530293ce60596131f78c77">poll_descriptors_count</a> )(snd_pcm_ioplug_t *io)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#ad58aff38733971f26c55f3bdcc5a8d74">poll_descriptors</a> )(snd_pcm_ioplug_t *io, struct pollfd *pfd, unsigned int space)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#ae922861dc820140a47f600e744eb92c9">poll_revents</a> )(snd_pcm_ioplug_t *io, struct pollfd *pfd, unsigned int nfds, unsigned short *revents)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a112c1f4f3faa3d92ea3ca102b9958625">dump</a> )(snd_pcm_ioplug_t *io, <a class="el" href="group___output.html#ga49729cc6454539495c1f5b6e95cd474a">snd_output_t</a> *out)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a89ca5727bd4e9facc76416a40a0f6e8d">delay</a> )(snd_pcm_ioplug_t *io, <a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> *delayp)</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Callback table of ioplug </p> <hr/><h2>Field Documentation</h2> <a class="anchor" id="afd642130ecae71293caa15279c98537e"></a><!-- doxytag: member="snd_pcm_ioplug_callback::close" ref="afd642130ecae71293caa15279c98537e" args=")(snd_pcm_ioplug_t *io)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* snd_pcm_ioplug_callback_t::close)(snd_pcm_ioplug_t *io)</td> </tr> </table> </div> <div class="memdoc"> <p>close the PCM; optional </p> </div> </div> <a class="anchor" id="a89ca5727bd4e9facc76416a40a0f6e8d"></a><!-- doxytag: member="snd_pcm_ioplug_callback::delay" ref="a89ca5727bd4e9facc76416a40a0f6e8d" args=")(snd_pcm_ioplug_t *io, snd_pcm_sframes_t *delayp)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* snd_pcm_ioplug_callback_t::delay)(snd_pcm_ioplug_t *io, <a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> *delayp)</td> </tr> </table> </div> <div class="memdoc"> <p>get the delay for the running PCM; optional </p> </div> </div> <a class="anchor" id="af1a1b3bc1616f228636f0273e8559fac"></a><!-- doxytag: member="snd_pcm_ioplug_callback::drain" ref="af1a1b3bc1616f228636f0273e8559fac" args=")(snd_pcm_ioplug_t *io)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* snd_pcm_ioplug_callback_t::drain)(snd_pcm_ioplug_t *io)</td> </tr> </table> </div> <div class="memdoc"> <p>drain; optional </p> </div> </div> <a class="anchor" id="a112c1f4f3faa3d92ea3ca102b9958625"></a><!-- doxytag: member="snd_pcm_ioplug_callback::dump" ref="a112c1f4f3faa3d92ea3ca102b9958625" args=")(snd_pcm_ioplug_t *io, snd_output_t *out)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void(* snd_pcm_ioplug_callback_t::dump)(snd_pcm_ioplug_t *io, <a class="el" href="group___output.html#ga49729cc6454539495c1f5b6e95cd474a">snd_output_t</a> *out)</td> </tr> </table> </div> <div class="memdoc"> <p>dump; optional </p> </div> </div> <a class="anchor" id="a574be37b1eeed5f39806c2386a02a63f"></a><!-- doxytag: member="snd_pcm_ioplug_callback::hw_free" ref="a574be37b1eeed5f39806c2386a02a63f" args=")(snd_pcm_ioplug_t *io)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* snd_pcm_ioplug_callback_t::hw_free)(snd_pcm_ioplug_t *io)</td> </tr> </table> </div> <div class="memdoc"> <p>hw_free; optional </p> </div> </div> <a class="anchor" id="a411078734ab59626c15d459800998e3d"></a><!-- doxytag: member="snd_pcm_ioplug_callback::hw_params" ref="a411078734ab59626c15d459800998e3d" args=")(snd_pcm_ioplug_t *io, snd_pcm_hw_params_t *params)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* snd_pcm_ioplug_callback_t::hw_params)(snd_pcm_ioplug_t *io, <a class="el" href="group___p_c_m.html#ga65c737127994f0a980edad744e36dc40">snd_pcm_hw_params_t</a> *params)</td> </tr> </table> </div> <div class="memdoc"> <p>hw_params; optional </p> </div> </div> <a class="anchor" id="a3b80d9e3d96fd6fbc35cba3536f1a55e"></a><!-- doxytag: member="snd_pcm_ioplug_callback::pause" ref="a3b80d9e3d96fd6fbc35cba3536f1a55e" args=")(snd_pcm_ioplug_t *io, int enable)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* snd_pcm_ioplug_callback_t::pause)(snd_pcm_ioplug_t *io, int enable)</td> </tr> </table> </div> <div class="memdoc"> <p>toggle pause; optional </p> </div> </div> <a class="anchor" id="a7a074906f3037b4f6dcc28d6136f7a68"></a><!-- doxytag: member="snd_pcm_ioplug_callback::pointer" ref="a7a074906f3037b4f6dcc28d6136f7a68" args=")(snd_pcm_ioplug_t *io)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a>(* snd_pcm_ioplug_callback_t::pointer)(snd_pcm_ioplug_t *io)</td> </tr> </table> </div> <div class="memdoc"> <p>get the current DMA position; required </p> </div> </div> <a class="anchor" id="ad58aff38733971f26c55f3bdcc5a8d74"></a><!-- doxytag: member="snd_pcm_ioplug_callback::poll_descriptors" ref="ad58aff38733971f26c55f3bdcc5a8d74" args=")(snd_pcm_ioplug_t *io, struct pollfd *pfd, unsigned int space)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* snd_pcm_ioplug_callback_t::poll_descriptors)(snd_pcm_ioplug_t *io, struct pollfd *pfd, unsigned int space)</td> </tr> </table> </div> <div class="memdoc"> <p>poll descriptors; optional </p> </div> </div> <a class="anchor" id="a3d30deb039530293ce60596131f78c77"></a><!-- doxytag: member="snd_pcm_ioplug_callback::poll_descriptors_count" ref="a3d30deb039530293ce60596131f78c77" args=")(snd_pcm_ioplug_t *io)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* snd_pcm_ioplug_callback_t::poll_descriptors_count)(snd_pcm_ioplug_t *io)</td> </tr> </table> </div> <div class="memdoc"> <p>poll descriptors count; optional </p> </div> </div> <a class="anchor" id="ae922861dc820140a47f600e744eb92c9"></a><!-- doxytag: member="snd_pcm_ioplug_callback::poll_revents" ref="ae922861dc820140a47f600e744eb92c9" args=")(snd_pcm_ioplug_t *io, struct pollfd *pfd, unsigned int nfds, unsigned short *revents)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* snd_pcm_ioplug_callback_t::poll_revents)(snd_pcm_ioplug_t *io, struct pollfd *pfd, unsigned int nfds, unsigned short *revents)</td> </tr> </table> </div> <div class="memdoc"> <p>mangle poll events; optional </p> </div> </div> <a class="anchor" id="a345566330b8ff81a954452091c3ee03b"></a><!-- doxytag: member="snd_pcm_ioplug_callback::prepare" ref="a345566330b8ff81a954452091c3ee03b" args=")(snd_pcm_ioplug_t *io)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* snd_pcm_ioplug_callback_t::prepare)(snd_pcm_ioplug_t *io)</td> </tr> </table> </div> <div class="memdoc"> <p>prepare; optional </p> </div> </div> <a class="anchor" id="ab6618ecfb521e732deebc45b45a33fcf"></a><!-- doxytag: member="snd_pcm_ioplug_callback::resume" ref="ab6618ecfb521e732deebc45b45a33fcf" args=")(snd_pcm_ioplug_t *io)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* snd_pcm_ioplug_callback_t::resume)(snd_pcm_ioplug_t *io)</td> </tr> </table> </div> <div class="memdoc"> <p>resume; optional </p> </div> </div> <a class="anchor" id="a26130cd61ac1c47d788fb806de7e53d0"></a><!-- doxytag: member="snd_pcm_ioplug_callback::start" ref="a26130cd61ac1c47d788fb806de7e53d0" args=")(snd_pcm_ioplug_t *io)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* snd_pcm_ioplug_callback_t::start)(snd_pcm_ioplug_t *io)</td> </tr> </table> </div> <div class="memdoc"> <p>start the PCM; required </p> </div> </div> <a class="anchor" id="afbbb193940d8a0fdd04d2d91d885e9f5"></a><!-- doxytag: member="snd_pcm_ioplug_callback::stop" ref="afbbb193940d8a0fdd04d2d91d885e9f5" args=")(snd_pcm_ioplug_t *io)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* snd_pcm_ioplug_callback_t::stop)(snd_pcm_ioplug_t *io)</td> </tr> </table> </div> <div class="memdoc"> <p>stop the PCM; required </p> </div> </div> <a class="anchor" id="a67eceefe04515ec6e18c23cff297f920"></a><!-- doxytag: member="snd_pcm_ioplug_callback::sw_params" ref="a67eceefe04515ec6e18c23cff297f920" args=")(snd_pcm_ioplug_t *io, snd_pcm_sw_params_t *params)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* snd_pcm_ioplug_callback_t::sw_params)(snd_pcm_ioplug_t *io, <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *params)</td> </tr> </table> </div> <div class="memdoc"> <p>sw_params; optional </p> </div> </div> <a class="anchor" id="a3a9578f0e8f2de4203e988c3a5a205fb"></a><!-- doxytag: member="snd_pcm_ioplug_callback::transfer" ref="a3a9578f0e8f2de4203e988c3a5a205fb" args=")(snd_pcm_ioplug_t *io, const snd_pcm_channel_area_t *areas, snd_pcm_uframes_t offset, snd_pcm_uframes_t size)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a>(* snd_pcm_ioplug_callback_t::transfer)(snd_pcm_ioplug_t *io, const <a class="el" href="structsnd__pcm__channel__area__t.html">snd_pcm_channel_area_t</a> *areas, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> offset, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> size)</td> </tr> </table> </div> <div class="memdoc"> <p>transfer the data; optional </p> </div> </div> <hr/>The documentation for this struct was generated from the following file:<ul> <li>/home/qateam/rpm/BUILD/alsa-lib-1.0.23/include/<a class="el" href="pcm__ioplug_8h_source.html">pcm_ioplug.h</a></li> </ul> </div> <!--- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>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:24 2010 for ALSA project - the C library reference by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address> </body> </html>