EVOLUTION-MANAGER
Edit File: group___h_control.html
<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.5"/> <title>ALSA project - the C library reference: High level Control Interface</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <script type="text/javascript"> $(document).ready(function() { searchBox.OnSelectItem(0); }); </script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">ALSA project - the C library reference </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.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)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> </div><!-- top --> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Pages</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div class="header"> <div class="summary"> <a href="#typedef-members">Typedefs</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">High level Control Interface<div class="ingroups"><a class="el" href="group___control.html">Control Interface</a></div></div> </div> </div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:gaddfb152863e87857d463c7008d72ad74"><td class="memItemLeft" align="right" valign="top">typedef struct _snd_hctl_elem </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a></td></tr> <tr class="separator:gaddfb152863e87857d463c7008d72ad74"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga13c9ad52c57ab7db06065a7f806b2369"><td class="memItemLeft" align="right" valign="top">typedef struct _snd_hctl </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a></td></tr> <tr class="separator:ga13c9ad52c57ab7db06065a7f806b2369"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga1801355a5473ac21a6f8996e50b12b98"><td class="memItemLeft" align="right" valign="top">typedef int(* </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 class="memdesc:ga1801355a5473ac21a6f8996e50b12b98"><td class="mdescLeft"> </td><td class="mdescRight">Compare function for sorting HCTL elements. <a href="#ga1801355a5473ac21a6f8996e50b12b98">More...</a><br/></td></tr> <tr class="separator:ga1801355a5473ac21a6f8996e50b12b98"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaeba80eb2e3f8900f1cdc9c677db9ddf7"><td class="memItemLeft" align="right" valign="top">typedef int(* </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 class="memdesc:gaeba80eb2e3f8900f1cdc9c677db9ddf7"><td class="mdescLeft"> </td><td class="mdescRight">HCTL callback function. <a href="#gaeba80eb2e3f8900f1cdc9c677db9ddf7">More...</a><br/></td></tr> <tr class="separator:gaeba80eb2e3f8900f1cdc9c677db9ddf7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3002cda007033735dc31d632c4c84678"><td class="memItemLeft" align="right" valign="top">typedef int(* </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 class="memdesc:ga3002cda007033735dc31d632c4c84678"><td class="mdescLeft"> </td><td class="mdescRight">HCTL element callback function. <a href="#ga3002cda007033735dc31d632c4c84678">More...</a><br/></td></tr> <tr class="separator:ga3002cda007033735dc31d632c4c84678"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:gaaa17b28ebe0f1e0e4443182312af7408"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gaaa17b28ebe0f1e0e4443182312af7408">snd_hctl_compare_fast</a> (const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *c1, const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *c2)</td></tr> <tr class="memdesc:gaaa17b28ebe0f1e0e4443182312af7408"><td class="mdescLeft"> </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">More...</a><br/></td></tr> <tr class="separator:gaaa17b28ebe0f1e0e4443182312af7408"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2a86455eaad4f2730a936d06c62cca29"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga2a86455eaad4f2730a936d06c62cca29">snd_hctl_open</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> **hctl, const char *name, int mode)</td></tr> <tr class="memdesc:ga2a86455eaad4f2730a936d06c62cca29"><td class="mdescLeft"> </td><td class="mdescRight">Opens an HCTL. <a href="#ga2a86455eaad4f2730a936d06c62cca29">More...</a><br/></td></tr> <tr class="separator:ga2a86455eaad4f2730a936d06c62cca29"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga48b556b219e99c36d65efc6b8a97029c"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga48b556b219e99c36d65efc6b8a97029c">snd_hctl_open_ctl</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> **hctlp, <a class="el" href="group___control.html#ga06628f38def84a0fe3da74041db9d51f">snd_ctl_t</a> *ctl)</td></tr> <tr class="memdesc:ga48b556b219e99c36d65efc6b8a97029c"><td class="mdescLeft"> </td><td class="mdescRight">Opens an HCTL. <a href="#ga48b556b219e99c36d65efc6b8a97029c">More...</a><br/></td></tr> <tr class="separator:ga48b556b219e99c36d65efc6b8a97029c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae9537f6a56d663aa9714ccc82689ff1e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gae9537f6a56d663aa9714ccc82689ff1e">snd_hctl_close</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr> <tr class="memdesc:gae9537f6a56d663aa9714ccc82689ff1e"><td class="mdescLeft"> </td><td class="mdescRight">close HCTL handle <a href="#gae9537f6a56d663aa9714ccc82689ff1e">More...</a><br/></td></tr> <tr class="separator:gae9537f6a56d663aa9714ccc82689ff1e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3c3e66e230fc93c15f18568342725a43"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga3c3e66e230fc93c15f18568342725a43">snd_hctl_nonblock</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl, int nonblock)</td></tr> <tr class="memdesc:ga3c3e66e230fc93c15f18568342725a43"><td class="mdescLeft"> </td><td class="mdescRight">set nonblock mode <a href="#ga3c3e66e230fc93c15f18568342725a43">More...</a><br/></td></tr> <tr class="separator:ga3c3e66e230fc93c15f18568342725a43"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga32238dba8935b2cb91fbad73aae9e3d4"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga32238dba8935b2cb91fbad73aae9e3d4">snd_hctl_poll_descriptors_count</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr> <tr class="memdesc:ga32238dba8935b2cb91fbad73aae9e3d4"><td class="mdescLeft"> </td><td class="mdescRight">get count of poll descriptors for HCTL handle <a href="#ga32238dba8935b2cb91fbad73aae9e3d4">More...</a><br/></td></tr> <tr class="separator:ga32238dba8935b2cb91fbad73aae9e3d4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga7dd3894b55740cbdb8b2a0bef15af295"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga7dd3894b55740cbdb8b2a0bef15af295">snd_hctl_poll_descriptors</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl, struct pollfd *pfds, unsigned int space)</td></tr> <tr class="memdesc:ga7dd3894b55740cbdb8b2a0bef15af295"><td class="mdescLeft"> </td><td class="mdescRight">get poll descriptors <a href="#ga7dd3894b55740cbdb8b2a0bef15af295">More...</a><br/></td></tr> <tr class="separator:ga7dd3894b55740cbdb8b2a0bef15af295"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga704fd06286869e793e223956b186bfdf"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga704fd06286869e793e223956b186bfdf">snd_hctl_poll_descriptors_revents</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *ctl, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)</td></tr> <tr class="memdesc:ga704fd06286869e793e223956b186bfdf"><td class="mdescLeft"> </td><td class="mdescRight">get returned events from poll descriptors <a href="#ga704fd06286869e793e223956b186bfdf">More...</a><br/></td></tr> <tr class="separator:ga704fd06286869e793e223956b186bfdf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga098944f4f2d7722550901bf6f80ee91c"><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga098944f4f2d7722550901bf6f80ee91c">snd_hctl_get_count</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr> <tr class="memdesc:ga098944f4f2d7722550901bf6f80ee91c"><td class="mdescLeft"> </td><td class="mdescRight">Get number of loaded elements for an HCTL. <a href="#ga098944f4f2d7722550901bf6f80ee91c">More...</a><br/></td></tr> <tr class="separator:ga098944f4f2d7722550901bf6f80ee91c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5917b8cbcdf5d44d8730027b18ff6172"><td class="memItemLeft" align="right" valign="top">int </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 class="memdesc:ga5917b8cbcdf5d44d8730027b18ff6172"><td class="mdescLeft"> </td><td class="mdescRight">Change HCTL compare function and reorder elements. <a href="#ga5917b8cbcdf5d44d8730027b18ff6172">More...</a><br/></td></tr> <tr class="separator:ga5917b8cbcdf5d44d8730027b18ff6172"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaaa68ce403d30e4d152fe4ce82b6c02db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gaaa68ce403d30e4d152fe4ce82b6c02db">snd_hctl_first_elem</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr> <tr class="memdesc:gaaa68ce403d30e4d152fe4ce82b6c02db"><td class="mdescLeft"> </td><td class="mdescRight">get first element for an HCTL <a href="#gaaa68ce403d30e4d152fe4ce82b6c02db">More...</a><br/></td></tr> <tr class="separator:gaaa68ce403d30e4d152fe4ce82b6c02db"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga8b7270503d275040a391e05c991ec569"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga8b7270503d275040a391e05c991ec569">snd_hctl_last_elem</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr> <tr class="memdesc:ga8b7270503d275040a391e05c991ec569"><td class="mdescLeft"> </td><td class="mdescRight">get last element for an HCTL <a href="#ga8b7270503d275040a391e05c991ec569">More...</a><br/></td></tr> <tr class="separator:ga8b7270503d275040a391e05c991ec569"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaeee7f3f76cb71fd4b3456a9566529bd5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gaeee7f3f76cb71fd4b3456a9566529bd5">snd_hctl_find_elem</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl, const <a class="el" href="group___control.html#gad6c3746f1925bfec6a4fd0e913430e55">snd_ctl_elem_id_t</a> *id)</td></tr> <tr class="memdesc:gaeee7f3f76cb71fd4b3456a9566529bd5"><td class="mdescLeft"> </td><td class="mdescRight">Search an HCTL element. <a href="#gaeee7f3f76cb71fd4b3456a9566529bd5">More...</a><br/></td></tr> <tr class="separator:gaeee7f3f76cb71fd4b3456a9566529bd5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9c0abde0c53cafb640bbd6e3b1c3d6c6"><td class="memItemLeft" align="right" valign="top">void </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 class="memdesc:ga9c0abde0c53cafb640bbd6e3b1c3d6c6"><td class="mdescLeft"> </td><td class="mdescRight">Set callback function for an HCTL. <a href="#ga9c0abde0c53cafb640bbd6e3b1c3d6c6">More...</a><br/></td></tr> <tr class="separator:ga9c0abde0c53cafb640bbd6e3b1c3d6c6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae678856658731969c884a4c9c810d799"><td class="memItemLeft" align="right" valign="top">void </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 class="memdesc:gae678856658731969c884a4c9c810d799"><td class="mdescLeft"> </td><td class="mdescRight">Set callback private value for an HCTL. <a href="#gae678856658731969c884a4c9c810d799">More...</a><br/></td></tr> <tr class="separator:gae678856658731969c884a4c9c810d799"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga60c1606f4d423301355344e5373d5ccc"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga60c1606f4d423301355344e5373d5ccc">snd_hctl_get_callback_private</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr> <tr class="memdesc:ga60c1606f4d423301355344e5373d5ccc"><td class="mdescLeft"> </td><td class="mdescRight">Get callback private value for an HCTL. <a href="#ga60c1606f4d423301355344e5373d5ccc">More...</a><br/></td></tr> <tr class="separator:ga60c1606f4d423301355344e5373d5ccc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga700017b7d9b8decb775702d5dc6fef85"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga700017b7d9b8decb775702d5dc6fef85">snd_hctl_load</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr> <tr class="memdesc:ga700017b7d9b8decb775702d5dc6fef85"><td class="mdescLeft"> </td><td class="mdescRight">Load an HCTL with all elements and sort them. <a href="#ga700017b7d9b8decb775702d5dc6fef85">More...</a><br/></td></tr> <tr class="separator:ga700017b7d9b8decb775702d5dc6fef85"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga1b3e936bba7a6127459af1244c7da454"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga1b3e936bba7a6127459af1244c7da454">snd_hctl_free</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr> <tr class="memdesc:ga1b3e936bba7a6127459af1244c7da454"><td class="mdescLeft"> </td><td class="mdescRight">free HCTL loaded elements <a href="#ga1b3e936bba7a6127459af1244c7da454">More...</a><br/></td></tr> <tr class="separator:ga1b3e936bba7a6127459af1244c7da454"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga02d9dc1cdbdfe11880e3fe774f2034bd"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga02d9dc1cdbdfe11880e3fe774f2034bd">snd_hctl_handle_events</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr> <tr class="memdesc:ga02d9dc1cdbdfe11880e3fe774f2034bd"><td class="mdescLeft"> </td><td class="mdescRight">Handle pending HCTL events invoking callbacks. <a href="#ga02d9dc1cdbdfe11880e3fe774f2034bd">More...</a><br/></td></tr> <tr class="separator:ga02d9dc1cdbdfe11880e3fe774f2034bd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gabd1208fbbe2061021494ea21ab382088"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gabd1208fbbe2061021494ea21ab382088">snd_hctl_name</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr> <tr class="memdesc:gabd1208fbbe2061021494ea21ab382088"><td class="mdescLeft"> </td><td class="mdescRight">get identifier of HCTL handle <a href="#gabd1208fbbe2061021494ea21ab382088">More...</a><br/></td></tr> <tr class="separator:gabd1208fbbe2061021494ea21ab382088"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2f0d0548f5d848b6557b2967d0e73494"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga2f0d0548f5d848b6557b2967d0e73494">snd_hctl_wait</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl, int timeout)</td></tr> <tr class="memdesc:ga2f0d0548f5d848b6557b2967d0e73494"><td class="mdescLeft"> </td><td class="mdescRight">Wait for a HCTL to become ready (i.e. at least one event pending) <a href="#ga2f0d0548f5d848b6557b2967d0e73494">More...</a><br/></td></tr> <tr class="separator:ga2f0d0548f5d848b6557b2967d0e73494"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga93f19c0fb16337f72b6c413512b79f1a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___control.html#ga06628f38def84a0fe3da74041db9d51f">snd_ctl_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga93f19c0fb16337f72b6c413512b79f1a">snd_hctl_ctl</a> (<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr> <tr class="memdesc:ga93f19c0fb16337f72b6c413512b79f1a"><td class="mdescLeft"> </td><td class="mdescRight">Get a ctl handle associated to the given hctl handle. <a href="#ga93f19c0fb16337f72b6c413512b79f1a">More...</a><br/></td></tr> <tr class="separator:ga93f19c0fb16337f72b6c413512b79f1a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf7c6b19c5feb2392f2d447bc3f54fd15"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gaf7c6b19c5feb2392f2d447bc3f54fd15">snd_hctl_elem_next</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem)</td></tr> <tr class="memdesc:gaf7c6b19c5feb2392f2d447bc3f54fd15"><td class="mdescLeft"> </td><td class="mdescRight">get next HCTL element <a href="#gaf7c6b19c5feb2392f2d447bc3f54fd15">More...</a><br/></td></tr> <tr class="separator:gaf7c6b19c5feb2392f2d447bc3f54fd15"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga89a720775cb955ee4069a45074e4b32f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga89a720775cb955ee4069a45074e4b32f">snd_hctl_elem_prev</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem)</td></tr> <tr class="memdesc:ga89a720775cb955ee4069a45074e4b32f"><td class="mdescLeft"> </td><td class="mdescRight">get previous HCTL element <a href="#ga89a720775cb955ee4069a45074e4b32f">More...</a><br/></td></tr> <tr class="separator:ga89a720775cb955ee4069a45074e4b32f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae08b50b118461e6fcc55975e5530885c"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gae08b50b118461e6fcc55975e5530885c">snd_hctl_elem_info</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem, <a class="el" href="group___control.html#ga2cae0bb76df919368e4ff9a7021dd3ab">snd_ctl_elem_info_t</a> *info)</td></tr> <tr class="memdesc:gae08b50b118461e6fcc55975e5530885c"><td class="mdescLeft"> </td><td class="mdescRight">Get information for an HCTL element. <a href="#gae08b50b118461e6fcc55975e5530885c">More...</a><br/></td></tr> <tr class="separator:gae08b50b118461e6fcc55975e5530885c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga86728d69cc5de843ed46ffb4f3b98e2c"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga86728d69cc5de843ed46ffb4f3b98e2c">snd_hctl_elem_read</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem, <a class="el" href="group___control.html#ga266b478eb64f1cdd75e337df4b4b995e">snd_ctl_elem_value_t</a> *value)</td></tr> <tr class="memdesc:ga86728d69cc5de843ed46ffb4f3b98e2c"><td class="mdescLeft"> </td><td class="mdescRight">Get value for an HCTL element. <a href="#ga86728d69cc5de843ed46ffb4f3b98e2c">More...</a><br/></td></tr> <tr class="separator:ga86728d69cc5de843ed46ffb4f3b98e2c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gafaf6b88337fdc827c847e21a6fd0cd79"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gafaf6b88337fdc827c847e21a6fd0cd79">snd_hctl_elem_write</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem, <a class="el" href="group___control.html#ga266b478eb64f1cdd75e337df4b4b995e">snd_ctl_elem_value_t</a> *value)</td></tr> <tr class="memdesc:gafaf6b88337fdc827c847e21a6fd0cd79"><td class="mdescLeft"> </td><td class="mdescRight">Set value for an HCTL element. <a href="#gafaf6b88337fdc827c847e21a6fd0cd79">More...</a><br/></td></tr> <tr class="separator:gafaf6b88337fdc827c847e21a6fd0cd79"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga45fc0e8b3dfaeb2dfebce4f613b21297"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga45fc0e8b3dfaeb2dfebce4f613b21297">snd_hctl_elem_tlv_read</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem, unsigned int *tlv, unsigned int tlv_size)</td></tr> <tr class="memdesc:ga45fc0e8b3dfaeb2dfebce4f613b21297"><td class="mdescLeft"> </td><td class="mdescRight">Get TLV value for an HCTL element. <a href="#ga45fc0e8b3dfaeb2dfebce4f613b21297">More...</a><br/></td></tr> <tr class="separator:ga45fc0e8b3dfaeb2dfebce4f613b21297"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab5611090cee93ace74db2e744718ae25"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gab5611090cee93ace74db2e744718ae25">snd_hctl_elem_tlv_write</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem, const unsigned int *tlv)</td></tr> <tr class="memdesc:gab5611090cee93ace74db2e744718ae25"><td class="mdescLeft"> </td><td class="mdescRight">Set TLV value for an HCTL element. <a href="#gab5611090cee93ace74db2e744718ae25">More...</a><br/></td></tr> <tr class="separator:gab5611090cee93ace74db2e744718ae25"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaedec51e102fbf6161322553355439121"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gaedec51e102fbf6161322553355439121">snd_hctl_elem_tlv_command</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem, const unsigned int *tlv)</td></tr> <tr class="memdesc:gaedec51e102fbf6161322553355439121"><td class="mdescLeft"> </td><td class="mdescRight">Set TLV value for an HCTL element. <a href="#gaedec51e102fbf6161322553355439121">More...</a><br/></td></tr> <tr class="separator:gaedec51e102fbf6161322553355439121"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga98660b650e7c060be8a574402e2f2257"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga98660b650e7c060be8a574402e2f2257">snd_hctl_elem_get_hctl</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem)</td></tr> <tr class="memdesc:ga98660b650e7c060be8a574402e2f2257"><td class="mdescLeft"> </td><td class="mdescRight">Get HCTL handle for an HCTL element. <a href="#ga98660b650e7c060be8a574402e2f2257">More...</a><br/></td></tr> <tr class="separator:ga98660b650e7c060be8a574402e2f2257"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac1c0ce6f627f2f1560c5db03a93caf5b"><td class="memItemLeft" align="right" valign="top">void </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> *<a class="el" href="seq__event_8h.html#add9af9569af79ec26dd741fb226b38ba">ptr</a>)</td></tr> <tr class="memdesc:gac1c0ce6f627f2f1560c5db03a93caf5b"><td class="mdescLeft"> </td><td class="mdescRight">Get CTL element identifier of a CTL element id/value. <a href="#gac1c0ce6f627f2f1560c5db03a93caf5b">More...</a><br/></td></tr> <tr class="separator:gac1c0ce6f627f2f1560c5db03a93caf5b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae5e86d487c6c964be8a59dfeddb2f36e"><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gae5e86d487c6c964be8a59dfeddb2f36e">snd_hctl_elem_get_numid</a> (const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *obj)</td></tr> <tr class="memdesc:gae5e86d487c6c964be8a59dfeddb2f36e"><td class="mdescLeft"> </td><td class="mdescRight">Get element numeric identifier of a CTL element id/value. <a href="#gae5e86d487c6c964be8a59dfeddb2f36e">More...</a><br/></td></tr> <tr class="separator:gae5e86d487c6c964be8a59dfeddb2f36e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gabe8c46cbe8b6a2612fa0eaeb1fa8fefb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___control.html#ga14baa0febb91cc4c5d72dcc825acf518">snd_ctl_elem_iface_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gabe8c46cbe8b6a2612fa0eaeb1fa8fefb">snd_hctl_elem_get_interface</a> (const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *obj)</td></tr> <tr class="memdesc:gabe8c46cbe8b6a2612fa0eaeb1fa8fefb"><td class="mdescLeft"> </td><td class="mdescRight">Get interface part of CTL element identifier of a CTL element id/value. <a href="#gabe8c46cbe8b6a2612fa0eaeb1fa8fefb">More...</a><br/></td></tr> <tr class="separator:gabe8c46cbe8b6a2612fa0eaeb1fa8fefb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae933e61025507ee572408138e935c63f"><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gae933e61025507ee572408138e935c63f">snd_hctl_elem_get_device</a> (const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *obj)</td></tr> <tr class="memdesc:gae933e61025507ee572408138e935c63f"><td class="mdescLeft"> </td><td class="mdescRight">Get device part of CTL element identifier of a CTL element id/value. <a href="#gae933e61025507ee572408138e935c63f">More...</a><br/></td></tr> <tr class="separator:gae933e61025507ee572408138e935c63f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga894c09354156fd12f8a089726449f6ac"><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#ga894c09354156fd12f8a089726449f6ac">snd_hctl_elem_get_subdevice</a> (const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *obj)</td></tr> <tr class="memdesc:ga894c09354156fd12f8a089726449f6ac"><td class="mdescLeft"> </td><td class="mdescRight">Get subdevice part of CTL element identifier of a CTL element id/value. <a href="#ga894c09354156fd12f8a089726449f6ac">More...</a><br/></td></tr> <tr class="separator:ga894c09354156fd12f8a089726449f6ac"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab89b9d62f8575795fc52b86415373a49"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gab89b9d62f8575795fc52b86415373a49">snd_hctl_elem_get_name</a> (const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *obj)</td></tr> <tr class="memdesc:gab89b9d62f8575795fc52b86415373a49"><td class="mdescLeft"> </td><td class="mdescRight">Get name part of CTL element identifier of a CTL element id/value. <a href="#gab89b9d62f8575795fc52b86415373a49">More...</a><br/></td></tr> <tr class="separator:gab89b9d62f8575795fc52b86415373a49"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa2bad4d08aa1c8ea98f2a92435583e01"><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gaa2bad4d08aa1c8ea98f2a92435583e01">snd_hctl_elem_get_index</a> (const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *obj)</td></tr> <tr class="memdesc:gaa2bad4d08aa1c8ea98f2a92435583e01"><td class="mdescLeft"> </td><td class="mdescRight">Get index part of CTL element identifier of a CTL element id/value. <a href="#gaa2bad4d08aa1c8ea98f2a92435583e01">More...</a><br/></td></tr> <tr class="separator:gaa2bad4d08aa1c8ea98f2a92435583e01"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gacc10c18b636db3388e9b6383058fc757"><td class="memItemLeft" align="right" valign="top">void </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 class="memdesc:gacc10c18b636db3388e9b6383058fc757"><td class="mdescLeft"> </td><td class="mdescRight">Set callback function for an HCTL element. <a href="#gacc10c18b636db3388e9b6383058fc757">More...</a><br/></td></tr> <tr class="separator:gacc10c18b636db3388e9b6383058fc757"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac0aad0000d7eccde5d107b1b95f429e6"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gac0aad0000d7eccde5d107b1b95f429e6">snd_hctl_elem_get_callback_private</a> (const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *obj)</td></tr> <tr class="memdesc:gac0aad0000d7eccde5d107b1b95f429e6"><td class="mdescLeft"> </td><td class="mdescRight">Get callback private value for an HCTL element. <a href="#gac0aad0000d7eccde5d107b1b95f429e6">More...</a><br/></td></tr> <tr class="separator:gac0aad0000d7eccde5d107b1b95f429e6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa9d511449fc220d09e69a05ae65f1ead"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_control.html#gaa9d511449fc220d09e69a05ae65f1ead">snd_hctl_elem_set_callback_private</a> (<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *obj, void *val)</td></tr> <tr class="memdesc:gaa9d511449fc220d09e69a05ae65f1ead"><td class="mdescLeft"> </td><td class="mdescRight">Set callback private value for an HCTL element. <a href="#gaa9d511449fc220d09e69a05ae65f1ead">More...</a><br/></td></tr> <tr class="separator:gaa9d511449fc220d09e69a05ae65f1ead"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>The high level control interface. See <a class="el" href="hcontrol.html">High level control interface</a> page for more details. </p> <h2 class="groupheader">Typedef Documentation</h2> <a class="anchor" id="gaeba80eb2e3f8900f1cdc9c677db9ddf7"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef int(* snd_hctl_callback_t)(<a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl, unsigned int mask, <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem)</td> </tr> </table> </div><div class="memdoc"> <p>HCTL callback function. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr> <tr><td class="paramname">mask</td><td>event mask </td></tr> <tr><td class="paramname">elem</td><td>related HCTL element (if any) </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga1801355a5473ac21a6f8996e50b12b98"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef int(* snd_hctl_compare_t)(const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *e1, const <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *e2)</td> </tr> </table> </div><div class="memdoc"> <p>Compare function for sorting HCTL elements. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">e1</td><td>First element </td></tr> <tr><td class="paramname">e2</td><td>Second element </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>-1 if e1 < e2, 0 if e1 == e2, 1 if e1 > e2 </dd></dl> </div> </div> <a class="anchor" id="ga3002cda007033735dc31d632c4c84678"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef int(* snd_hctl_elem_callback_t)(<a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *elem, unsigned int mask)</td> </tr> </table> </div><div class="memdoc"> <p>HCTL element callback function. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">elem</td><td>HCTL element </td></tr> <tr><td class="paramname">mask</td><td>event mask </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="gaddfb152863e87857d463c7008d72ad74"></a> <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> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct _snd_hctl <a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a></td> </tr> </table> </div><div class="memdoc"> <p>HCTL handle </p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="gae9537f6a56d663aa9714ccc82689ff1e"></a> <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> * </td> <td class="paramname"><em>hctl</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>close HCTL handle </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>Closes the specified HCTL handle and frees all associated resources. </p> </div> </div> <a class="anchor" id="gaaa17b28ebe0f1e0e4443182312af7408"></a> <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> * </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> * </td> <td class="paramname"><em>c2</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>A "don't care" fast compare functions that may be used with <a class="el" href="group___h_control.html#ga5917b8cbcdf5d44d8730027b18ff6172" title="Change HCTL compare function and reorder elements. ">snd_hctl_set_compare</a>. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">c1</td><td>First HCTL element </td></tr> <tr><td class="paramname">c2</td><td>Second HCTL element </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>-1 if c1 < c2, 0 if c1 == c2, 1 if c1 > c2 </dd></dl> </div> </div> <a class="anchor" id="ga93f19c0fb16337f72b6c413512b79f1a"></a> <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> * </td> <td class="paramname"><em>hctl</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get a ctl handle associated to the given hctl handle. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>a ctl handle otherwise NULL </dd></dl> </div> </div> <a class="anchor" id="gac0aad0000d7eccde5d107b1b95f429e6"></a> <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> * </td> <td class="paramname"><em>obj</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get callback private value for an HCTL element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">obj</td><td>HCTL element </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>callback private value </dd></dl> </div> </div> <a class="anchor" id="gae933e61025507ee572408138e935c63f"></a> <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> * </td> <td class="paramname"><em>obj</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get device part of CTL element identifier of a CTL element id/value. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">obj</td><td>CTL element id/value </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>device part of element identifier </dd></dl> </div> </div> <a class="anchor" id="ga98660b650e7c060be8a574402e2f2257"></a> <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> * </td> <td class="paramname"><em>elem</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get HCTL handle for an HCTL element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">elem</td><td>HCTL element </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>HCTL handle </dd></dl> </div> </div> <a class="anchor" id="gac1c0ce6f627f2f1560c5db03a93caf5b"></a> <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> * </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> * </td> <td class="paramname"><em>ptr</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Get CTL element identifier of a CTL element id/value. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">obj</td><td>CTL element id/value </td></tr> <tr><td class="paramname">ptr</td><td>Pointer to returned CTL element identifier </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gaa2bad4d08aa1c8ea98f2a92435583e01"></a> <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> * </td> <td class="paramname"><em>obj</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get index part of CTL element identifier of a CTL element id/value. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">obj</td><td>CTL element id/value </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>index part of element identifier </dd></dl> </div> </div> <a class="anchor" id="gabe8c46cbe8b6a2612fa0eaeb1fa8fefb"></a> <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> * </td> <td class="paramname"><em>obj</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get interface part of CTL element identifier of a CTL element id/value. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">obj</td><td>CTL element id/value </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>interface part of element identifier </dd></dl> </div> </div> <a class="anchor" id="gab89b9d62f8575795fc52b86415373a49"></a> <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> * </td> <td class="paramname"><em>obj</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get name part of CTL element identifier of a CTL element id/value. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">obj</td><td>CTL element id/value </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>name part of element identifier </dd></dl> </div> </div> <a class="anchor" id="gae5e86d487c6c964be8a59dfeddb2f36e"></a> <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> * </td> <td class="paramname"><em>obj</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get element numeric identifier of a CTL element id/value. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">obj</td><td>CTL element id/value </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>element numeric identifier </dd></dl> </div> </div> <a class="anchor" id="ga894c09354156fd12f8a089726449f6ac"></a> <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> * </td> <td class="paramname"><em>obj</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get subdevice part of CTL element identifier of a CTL element id/value. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">obj</td><td>CTL element id/value </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>subdevice part of element identifier </dd></dl> </div> </div> <a class="anchor" id="gae08b50b118461e6fcc55975e5530885c"></a> <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> * </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> * </td> <td class="paramname"><em>info</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Get information for an HCTL element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">elem</td><td>HCTL element </td></tr> <tr><td class="paramname">info</td><td>HCTL element information </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 otherwise a negative error code on failure </dd></dl> </div> </div> <a class="anchor" id="gaf7c6b19c5feb2392f2d447bc3f54fd15"></a> <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> * </td> <td class="paramname"><em>elem</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>get next HCTL element </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">elem</td><td>HCTL element </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>pointer to next element </dd></dl> </div> </div> <a class="anchor" id="ga89a720775cb955ee4069a45074e4b32f"></a> <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> * </td> <td class="paramname"><em>elem</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>get previous HCTL element </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">elem</td><td>HCTL element </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>pointer to previous element </dd></dl> </div> </div> <a class="anchor" id="ga86728d69cc5de843ed46ffb4f3b98e2c"></a> <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> * </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> * </td> <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Get value for an HCTL element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">elem</td><td>HCTL element </td></tr> <tr><td class="paramname">value</td><td>HCTL element value </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 otherwise a negative error code on failure </dd></dl> </div> </div> <a class="anchor" id="gacc10c18b636db3388e9b6383058fc757"></a> <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> * </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> </td> <td class="paramname"><em>val</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set callback function for an HCTL element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">obj</td><td>HCTL element </td></tr> <tr><td class="paramname">val</td><td>callback function </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gaa9d511449fc220d09e69a05ae65f1ead"></a> <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> * </td> <td class="paramname"><em>obj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>val</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set callback private value for an HCTL element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">obj</td><td>HCTL element </td></tr> <tr><td class="paramname">val</td><td>callback private value </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gaedec51e102fbf6161322553355439121"></a> <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> * </td> <td class="paramname"><em>elem</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned int * </td> <td class="paramname"><em>tlv</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set TLV value for an HCTL element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">elem</td><td>HCTL element </td></tr> <tr><td class="paramname">tlv</td><td>TLV array for value </td></tr> </table> </dd> </dl> <dl class="retval"><dt>Return values</dt><dd> <table class="retval"> <tr><td class="paramname">0</td><td>on success </td></tr> <tr><td class="paramname">>1</td><td>on success when value was changed </td></tr> <tr><td class="paramname"><0</td><td>a negative error code on failure </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga45fc0e8b3dfaeb2dfebce4f613b21297"></a> <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> * </td> <td class="paramname"><em>elem</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int * </td> <td class="paramname"><em>tlv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>tlv_size</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Get TLV value for an HCTL element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">elem</td><td>HCTL element </td></tr> <tr><td class="paramname">tlv</td><td>TLV array for value </td></tr> <tr><td class="paramname">tlv_size</td><td>size of TLV array in bytes </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 otherwise a negative error code on failure </dd></dl> </div> </div> <a class="anchor" id="gab5611090cee93ace74db2e744718ae25"></a> <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> * </td> <td class="paramname"><em>elem</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned int * </td> <td class="paramname"><em>tlv</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set TLV value for an HCTL element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">elem</td><td>HCTL element </td></tr> <tr><td class="paramname">tlv</td><td>TLV array for value </td></tr> </table> </dd> </dl> <dl class="retval"><dt>Return values</dt><dd> <table class="retval"> <tr><td class="paramname">0</td><td>on success </td></tr> <tr><td class="paramname">>1</td><td>on success when value was changed </td></tr> <tr><td class="paramname"><0</td><td>a negative error code on failure </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gafaf6b88337fdc827c847e21a6fd0cd79"></a> <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> * </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> * </td> <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set value for an HCTL element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">elem</td><td>HCTL element </td></tr> <tr><td class="paramname">value</td><td>HCTL element value </td></tr> </table> </dd> </dl> <dl class="retval"><dt>Return values</dt><dd> <table class="retval"> <tr><td class="paramname">0</td><td>on success </td></tr> <tr><td class="paramname">>1</td><td>on success when value was changed </td></tr> <tr><td class="paramname"><0</td><td>a negative error code on failure </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gaeee7f3f76cb71fd4b3456a9566529bd5"></a> <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> * </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> * </td> <td class="paramname"><em>id</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Search an HCTL element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr> <tr><td class="paramname">id</td><td>Element identifier </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>pointer to found HCTL element or NULL if it does not exists </dd></dl> </div> </div> <a class="anchor" id="gaaa68ce403d30e4d152fe4ce82b6c02db"></a> <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> * </td> <td class="paramname"><em>hctl</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>get first element for an HCTL </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>pointer to first element </dd></dl> </div> </div> <a class="anchor" id="ga1b3e936bba7a6127459af1244c7da454"></a> <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> * </td> <td class="paramname"><em>hctl</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>free HCTL loaded elements </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga60c1606f4d423301355344e5373d5ccc"></a> <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> * </td> <td class="paramname"><em>hctl</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get callback private value for an HCTL. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>callback private value </dd></dl> </div> </div> <a class="anchor" id="ga098944f4f2d7722550901bf6f80ee91c"></a> <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> * </td> <td class="paramname"><em>hctl</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get number of loaded elements for an HCTL. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>elements count </dd></dl> </div> </div> <a class="anchor" id="ga02d9dc1cdbdfe11880e3fe774f2034bd"></a> <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> * </td> <td class="paramname"><em>hctl</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Handle pending HCTL events invoking callbacks. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 otherwise a negative error code on failure </dd></dl> </div> </div> <a class="anchor" id="ga8b7270503d275040a391e05c991ec569"></a> <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> * </td> <td class="paramname"><em>hctl</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>get last element for an HCTL </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>pointer to last element </dd></dl> </div> </div> <a class="anchor" id="ga700017b7d9b8decb775702d5dc6fef85"></a> <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> * </td> <td class="paramname"><em>hctl</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Load an HCTL with all elements and sort them. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="gabd1208fbbe2061021494ea21ab382088"></a> <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> * </td> <td class="paramname"><em>hctl</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>get identifier of HCTL handle </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>ascii identifier of HCTL handle</dd></dl> <p>Returns the ASCII identifier of given HCTL handle. It's the same identifier specified in <a class="el" href="group___h_control.html#ga2a86455eaad4f2730a936d06c62cca29" title="Opens an HCTL. ">snd_hctl_open()</a>. </p> </div> </div> <a class="anchor" id="ga3c3e66e230fc93c15f18568342725a43"></a> <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> * </td> <td class="paramname"><em>hctl</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nonblock</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>set nonblock mode </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr> <tr><td class="paramname">nonblock</td><td>0 = block, 1 = nonblock mode </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga2a86455eaad4f2730a936d06c62cca29"></a> <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> ** </td> <td class="paramname"><em>hctlp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>mode</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Opens an HCTL. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctlp</td><td>Returned HCTL handle </td></tr> <tr><td class="paramname">name</td><td>ASCII identifier of the underlying CTL handle </td></tr> <tr><td class="paramname">mode</td><td>Open mode (see <a class="el" href="group___control.html#gae8a46558414be5b5b3b7bed127ad4574">SND_CTL_NONBLOCK</a>, <a class="el" href="group___control.html#gadcbc5a476ffaf2b8d4dfd29a2cfaab3d">SND_CTL_ASYNC</a>) </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga48b556b219e99c36d65efc6b8a97029c"></a> <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> ** </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> * </td> <td class="paramname"><em>ctl</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Opens an HCTL. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctlp</td><td>Returned HCTL handle </td></tr> <tr><td class="paramname">ctl</td><td>underlying CTL handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga7dd3894b55740cbdb8b2a0bef15af295"></a> <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> * </td> <td class="paramname"><em>hctl</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct pollfd * </td> <td class="paramname"><em>pfds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>space</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>get poll descriptors </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr> <tr><td class="paramname">pfds</td><td>array of poll descriptors </td></tr> <tr><td class="paramname">space</td><td>space in the poll descriptor array </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>count of filled descriptors </dd></dl> </div> </div> <a class="anchor" id="ga32238dba8935b2cb91fbad73aae9e3d4"></a> <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> * </td> <td class="paramname"><em>hctl</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>get count of poll descriptors for HCTL handle </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>count of poll descriptors </dd></dl> </div> </div> <a class="anchor" id="ga704fd06286869e793e223956b186bfdf"></a> <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> * </td> <td class="paramname"><em>hctl</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct pollfd * </td> <td class="paramname"><em>pfds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>nfds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned short * </td> <td class="paramname"><em>revents</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>get returned events from poll descriptors </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr> <tr><td class="paramname">pfds</td><td>array of poll descriptors </td></tr> <tr><td class="paramname">nfds</td><td>count of poll descriptors </td></tr> <tr><td class="paramname">revents</td><td>returned events </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>zero if success, otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga9c0abde0c53cafb640bbd6e3b1c3d6c6"></a> <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> * </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> </td> <td class="paramname"><em>callback</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set callback function for an HCTL. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr> <tr><td class="paramname">callback</td><td>callback function </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gae678856658731969c884a4c9c810d799"></a> <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> * </td> <td class="paramname"><em>hctl</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>callback_private</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set callback private value for an HCTL. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr> <tr><td class="paramname">callback_private</td><td>callback private value </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga5917b8cbcdf5d44d8730027b18ff6172"></a> <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> * </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> </td> <td class="paramname"><em>compare</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Change HCTL compare function and reorder elements. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr> <tr><td class="paramname">compare</td><td>Element compare function </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga2f0d0548f5d848b6557b2967d0e73494"></a> <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> * </td> <td class="paramname"><em>hctl</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>timeout</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Wait for a HCTL to become ready (i.e. at least one event pending) </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hctl</td><td>HCTL handle </td></tr> <tr><td class="paramname">timeout</td><td>maximum time in milliseconds to wait </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>a positive value on success otherwise a negative error code </dd></dl> <dl class="retval"><dt>Return values</dt><dd> <table class="retval"> <tr><td class="paramname">0</td><td>timeout occurred </td></tr> <tr><td class="paramname">1</td><td>an event is pending </td></tr> </table> </dd> </dl> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.5 </small></address> </body> </html>