Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > media > updates > by-pkgid > 18785641029f14f23cccc82925607ace > files > 42

libalsa2-docs-0.9.0-0.14rc7.1mdk.ppc.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>High level Control Interface</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.2.18 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; <a class="qindex" href="examples.html">Examples</a> &nbsp; </center>
<hr><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></td></tr>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<tr><td nowrap align=right valign=top>typedef _snd_hctl_elem&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a></td></tr>
<tr><td nowrap align=right valign=top>typedef _snd_hctl&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a1">snd_hctl_t</a></td></tr>
<tr><td nowrap align=right valign=top>typedef int(*&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a2">snd_hctl_compare_t</a> )(const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *e1, const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *e2)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Compare function for sorting HCTL elements.</em> <a href="#a2"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>typedef int(*&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a3">snd_hctl_callback_t</a> )(<a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *hctl, unsigned int mask, <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *elem)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>HCTL callback function.</em> <a href="#a3"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>typedef int(*&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a4">snd_hctl_elem_callback_t</a> )(<a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *elem, unsigned int mask)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>HCTL element callback function.</em> <a href="#a4"></a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a5">snd_hctl_compare_fast</a> (const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *c1, const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *c2)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>A "don't care" fast compare functions that may be used with <a class="el" href="hcontrol_8c.html#a17">snd_hctl_set_compare</a>.</em> <a href="#a5"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a6">snd_hctl_open</a> (<a class="el" href="group___h_control.html#a1">snd_hctl_t</a> **hctl, const char *name, int mode)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Opens an HCTL.</em> <a href="#a6"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a7">snd_hctl_close</a> (<a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *hctl)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>close HCTL handle</em> <a href="#a7"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a8">snd_hctl_nonblock</a> (<a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *hctl, int nonblock)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>set nonblock mode</em> <a href="#a8"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a9">snd_hctl_poll_descriptors_count</a> (<a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *hctl)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>get count of poll descriptors for HCTL handle</em> <a href="#a9"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a10">snd_hctl_poll_descriptors</a> (<a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *hctl, struct pollfd *pfds, unsigned int space)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>get poll descriptors</em> <a href="#a10"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>unsigned int&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a11">snd_hctl_get_count</a> (<a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *hctl)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get number of loaded elements for an HCTL.</em> <a href="#a11"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a12">snd_hctl_set_compare</a> (<a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *hctl, <a class="el" href="group___h_control.html#a2">snd_hctl_compare_t</a> hsort)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Change HCTL compare function and reorder elements.</em> <a href="#a12"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a13">snd_hctl_first_elem</a> (<a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *hctl)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>get first element for an HCTL</em> <a href="#a13"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a14">snd_hctl_last_elem</a> (<a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *hctl)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>get last element for an HCTL</em> <a href="#a14"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a15">snd_hctl_find_elem</a> (<a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *hctl, const <a class="el" href="group___control.html#a2">snd_ctl_elem_id_t</a> *id)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Search an HCTL element.</em> <a href="#a15"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a16">snd_hctl_set_callback</a> (<a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *hctl, <a class="el" href="group___h_control.html#a3">snd_hctl_callback_t</a> callback)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set callback function for an HCTL.</em> <a href="#a16"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a17">snd_hctl_set_callback_private</a> (<a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *hctl, void *data)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set callback private value for an HCTL.</em> <a href="#a17"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a18">snd_hctl_get_callback_private</a> (<a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *hctl)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get callback private value for an HCTL.</em> <a href="#a18"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a19">snd_hctl_load</a> (<a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *hctl)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Load an HCTL with all elements and sort them.</em> <a href="#a19"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a20">snd_hctl_free</a> (<a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *hctl)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>free HCTL loaded elements</em> <a href="#a20"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a21">snd_hctl_handle_events</a> (<a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *hctl)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Handle pending HCTL events invoking callbacks.</em> <a href="#a21"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a22">snd_hctl_name</a> (<a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *hctl)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>get identifier of HCTL handle</em> <a href="#a22"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a23">snd_hctl_wait</a> (<a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *hctl, int timeout)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Wait for a HCTL to become ready (i.e. at least one event pending).</em> <a href="#a23"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a24">snd_hctl_elem_next</a> (<a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *elem)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>get next HCTL element</em> <a href="#a24"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a25">snd_hctl_elem_prev</a> (<a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *elem)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>get previous HCTL element</em> <a href="#a25"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a26">snd_hctl_elem_info</a> (<a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *elem, <a class="el" href="group___control.html#a4">snd_ctl_elem_info_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get information for an HCTL element.</em> <a href="#a26"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a27">snd_hctl_elem_read</a> (<a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *elem, <a class="el" href="group___control.html#a5">snd_ctl_elem_value_t</a> *value)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get value for an HCTL element.</em> <a href="#a27"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a28">snd_hctl_elem_write</a> (<a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *elem, <a class="el" href="group___control.html#a5">snd_ctl_elem_value_t</a> *value)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set value for an HCTL element.</em> <a href="#a28"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a29">snd_hctl_elem_get_hctl</a> (<a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *elem)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get HCTL handle for an HCTL element.</em> <a href="#a29"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a30">snd_hctl_elem_get_id</a> (const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *obj, <a class="el" href="group___control.html#a2">snd_ctl_elem_id_t</a> *ptr)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get CTL element identifier of a CTL element id/value.</em> <a href="#a30"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>unsigned int&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a31">snd_hctl_elem_get_numid</a> (const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *obj)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get element numeric identifier of a CTL element id/value.</em> <a href="#a31"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group___control.html#a8">snd_ctl_elem_iface_t</a>&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a32">snd_hctl_elem_get_interface</a> (const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *obj)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get interface part of CTL element identifier of a CTL element id/value.</em> <a href="#a32"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>unsigned int&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a33">snd_hctl_elem_get_device</a> (const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *obj)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get device part of CTL element identifier of a CTL element id/value.</em> <a href="#a33"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>unsigned int&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a34">snd_hctl_elem_get_subdevice</a> (const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *obj)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get subdevice part of CTL element identifier of a CTL element id/value.</em> <a href="#a34"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a35">snd_hctl_elem_get_name</a> (const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *obj)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get name part of CTL element identifier of a CTL element id/value.</em> <a href="#a35"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>unsigned int&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a36">snd_hctl_elem_get_index</a> (const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *obj)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get index part of CTL element identifier of a CTL element id/value.</em> <a href="#a36"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a37">snd_hctl_elem_set_callback</a> (<a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *obj, <a class="el" href="group___h_control.html#a4">snd_hctl_elem_callback_t</a> val)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set callback function for an HCTL element.</em> <a href="#a37"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a38">snd_hctl_elem_get_callback_private</a> (const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *obj)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get callback private value for an HCTL element.</em> <a href="#a38"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group___h_control.html#a39">snd_hctl_elem_set_callback_private</a> (<a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *obj, void *val)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set callback private value for an HCTL element.</em> <a href="#a39"></a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The high level control interface. See <a href="hcontrol.html#hcontrol">High level control interface</a> page for more details. <hr><h2>Typedef Documentation</h2>
<a name="a3" doxytag="control.h::snd_hctl_callback_t"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef int(* snd_hctl_callback_t)(<a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *hctl, unsigned int mask, <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *elem)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
HCTL callback function.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hctl</em>&nbsp;</td><td>
HCTL handle </td></tr>
<tr><td valign=top><em>mask</em>&nbsp;</td><td>
event mask </td></tr>
<tr><td valign=top><em>elem</em>&nbsp;</td><td>
related HCTL element (if any) </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code </dl>    </td>
  </tr>
</table>
<a name="a2" doxytag="control.h::snd_hctl_compare_t"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef int(* snd_hctl_compare_t)(const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *e1, const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *e2)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Compare function for sorting HCTL elements.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>e1</em>&nbsp;</td><td>
First element </td></tr>
<tr><td valign=top><em>e2</em>&nbsp;</td><td>
Second element </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
-1 if e1 &lt; e2, 0 if e1 == e2, 1 if e1 &gt; e2 </dl>    </td>
  </tr>
</table>
<a name="a4" doxytag="control.h::snd_hctl_elem_callback_t"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef int(* snd_hctl_elem_callback_t)(<a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *elem, unsigned int mask)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
HCTL element callback function.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>elem</em>&nbsp;</td><td>
HCTL element </td></tr>
<tr><td valign=top><em>mask</em>&nbsp;</td><td>
event mask </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code </dl>    </td>
  </tr>
</table>
<a name="a0" doxytag="control.h::snd_hctl_elem_t"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef struct _snd_hctl_elem snd_hctl_elem_t
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
HCTL element handle     </td>
  </tr>
</table>
<a name="a1" doxytag="control.h::snd_hctl_t"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef struct _snd_hctl snd_hctl_t
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
HCTL handle     </td>
  </tr>
</table>
<hr><h2>Function Documentation</h2>
<a name="a7" doxytag="control.h::snd_hctl_close"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_hctl_close </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>hctl</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
close HCTL handle
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hctl</em>&nbsp;</td><td>
HCTL handle </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code</dl>Closes the specified HCTL handle and frees all associated resources.     </td>
  </tr>
</table>
<a name="a5" doxytag="control.h::snd_hctl_compare_fast"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_hctl_compare_fast </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>c1</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>c2</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
A "don't care" fast compare functions that may be used with <a class="el" href="group___h_control.html#a12">snd_hctl_set_compare</a>.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>c1</em>&nbsp;</td><td>
First HCTL element </td></tr>
<tr><td valign=top><em>c2</em>&nbsp;</td><td>
Second HCTL element </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
-1 if c1 &lt; c2, 0 if c1 == c2, 1 if c1 &gt; c2 </dl>    </td>
  </tr>
</table>
<a name="a38" doxytag="control.h::snd_hctl_elem_get_callback_private"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void* snd_hctl_elem_get_callback_private </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>obj</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get callback private value for an HCTL element.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>obj</em>&nbsp;</td><td>
HCTL element </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
callback private value </dl>    </td>
  </tr>
</table>
<a name="a33" doxytag="control.h::snd_hctl_elem_get_device"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> unsigned int snd_hctl_elem_get_device </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>obj</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get device part of CTL element identifier of a CTL element id/value.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>obj</em>&nbsp;</td><td>
CTL element id/value </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
device part of element identifier </dl>    </td>
  </tr>
</table>
<a name="a29" doxytag="control.h::snd_hctl_elem_get_hctl"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group___h_control.html#a1">snd_hctl_t</a>* snd_hctl_elem_get_hctl </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>elem</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get HCTL handle for an HCTL element.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>elem</em>&nbsp;</td><td>
HCTL element </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
HCTL handle </dl>    </td>
  </tr>
</table>
<a name="a30" doxytag="control.h::snd_hctl_elem_get_id"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void snd_hctl_elem_get_id </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>obj</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group___control.html#a2">snd_ctl_elem_id_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>ptr</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get CTL element identifier of a CTL element id/value.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>obj</em>&nbsp;</td><td>
CTL element id/value </td></tr>
<tr><td valign=top><em>ptr</em>&nbsp;</td><td>
Pointer to returned CTL element identifier </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a36" doxytag="control.h::snd_hctl_elem_get_index"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> unsigned int snd_hctl_elem_get_index </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>obj</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get index part of CTL element identifier of a CTL element id/value.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>obj</em>&nbsp;</td><td>
CTL element id/value </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
index part of element identifier </dl>    </td>
  </tr>
</table>
<a name="a32" doxytag="control.h::snd_hctl_elem_get_interface"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group___control.html#a8">snd_ctl_elem_iface_t</a> snd_hctl_elem_get_interface </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>obj</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get interface part of CTL element identifier of a CTL element id/value.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>obj</em>&nbsp;</td><td>
CTL element id/value </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
interface part of element identifier </dl>    </td>
  </tr>
</table>
<a name="a35" doxytag="control.h::snd_hctl_elem_get_name"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const char* snd_hctl_elem_get_name </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>obj</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get name part of CTL element identifier of a CTL element id/value.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>obj</em>&nbsp;</td><td>
CTL element id/value </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
name part of element identifier </dl>    </td>
  </tr>
</table>
<a name="a31" doxytag="control.h::snd_hctl_elem_get_numid"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> unsigned int snd_hctl_elem_get_numid </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>obj</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get element numeric identifier of a CTL element id/value.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>obj</em>&nbsp;</td><td>
CTL element id/value </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
element numeric identifier </dl>    </td>
  </tr>
</table>
<a name="a34" doxytag="control.h::snd_hctl_elem_get_subdevice"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> unsigned int snd_hctl_elem_get_subdevice </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>obj</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get subdevice part of CTL element identifier of a CTL element id/value.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>obj</em>&nbsp;</td><td>
CTL element id/value </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
subdevice part of element identifier </dl>    </td>
  </tr>
</table>
<a name="a26" doxytag="control.h::snd_hctl_elem_info"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_hctl_elem_info </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>elem</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group___control.html#a4">snd_ctl_elem_info_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>info</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get information for an HCTL element.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>elem</em>&nbsp;</td><td>
HCTL element </td></tr>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
HCTL element information </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 otherwise a negative error code on failure </dl>    </td>
  </tr>
</table>
<a name="a24" doxytag="control.h::snd_hctl_elem_next"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a>* snd_hctl_elem_next </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>elem</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
get next HCTL element
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>elem</em>&nbsp;</td><td>
HCTL element </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
pointer to next element </dl>    </td>
  </tr>
</table>
<a name="a25" doxytag="control.h::snd_hctl_elem_prev"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a>* snd_hctl_elem_prev </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>elem</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
get previous HCTL element
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>elem</em>&nbsp;</td><td>
HCTL element </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
pointer to previous element </dl>    </td>
  </tr>
</table>
<a name="a27" doxytag="control.h::snd_hctl_elem_read"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_hctl_elem_read </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>elem</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group___control.html#a5">snd_ctl_elem_value_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>value</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get value for an HCTL element.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>elem</em>&nbsp;</td><td>
HCTL element </td></tr>
<tr><td valign=top><em>value</em>&nbsp;</td><td>
HCTL element value </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 otherwise a negative error code on failure </dl>    </td>
  </tr>
</table>
<a name="a37" doxytag="control.h::snd_hctl_elem_set_callback"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void snd_hctl_elem_set_callback </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>obj</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group___h_control.html#a4">snd_hctl_elem_callback_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>val</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set callback function for an HCTL element.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>obj</em>&nbsp;</td><td>
HCTL element </td></tr>
<tr><td valign=top><em>val</em>&nbsp;</td><td>
callback function </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a39" doxytag="control.h::snd_hctl_elem_set_callback_private"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void snd_hctl_elem_set_callback_private </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>obj</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>val</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set callback private value for an HCTL element.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>obj</em>&nbsp;</td><td>
HCTL element </td></tr>
<tr><td valign=top><em>val</em>&nbsp;</td><td>
callback private value </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a28" doxytag="control.h::snd_hctl_elem_write"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_hctl_elem_write </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>elem</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group___control.html#a5">snd_ctl_elem_value_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>value</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set value for an HCTL element.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>elem</em>&nbsp;</td><td>
HCTL element </td></tr>
<tr><td valign=top><em>value</em>&nbsp;</td><td>
HCTL element value </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 otherwise a negative error code on failure </dl>    </td>
  </tr>
</table>
<a name="a15" doxytag="control.h::snd_hctl_find_elem"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a>* snd_hctl_find_elem </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>hctl</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="group___control.html#a2">snd_ctl_elem_id_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>id</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Search an HCTL element.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hctl</em>&nbsp;</td><td>
HCTL handle </td></tr>
<tr><td valign=top><em>id</em>&nbsp;</td><td>
Element identifier </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
pointer to found HCTL element or NULL if it does not exists </dl>    </td>
  </tr>
</table>
<a name="a13" doxytag="control.h::snd_hctl_first_elem"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a>* snd_hctl_first_elem </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>hctl</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
get first element for an HCTL
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hctl</em>&nbsp;</td><td>
HCTL handle </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
pointer to first element </dl>    </td>
  </tr>
</table>
<a name="a20" doxytag="control.h::snd_hctl_free"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_hctl_free </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>hctl</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
free HCTL loaded elements
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hctl</em>&nbsp;</td><td>
HCTL handle </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code </dl>    </td>
  </tr>
</table>
<a name="a18" doxytag="control.h::snd_hctl_get_callback_private"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void* snd_hctl_get_callback_private </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>hctl</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get callback private value for an HCTL.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hctl</em>&nbsp;</td><td>
HCTL handle </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
callback private value </dl>    </td>
  </tr>
</table>
<a name="a11" doxytag="control.h::snd_hctl_get_count"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> unsigned int snd_hctl_get_count </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>hctl</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get number of loaded elements for an HCTL.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hctl</em>&nbsp;</td><td>
HCTL handle </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
elements count </dl>    </td>
  </tr>
</table>
<a name="a21" doxytag="control.h::snd_hctl_handle_events"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_hctl_handle_events </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>hctl</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Handle pending HCTL events invoking callbacks.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hctl</em>&nbsp;</td><td>
HCTL handle </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 otherwise a negative error code on failure </dl>    </td>
  </tr>
</table>
<a name="a14" doxytag="control.h::snd_hctl_last_elem"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a>* snd_hctl_last_elem </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>hctl</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
get last element for an HCTL
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hctl</em>&nbsp;</td><td>
HCTL handle </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
pointer to last element </dl>    </td>
  </tr>
</table>
<a name="a19" doxytag="control.h::snd_hctl_load"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_hctl_load </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>hctl</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Load an HCTL with all elements and sort them.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hctl</em>&nbsp;</td><td>
HCTL handle </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code </dl>    </td>
  </tr>
</table>
<a name="a22" doxytag="control.h::snd_hctl_name"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const char* snd_hctl_name </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>hctl</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
get identifier of HCTL handle
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hctl</em>&nbsp;</td><td>
HCTL handle </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
ascii identifier of HCTL handle</dl>Returns the ASCII identifier of given HCTL handle. It's the same identifier specified in <a class="el" href="group___h_control.html#a6">snd_hctl_open()</a>.     </td>
  </tr>
</table>
<a name="a8" doxytag="control.h::snd_hctl_nonblock"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_hctl_nonblock </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>hctl</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>nonblock</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
set nonblock mode
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hctl</em>&nbsp;</td><td>
HCTL handle </td></tr>
<tr><td valign=top><em>nonblock</em>&nbsp;</td><td>
0 = block, 1 = nonblock mode </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code </dl>    </td>
  </tr>
</table>
<a name="a6" doxytag="control.h::snd_hctl_open"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_hctl_open </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a1">snd_hctl_t</a> **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>hctlp</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>name</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>mode</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Opens an HCTL.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hctlp</em>&nbsp;</td><td>
Returned HCTL handle </td></tr>
<tr><td valign=top><em>name</em>&nbsp;</td><td>
ASCII identifier of the underlying CTL handle </td></tr>
<tr><td valign=top><em>mode</em>&nbsp;</td><td>
Open mode (see <a class="el" href="group___control.html#a207">SND_CTL_NONBLOCK</a>, <a class="el" href="group___control.html#a208">SND_CTL_ASYNC</a>) </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code </dl>    </td>
  </tr>
</table>
<a name="a10" doxytag="control.h::snd_hctl_poll_descriptors"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_hctl_poll_descriptors </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>hctl</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>struct pollfd *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>pfds</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>space</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
get poll descriptors
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hctl</em>&nbsp;</td><td>
HCTL handle </td></tr>
<tr><td valign=top><em>pfds</em>&nbsp;</td><td>
array of poll descriptors </td></tr>
<tr><td valign=top><em>space</em>&nbsp;</td><td>
space in the poll descriptor array </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
count of filled descriptors </dl>    </td>
  </tr>
</table>
<a name="a9" doxytag="control.h::snd_hctl_poll_descriptors_count"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_hctl_poll_descriptors_count </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>hctl</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
get count of poll descriptors for HCTL handle
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hctl</em>&nbsp;</td><td>
HCTL handle </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
count of poll descriptors </dl>    </td>
  </tr>
</table>
<a name="a16" doxytag="control.h::snd_hctl_set_callback"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void snd_hctl_set_callback </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>hctl</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group___h_control.html#a3">snd_hctl_callback_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>callback</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set callback function for an HCTL.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hctl</em>&nbsp;</td><td>
HCTL handle </td></tr>
<tr><td valign=top><em>callback</em>&nbsp;</td><td>
callback function </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a17" doxytag="control.h::snd_hctl_set_callback_private"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void snd_hctl_set_callback_private </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>hctl</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>callback_private</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set callback private value for an HCTL.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hctl</em>&nbsp;</td><td>
HCTL handle </td></tr>
<tr><td valign=top><em>callback_private</em>&nbsp;</td><td>
callback private value </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a12" doxytag="control.h::snd_hctl_set_compare"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_hctl_set_compare </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>hctl</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group___h_control.html#a2">snd_hctl_compare_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>compare</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Change HCTL compare function and reorder elements.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hctl</em>&nbsp;</td><td>
HCTL handle </td></tr>
<tr><td valign=top><em>compare</em>&nbsp;</td><td>
Element compare function </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code </dl>    </td>
  </tr>
</table>
<a name="a23" doxytag="control.h::snd_hctl_wait"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_hctl_wait </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___h_control.html#a1">snd_hctl_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>hctl</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>timeout</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Wait for a HCTL to become ready (i.e. at least one event pending).
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hctl</em>&nbsp;</td><td>
HCTL handle </td></tr>
<tr><td valign=top><em>timeout</em>&nbsp;</td><td>
maximum time in milliseconds to wait </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 otherwise a negative error code on failure </dl>    </td>
  </tr>
</table>
<hr><address style="align: right;"><small>Generated on Wed Apr 2 16:06:37 2003 for ALSA project - the C library reference by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 
width=110 height=53></a>1.2.18 </small></address>
</body>
</html>