Sophie

Sophie

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

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

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>ALSA project - the C library reference: High level Control Interface</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>High level Control Interface<br/>
<small>
[<a class="el" href="group___control.html">Control Interface</a>]</small>
</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct _snd_hctl_elem&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct _snd_hctl&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga1801355a5473ac21a6f8996e50b12b98">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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare function for sorting HCTL elements.  <a href="#ga1801355a5473ac21a6f8996e50b12b98"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gaeba80eb2e3f8900f1cdc9c677db9ddf7">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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">HCTL callback function.  <a href="#gaeba80eb2e3f8900f1cdc9c677db9ddf7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga3002cda007033735dc31d632c4c84678">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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">HCTL element callback function.  <a href="#ga3002cda007033735dc31d632c4c84678"></a><br/></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</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><td class="mdescLeft">&nbsp;</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="#gaaa17b28ebe0f1e0e4443182312af7408"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens an HCTL.  <a href="#ga2a86455eaad4f2730a936d06c62cca29"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens an HCTL.  <a href="#ga48b556b219e99c36d65efc6b8a97029c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">close HCTL handle  <a href="#gae9537f6a56d663aa9714ccc82689ff1e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set nonblock mode  <a href="#ga3c3e66e230fc93c15f18568342725a43"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get count of poll descriptors for HCTL handle  <a href="#ga32238dba8935b2cb91fbad73aae9e3d4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get poll descriptors  <a href="#ga7dd3894b55740cbdb8b2a0bef15af295"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get returned events from poll descriptors  <a href="#ga704fd06286869e793e223956b186bfdf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get number of loaded elements for an HCTL.  <a href="#ga098944f4f2d7722550901bf6f80ee91c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</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#ga1801355a5473ac21a6f8996e50b12b98">snd_hctl_compare_t</a> hsort)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change HCTL compare function and reorder elements.  <a href="#ga5917b8cbcdf5d44d8730027b18ff6172"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get first element for an HCTL  <a href="#gaaa68ce403d30e4d152fe4ce82b6c02db"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get last element for an HCTL  <a href="#ga8b7270503d275040a391e05c991ec569"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Search an HCTL element.  <a href="#gaeee7f3f76cb71fd4b3456a9566529bd5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</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#gaeba80eb2e3f8900f1cdc9c677db9ddf7">snd_hctl_callback_t</a> callback)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set callback function for an HCTL.  <a href="#ga9c0abde0c53cafb640bbd6e3b1c3d6c6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</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 *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set callback private value for an HCTL.  <a href="#gae678856658731969c884a4c9c810d799"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get callback private value for an HCTL.  <a href="#ga60c1606f4d423301355344e5373d5ccc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load an HCTL with all elements and sort them.  <a href="#ga700017b7d9b8decb775702d5dc6fef85"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">free HCTL loaded elements  <a href="#ga1b3e936bba7a6127459af1244c7da454"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Handle pending HCTL events invoking callbacks.  <a href="#ga02d9dc1cdbdfe11880e3fe774f2034bd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get identifier of HCTL handle  <a href="#gabd1208fbbe2061021494ea21ab382088"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wait for a HCTL to become ready (i.e. at least one event pending).  <a href="#ga2f0d0548f5d848b6557b2967d0e73494"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___control.html#ga06628f38def84a0fe3da74041db9d51f">snd_ctl_t</a> *&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a ctl handle associated to the given hctl handle.  <a href="#ga93f19c0fb16337f72b6c413512b79f1a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get next HCTL element  <a href="#gaf7c6b19c5feb2392f2d447bc3f54fd15"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get previous HCTL element  <a href="#ga89a720775cb955ee4069a45074e4b32f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get information for an HCTL element.  <a href="#gae08b50b118461e6fcc55975e5530885c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get value for an HCTL element.  <a href="#ga86728d69cc5de843ed46ffb4f3b98e2c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set value for an HCTL element.  <a href="#gafaf6b88337fdc827c847e21a6fd0cd79"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get TLV value for an HCTL element.  <a href="#ga45fc0e8b3dfaeb2dfebce4f613b21297"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set TLV value for an HCTL element.  <a href="#gab5611090cee93ace74db2e744718ae25"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set TLV value for an HCTL element.  <a href="#gaedec51e102fbf6161322553355439121"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get HCTL handle for an HCTL element.  <a href="#ga98660b650e7c060be8a574402e2f2257"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get CTL element identifier of a CTL element id/value.  <a href="#gac1c0ce6f627f2f1560c5db03a93caf5b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get element numeric identifier of a CTL element id/value.  <a href="#gae5e86d487c6c964be8a59dfeddb2f36e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___control.html#ga14baa0febb91cc4c5d72dcc825acf518">snd_ctl_elem_iface_t</a>&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get interface part of CTL element identifier of a CTL element id/value.  <a href="#gabe8c46cbe8b6a2612fa0eaeb1fa8fefb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get device part of CTL element identifier of a CTL element id/value.  <a href="#gae933e61025507ee572408138e935c63f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get subdevice part of CTL element identifier of a CTL element id/value.  <a href="#ga894c09354156fd12f8a089726449f6ac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get name part of CTL element identifier of a CTL element id/value.  <a href="#gab89b9d62f8575795fc52b86415373a49"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get index part of CTL element identifier of a CTL element id/value.  <a href="#gaa2bad4d08aa1c8ea98f2a92435583e01"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</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#ga3002cda007033735dc31d632c4c84678">snd_hctl_elem_callback_t</a> val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set callback function for an HCTL element.  <a href="#gacc10c18b636db3388e9b6383058fc757"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get callback private value for an HCTL element.  <a href="#gac0aad0000d7eccde5d107b1b95f429e6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set callback private value for an HCTL element.  <a href="#gaa9d511449fc220d09e69a05ae65f1ead"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>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>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="gaeba80eb2e3f8900f1cdc9c677db9ddf7"></a><!-- doxytag: member="control.h::snd_hctl_callback_t" ref="gaeba80eb2e3f8900f1cdc9c677db9ddf7" args=")(snd_hctl_t *hctl, unsigned int mask, snd_hctl_elem_t *elem)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int(* <a class="el" href="group___h_control.html#gaeba80eb2e3f8900f1cdc9c677db9ddf7">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>
      </table>
</div>
<div class="memdoc">

<p>HCTL callback function. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctl</em>&nbsp;</td><td>HCTL handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mask</em>&nbsp;</td><td>event mask </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>elem</em>&nbsp;</td><td>related HCTL element (if any) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="ga1801355a5473ac21a6f8996e50b12b98"></a><!-- doxytag: member="control.h::snd_hctl_compare_t" ref="ga1801355a5473ac21a6f8996e50b12b98" args=")(const snd_hctl_elem_t *e1, const snd_hctl_elem_t *e2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int(* <a class="el" href="group___h_control.html#ga1801355a5473ac21a6f8996e50b12b98">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>
      </table>
</div>
<div class="memdoc">

<p>Compare function for sorting HCTL elements. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>e1</em>&nbsp;</td><td>First element </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>e2</em>&nbsp;</td><td>Second element </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>-1 if e1 &lt; e2, 0 if e1 == e2, 1 if e1 &gt; e2 </dd></dl>

</div>
</div>
<a class="anchor" id="ga3002cda007033735dc31d632c4c84678"></a><!-- doxytag: member="control.h::snd_hctl_elem_callback_t" ref="ga3002cda007033735dc31d632c4c84678" args=")(snd_hctl_elem_t *elem, unsigned int mask)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int(* <a class="el" href="group___h_control.html#ga3002cda007033735dc31d632c4c84678">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>
      </table>
</div>
<div class="memdoc">

<p>HCTL element callback function. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>elem</em>&nbsp;</td><td>HCTL element </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mask</em>&nbsp;</td><td>event mask </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="gaddfb152863e87857d463c7008d72ad74"></a><!-- doxytag: member="control.h::snd_hctl_elem_t" ref="gaddfb152863e87857d463c7008d72ad74" args="" -->
<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 class="anchor" id="ga13c9ad52c57ab7db06065a7f806b2369"></a><!-- doxytag: member="control.h::snd_hctl_t" ref="ga13c9ad52c57ab7db06065a7f806b2369" args="" -->
<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>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gae9537f6a56d663aa9714ccc82689ff1e"></a><!-- doxytag: member="control.h::snd_hctl_close" ref="gae9537f6a56d663aa9714ccc82689ff1e" args="(snd_hctl_t *hctl)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>hctl</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>close HCTL handle </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctl</em>&nbsp;</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></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 class="anchor" id="gaaa17b28ebe0f1e0e4443182312af7408"></a><!-- doxytag: member="control.h::snd_hctl_compare_fast" ref="gaaa17b28ebe0f1e0e4443182312af7408" args="(const snd_hctl_elem_t *c1, const snd_hctl_elem_t *c2)" -->
<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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>c2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>c1</em>&nbsp;</td><td>First HCTL element </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>c2</em>&nbsp;</td><td>Second HCTL element </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>-1 if c1 &lt; c2, 0 if c1 == c2, 1 if c1 &gt; c2 </dd></dl>

</div>
</div>
<a class="anchor" id="ga93f19c0fb16337f72b6c413512b79f1a"></a><!-- doxytag: member="control.h::snd_hctl_ctl" ref="ga93f19c0fb16337f72b6c413512b79f1a" args="(snd_hctl_t *hctl)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>hctl</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a ctl handle associated to the given hctl handle. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctl</em>&nbsp;</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a ctl handle otherwise NULL </dd></dl>

</div>
</div>
<a class="anchor" id="gac0aad0000d7eccde5d107b1b95f429e6"></a><!-- doxytag: member="control.h::snd_hctl_elem_get_callback_private" ref="gac0aad0000d7eccde5d107b1b95f429e6" args="(const snd_hctl_elem_t *obj)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get callback private value for an HCTL element. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>HCTL element </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>callback private value </dd></dl>

</div>
</div>
<a class="anchor" id="gae933e61025507ee572408138e935c63f"></a><!-- doxytag: member="control.h::snd_hctl_elem_get_device" ref="gae933e61025507ee572408138e935c63f" args="(const snd_hctl_elem_t *obj)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>CTL element id/value </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>device part of element identifier </dd></dl>

</div>
</div>
<a class="anchor" id="ga98660b650e7c060be8a574402e2f2257"></a><!-- doxytag: member="control.h::snd_hctl_elem_get_hctl" ref="ga98660b650e7c060be8a574402e2f2257" args="(snd_hctl_elem_t *elem)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>elem</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get HCTL handle for an HCTL element. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>elem</em>&nbsp;</td><td>HCTL element </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>HCTL handle </dd></dl>

</div>
</div>
<a class="anchor" id="gac1c0ce6f627f2f1560c5db03a93caf5b"></a><!-- doxytag: member="control.h::snd_hctl_elem_get_id" ref="gac1c0ce6f627f2f1560c5db03a93caf5b" args="(const snd_hctl_elem_t *obj, snd_ctl_elem_id_t *ptr)" -->
<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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>ptr</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>CTL element id/value </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ptr</em>&nbsp;</td><td>Pointer to returned CTL element identifier </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaa2bad4d08aa1c8ea98f2a92435583e01"></a><!-- doxytag: member="control.h::snd_hctl_elem_get_index" ref="gaa2bad4d08aa1c8ea98f2a92435583e01" args="(const snd_hctl_elem_t *obj)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>CTL element id/value </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>index part of element identifier </dd></dl>

</div>
</div>
<a class="anchor" id="gabe8c46cbe8b6a2612fa0eaeb1fa8fefb"></a><!-- doxytag: member="control.h::snd_hctl_elem_get_interface" ref="gabe8c46cbe8b6a2612fa0eaeb1fa8fefb" args="(const snd_hctl_elem_t *obj)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>CTL element id/value </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>interface part of element identifier </dd></dl>

</div>
</div>
<a class="anchor" id="gab89b9d62f8575795fc52b86415373a49"></a><!-- doxytag: member="control.h::snd_hctl_elem_get_name" ref="gab89b9d62f8575795fc52b86415373a49" args="(const snd_hctl_elem_t *obj)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>CTL element id/value </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>name part of element identifier </dd></dl>

</div>
</div>
<a class="anchor" id="gae5e86d487c6c964be8a59dfeddb2f36e"></a><!-- doxytag: member="control.h::snd_hctl_elem_get_numid" ref="gae5e86d487c6c964be8a59dfeddb2f36e" args="(const snd_hctl_elem_t *obj)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get element numeric identifier of a CTL element id/value. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>CTL element id/value </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>element numeric identifier </dd></dl>

</div>
</div>
<a class="anchor" id="ga894c09354156fd12f8a089726449f6ac"></a><!-- doxytag: member="control.h::snd_hctl_elem_get_subdevice" ref="ga894c09354156fd12f8a089726449f6ac" args="(const snd_hctl_elem_t *obj)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>CTL element id/value </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>subdevice part of element identifier </dd></dl>

</div>
</div>
<a class="anchor" id="gae08b50b118461e6fcc55975e5530885c"></a><!-- doxytag: member="control.h::snd_hctl_elem_info" ref="gae08b50b118461e6fcc55975e5530885c" args="(snd_hctl_elem_t *elem, snd_ctl_elem_info_t *info)" -->
<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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get information for an HCTL element. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>elem</em>&nbsp;</td><td>HCTL element </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>HCTL element information </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 otherwise a negative error code on failure </dd></dl>

</div>
</div>
<a class="anchor" id="gaf7c6b19c5feb2392f2d447bc3f54fd15"></a><!-- doxytag: member="control.h::snd_hctl_elem_next" ref="gaf7c6b19c5feb2392f2d447bc3f54fd15" args="(snd_hctl_elem_t *elem)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>elem</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get next HCTL element </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>elem</em>&nbsp;</td><td>HCTL element </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to next element </dd></dl>

</div>
</div>
<a class="anchor" id="ga89a720775cb955ee4069a45074e4b32f"></a><!-- doxytag: member="control.h::snd_hctl_elem_prev" ref="ga89a720775cb955ee4069a45074e4b32f" args="(snd_hctl_elem_t *elem)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>elem</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get previous HCTL element </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>elem</em>&nbsp;</td><td>HCTL element </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to previous element </dd></dl>

</div>
</div>
<a class="anchor" id="ga86728d69cc5de843ed46ffb4f3b98e2c"></a><!-- doxytag: member="control.h::snd_hctl_elem_read" ref="ga86728d69cc5de843ed46ffb4f3b98e2c" args="(snd_hctl_elem_t *elem, snd_ctl_elem_value_t *value)" -->
<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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get value for an HCTL element. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>elem</em>&nbsp;</td><td>HCTL element </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>HCTL element value </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 otherwise a negative error code on failure </dd></dl>

</div>
</div>
<a class="anchor" id="gacc10c18b636db3388e9b6383058fc757"></a><!-- doxytag: member="control.h::snd_hctl_elem_set_callback" ref="gacc10c18b636db3388e9b6383058fc757" args="(snd_hctl_elem_t *obj, snd_hctl_elem_callback_t val)" -->
<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> *&nbsp;</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#ga3002cda007033735dc31d632c4c84678">snd_hctl_elem_callback_t</a>&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set callback function for an HCTL element. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>HCTL element </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>callback function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaa9d511449fc220d09e69a05ae65f1ead"></a><!-- doxytag: member="control.h::snd_hctl_elem_set_callback_private" ref="gaa9d511449fc220d09e69a05ae65f1ead" args="(snd_hctl_elem_t *obj, void *val)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>HCTL element </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>callback private value </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaedec51e102fbf6161322553355439121"></a><!-- doxytag: member="control.h::snd_hctl_elem_tlv_command" ref="gaedec51e102fbf6161322553355439121" args="(snd_hctl_elem_t *elem, const unsigned int *tlv)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>elem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned int *&nbsp;</td>
          <td class="paramname"> <em>tlv</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set TLV value for an HCTL element. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>elem</em>&nbsp;</td><td>HCTL element </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>tlv</em>&nbsp;</td><td>TLV array for value </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>0</em>&nbsp;</td><td>on success </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>&gt;1</em>&nbsp;</td><td>on success when value was changed </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>&lt;0</em>&nbsp;</td><td>a negative error code on failure </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga45fc0e8b3dfaeb2dfebce4f613b21297"></a><!-- doxytag: member="control.h::snd_hctl_elem_tlv_read" ref="ga45fc0e8b3dfaeb2dfebce4f613b21297" args="(snd_hctl_elem_t *elem, unsigned int *tlv, unsigned int tlv_size)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>elem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&nbsp;</td>
          <td class="paramname"> <em>tlv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>tlv_size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get TLV value for an HCTL element. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>elem</em>&nbsp;</td><td>HCTL element </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>tlv</em>&nbsp;</td><td>TLV array for value </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>tlv_size</em>&nbsp;</td><td>size of TLV array in bytes </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 otherwise a negative error code on failure </dd></dl>

</div>
</div>
<a class="anchor" id="gab5611090cee93ace74db2e744718ae25"></a><!-- doxytag: member="control.h::snd_hctl_elem_tlv_write" ref="gab5611090cee93ace74db2e744718ae25" args="(snd_hctl_elem_t *elem, const unsigned int *tlv)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>elem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned int *&nbsp;</td>
          <td class="paramname"> <em>tlv</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set TLV value for an HCTL element. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>elem</em>&nbsp;</td><td>HCTL element </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>tlv</em>&nbsp;</td><td>TLV array for value </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>0</em>&nbsp;</td><td>on success </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>&gt;1</em>&nbsp;</td><td>on success when value was changed </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>&lt;0</em>&nbsp;</td><td>a negative error code on failure </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gafaf6b88337fdc827c847e21a6fd0cd79"></a><!-- doxytag: member="control.h::snd_hctl_elem_write" ref="gafaf6b88337fdc827c847e21a6fd0cd79" args="(snd_hctl_elem_t *elem, snd_ctl_elem_value_t *value)" -->
<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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set value for an HCTL element. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>elem</em>&nbsp;</td><td>HCTL element </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>HCTL element value </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>0</em>&nbsp;</td><td>on success </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>&gt;1</em>&nbsp;</td><td>on success when value was changed </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>&lt;0</em>&nbsp;</td><td>a negative error code on failure </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaeee7f3f76cb71fd4b3456a9566529bd5"></a><!-- doxytag: member="control.h::snd_hctl_find_elem" ref="gaeee7f3f76cb71fd4b3456a9566529bd5" args="(snd_hctl_t *hctl, const snd_ctl_elem_id_t *id)" -->
<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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>id</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Search an HCTL element. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctl</em>&nbsp;</td><td>HCTL handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>Element identifier </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to found HCTL element or NULL if it does not exists </dd></dl>

</div>
</div>
<a class="anchor" id="gaaa68ce403d30e4d152fe4ce82b6c02db"></a><!-- doxytag: member="control.h::snd_hctl_first_elem" ref="gaaa68ce403d30e4d152fe4ce82b6c02db" args="(snd_hctl_t *hctl)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>hctl</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get first element for an HCTL </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctl</em>&nbsp;</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to first element </dd></dl>

</div>
</div>
<a class="anchor" id="ga1b3e936bba7a6127459af1244c7da454"></a><!-- doxytag: member="control.h::snd_hctl_free" ref="ga1b3e936bba7a6127459af1244c7da454" args="(snd_hctl_t *hctl)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>hctl</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>free HCTL loaded elements </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctl</em>&nbsp;</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="ga60c1606f4d423301355344e5373d5ccc"></a><!-- doxytag: member="control.h::snd_hctl_get_callback_private" ref="ga60c1606f4d423301355344e5373d5ccc" args="(snd_hctl_t *hctl)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>hctl</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get callback private value for an HCTL. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctl</em>&nbsp;</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>callback private value </dd></dl>

</div>
</div>
<a class="anchor" id="ga098944f4f2d7722550901bf6f80ee91c"></a><!-- doxytag: member="control.h::snd_hctl_get_count" ref="ga098944f4f2d7722550901bf6f80ee91c" args="(snd_hctl_t *hctl)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>hctl</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get number of loaded elements for an HCTL. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctl</em>&nbsp;</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>elements count </dd></dl>

</div>
</div>
<a class="anchor" id="ga02d9dc1cdbdfe11880e3fe774f2034bd"></a><!-- doxytag: member="control.h::snd_hctl_handle_events" ref="ga02d9dc1cdbdfe11880e3fe774f2034bd" args="(snd_hctl_t *hctl)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>hctl</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Handle pending HCTL events invoking callbacks. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctl</em>&nbsp;</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 otherwise a negative error code on failure </dd></dl>

</div>
</div>
<a class="anchor" id="ga8b7270503d275040a391e05c991ec569"></a><!-- doxytag: member="control.h::snd_hctl_last_elem" ref="ga8b7270503d275040a391e05c991ec569" args="(snd_hctl_t *hctl)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>hctl</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get last element for an HCTL </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctl</em>&nbsp;</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to last element </dd></dl>

</div>
</div>
<a class="anchor" id="ga700017b7d9b8decb775702d5dc6fef85"></a><!-- doxytag: member="control.h::snd_hctl_load" ref="ga700017b7d9b8decb775702d5dc6fef85" args="(snd_hctl_t *hctl)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>hctl</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Load an HCTL with all elements and sort them. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctl</em>&nbsp;</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="gabd1208fbbe2061021494ea21ab382088"></a><!-- doxytag: member="control.h::snd_hctl_name" ref="gabd1208fbbe2061021494ea21ab382088" args="(snd_hctl_t *hctl)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>hctl</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get identifier of HCTL handle </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctl</em>&nbsp;</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></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 class="anchor" id="ga3c3e66e230fc93c15f18568342725a43"></a><!-- doxytag: member="control.h::snd_hctl_nonblock" ref="ga3c3e66e230fc93c15f18568342725a43" args="(snd_hctl_t *hctl, int nonblock)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>hctl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>nonblock</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set nonblock mode </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctl</em>&nbsp;</td><td>HCTL handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nonblock</em>&nbsp;</td><td>0 = block, 1 = nonblock mode </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="ga2a86455eaad4f2730a936d06c62cca29"></a><!-- doxytag: member="control.h::snd_hctl_open" ref="ga2a86455eaad4f2730a936d06c62cca29" args="(snd_hctl_t **hctl, const char *name, int mode)" -->
<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> **&nbsp;</td>
          <td class="paramname"> <em>hctlp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Opens an HCTL. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctlp</em>&nbsp;</td><td>Returned HCTL handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>ASCII identifier of the underlying CTL handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</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="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="ga48b556b219e99c36d65efc6b8a97029c"></a><!-- doxytag: member="control.h::snd_hctl_open_ctl" ref="ga48b556b219e99c36d65efc6b8a97029c" args="(snd_hctl_t **hctlp, snd_ctl_t *ctl)" -->
<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> **&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>ctl</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Opens an HCTL. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctlp</em>&nbsp;</td><td>Returned HCTL handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ctl</em>&nbsp;</td><td>underlying CTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="ga7dd3894b55740cbdb8b2a0bef15af295"></a><!-- doxytag: member="control.h::snd_hctl_poll_descriptors" ref="ga7dd3894b55740cbdb8b2a0bef15af295" args="(snd_hctl_t *hctl, struct pollfd *pfds, unsigned int space)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>hctl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct pollfd *&nbsp;</td>
          <td class="paramname"> <em>pfds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>space</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get poll descriptors </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctl</em>&nbsp;</td><td>HCTL handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pfds</em>&nbsp;</td><td>array of poll descriptors </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>space</em>&nbsp;</td><td>space in the poll descriptor array </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>count of filled descriptors </dd></dl>

</div>
</div>
<a class="anchor" id="ga32238dba8935b2cb91fbad73aae9e3d4"></a><!-- doxytag: member="control.h::snd_hctl_poll_descriptors_count" ref="ga32238dba8935b2cb91fbad73aae9e3d4" args="(snd_hctl_t *hctl)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>hctl</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get count of poll descriptors for HCTL handle </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctl</em>&nbsp;</td><td>HCTL handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>count of poll descriptors </dd></dl>

</div>
</div>
<a class="anchor" id="ga704fd06286869e793e223956b186bfdf"></a><!-- doxytag: member="control.h::snd_hctl_poll_descriptors_revents" ref="ga704fd06286869e793e223956b186bfdf" args="(snd_hctl_t *ctl, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>hctl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct pollfd *&nbsp;</td>
          <td class="paramname"> <em>pfds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>nfds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned short *&nbsp;</td>
          <td class="paramname"> <em>revents</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get returned events from poll descriptors </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctl</em>&nbsp;</td><td>HCTL handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pfds</em>&nbsp;</td><td>array of poll descriptors </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nfds</em>&nbsp;</td><td>count of poll descriptors </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>revents</em>&nbsp;</td><td>returned events </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>zero if success, otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="ga9c0abde0c53cafb640bbd6e3b1c3d6c6"></a><!-- doxytag: member="control.h::snd_hctl_set_callback" ref="ga9c0abde0c53cafb640bbd6e3b1c3d6c6" args="(snd_hctl_t *hctl, snd_hctl_callback_t callback)" -->
<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> *&nbsp;</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#gaeba80eb2e3f8900f1cdc9c677db9ddf7">snd_hctl_callback_t</a>&nbsp;</td>
          <td class="paramname"> <em>callback</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set callback function for an HCTL. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctl</em>&nbsp;</td><td>HCTL handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>callback</em>&nbsp;</td><td>callback function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gae678856658731969c884a4c9c810d799"></a><!-- doxytag: member="control.h::snd_hctl_set_callback_private" ref="gae678856658731969c884a4c9c810d799" args="(snd_hctl_t *hctl, void *data)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>hctl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>callback_private</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set callback private value for an HCTL. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctl</em>&nbsp;</td><td>HCTL handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>callback_private</em>&nbsp;</td><td>callback private value </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga5917b8cbcdf5d44d8730027b18ff6172"></a><!-- doxytag: member="control.h::snd_hctl_set_compare" ref="ga5917b8cbcdf5d44d8730027b18ff6172" args="(snd_hctl_t *hctl, snd_hctl_compare_t hsort)" -->
<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> *&nbsp;</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#ga1801355a5473ac21a6f8996e50b12b98">snd_hctl_compare_t</a>&nbsp;</td>
          <td class="paramname"> <em>compare</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Change HCTL compare function and reorder elements. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctl</em>&nbsp;</td><td>HCTL handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>compare</em>&nbsp;</td><td>Element compare function </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="ga2f0d0548f5d848b6557b2967d0e73494"></a><!-- doxytag: member="control.h::snd_hctl_wait" ref="ga2f0d0548f5d848b6557b2967d0e73494" args="(snd_hctl_t *hctl, int timeout)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>hctl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>timeout</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hctl</em>&nbsp;</td><td>HCTL handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>maximum time in milliseconds to wait </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a positive value on success otherwise a negative error code </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>0</em>&nbsp;</td><td>timeout occurred </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>1</em>&nbsp;</td><td>an event is pending </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

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

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