Current File : //proc/thread-self/root/kunden/usr/share/doc/alsa-lib-devel/doxygen/html/group___h_control.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: High level Control Interface</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>
</div><!-- top -->
<!-- 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 class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">High level Control Interface<div class="ingroups"><a class="el" href="group___control.html">Control Interface</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gaddfb152863e87857d463c7008d72ad74"><td class="memItemLeft" align="right" valign="top">typedef struct _snd_hctl_elem&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a></td></tr>
<tr class="separator:gaddfb152863e87857d463c7008d72ad74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga13c9ad52c57ab7db06065a7f806b2369"><td class="memItemLeft" align="right" valign="top">typedef struct _snd_hctl&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a></td></tr>
<tr class="separator:ga13c9ad52c57ab7db06065a7f806b2369"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga612e7c59d360ecc9334f7fe71377f9cc"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga612e7c59d360ecc9334f7fe71377f9cc">snd_hctl_compare_t</a>) (const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *e1, const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *e2)</td></tr>
<tr class="memdesc:ga612e7c59d360ecc9334f7fe71377f9cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare function for sorting HCTL elements.  <a href="group___h_control.html#ga612e7c59d360ecc9334f7fe71377f9cc">More...</a><br /></td></tr>
<tr class="separator:ga612e7c59d360ecc9334f7fe71377f9cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5e2b26a2cc8d696e2a9eacb6bbb2f417"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga5e2b26a2cc8d696e2a9eacb6bbb2f417">snd_hctl_callback_t</a>) (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl, unsigned int mask, <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem)</td></tr>
<tr class="memdesc:ga5e2b26a2cc8d696e2a9eacb6bbb2f417"><td class="mdescLeft">&#160;</td><td class="mdescRight">HCTL callback function.  <a href="group___h_control.html#ga5e2b26a2cc8d696e2a9eacb6bbb2f417">More...</a><br /></td></tr>
<tr class="separator:ga5e2b26a2cc8d696e2a9eacb6bbb2f417"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga64ce2446d79c992547d3db8c7faa6143"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga64ce2446d79c992547d3db8c7faa6143">snd_hctl_elem_callback_t</a>) (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem, unsigned int mask)</td></tr>
<tr class="memdesc:ga64ce2446d79c992547d3db8c7faa6143"><td class="mdescLeft">&#160;</td><td class="mdescRight">HCTL element callback function.  <a href="group___h_control.html#ga64ce2446d79c992547d3db8c7faa6143">More...</a><br /></td></tr>
<tr class="separator:ga64ce2446d79c992547d3db8c7faa6143"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaaa17b28ebe0f1e0e4443182312af7408"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gaaa17b28ebe0f1e0e4443182312af7408">snd_hctl_compare_fast</a> (const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *c1, const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *c2)</td></tr>
<tr class="memdesc:gaaa17b28ebe0f1e0e4443182312af7408"><td class="mdescLeft">&#160;</td><td class="mdescRight">A "don't care" fast compare functions that may be used with <a class="el" href="group___h_control.html#ga5917b8cbcdf5d44d8730027b18ff6172" title="Change HCTL compare function and reorder elements.">snd_hctl_set_compare</a>.  <a href="group___h_control.html#gaaa17b28ebe0f1e0e4443182312af7408">More...</a><br /></td></tr>
<tr class="separator:gaaa17b28ebe0f1e0e4443182312af7408"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2a86455eaad4f2730a936d06c62cca29"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga2a86455eaad4f2730a936d06c62cca29">snd_hctl_open</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> **hctl, const char *name, int mode)</td></tr>
<tr class="memdesc:ga2a86455eaad4f2730a936d06c62cca29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens an HCTL.  <a href="group___h_control.html#ga2a86455eaad4f2730a936d06c62cca29">More...</a><br /></td></tr>
<tr class="separator:ga2a86455eaad4f2730a936d06c62cca29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga48b556b219e99c36d65efc6b8a97029c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga48b556b219e99c36d65efc6b8a97029c">snd_hctl_open_ctl</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> **hctlp, <a class="el" href="group___control.html#ga06628f38def84a0fe3da74041db9d51f">snd_ctl_t</a> *ctl)</td></tr>
<tr class="memdesc:ga48b556b219e99c36d65efc6b8a97029c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens an HCTL.  <a href="group___h_control.html#ga48b556b219e99c36d65efc6b8a97029c">More...</a><br /></td></tr>
<tr class="separator:ga48b556b219e99c36d65efc6b8a97029c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9537f6a56d663aa9714ccc82689ff1e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gae9537f6a56d663aa9714ccc82689ff1e">snd_hctl_close</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr>
<tr class="memdesc:gae9537f6a56d663aa9714ccc82689ff1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">close HCTL handle  <a href="group___h_control.html#gae9537f6a56d663aa9714ccc82689ff1e">More...</a><br /></td></tr>
<tr class="separator:gae9537f6a56d663aa9714ccc82689ff1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c3e66e230fc93c15f18568342725a43"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga3c3e66e230fc93c15f18568342725a43">snd_hctl_nonblock</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl, int nonblock)</td></tr>
<tr class="memdesc:ga3c3e66e230fc93c15f18568342725a43"><td class="mdescLeft">&#160;</td><td class="mdescRight">set nonblock mode  <a href="group___h_control.html#ga3c3e66e230fc93c15f18568342725a43">More...</a><br /></td></tr>
<tr class="separator:ga3c3e66e230fc93c15f18568342725a43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga32238dba8935b2cb91fbad73aae9e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga32238dba8935b2cb91fbad73aae9e3d4">snd_hctl_poll_descriptors_count</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr>
<tr class="memdesc:ga32238dba8935b2cb91fbad73aae9e3d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">get count of poll descriptors for HCTL handle  <a href="group___h_control.html#ga32238dba8935b2cb91fbad73aae9e3d4">More...</a><br /></td></tr>
<tr class="separator:ga32238dba8935b2cb91fbad73aae9e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7dd3894b55740cbdb8b2a0bef15af295"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga7dd3894b55740cbdb8b2a0bef15af295">snd_hctl_poll_descriptors</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl, struct pollfd *pfds, unsigned int space)</td></tr>
<tr class="memdesc:ga7dd3894b55740cbdb8b2a0bef15af295"><td class="mdescLeft">&#160;</td><td class="mdescRight">get poll descriptors  <a href="group___h_control.html#ga7dd3894b55740cbdb8b2a0bef15af295">More...</a><br /></td></tr>
<tr class="separator:ga7dd3894b55740cbdb8b2a0bef15af295"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga704fd06286869e793e223956b186bfdf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga704fd06286869e793e223956b186bfdf">snd_hctl_poll_descriptors_revents</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *ctl, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)</td></tr>
<tr class="memdesc:ga704fd06286869e793e223956b186bfdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">get returned events from poll descriptors  <a href="group___h_control.html#ga704fd06286869e793e223956b186bfdf">More...</a><br /></td></tr>
<tr class="separator:ga704fd06286869e793e223956b186bfdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga098944f4f2d7722550901bf6f80ee91c"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga098944f4f2d7722550901bf6f80ee91c">snd_hctl_get_count</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr>
<tr class="memdesc:ga098944f4f2d7722550901bf6f80ee91c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of loaded elements for an HCTL.  <a href="group___h_control.html#ga098944f4f2d7722550901bf6f80ee91c">More...</a><br /></td></tr>
<tr class="separator:ga098944f4f2d7722550901bf6f80ee91c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5917b8cbcdf5d44d8730027b18ff6172"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga5917b8cbcdf5d44d8730027b18ff6172">snd_hctl_set_compare</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl, <a class="el" href="group___h_control.html#ga612e7c59d360ecc9334f7fe71377f9cc">snd_hctl_compare_t</a> hsort)</td></tr>
<tr class="memdesc:ga5917b8cbcdf5d44d8730027b18ff6172"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change HCTL compare function and reorder elements.  <a href="group___h_control.html#ga5917b8cbcdf5d44d8730027b18ff6172">More...</a><br /></td></tr>
<tr class="separator:ga5917b8cbcdf5d44d8730027b18ff6172"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaa68ce403d30e4d152fe4ce82b6c02db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gaaa68ce403d30e4d152fe4ce82b6c02db">snd_hctl_first_elem</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr>
<tr class="memdesc:gaaa68ce403d30e4d152fe4ce82b6c02db"><td class="mdescLeft">&#160;</td><td class="mdescRight">get first element for an HCTL  <a href="group___h_control.html#gaaa68ce403d30e4d152fe4ce82b6c02db">More...</a><br /></td></tr>
<tr class="separator:gaaa68ce403d30e4d152fe4ce82b6c02db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8b7270503d275040a391e05c991ec569"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga8b7270503d275040a391e05c991ec569">snd_hctl_last_elem</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr>
<tr class="memdesc:ga8b7270503d275040a391e05c991ec569"><td class="mdescLeft">&#160;</td><td class="mdescRight">get last element for an HCTL  <a href="group___h_control.html#ga8b7270503d275040a391e05c991ec569">More...</a><br /></td></tr>
<tr class="separator:ga8b7270503d275040a391e05c991ec569"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeee7f3f76cb71fd4b3456a9566529bd5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gaeee7f3f76cb71fd4b3456a9566529bd5">snd_hctl_find_elem</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl, const <a class="el" href="group___control.html#gad6c3746f1925bfec6a4fd0e913430e55">snd_ctl_elem_id_t</a> *id)</td></tr>
<tr class="memdesc:gaeee7f3f76cb71fd4b3456a9566529bd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Search an HCTL element.  <a href="group___h_control.html#gaeee7f3f76cb71fd4b3456a9566529bd5">More...</a><br /></td></tr>
<tr class="separator:gaeee7f3f76cb71fd4b3456a9566529bd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9c0abde0c53cafb640bbd6e3b1c3d6c6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga9c0abde0c53cafb640bbd6e3b1c3d6c6">snd_hctl_set_callback</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl, <a class="el" href="group___h_control.html#ga5e2b26a2cc8d696e2a9eacb6bbb2f417">snd_hctl_callback_t</a> callback)</td></tr>
<tr class="memdesc:ga9c0abde0c53cafb640bbd6e3b1c3d6c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set callback function for an HCTL.  <a href="group___h_control.html#ga9c0abde0c53cafb640bbd6e3b1c3d6c6">More...</a><br /></td></tr>
<tr class="separator:ga9c0abde0c53cafb640bbd6e3b1c3d6c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae678856658731969c884a4c9c810d799"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gae678856658731969c884a4c9c810d799">snd_hctl_set_callback_private</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl, void *<a class="el" href="ump__msg_8h.html#a1e43bf7d608e87228b625cca2c04d641">data</a>)</td></tr>
<tr class="memdesc:gae678856658731969c884a4c9c810d799"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set callback private value for an HCTL.  <a href="group___h_control.html#gae678856658731969c884a4c9c810d799">More...</a><br /></td></tr>
<tr class="separator:gae678856658731969c884a4c9c810d799"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga60c1606f4d423301355344e5373d5ccc"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga60c1606f4d423301355344e5373d5ccc">snd_hctl_get_callback_private</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr>
<tr class="memdesc:ga60c1606f4d423301355344e5373d5ccc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get callback private value for an HCTL.  <a href="group___h_control.html#ga60c1606f4d423301355344e5373d5ccc">More...</a><br /></td></tr>
<tr class="separator:ga60c1606f4d423301355344e5373d5ccc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga700017b7d9b8decb775702d5dc6fef85"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga700017b7d9b8decb775702d5dc6fef85">snd_hctl_load</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr>
<tr class="memdesc:ga700017b7d9b8decb775702d5dc6fef85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load an HCTL with all elements and sort them.  <a href="group___h_control.html#ga700017b7d9b8decb775702d5dc6fef85">More...</a><br /></td></tr>
<tr class="separator:ga700017b7d9b8decb775702d5dc6fef85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b3e936bba7a6127459af1244c7da454"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga1b3e936bba7a6127459af1244c7da454">snd_hctl_free</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr>
<tr class="memdesc:ga1b3e936bba7a6127459af1244c7da454"><td class="mdescLeft">&#160;</td><td class="mdescRight">free HCTL loaded elements  <a href="group___h_control.html#ga1b3e936bba7a6127459af1244c7da454">More...</a><br /></td></tr>
<tr class="separator:ga1b3e936bba7a6127459af1244c7da454"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga02d9dc1cdbdfe11880e3fe774f2034bd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga02d9dc1cdbdfe11880e3fe774f2034bd">snd_hctl_handle_events</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr>
<tr class="memdesc:ga02d9dc1cdbdfe11880e3fe774f2034bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle pending HCTL events invoking callbacks.  <a href="group___h_control.html#ga02d9dc1cdbdfe11880e3fe774f2034bd">More...</a><br /></td></tr>
<tr class="separator:ga02d9dc1cdbdfe11880e3fe774f2034bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabd1208fbbe2061021494ea21ab382088"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gabd1208fbbe2061021494ea21ab382088">snd_hctl_name</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr>
<tr class="memdesc:gabd1208fbbe2061021494ea21ab382088"><td class="mdescLeft">&#160;</td><td class="mdescRight">get identifier of HCTL handle  <a href="group___h_control.html#gabd1208fbbe2061021494ea21ab382088">More...</a><br /></td></tr>
<tr class="separator:gabd1208fbbe2061021494ea21ab382088"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2f0d0548f5d848b6557b2967d0e73494"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga2f0d0548f5d848b6557b2967d0e73494">snd_hctl_wait</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl, int timeout)</td></tr>
<tr class="memdesc:ga2f0d0548f5d848b6557b2967d0e73494"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for a HCTL to become ready (i.e. at least one event pending)  <a href="group___h_control.html#ga2f0d0548f5d848b6557b2967d0e73494">More...</a><br /></td></tr>
<tr class="separator:ga2f0d0548f5d848b6557b2967d0e73494"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga93f19c0fb16337f72b6c413512b79f1a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___control.html#ga06628f38def84a0fe3da74041db9d51f">snd_ctl_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga93f19c0fb16337f72b6c413512b79f1a">snd_hctl_ctl</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr>
<tr class="memdesc:ga93f19c0fb16337f72b6c413512b79f1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a ctl handle associated to the given hctl handle.  <a href="group___h_control.html#ga93f19c0fb16337f72b6c413512b79f1a">More...</a><br /></td></tr>
<tr class="separator:ga93f19c0fb16337f72b6c413512b79f1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf7c6b19c5feb2392f2d447bc3f54fd15"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gaf7c6b19c5feb2392f2d447bc3f54fd15">snd_hctl_elem_next</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem)</td></tr>
<tr class="memdesc:gaf7c6b19c5feb2392f2d447bc3f54fd15"><td class="mdescLeft">&#160;</td><td class="mdescRight">get next HCTL element  <a href="group___h_control.html#gaf7c6b19c5feb2392f2d447bc3f54fd15">More...</a><br /></td></tr>
<tr class="separator:gaf7c6b19c5feb2392f2d447bc3f54fd15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga89a720775cb955ee4069a45074e4b32f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga89a720775cb955ee4069a45074e4b32f">snd_hctl_elem_prev</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem)</td></tr>
<tr class="memdesc:ga89a720775cb955ee4069a45074e4b32f"><td class="mdescLeft">&#160;</td><td class="mdescRight">get previous HCTL element  <a href="group___h_control.html#ga89a720775cb955ee4069a45074e4b32f">More...</a><br /></td></tr>
<tr class="separator:ga89a720775cb955ee4069a45074e4b32f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae08b50b118461e6fcc55975e5530885c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gae08b50b118461e6fcc55975e5530885c">snd_hctl_elem_info</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem, <a class="el" href="group___control.html#ga2cae0bb76df919368e4ff9a7021dd3ab">snd_ctl_elem_info_t</a> *info)</td></tr>
<tr class="memdesc:gae08b50b118461e6fcc55975e5530885c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get information for an HCTL element.  <a href="group___h_control.html#gae08b50b118461e6fcc55975e5530885c">More...</a><br /></td></tr>
<tr class="separator:gae08b50b118461e6fcc55975e5530885c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga86728d69cc5de843ed46ffb4f3b98e2c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga86728d69cc5de843ed46ffb4f3b98e2c">snd_hctl_elem_read</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem, <a class="el" href="group___control.html#ga266b478eb64f1cdd75e337df4b4b995e">snd_ctl_elem_value_t</a> *value)</td></tr>
<tr class="memdesc:ga86728d69cc5de843ed46ffb4f3b98e2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get value for an HCTL element.  <a href="group___h_control.html#ga86728d69cc5de843ed46ffb4f3b98e2c">More...</a><br /></td></tr>
<tr class="separator:ga86728d69cc5de843ed46ffb4f3b98e2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafaf6b88337fdc827c847e21a6fd0cd79"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gafaf6b88337fdc827c847e21a6fd0cd79">snd_hctl_elem_write</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem, <a class="el" href="group___control.html#ga266b478eb64f1cdd75e337df4b4b995e">snd_ctl_elem_value_t</a> *value)</td></tr>
<tr class="memdesc:gafaf6b88337fdc827c847e21a6fd0cd79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set value for an HCTL element.  <a href="group___h_control.html#gafaf6b88337fdc827c847e21a6fd0cd79">More...</a><br /></td></tr>
<tr class="separator:gafaf6b88337fdc827c847e21a6fd0cd79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga45fc0e8b3dfaeb2dfebce4f613b21297"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga45fc0e8b3dfaeb2dfebce4f613b21297">snd_hctl_elem_tlv_read</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem, unsigned int *tlv, unsigned int tlv_size)</td></tr>
<tr class="memdesc:ga45fc0e8b3dfaeb2dfebce4f613b21297"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get TLV value for an HCTL element.  <a href="group___h_control.html#ga45fc0e8b3dfaeb2dfebce4f613b21297">More...</a><br /></td></tr>
<tr class="separator:ga45fc0e8b3dfaeb2dfebce4f613b21297"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab5611090cee93ace74db2e744718ae25"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gab5611090cee93ace74db2e744718ae25">snd_hctl_elem_tlv_write</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem, const unsigned int *tlv)</td></tr>
<tr class="memdesc:gab5611090cee93ace74db2e744718ae25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set TLV value for an HCTL element.  <a href="group___h_control.html#gab5611090cee93ace74db2e744718ae25">More...</a><br /></td></tr>
<tr class="separator:gab5611090cee93ace74db2e744718ae25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaedec51e102fbf6161322553355439121"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gaedec51e102fbf6161322553355439121">snd_hctl_elem_tlv_command</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem, const unsigned int *tlv)</td></tr>
<tr class="memdesc:gaedec51e102fbf6161322553355439121"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set TLV value for an HCTL element.  <a href="group___h_control.html#gaedec51e102fbf6161322553355439121">More...</a><br /></td></tr>
<tr class="separator:gaedec51e102fbf6161322553355439121"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga98660b650e7c060be8a574402e2f2257"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga98660b650e7c060be8a574402e2f2257">snd_hctl_elem_get_hctl</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem)</td></tr>
<tr class="memdesc:ga98660b650e7c060be8a574402e2f2257"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get HCTL handle for an HCTL element.  <a href="group___h_control.html#ga98660b650e7c060be8a574402e2f2257">More...</a><br /></td></tr>
<tr class="separator:ga98660b650e7c060be8a574402e2f2257"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1c0ce6f627f2f1560c5db03a93caf5b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gac1c0ce6f627f2f1560c5db03a93caf5b">snd_hctl_elem_get_id</a> (const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *obj, <a class="el" href="group___control.html#gad6c3746f1925bfec6a4fd0e913430e55">snd_ctl_elem_id_t</a> *ptr)</td></tr>
<tr class="memdesc:gac1c0ce6f627f2f1560c5db03a93caf5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get CTL element identifier of a CTL element id/value.  <a href="group___h_control.html#gac1c0ce6f627f2f1560c5db03a93caf5b">More...</a><br /></td></tr>
<tr class="separator:gac1c0ce6f627f2f1560c5db03a93caf5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae5e86d487c6c964be8a59dfeddb2f36e"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gae5e86d487c6c964be8a59dfeddb2f36e">snd_hctl_elem_get_numid</a> (const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *obj)</td></tr>
<tr class="memdesc:gae5e86d487c6c964be8a59dfeddb2f36e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get element numeric identifier of a CTL element id/value.  <a href="group___h_control.html#gae5e86d487c6c964be8a59dfeddb2f36e">More...</a><br /></td></tr>
<tr class="separator:gae5e86d487c6c964be8a59dfeddb2f36e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabe8c46cbe8b6a2612fa0eaeb1fa8fefb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___control.html#ga14baa0febb91cc4c5d72dcc825acf518">snd_ctl_elem_iface_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gabe8c46cbe8b6a2612fa0eaeb1fa8fefb">snd_hctl_elem_get_interface</a> (const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *obj)</td></tr>
<tr class="memdesc:gabe8c46cbe8b6a2612fa0eaeb1fa8fefb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get interface part of CTL element identifier of a CTL element id/value.  <a href="group___h_control.html#gabe8c46cbe8b6a2612fa0eaeb1fa8fefb">More...</a><br /></td></tr>
<tr class="separator:gabe8c46cbe8b6a2612fa0eaeb1fa8fefb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae933e61025507ee572408138e935c63f"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gae933e61025507ee572408138e935c63f">snd_hctl_elem_get_device</a> (const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *obj)</td></tr>
<tr class="memdesc:gae933e61025507ee572408138e935c63f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get device part of CTL element identifier of a CTL element id/value.  <a href="group___h_control.html#gae933e61025507ee572408138e935c63f">More...</a><br /></td></tr>
<tr class="separator:gae933e61025507ee572408138e935c63f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga894c09354156fd12f8a089726449f6ac"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga894c09354156fd12f8a089726449f6ac">snd_hctl_elem_get_subdevice</a> (const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *obj)</td></tr>
<tr class="memdesc:ga894c09354156fd12f8a089726449f6ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get subdevice part of CTL element identifier of a CTL element id/value.  <a href="group___h_control.html#ga894c09354156fd12f8a089726449f6ac">More...</a><br /></td></tr>
<tr class="separator:ga894c09354156fd12f8a089726449f6ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab89b9d62f8575795fc52b86415373a49"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gab89b9d62f8575795fc52b86415373a49">snd_hctl_elem_get_name</a> (const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *obj)</td></tr>
<tr class="memdesc:gab89b9d62f8575795fc52b86415373a49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name part of CTL element identifier of a CTL element id/value.  <a href="group___h_control.html#gab89b9d62f8575795fc52b86415373a49">More...</a><br /></td></tr>
<tr class="separator:gab89b9d62f8575795fc52b86415373a49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa2bad4d08aa1c8ea98f2a92435583e01"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gaa2bad4d08aa1c8ea98f2a92435583e01">snd_hctl_elem_get_index</a> (const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *obj)</td></tr>
<tr class="memdesc:gaa2bad4d08aa1c8ea98f2a92435583e01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get index part of CTL element identifier of a CTL element id/value.  <a href="group___h_control.html#gaa2bad4d08aa1c8ea98f2a92435583e01">More...</a><br /></td></tr>
<tr class="separator:gaa2bad4d08aa1c8ea98f2a92435583e01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacc10c18b636db3388e9b6383058fc757"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gacc10c18b636db3388e9b6383058fc757">snd_hctl_elem_set_callback</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *obj, <a class="el" href="group___h_control.html#ga64ce2446d79c992547d3db8c7faa6143">snd_hctl_elem_callback_t</a> val)</td></tr>
<tr class="memdesc:gacc10c18b636db3388e9b6383058fc757"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set callback function for an HCTL element.  <a href="group___h_control.html#gacc10c18b636db3388e9b6383058fc757">More...</a><br /></td></tr>
<tr class="separator:gacc10c18b636db3388e9b6383058fc757"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac0aad0000d7eccde5d107b1b95f429e6"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gac0aad0000d7eccde5d107b1b95f429e6">snd_hctl_elem_get_callback_private</a> (const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *obj)</td></tr>
<tr class="memdesc:gac0aad0000d7eccde5d107b1b95f429e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get callback private value for an HCTL element.  <a href="group___h_control.html#gac0aad0000d7eccde5d107b1b95f429e6">More...</a><br /></td></tr>
<tr class="separator:gac0aad0000d7eccde5d107b1b95f429e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa9d511449fc220d09e69a05ae65f1ead"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gaa9d511449fc220d09e69a05ae65f1ead">snd_hctl_elem_set_callback_private</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *obj, void *val)</td></tr>
<tr class="memdesc:gaa9d511449fc220d09e69a05ae65f1ead"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set callback private value for an HCTL element.  <a href="group___h_control.html#gaa9d511449fc220d09e69a05ae65f1ead">More...</a><br /></td></tr>
<tr class="separator:gaa9d511449fc220d09e69a05ae65f1ead"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>The high level control interface. See <a class="el" href="hcontrol.html">High level control interface</a> page for more details. </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga5e2b26a2cc8d696e2a9eacb6bbb2f417"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5e2b26a2cc8d696e2a9eacb6bbb2f417">&#9670;&nbsp;</a></span>snd_hctl_callback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int(* snd_hctl_callback_t) (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl, unsigned int mask, <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>HCTL callback function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr>
    <tr><td class="paramname">mask</td><td>event mask </td></tr>
    <tr><td class="paramname">elem</td><td>related HCTL element (if any) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int(* snd_hctl_compare_t) (const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *e1, const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *e2)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compare function for sorting HCTL elements. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">e1</td><td>First element </td></tr>
    <tr><td class="paramname">e2</td><td>Second element </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>-1 if e1 &lt; e2, 0 if e1 == e2, 1 if e1 &gt; e2 </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int(* snd_hctl_elem_callback_t) (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem, unsigned int mask)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>HCTL element callback function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">elem</td><td>HCTL element </td></tr>
    <tr><td class="paramname">mask</td><td>event mask </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct _snd_hctl_elem <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>HCTL element handle </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct _snd_hctl <a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>HCTL handle </p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="gae9537f6a56d663aa9714ccc82689ff1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae9537f6a56d663aa9714ccc82689ff1e">&#9670;&nbsp;</a></span>snd_hctl_close()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_hctl_close </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&#160;</td>
          <td class="paramname"><em>hctl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>close HCTL handle </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl>
<p>Closes the specified HCTL handle and frees all associated resources. </p>

</div>
</div>
<a id="gaaa17b28ebe0f1e0e4443182312af7408"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaaa17b28ebe0f1e0e4443182312af7408">&#9670;&nbsp;</a></span>snd_hctl_compare_fast()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_hctl_compare_fast </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>c1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>c2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A "don't care" fast compare functions that may be used with <a class="el" href="group___h_control.html#ga5917b8cbcdf5d44d8730027b18ff6172" title="Change HCTL compare function and reorder elements.">snd_hctl_set_compare</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">c1</td><td>First HCTL element </td></tr>
    <tr><td class="paramname">c2</td><td>Second HCTL element </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>-1 if c1 &lt; c2, 0 if c1 == c2, 1 if c1 &gt; c2 </dd></dl>

</div>
</div>
<a id="ga93f19c0fb16337f72b6c413512b79f1a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga93f19c0fb16337f72b6c413512b79f1a">&#9670;&nbsp;</a></span>snd_hctl_ctl()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___control.html#ga06628f38def84a0fe3da74041db9d51f">snd_ctl_t</a>* snd_hctl_ctl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&#160;</td>
          <td class="paramname"><em>hctl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get a ctl handle associated to the given hctl handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a ctl handle otherwise NULL </dd></dl>

</div>
</div>
<a id="gac0aad0000d7eccde5d107b1b95f429e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac0aad0000d7eccde5d107b1b95f429e6">&#9670;&nbsp;</a></span>snd_hctl_elem_get_callback_private()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* snd_hctl_elem_get_callback_private </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get callback private value for an HCTL element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>HCTL element </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>callback private value </dd></dl>

</div>
</div>
<a id="gae933e61025507ee572408138e935c63f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae933e61025507ee572408138e935c63f">&#9670;&nbsp;</a></span>snd_hctl_elem_get_device()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int snd_hctl_elem_get_device </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get device part of CTL element identifier of a CTL element id/value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>CTL element id/value </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>device part of element identifier </dd></dl>

</div>
</div>
<a id="ga98660b650e7c060be8a574402e2f2257"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga98660b650e7c060be8a574402e2f2257">&#9670;&nbsp;</a></span>snd_hctl_elem_get_hctl()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a>* snd_hctl_elem_get_hctl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>elem</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get HCTL handle for an HCTL element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">elem</td><td>HCTL element </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HCTL handle </dd></dl>

</div>
</div>
<a id="gac1c0ce6f627f2f1560c5db03a93caf5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac1c0ce6f627f2f1560c5db03a93caf5b">&#9670;&nbsp;</a></span>snd_hctl_elem_get_id()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_hctl_elem_get_id </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___control.html#gad6c3746f1925bfec6a4fd0e913430e55">snd_ctl_elem_id_t</a> *&#160;</td>
          <td class="paramname"><em>ptr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get CTL element identifier of a CTL element id/value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>CTL element id/value </td></tr>
    <tr><td class="paramname">ptr</td><td>Pointer to returned CTL element identifier </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gaa2bad4d08aa1c8ea98f2a92435583e01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa2bad4d08aa1c8ea98f2a92435583e01">&#9670;&nbsp;</a></span>snd_hctl_elem_get_index()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int snd_hctl_elem_get_index </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get index part of CTL element identifier of a CTL element id/value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>CTL element id/value </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>index part of element identifier </dd></dl>

</div>
</div>
<a id="gabe8c46cbe8b6a2612fa0eaeb1fa8fefb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabe8c46cbe8b6a2612fa0eaeb1fa8fefb">&#9670;&nbsp;</a></span>snd_hctl_elem_get_interface()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___control.html#ga14baa0febb91cc4c5d72dcc825acf518">snd_ctl_elem_iface_t</a> snd_hctl_elem_get_interface </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get interface part of CTL element identifier of a CTL element id/value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>CTL element id/value </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>interface part of element identifier </dd></dl>

</div>
</div>
<a id="gab89b9d62f8575795fc52b86415373a49"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab89b9d62f8575795fc52b86415373a49">&#9670;&nbsp;</a></span>snd_hctl_elem_get_name()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* snd_hctl_elem_get_name </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get name part of CTL element identifier of a CTL element id/value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>CTL element id/value </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>name part of element identifier </dd></dl>

</div>
</div>
<a id="gae5e86d487c6c964be8a59dfeddb2f36e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae5e86d487c6c964be8a59dfeddb2f36e">&#9670;&nbsp;</a></span>snd_hctl_elem_get_numid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int snd_hctl_elem_get_numid </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get element numeric identifier of a CTL element id/value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>CTL element id/value </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>element numeric identifier </dd></dl>

</div>
</div>
<a id="ga894c09354156fd12f8a089726449f6ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga894c09354156fd12f8a089726449f6ac">&#9670;&nbsp;</a></span>snd_hctl_elem_get_subdevice()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int snd_hctl_elem_get_subdevice </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get subdevice part of CTL element identifier of a CTL element id/value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>CTL element id/value </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>subdevice part of element identifier </dd></dl>

</div>
</div>
<a id="gae08b50b118461e6fcc55975e5530885c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae08b50b118461e6fcc55975e5530885c">&#9670;&nbsp;</a></span>snd_hctl_elem_info()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_hctl_elem_info </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>elem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___control.html#ga2cae0bb76df919368e4ff9a7021dd3ab">snd_ctl_elem_info_t</a> *&#160;</td>
          <td class="paramname"><em>info</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get information for an HCTL element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">elem</td><td>HCTL element </td></tr>
    <tr><td class="paramname">info</td><td>HCTL element information </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 otherwise a negative error code on failure </dd></dl>

</div>
</div>
<a id="gaf7c6b19c5feb2392f2d447bc3f54fd15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf7c6b19c5feb2392f2d447bc3f54fd15">&#9670;&nbsp;</a></span>snd_hctl_elem_next()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a>* snd_hctl_elem_next </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>elem</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get next HCTL element </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">elem</td><td>HCTL element </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to next element </dd></dl>

</div>
</div>
<a id="ga89a720775cb955ee4069a45074e4b32f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga89a720775cb955ee4069a45074e4b32f">&#9670;&nbsp;</a></span>snd_hctl_elem_prev()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a>* snd_hctl_elem_prev </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>elem</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get previous HCTL element </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">elem</td><td>HCTL element </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to previous element </dd></dl>

</div>
</div>
<a id="ga86728d69cc5de843ed46ffb4f3b98e2c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga86728d69cc5de843ed46ffb4f3b98e2c">&#9670;&nbsp;</a></span>snd_hctl_elem_read()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_hctl_elem_read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>elem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___control.html#ga266b478eb64f1cdd75e337df4b4b995e">snd_ctl_elem_value_t</a> *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get value for an HCTL element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">elem</td><td>HCTL element </td></tr>
    <tr><td class="paramname">value</td><td>HCTL element value </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 otherwise a negative error code on failure </dd></dl>

</div>
</div>
<a id="gacc10c18b636db3388e9b6383058fc757"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacc10c18b636db3388e9b6383058fc757">&#9670;&nbsp;</a></span>snd_hctl_elem_set_callback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_hctl_elem_set_callback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga64ce2446d79c992547d3db8c7faa6143">snd_hctl_elem_callback_t</a>&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set callback function for an HCTL element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>HCTL element </td></tr>
    <tr><td class="paramname">val</td><td>callback function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gaa9d511449fc220d09e69a05ae65f1ead"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa9d511449fc220d09e69a05ae65f1ead">&#9670;&nbsp;</a></span>snd_hctl_elem_set_callback_private()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_hctl_elem_set_callback_private </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set callback private value for an HCTL element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>HCTL element </td></tr>
    <tr><td class="paramname">val</td><td>callback private value </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gaedec51e102fbf6161322553355439121"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaedec51e102fbf6161322553355439121">&#9670;&nbsp;</a></span>snd_hctl_elem_tlv_command()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_hctl_elem_tlv_command </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>elem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned int *&#160;</td>
          <td class="paramname"><em>tlv</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set TLV value for an HCTL element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">elem</td><td>HCTL element </td></tr>
    <tr><td class="paramname">tlv</td><td>TLV array for value </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>on success </td></tr>
    <tr><td class="paramname">&gt;1</td><td>on success when value was changed </td></tr>
    <tr><td class="paramname">&lt;0</td><td>a negative error code on failure </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga45fc0e8b3dfaeb2dfebce4f613b21297"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga45fc0e8b3dfaeb2dfebce4f613b21297">&#9670;&nbsp;</a></span>snd_hctl_elem_tlv_read()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_hctl_elem_tlv_read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>elem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>tlv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>tlv_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get TLV value for an HCTL element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">elem</td><td>HCTL element </td></tr>
    <tr><td class="paramname">tlv</td><td>TLV array for value </td></tr>
    <tr><td class="paramname">tlv_size</td><td>size of TLV array in bytes </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 otherwise a negative error code on failure </dd></dl>

</div>
</div>
<a id="gab5611090cee93ace74db2e744718ae25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab5611090cee93ace74db2e744718ae25">&#9670;&nbsp;</a></span>snd_hctl_elem_tlv_write()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_hctl_elem_tlv_write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>elem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned int *&#160;</td>
          <td class="paramname"><em>tlv</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set TLV value for an HCTL element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">elem</td><td>HCTL element </td></tr>
    <tr><td class="paramname">tlv</td><td>TLV array for value </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>on success </td></tr>
    <tr><td class="paramname">&gt;1</td><td>on success when value was changed </td></tr>
    <tr><td class="paramname">&lt;0</td><td>a negative error code on failure </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gafaf6b88337fdc827c847e21a6fd0cd79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafaf6b88337fdc827c847e21a6fd0cd79">&#9670;&nbsp;</a></span>snd_hctl_elem_write()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_hctl_elem_write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&#160;</td>
          <td class="paramname"><em>elem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___control.html#ga266b478eb64f1cdd75e337df4b4b995e">snd_ctl_elem_value_t</a> *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set value for an HCTL element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">elem</td><td>HCTL element </td></tr>
    <tr><td class="paramname">value</td><td>HCTL element value </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>on success </td></tr>
    <tr><td class="paramname">&gt;1</td><td>on success when value was changed </td></tr>
    <tr><td class="paramname">&lt;0</td><td>a negative error code on failure </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gaeee7f3f76cb71fd4b3456a9566529bd5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaeee7f3f76cb71fd4b3456a9566529bd5">&#9670;&nbsp;</a></span>snd_hctl_find_elem()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a>* snd_hctl_find_elem </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&#160;</td>
          <td class="paramname"><em>hctl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group___control.html#gad6c3746f1925bfec6a4fd0e913430e55">snd_ctl_elem_id_t</a> *&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Search an HCTL element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr>
    <tr><td class="paramname">id</td><td>Element identifier </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to found HCTL element or NULL if it does not exists </dd></dl>

</div>
</div>
<a id="gaaa68ce403d30e4d152fe4ce82b6c02db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaaa68ce403d30e4d152fe4ce82b6c02db">&#9670;&nbsp;</a></span>snd_hctl_first_elem()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a>* snd_hctl_first_elem </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&#160;</td>
          <td class="paramname"><em>hctl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get first element for an HCTL </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to first element </dd></dl>

</div>
</div>
<a id="ga1b3e936bba7a6127459af1244c7da454"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1b3e936bba7a6127459af1244c7da454">&#9670;&nbsp;</a></span>snd_hctl_free()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_hctl_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&#160;</td>
          <td class="paramname"><em>hctl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>free HCTL loaded elements </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a id="ga60c1606f4d423301355344e5373d5ccc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga60c1606f4d423301355344e5373d5ccc">&#9670;&nbsp;</a></span>snd_hctl_get_callback_private()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* snd_hctl_get_callback_private </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&#160;</td>
          <td class="paramname"><em>hctl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get callback private value for an HCTL. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>callback private value </dd></dl>

</div>
</div>
<a id="ga098944f4f2d7722550901bf6f80ee91c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga098944f4f2d7722550901bf6f80ee91c">&#9670;&nbsp;</a></span>snd_hctl_get_count()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int snd_hctl_get_count </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&#160;</td>
          <td class="paramname"><em>hctl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get number of loaded elements for an HCTL. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>elements count </dd></dl>

</div>
</div>
<a id="ga02d9dc1cdbdfe11880e3fe774f2034bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga02d9dc1cdbdfe11880e3fe774f2034bd">&#9670;&nbsp;</a></span>snd_hctl_handle_events()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_hctl_handle_events </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&#160;</td>
          <td class="paramname"><em>hctl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handle pending HCTL events invoking callbacks. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 otherwise a negative error code on failure </dd></dl>

</div>
</div>
<a id="ga8b7270503d275040a391e05c991ec569"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8b7270503d275040a391e05c991ec569">&#9670;&nbsp;</a></span>snd_hctl_last_elem()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a>* snd_hctl_last_elem </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&#160;</td>
          <td class="paramname"><em>hctl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get last element for an HCTL </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to last element </dd></dl>

</div>
</div>
<a id="ga700017b7d9b8decb775702d5dc6fef85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga700017b7d9b8decb775702d5dc6fef85">&#9670;&nbsp;</a></span>snd_hctl_load()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_hctl_load </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&#160;</td>
          <td class="paramname"><em>hctl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Load an HCTL with all elements and sort them. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a id="gabd1208fbbe2061021494ea21ab382088"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabd1208fbbe2061021494ea21ab382088">&#9670;&nbsp;</a></span>snd_hctl_name()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* snd_hctl_name </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&#160;</td>
          <td class="paramname"><em>hctl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get identifier of HCTL handle </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ascii identifier of HCTL handle</dd></dl>
<p>Returns the ASCII identifier of given HCTL handle. It's the same identifier specified in <a class="el" href="group___h_control.html#ga2a86455eaad4f2730a936d06c62cca29" title="Opens an HCTL.">snd_hctl_open()</a>. </p>

</div>
</div>
<a id="ga3c3e66e230fc93c15f18568342725a43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3c3e66e230fc93c15f18568342725a43">&#9670;&nbsp;</a></span>snd_hctl_nonblock()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_hctl_nonblock </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&#160;</td>
          <td class="paramname"><em>hctl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nonblock</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>set nonblock mode </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr>
    <tr><td class="paramname">nonblock</td><td>0 = block, 1 = nonblock mode </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a id="ga2a86455eaad4f2730a936d06c62cca29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2a86455eaad4f2730a936d06c62cca29">&#9670;&nbsp;</a></span>snd_hctl_open()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_hctl_open </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> **&#160;</td>
          <td class="paramname"><em>hctlp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Opens an HCTL. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctlp</td><td>Returned HCTL handle </td></tr>
    <tr><td class="paramname">name</td><td>ASCII identifier of the underlying CTL handle </td></tr>
    <tr><td class="paramname">mode</td><td>Open mode (see <a class="el" href="group___control.html#gae8a46558414be5b5b3b7bed127ad4574">SND_CTL_NONBLOCK</a>, <a class="el" href="group___control.html#gadcbc5a476ffaf2b8d4dfd29a2cfaab3d">SND_CTL_ASYNC</a>) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a id="ga48b556b219e99c36d65efc6b8a97029c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga48b556b219e99c36d65efc6b8a97029c">&#9670;&nbsp;</a></span>snd_hctl_open_ctl()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_hctl_open_ctl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> **&#160;</td>
          <td class="paramname"><em>hctlp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___control.html#ga06628f38def84a0fe3da74041db9d51f">snd_ctl_t</a> *&#160;</td>
          <td class="paramname"><em>ctl</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Opens an HCTL. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctlp</td><td>Returned HCTL handle </td></tr>
    <tr><td class="paramname">ctl</td><td>underlying CTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a id="ga7dd3894b55740cbdb8b2a0bef15af295"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7dd3894b55740cbdb8b2a0bef15af295">&#9670;&nbsp;</a></span>snd_hctl_poll_descriptors()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_hctl_poll_descriptors </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&#160;</td>
          <td class="paramname"><em>hctl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct pollfd *&#160;</td>
          <td class="paramname"><em>pfds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>space</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get poll descriptors </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr>
    <tr><td class="paramname">pfds</td><td>array of poll descriptors </td></tr>
    <tr><td class="paramname">space</td><td>space in the poll descriptor array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>count of filled descriptors </dd></dl>

</div>
</div>
<a id="ga32238dba8935b2cb91fbad73aae9e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga32238dba8935b2cb91fbad73aae9e3d4">&#9670;&nbsp;</a></span>snd_hctl_poll_descriptors_count()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_hctl_poll_descriptors_count </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&#160;</td>
          <td class="paramname"><em>hctl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get count of poll descriptors for HCTL handle </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>count of poll descriptors </dd></dl>

</div>
</div>
<a id="ga704fd06286869e793e223956b186bfdf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga704fd06286869e793e223956b186bfdf">&#9670;&nbsp;</a></span>snd_hctl_poll_descriptors_revents()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_hctl_poll_descriptors_revents </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&#160;</td>
          <td class="paramname"><em>hctl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct pollfd *&#160;</td>
          <td class="paramname"><em>pfds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>nfds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned short *&#160;</td>
          <td class="paramname"><em>revents</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get returned events from poll descriptors </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr>
    <tr><td class="paramname">pfds</td><td>array of poll descriptors </td></tr>
    <tr><td class="paramname">nfds</td><td>count of poll descriptors </td></tr>
    <tr><td class="paramname">revents</td><td>returned events </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero if success, otherwise a negative error code </dd></dl>

</div>
</div>
<a id="ga9c0abde0c53cafb640bbd6e3b1c3d6c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9c0abde0c53cafb640bbd6e3b1c3d6c6">&#9670;&nbsp;</a></span>snd_hctl_set_callback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_hctl_set_callback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&#160;</td>
          <td class="paramname"><em>hctl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga5e2b26a2cc8d696e2a9eacb6bbb2f417">snd_hctl_callback_t</a>&#160;</td>
          <td class="paramname"><em>callback</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set callback function for an HCTL. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr>
    <tr><td class="paramname">callback</td><td>callback function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gae678856658731969c884a4c9c810d799"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae678856658731969c884a4c9c810d799">&#9670;&nbsp;</a></span>snd_hctl_set_callback_private()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_hctl_set_callback_private </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&#160;</td>
          <td class="paramname"><em>hctl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>callback_private</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set callback private value for an HCTL. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr>
    <tr><td class="paramname">callback_private</td><td>callback private value </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga5917b8cbcdf5d44d8730027b18ff6172"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5917b8cbcdf5d44d8730027b18ff6172">&#9670;&nbsp;</a></span>snd_hctl_set_compare()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_hctl_set_compare </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&#160;</td>
          <td class="paramname"><em>hctl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga612e7c59d360ecc9334f7fe71377f9cc">snd_hctl_compare_t</a>&#160;</td>
          <td class="paramname"><em>compare</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Change HCTL compare function and reorder elements. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr>
    <tr><td class="paramname">compare</td><td>Element compare function </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a id="ga2f0d0548f5d848b6557b2967d0e73494"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2f0d0548f5d848b6557b2967d0e73494">&#9670;&nbsp;</a></span>snd_hctl_wait()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_hctl_wait </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&#160;</td>
          <td class="paramname"><em>hctl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>timeout</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wait for a HCTL to become ready (i.e. at least one event pending) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr>
    <tr><td class="paramname">timeout</td><td>maximum time in milliseconds to wait </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a positive value on success otherwise a negative error code </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>timeout occurred </td></tr>
    <tr><td class="paramname">1</td><td>an event is pending </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</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>