Current File : //kunden/usr/share/doc/alsa-lib-devel/doxygen/html/structsnd__pcm__ioplug__callback.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ALSA project - the C library reference: snd_pcm_ioplug_callback_t Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ALSA project - the C library reference
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

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

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle">
<div class="title">snd_pcm_ioplug_callback_t Struct Reference<div class="ingroups"><a class="el" href="group___plugin___s_d_k.html">External PCM plugin SDK</a> &raquo; <a class="el" href="group___p_c_m___i_o_plug.html">External I/O plugin SDK</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:a7468068dda785aa176ff26e5133411bc"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a7468068dda785aa176ff26e5133411bc">start</a> )(<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td></tr>
<tr class="separator:a7468068dda785aa176ff26e5133411bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1bb5494c38ee557129df62afdfb49bb"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#ab1bb5494c38ee557129df62afdfb49bb">stop</a> )(<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td></tr>
<tr class="separator:ab1bb5494c38ee557129df62afdfb49bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4845417f0aebd54219185c7efaede2c0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a4845417f0aebd54219185c7efaede2c0">pointer</a> )(<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td></tr>
<tr class="separator:a4845417f0aebd54219185c7efaede2c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7dbd481a29d2f92c26d12695ae1d4ac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#ad7dbd481a29d2f92c26d12695ae1d4ac">transfer</a> )(<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *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 class="separator:ad7dbd481a29d2f92c26d12695ae1d4ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e82606488e2ccb5148dbe1b39cb4f88"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a3e82606488e2ccb5148dbe1b39cb4f88">close</a> )(<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td></tr>
<tr class="separator:a3e82606488e2ccb5148dbe1b39cb4f88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57381783ffd6f0cea8836a151b0eaa87"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a57381783ffd6f0cea8836a151b0eaa87">hw_params</a> )(<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io, <a class="el" href="group___p_c_m.html#ga65c737127994f0a980edad744e36dc40">snd_pcm_hw_params_t</a> *params)</td></tr>
<tr class="separator:a57381783ffd6f0cea8836a151b0eaa87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf77cc71c899d58b9a9348c5efeab72f"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#aaf77cc71c899d58b9a9348c5efeab72f">hw_free</a> )(<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td></tr>
<tr class="separator:aaf77cc71c899d58b9a9348c5efeab72f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8688847dcfab7d4e8a091f81aa351965"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a8688847dcfab7d4e8a091f81aa351965">sw_params</a> )(<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io, <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *params)</td></tr>
<tr class="separator:a8688847dcfab7d4e8a091f81aa351965"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a071405a306b66091c61039b7997d8685"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a071405a306b66091c61039b7997d8685">prepare</a> )(<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td></tr>
<tr class="separator:a071405a306b66091c61039b7997d8685"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bc9a5f9d0be0f284458a94e44b5fdb3"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a5bc9a5f9d0be0f284458a94e44b5fdb3">drain</a> )(<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td></tr>
<tr class="separator:a5bc9a5f9d0be0f284458a94e44b5fdb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68f7c891a62620fb90bfd929313e56b3"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a68f7c891a62620fb90bfd929313e56b3">pause</a> )(<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io, int enable)</td></tr>
<tr class="separator:a68f7c891a62620fb90bfd929313e56b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1176d8570c78351ed5b957b7c6c5884f"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a1176d8570c78351ed5b957b7c6c5884f">resume</a> )(<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td></tr>
<tr class="separator:a1176d8570c78351ed5b957b7c6c5884f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c32d0aee17ebea124b3e8f11dad68e9"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a5c32d0aee17ebea124b3e8f11dad68e9">poll_descriptors_count</a> )(<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td></tr>
<tr class="separator:a5c32d0aee17ebea124b3e8f11dad68e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6793d36d985acd08ca95776e59763b3a"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a6793d36d985acd08ca95776e59763b3a">poll_descriptors</a> )(<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io, struct pollfd *pfd, unsigned int space)</td></tr>
<tr class="separator:a6793d36d985acd08ca95776e59763b3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b8c4cab575b38ed24371b1afdc5c6b9"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a7b8c4cab575b38ed24371b1afdc5c6b9">poll_revents</a> )(<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io, struct pollfd *pfd, unsigned int nfds, unsigned short *revents)</td></tr>
<tr class="separator:a7b8c4cab575b38ed24371b1afdc5c6b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a839c05869c4dfd5e9b81224fe21c66fd"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a839c05869c4dfd5e9b81224fe21c66fd">dump</a> )(<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io, <a class="el" href="group___output.html#ga49729cc6454539495c1f5b6e95cd474a">snd_output_t</a> *out)</td></tr>
<tr class="separator:a839c05869c4dfd5e9b81224fe21c66fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ae1a94b5a4e1946750c2fc71c0197ba"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a4ae1a94b5a4e1946750c2fc71c0197ba">delay</a> )(<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io, <a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> *delayp)</td></tr>
<tr class="separator:a4ae1a94b5a4e1946750c2fc71c0197ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadaf669911046e91fdba3b15fe2a4839"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsnd__pcm__chmap__query__t.html">snd_pcm_chmap_query_t</a> **(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#aadaf669911046e91fdba3b15fe2a4839">query_chmaps</a> )(<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td></tr>
<tr class="separator:aadaf669911046e91fdba3b15fe2a4839"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a364feac16fc31f508ea67525c42e26dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsnd__pcm__chmap__t.html">snd_pcm_chmap_t</a> *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a364feac16fc31f508ea67525c42e26dc">get_chmap</a> )(<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td></tr>
<tr class="separator:a364feac16fc31f508ea67525c42e26dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8eb02dcaecc9b5120e6c29359167efa6"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__ioplug__callback.html#a8eb02dcaecc9b5120e6c29359167efa6">set_chmap</a> )(<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io, const <a class="el" href="structsnd__pcm__chmap__t.html">snd_pcm_chmap_t</a> *map)</td></tr>
<tr class="separator:a8eb02dcaecc9b5120e6c29359167efa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Callback table of ioplug </p>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="a3e82606488e2ccb5148dbe1b39cb4f88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e82606488e2ccb5148dbe1b39cb4f88">&#9670;&nbsp;</a></span>close</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* snd_pcm_ioplug_callback_t::close) (<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>close the PCM; optional </p>

</div>
</div>
<a id="a4ae1a94b5a4e1946750c2fc71c0197ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ae1a94b5a4e1946750c2fc71c0197ba">&#9670;&nbsp;</a></span>delay</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* snd_pcm_ioplug_callback_t::delay) (<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *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; since v1.0.1 </p>

</div>
</div>
<a id="a5bc9a5f9d0be0f284458a94e44b5fdb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5bc9a5f9d0be0f284458a94e44b5fdb3">&#9670;&nbsp;</a></span>drain</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* snd_pcm_ioplug_callback_t::drain) (<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>drain; optional </p>

</div>
</div>
<a id="a839c05869c4dfd5e9b81224fe21c66fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a839c05869c4dfd5e9b81224fe21c66fd">&#9670;&nbsp;</a></span>dump</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* snd_pcm_ioplug_callback_t::dump) (<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *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 id="a364feac16fc31f508ea67525c42e26dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a364feac16fc31f508ea67525c42e26dc">&#9670;&nbsp;</a></span>get_chmap</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structsnd__pcm__chmap__t.html">snd_pcm_chmap_t</a>*(* snd_pcm_ioplug_callback_t::get_chmap) (<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>get the channel map; optional; since v1.0.2 </p>

</div>
</div>
<a id="aaf77cc71c899d58b9a9348c5efeab72f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf77cc71c899d58b9a9348c5efeab72f">&#9670;&nbsp;</a></span>hw_free</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* snd_pcm_ioplug_callback_t::hw_free) (<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>hw_free; optional </p>

</div>
</div>
<a id="a57381783ffd6f0cea8836a151b0eaa87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57381783ffd6f0cea8836a151b0eaa87">&#9670;&nbsp;</a></span>hw_params</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* snd_pcm_ioplug_callback_t::hw_params) (<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *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 id="a68f7c891a62620fb90bfd929313e56b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68f7c891a62620fb90bfd929313e56b3">&#9670;&nbsp;</a></span>pause</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* snd_pcm_ioplug_callback_t::pause) (<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io, int enable)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>toggle pause; optional, called inside mutex lock </p>

</div>
</div>
<a id="a4845417f0aebd54219185c7efaede2c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4845417f0aebd54219185c7efaede2c0">&#9670;&nbsp;</a></span>pointer</h2>

<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) (<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>get the current DMA position; required, called inside mutex lock </p><dl class="section return"><dt>Returns</dt><dd>buffer position up to buffer_size or when <a class="el" href="group___p_c_m___i_o_plug.html#gaf7f7da416f798efac868aa5a88f1e47b">SND_PCM_IOPLUG_FLAG_BOUNDARY_WA</a> flag is set up to boundary or a negative error code for Xrun </dd></dl>

</div>
</div>
<a id="a6793d36d985acd08ca95776e59763b3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6793d36d985acd08ca95776e59763b3a">&#9670;&nbsp;</a></span>poll_descriptors</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* snd_pcm_ioplug_callback_t::poll_descriptors) (<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io, struct pollfd *pfd, unsigned int space)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>poll descriptors; optional </p>

</div>
</div>
<a id="a5c32d0aee17ebea124b3e8f11dad68e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c32d0aee17ebea124b3e8f11dad68e9">&#9670;&nbsp;</a></span>poll_descriptors_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* snd_pcm_ioplug_callback_t::poll_descriptors_count) (<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>poll descriptors count; optional </p>

</div>
</div>
<a id="a7b8c4cab575b38ed24371b1afdc5c6b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b8c4cab575b38ed24371b1afdc5c6b9">&#9670;&nbsp;</a></span>poll_revents</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* snd_pcm_ioplug_callback_t::poll_revents) (<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *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 id="a071405a306b66091c61039b7997d8685"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a071405a306b66091c61039b7997d8685">&#9670;&nbsp;</a></span>prepare</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* snd_pcm_ioplug_callback_t::prepare) (<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>prepare; optional </p>

</div>
</div>
<a id="aadaf669911046e91fdba3b15fe2a4839"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadaf669911046e91fdba3b15fe2a4839">&#9670;&nbsp;</a></span>query_chmaps</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structsnd__pcm__chmap__query__t.html">snd_pcm_chmap_query_t</a>**(* snd_pcm_ioplug_callback_t::query_chmaps) (<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>query the channel maps; optional; since v1.0.2 </p>

</div>
</div>
<a id="a1176d8570c78351ed5b957b7c6c5884f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1176d8570c78351ed5b957b7c6c5884f">&#9670;&nbsp;</a></span>resume</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* snd_pcm_ioplug_callback_t::resume) (<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>resume; optional </p>

</div>
</div>
<a id="a8eb02dcaecc9b5120e6c29359167efa6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8eb02dcaecc9b5120e6c29359167efa6">&#9670;&nbsp;</a></span>set_chmap</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* snd_pcm_ioplug_callback_t::set_chmap) (<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io, const <a class="el" href="structsnd__pcm__chmap__t.html">snd_pcm_chmap_t</a> *map)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>set the channel map; optional; since v1.0.2 </p>

</div>
</div>
<a id="a7468068dda785aa176ff26e5133411bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7468068dda785aa176ff26e5133411bc">&#9670;&nbsp;</a></span>start</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* snd_pcm_ioplug_callback_t::start) (<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>start the PCM; required, called inside mutex lock </p>

</div>
</div>
<a id="ab1bb5494c38ee557129df62afdfb49bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1bb5494c38ee557129df62afdfb49bb">&#9670;&nbsp;</a></span>stop</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* snd_pcm_ioplug_callback_t::stop) (<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *io)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>stop the PCM; required, called inside mutex lock </p>

</div>
</div>
<a id="a8688847dcfab7d4e8a091f81aa351965"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8688847dcfab7d4e8a091f81aa351965">&#9670;&nbsp;</a></span>sw_params</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* snd_pcm_ioplug_callback_t::sw_params) (<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *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 id="ad7dbd481a29d2f92c26d12695ae1d4ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7dbd481a29d2f92c26d12695ae1d4ac">&#9670;&nbsp;</a></span>transfer</h2>

<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) (<a class="el" href="group___p_c_m___i_o_plug.html#ga1038655a4ca74f3aef060282d6df739b">snd_pcm_ioplug_t</a> *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, called inside mutex lock </p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>/builddir/build/BUILD/alsa-lib-1.2.13/include/<a class="el" href="pcm__ioplug_8h_source.html">pcm_ioplug.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>