Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > media > main-release > by-pkgid > eebe3e0b47589a6371b9bc07addc51ff > files > 111

libalsa2-docs-1.0.23-2mdv2010.1.x86_64.rpm

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>ALSA project - the C library reference: Timer Interface</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Timer Interface</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__timer__read__t.html">snd_timer_read_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__timer__tread__t.html">snd_timer_tread_t</a></td></tr>
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gae123de10661be511c00d2d7b6a428745">SND_TIMER_DLSYM_VERSION</a>&nbsp;&nbsp;&nbsp;_dlsym_timer_001</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga7439ac1cc9e0958a21f313ca848af77c">SND_TIMER_QUERY_DLSYM_VERSION</a>&nbsp;&nbsp;&nbsp;_dlsym_timer_query_001</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga1cda350fb4de9a2f7a137c5649e3793c">SND_TIMER_GLOBAL_SYSTEM</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga77ddf4d042846b39fc4ed4966e04bee2">SND_TIMER_GLOBAL_RTC</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga15f5febc65924c9d3b12c7440c13bdd3">SND_TIMER_GLOBAL_HPET</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gacf694819483359539a0017b09e9de9ab">SND_TIMER_GLOBAL_HRTIMER</a>&nbsp;&nbsp;&nbsp;3</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gac2c50bf6045560bc13aab81f25b2b740">SND_TIMER_OPEN_NONBLOCK</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga8d8b1f21a9c9db84a6ffc02e8f2c745b">SND_TIMER_OPEN_TREAD</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gaef1895685cb2f65d1a40cc46fa5a7eb2">snd_timer_id_alloca</a>(ptr)&nbsp;&nbsp;&nbsp;__snd_alloca(ptr, snd_timer_id)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga2b8086e599bd8d1bec750df97f572fcf">snd_timer_ginfo_alloca</a>(ptr)&nbsp;&nbsp;&nbsp;__snd_alloca(ptr, snd_timer_ginfo)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gafad2100b7f0478b8c3c59f0f4aced23e">snd_timer_info_alloca</a>(ptr)&nbsp;&nbsp;&nbsp;__snd_alloca(ptr, snd_timer_info)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga2e76b7b6f7fe340b4a06935f080fbbbd">snd_timer_params_alloca</a>(ptr)&nbsp;&nbsp;&nbsp;__snd_alloca(ptr, snd_timer_params)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga6597b8f73b30a3f2bf2aa9f3590b92f2">snd_timer_status_alloca</a>(ptr)&nbsp;&nbsp;&nbsp;__snd_alloca(ptr, snd_timer_status)</td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct _snd_timer_id&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct _snd_timer_ginfo&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct _snd_timer_gparams&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga891a982092ef97b93001ae2c096b8bf9">snd_timer_gparams_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct _snd_timer_gstatus&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gac14592347542015d4540e5c91ba2f677">snd_timer_gstatus_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct _snd_timer_info&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct _snd_timer_params&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct _snd_timer_status&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct _snd_timer_query&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga279f189051eba2c5e072c30198deb81a">snd_timer_query_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct _snd_timer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a></td></tr>
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gafcf09894847cdee6925ab6e405c358d9">snd_timer_class_t</a> { <br/>
&nbsp;&nbsp;<a class="el" href="group___timer.html#ggafcf09894847cdee6925ab6e405c358d9a678ee4a7108ad3653fc49a6fe07ae45f">SND_TIMER_CLASS_NONE</a> =  -1, 
<a class="el" href="group___timer.html#ggafcf09894847cdee6925ab6e405c358d9a532f7292aafb8e4eaa8fce3bb42b7ea1">SND_TIMER_CLASS_SLAVE</a> =  0, 
<a class="el" href="group___timer.html#ggafcf09894847cdee6925ab6e405c358d9ae7a63ed172c4c38199e4d6b3ed9fd728">SND_TIMER_CLASS_GLOBAL</a>, 
<a class="el" href="group___timer.html#ggafcf09894847cdee6925ab6e405c358d9a1537e543af1e092113918133e967060a">SND_TIMER_CLASS_CARD</a>, 
<br/>
&nbsp;&nbsp;<a class="el" href="group___timer.html#ggafcf09894847cdee6925ab6e405c358d9a7ec320b901911a00dabae6361497904b">SND_TIMER_CLASS_PCM</a>, 
<a class="el" href="group___timer.html#ggafcf09894847cdee6925ab6e405c358d9aba93010fc89dbe48bbf9000cf8ee9747">SND_TIMER_CLASS_LAST</a> =  SND_TIMER_CLASS_PCM
<br/>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gad834b328331c3a4a4fb42041e2e61298">snd_timer_slave_class_t</a> { <br/>
&nbsp;&nbsp;<a class="el" href="group___timer.html#ggad834b328331c3a4a4fb42041e2e61298a93c410a46bba52d680058f0718a32879">SND_TIMER_SCLASS_NONE</a> =  0, 
<a class="el" href="group___timer.html#ggad834b328331c3a4a4fb42041e2e61298ae7fbc56d9edddadce36b1c106642df47">SND_TIMER_SCLASS_APPLICATION</a>, 
<a class="el" href="group___timer.html#ggad834b328331c3a4a4fb42041e2e61298a1b051f95a8e420b7d0bea1621882bf94">SND_TIMER_SCLASS_SEQUENCER</a>, 
<a class="el" href="group___timer.html#ggad834b328331c3a4a4fb42041e2e61298a36e74e47c3d113180d91f869d37a2d38">SND_TIMER_SCLASS_OSS_SEQUENCER</a>, 
<br/>
&nbsp;&nbsp;<a class="el" href="group___timer.html#ggad834b328331c3a4a4fb42041e2e61298a411d2f011abfe46d76af7e0be1056512">SND_TIMER_SCLASS_LAST</a> =  SND_TIMER_SCLASS_OSS_SEQUENCER
<br/>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga396a3bb020be40c36c9a6de0554145b4">snd_timer_event_t</a> { <br/>
&nbsp;&nbsp;<b>SND_TIMER_EVENT_RESOLUTION</b> =  0, 
<b>SND_TIMER_EVENT_TICK</b>, 
<b>SND_TIMER_EVENT_START</b>, 
<b>SND_TIMER_EVENT_STOP</b>, 
<br/>
&nbsp;&nbsp;<b>SND_TIMER_EVENT_CONTINUE</b>, 
<b>SND_TIMER_EVENT_PAUSE</b>, 
<b>SND_TIMER_EVENT_EARLY</b>, 
<b>SND_TIMER_EVENT_SUSPEND</b>, 
<br/>
&nbsp;&nbsp;<b>SND_TIMER_EVENT_RESUME</b>, 
<b>SND_TIMER_EVENT_MSTART</b> =  SND_TIMER_EVENT_START + 10, 
<b>SND_TIMER_EVENT_MSTOP</b> =  SND_TIMER_EVENT_STOP + 10, 
<b>SND_TIMER_EVENT_MCONTINUE</b> =  SND_TIMER_EVENT_CONTINUE + 10, 
<br/>
&nbsp;&nbsp;<b>SND_TIMER_EVENT_MPAUSE</b> =  SND_TIMER_EVENT_PAUSE + 10, 
<b>SND_TIMER_EVENT_MSUSPEND</b> =  SND_TIMER_EVENT_SUSPEND + 10, 
<b>SND_TIMER_EVENT_MRESUME</b> =  SND_TIMER_EVENT_RESUME + 10
<br/>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga07cba0cdbcdc514edb078bcc0740a7cf">snd_timer_type_t</a> { <a class="el" href="group___timer.html#gga07cba0cdbcdc514edb078bcc0740a7cfaf824868ef06d7288077a6f48a1e2e54b">SND_TIMER_TYPE_HW</a> =  0, 
<a class="el" href="group___timer.html#gga07cba0cdbcdc514edb078bcc0740a7cfa58a150be6754c776d9be0a6d1be810bd">SND_TIMER_TYPE_SHM</a>, 
<a class="el" href="group___timer.html#gga07cba0cdbcdc514edb078bcc0740a7cfa78682127e299b23d290649ddc34775b1">SND_TIMER_TYPE_INET</a>
 }</td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga54f6d3838ff4680fcda97952a60376ff">snd_timer_query_open</a> (<a class="el" href="group___timer.html#ga279f189051eba2c5e072c30198deb81a">snd_timer_query_t</a> **handle, const char *name, int mode)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens a new connection to the timer query interface.  <a href="#ga54f6d3838ff4680fcda97952a60376ff"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga5d11f58dc15f5d12465f4e6aacae43cf">snd_timer_query_open_lconf</a> (<a class="el" href="group___timer.html#ga279f189051eba2c5e072c30198deb81a">snd_timer_query_t</a> **handle, const char *name, int mode, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *lconf)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens a new connection to the timer query interface using local configuration.  <a href="#ga5d11f58dc15f5d12465f4e6aacae43cf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga13063464032aae91ab4e72dfdb57cb10">snd_timer_query_close</a> (<a class="el" href="group___timer.html#ga279f189051eba2c5e072c30198deb81a">snd_timer_query_t</a> *handle)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">close timer query handle  <a href="#ga13063464032aae91ab4e72dfdb57cb10"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga5c10a9b8dc5f4442908fa3d15ab79169">snd_timer_query_next_device</a> (<a class="el" href="group___timer.html#ga279f189051eba2c5e072c30198deb81a">snd_timer_query_t</a> *handle, <a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *tid)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">obtain the next timer identification  <a href="#ga5c10a9b8dc5f4442908fa3d15ab79169"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gafcab2e2ce9b0ab69641ca10ba6a5bc17">snd_timer_query_info</a> (<a class="el" href="group___timer.html#ga279f189051eba2c5e072c30198deb81a">snd_timer_query_t</a> *handle, <a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *info)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">obtain the timer global information  <a href="#gafcab2e2ce9b0ab69641ca10ba6a5bc17"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga03945b4d2bd9512de9a3fd923b71551d">snd_timer_query_params</a> (<a class="el" href="group___timer.html#ga279f189051eba2c5e072c30198deb81a">snd_timer_query_t</a> *handle, <a class="el" href="group___timer.html#ga891a982092ef97b93001ae2c096b8bf9">snd_timer_gparams_t</a> *params)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set the timer global parameters  <a href="#ga03945b4d2bd9512de9a3fd923b71551d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga4faf0668a3808f0b0f78f260af193645">snd_timer_query_status</a> (<a class="el" href="group___timer.html#ga279f189051eba2c5e072c30198deb81a">snd_timer_query_t</a> *handle, <a class="el" href="group___timer.html#gac14592347542015d4540e5c91ba2f677">snd_timer_gstatus_t</a> *status)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the timer global status  <a href="#ga4faf0668a3808f0b0f78f260af193645"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga9fa22f49745d1e383f0d6e5d9e795e2e">snd_timer_open</a> (<a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> **handle, const char *name, int mode)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens a new connection to the timer interface.  <a href="#ga9fa22f49745d1e383f0d6e5d9e795e2e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gadd7dd0538f800b67fea5f096a73c2fee">snd_timer_open_lconf</a> (<a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> **handle, const char *name, int mode, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *lconf)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens a new connection to the timer interface using local configuration.  <a href="#gadd7dd0538f800b67fea5f096a73c2fee"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga155e0b5c831a3140f49c04932da9404f">snd_timer_close</a> (<a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *handle)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">close timer handle  <a href="#ga155e0b5c831a3140f49c04932da9404f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga076a6bbae3bfdb956b0a1a6ea9daa0a2">snd_async_add_timer_handler</a> (<a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a> **handler, <a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *timer, <a class="el" href="group___global.html#gaa0501fb0c332e2009977bb29f194200b">snd_async_callback_t</a> callback, void *private_data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an async handler for a timer.  <a href="#ga076a6bbae3bfdb956b0a1a6ea9daa0a2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gaa497b2873abd234df7e932ecdefad5e0">snd_async_handler_get_timer</a> (<a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a> *handler)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return timer handle related to an async handler.  <a href="#gaa497b2873abd234df7e932ecdefad5e0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gaf035c37343afed7f13c60e950e461cdf">snd_timer_poll_descriptors_count</a> (<a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *handle)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get count of poll descriptors for timer handle  <a href="#gaf035c37343afed7f13c60e950e461cdf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga89ec000a41fa7dd1269e332324663f61">snd_timer_poll_descriptors</a> (<a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *handle, struct pollfd *pfds, unsigned int space)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get poll descriptors  <a href="#ga89ec000a41fa7dd1269e332324663f61"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga395e14d49bbb41794fb1bb6114fdf93f">snd_timer_poll_descriptors_revents</a> (<a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *timer, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get returned events from poll descriptors  <a href="#ga395e14d49bbb41794fb1bb6114fdf93f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga608cb266bf1cfd8f3796e6e55a2d5fe8">snd_timer_info</a> (<a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *handle, <a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> *timer)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get information about timer handle  <a href="#ga608cb266bf1cfd8f3796e6e55a2d5fe8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga3fd358a410688c3aba3e2d69acf027a8">snd_timer_params</a> (<a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *handle, <a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *params)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set parameters for timer handle  <a href="#ga3fd358a410688c3aba3e2d69acf027a8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gaa78c7089909252ee0ca69f7552fa2804">snd_timer_status</a> (<a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *handle, <a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> *status)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get status from timer handle  <a href="#gaa78c7089909252ee0ca69f7552fa2804"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gafc990117a12e19a729ff10ef217fe2f9">snd_timer_start</a> (<a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *handle)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">start the timer  <a href="#gafc990117a12e19a729ff10ef217fe2f9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga6f8147c0679c820a77f98b1dd5b664a5">snd_timer_stop</a> (<a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *handle)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">stop the timer  <a href="#ga6f8147c0679c820a77f98b1dd5b664a5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gaefeb6d7a87d49666470a62cea1440ed3">snd_timer_continue</a> (<a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *handle)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">continue the timer  <a href="#gaefeb6d7a87d49666470a62cea1440ed3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">ssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga724ada94d0bc3564ad77973c0a084682">snd_timer_read</a> (<a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *handle, void *buffer, size_t size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">read bytes using timer handle  <a href="#ga724ada94d0bc3564ad77973c0a084682"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gacc0a4c452e6dc6a9401da8b0f22cd14f">snd_timer_id_sizeof</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get size of the snd_timer_id_t structure in bytes  <a href="#gacc0a4c452e6dc6a9401da8b0f22cd14f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gab60829b0a47dfc5ef88ce74e586ebe23">snd_timer_id_malloc</a> (<a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> **ptr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">allocate a new snd_timer_id_t structure  <a href="#gab60829b0a47dfc5ef88ce74e586ebe23"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga4c938bd81f93c364aff08de5e96a3cf6">snd_timer_id_free</a> (<a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">frees the snd_timer_id_t structure  <a href="#ga4c938bd81f93c364aff08de5e96a3cf6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gac6d57323807a3ea3f3f9fe1870cd4755">snd_timer_id_copy</a> (<a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *dst, const <a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *src)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">copy one snd_timer_id_t structure to another  <a href="#gac6d57323807a3ea3f3f9fe1870cd4755"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga93bce2afe5e3f40f9f7adc17339273c4">snd_timer_id_set_class</a> (<a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *id, int dev_class)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set timer class  <a href="#ga93bce2afe5e3f40f9f7adc17339273c4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga42ea98dbaf720519453c0110bd06fb8b">snd_timer_id_get_class</a> (<a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *id)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer class  <a href="#ga42ea98dbaf720519453c0110bd06fb8b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga2cafa2722ebd48051328c8684c9c544c">snd_timer_id_set_sclass</a> (<a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *id, int dev_sclass)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set timer sub-class  <a href="#ga2cafa2722ebd48051328c8684c9c544c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga82e2754532fa2b5b28733820eab4d600">snd_timer_id_get_sclass</a> (<a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *id)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer sub-class  <a href="#ga82e2754532fa2b5b28733820eab4d600"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga18406bd50ccd2818c7aa6fde6274a303">snd_timer_id_set_card</a> (<a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *id, int card)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set timer card  <a href="#ga18406bd50ccd2818c7aa6fde6274a303"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga305324f73fc12e7e42891598613a2d29">snd_timer_id_get_card</a> (<a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *id)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer card  <a href="#ga305324f73fc12e7e42891598613a2d29"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga3c296e2bf5e2b0e1a71fe6612993e68e">snd_timer_id_set_device</a> (<a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *id, int device)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set timer device  <a href="#ga3c296e2bf5e2b0e1a71fe6612993e68e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gaa864bb9270989329f8acc86c5aec2093">snd_timer_id_get_device</a> (<a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *id)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer device  <a href="#gaa864bb9270989329f8acc86c5aec2093"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga28a3d45e09fc45f97fd37d7338138544">snd_timer_id_set_subdevice</a> (<a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *id, int subdevice)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set timer subdevice  <a href="#ga28a3d45e09fc45f97fd37d7338138544"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga7f52f12140cd97f267143cbcd0832d02">snd_timer_id_get_subdevice</a> (<a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *id)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer subdevice  <a href="#ga7f52f12140cd97f267143cbcd0832d02"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga5433f9a5020b9db09939b51bfdecd449">snd_timer_ginfo_sizeof</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get size of the snd_timer_ginfo_t structure in bytes  <a href="#ga5433f9a5020b9db09939b51bfdecd449"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga7c0c9386149431c24b8260678afe57ea">snd_timer_ginfo_malloc</a> (<a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> **ptr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">allocate a new snd_timer_ginfo_t structure  <a href="#ga7c0c9386149431c24b8260678afe57ea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gaf223a09c3d076947ed3c09cb4d6fec79">snd_timer_ginfo_free</a> (<a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">frees the snd_timer_ginfo_t structure  <a href="#gaf223a09c3d076947ed3c09cb4d6fec79"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gacfde902fd8078764afa3c7cadfc5f53d">snd_timer_ginfo_copy</a> (<a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *dst, const <a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *src)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">copy one snd_timer_info_t structure to another  <a href="#gacfde902fd8078764afa3c7cadfc5f53d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gaebdec979e0c5a70100620cb7bf1c22d8">snd_timer_ginfo_set_tid</a> (<a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *obj, <a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *tid)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set timer identification  <a href="#gaebdec979e0c5a70100620cb7bf1c22d8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga66c1351ff92884298849d650f98b0a94">snd_timer_ginfo_get_tid</a> (<a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer identification  <a href="#ga66c1351ff92884298849d650f98b0a94"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga3f4cf1a7e485c18aa16c9de159490f36">snd_timer_ginfo_get_flags</a> (<a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer flags  <a href="#ga3f4cf1a7e485c18aa16c9de159490f36"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga086c81db497d7818afabbaadb888731b">snd_timer_ginfo_get_card</a> (<a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get associated card with timer  <a href="#ga086c81db497d7818afabbaadb888731b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga7c95448884b61a0f8a04c2cd134d5a41">snd_timer_ginfo_get_id</a> (<a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer identification  <a href="#ga7c95448884b61a0f8a04c2cd134d5a41"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gadcd41537e9db1c08d816a9f2fe1bea52">snd_timer_ginfo_get_name</a> (<a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer name  <a href="#gadcd41537e9db1c08d816a9f2fe1bea52"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga452c539c7c8c949bb446879e4d9151c2">snd_timer_ginfo_get_resolution</a> (<a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer resolution in ns  <a href="#ga452c539c7c8c949bb446879e4d9151c2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga33c9458b0a47e6448af0acc97d8860f7">snd_timer_ginfo_get_resolution_min</a> (<a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer minimal resolution in ns  <a href="#ga33c9458b0a47e6448af0acc97d8860f7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga6fbb78b3361209c15a0ece5bc2b939c0">snd_timer_ginfo_get_resolution_max</a> (<a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer maximal resolution in ns  <a href="#ga6fbb78b3361209c15a0ece5bc2b939c0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga497147a128b64374829408beb773316d">snd_timer_ginfo_get_clients</a> (<a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get current timer clients  <a href="#ga497147a128b64374829408beb773316d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga3845cca41afd0f5ee40132d5b10c1e38">snd_timer_info_sizeof</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get size of the snd_timer_info_t structure in bytes  <a href="#ga3845cca41afd0f5ee40132d5b10c1e38"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga51e754aec623f96bcfeda9511f51b5b7">snd_timer_info_malloc</a> (<a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> **ptr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">allocate a new snd_timer_info_t structure  <a href="#ga51e754aec623f96bcfeda9511f51b5b7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga10da72bb7ae7a6ed91e7857b61add016">snd_timer_info_free</a> (<a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">frees the snd_timer_info_t structure  <a href="#ga10da72bb7ae7a6ed91e7857b61add016"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga92e91d9222794a1c5e82b7672faa214b">snd_timer_info_copy</a> (<a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> *dst, const <a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> *src)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">copy one snd_timer_info_t structure to another  <a href="#ga92e91d9222794a1c5e82b7672faa214b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gaccf0a207b91965e7200355a0daaac6ce">snd_timer_info_is_slave</a> (<a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> *info)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">determine, if timer is slave  <a href="#gaccf0a207b91965e7200355a0daaac6ce"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gaddb757aa65e9532ced42ff7e9146ff34">snd_timer_info_get_card</a> (<a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> *info)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer card  <a href="#gaddb757aa65e9532ced42ff7e9146ff34"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gaf46477b4ca62a7c2bd87926a45ecbd50">snd_timer_info_get_id</a> (<a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> *info)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer id  <a href="#gaf46477b4ca62a7c2bd87926a45ecbd50"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga9360acea37a3351ab9d2c17b7a264395">snd_timer_info_get_name</a> (<a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> *info)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer name  <a href="#ga9360acea37a3351ab9d2c17b7a264395"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga3b33c3f0af5c93461e9493b0d4a3b81c">snd_timer_info_get_resolution</a> (<a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> *info)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer resolution in us  <a href="#ga3b33c3f0af5c93461e9493b0d4a3b81c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga8a76df112a4046b72bdd4903215eca09">snd_timer_params_sizeof</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get size of the snd_timer_params_t structure in bytes  <a href="#ga8a76df112a4046b72bdd4903215eca09"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga6bdf00a7a9a2bcd46848c3862e31d7e7">snd_timer_params_malloc</a> (<a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> **ptr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">allocate a new snd_timer_params_t structure  <a href="#ga6bdf00a7a9a2bcd46848c3862e31d7e7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga3cba3ec4b6146cc7855d937b7aaf7953">snd_timer_params_free</a> (<a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">frees the snd_timer_params_t structure  <a href="#ga3cba3ec4b6146cc7855d937b7aaf7953"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga6beaa69176cf2bb404983da4d133fda5">snd_timer_params_copy</a> (<a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *dst, const <a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *src)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">copy one snd_timer_params_t structure to another  <a href="#ga6beaa69176cf2bb404983da4d133fda5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gac39b36fdcc72cbb05adb909673df04f0">snd_timer_params_set_auto_start</a> (<a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *params, int auto_start)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set timer auto start  <a href="#gac39b36fdcc72cbb05adb909673df04f0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga0c7537d0729793d242b9263185f24e06">snd_timer_params_get_auto_start</a> (<a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *params)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">determine if timer has auto start flag  <a href="#ga0c7537d0729793d242b9263185f24e06"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga497d23da21ec46d58ef3d6c01942d7c1">snd_timer_params_set_exclusive</a> (<a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *params, int exclusive)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set timer exclusive use  <a href="#ga497d23da21ec46d58ef3d6c01942d7c1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga66fffdd5b538259b54ebe9570581d52a">snd_timer_params_get_exclusive</a> (<a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *params)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">determine if timer has exclusive flag  <a href="#ga66fffdd5b538259b54ebe9570581d52a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gaede871d499497de1199bdf1e8f9c9872">snd_timer_params_set_early_event</a> (<a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *params, int early_event)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set timer early event  <a href="#gaede871d499497de1199bdf1e8f9c9872"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga6e45bbcef976cfac74336f337a0460cd">snd_timer_params_get_early_event</a> (<a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *params)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">determine if timer has early event flag  <a href="#ga6e45bbcef976cfac74336f337a0460cd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gaa7101edb9ec33fdbbb94e04256388caa">snd_timer_params_set_ticks</a> (<a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *params, long ticks)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set timer ticks  <a href="#gaa7101edb9ec33fdbbb94e04256388caa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga298418a42230f305c3c4efdf14da3403">snd_timer_params_get_ticks</a> (<a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *params)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer ticks  <a href="#ga298418a42230f305c3c4efdf14da3403"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga3c55b27f682897a1b421b1be46a36289">snd_timer_params_set_queue_size</a> (<a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *params, long queue_size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set timer queue size (32-1024)  <a href="#ga3c55b27f682897a1b421b1be46a36289"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gaa4462f1d878e5f1f10c40549692effcb">snd_timer_params_get_queue_size</a> (<a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *params)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get queue size  <a href="#gaa4462f1d878e5f1f10c40549692effcb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gab6820b66547c333402ea8e66fd600af2">snd_timer_params_set_filter</a> (<a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *params, unsigned int filter)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set timer event filter  <a href="#gab6820b66547c333402ea8e66fd600af2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga94c66976bd4b993c766e81d2452597f1">snd_timer_params_get_filter</a> (<a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *params)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer event filter  <a href="#ga94c66976bd4b993c766e81d2452597f1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gaf0ceabb82125265a8bfe6ea85b889063">snd_timer_status_sizeof</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get size of the snd_timer_status_t structure in bytes  <a href="#gaf0ceabb82125265a8bfe6ea85b889063"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga6fa0de36e4494bd5ece4965ffe832db1">snd_timer_status_malloc</a> (<a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> **ptr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">allocate a new snd_timer_status_t structure  <a href="#ga6fa0de36e4494bd5ece4965ffe832db1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga60f6cf340f3f4881e1bff8ed11f1e634">snd_timer_status_free</a> (<a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">frees the snd_timer_status_t structure  <a href="#ga60f6cf340f3f4881e1bff8ed11f1e634"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gac14cf4718333897ecb2b823b738aaff4">snd_timer_status_copy</a> (<a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> *dst, const <a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> *src)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">copy one snd_timer_status_t structure to another  <a href="#gac14cf4718333897ecb2b823b738aaff4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___global.html#ga3a3f5b65c40f498cdbc26944bd9855cf">snd_htimestamp_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga0c303da4c37285d423f428710409ee08">snd_timer_status_get_timestamp</a> (<a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> *status)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timestamp  <a href="#ga0c303da4c37285d423f428710409ee08"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gaaab668cc548b6c4a24236504d63da0a0">snd_timer_status_get_resolution</a> (<a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> *status)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get resolution in us  <a href="#gaaab668cc548b6c4a24236504d63da0a0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gaa7ad78e8af9855e71d4951147869693b">snd_timer_status_get_lost</a> (<a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> *status)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get master tick lost count  <a href="#gaa7ad78e8af9855e71d4951147869693b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gaf3a83c122c2e19059297599d3486c04d">snd_timer_status_get_overrun</a> (<a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> *status)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get overrun count  <a href="#gaf3a83c122c2e19059297599d3486c04d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga6edb10e32b6b485ecccef73d862ca648">snd_timer_status_get_queue</a> (<a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> *status)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get count of used queue elements  <a href="#ga6edb10e32b6b485ecccef73d862ca648"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gad0cf85bf970338f0924e0f642057c9a6">snd_timer_info_get_ticks</a> (<a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> *info)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">(DEPRECATED) get maximum timer ticks  <a href="#gad0cf85bf970338f0924e0f642057c9a6"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Timer Interface. See <a class="el" href="timer.html">Timer interface</a> page for more details. </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="gae123de10661be511c00d2d7b6a428745"></a><!-- doxytag: member="timer.h::SND_TIMER_DLSYM_VERSION" ref="gae123de10661be511c00d2d7b6a428745" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_TIMER_DLSYM_VERSION&nbsp;&nbsp;&nbsp;_dlsym_timer_001</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dlsym version for interface entry callback </p>

</div>
</div>
<a class="anchor" id="ga2b8086e599bd8d1bec750df97f572fcf"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_alloca" ref="ga2b8086e599bd8d1bec750df97f572fcf" args="(ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define snd_timer_ginfo_alloca</td>
          <td>(</td>
          <td class="paramtype">ptr&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;__snd_alloca(ptr, snd_timer_ginfo)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>allocate <a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> container on stack </p>

</div>
</div>
<a class="anchor" id="ga15f5febc65924c9d3b12c7440c13bdd3"></a><!-- doxytag: member="timer.h::SND_TIMER_GLOBAL_HPET" ref="ga15f5febc65924c9d3b12c7440c13bdd3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_TIMER_GLOBAL_HPET&nbsp;&nbsp;&nbsp;2</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>global timer - HPET </p>

</div>
</div>
<a class="anchor" id="gacf694819483359539a0017b09e9de9ab"></a><!-- doxytag: member="timer.h::SND_TIMER_GLOBAL_HRTIMER" ref="gacf694819483359539a0017b09e9de9ab" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_TIMER_GLOBAL_HRTIMER&nbsp;&nbsp;&nbsp;3</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>global timer - HRTIMER </p>

</div>
</div>
<a class="anchor" id="ga77ddf4d042846b39fc4ed4966e04bee2"></a><!-- doxytag: member="timer.h::SND_TIMER_GLOBAL_RTC" ref="ga77ddf4d042846b39fc4ed4966e04bee2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_TIMER_GLOBAL_RTC&nbsp;&nbsp;&nbsp;1</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>global timer - RTC </p>

</div>
</div>
<a class="anchor" id="ga1cda350fb4de9a2f7a137c5649e3793c"></a><!-- doxytag: member="timer.h::SND_TIMER_GLOBAL_SYSTEM" ref="ga1cda350fb4de9a2f7a137c5649e3793c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_TIMER_GLOBAL_SYSTEM&nbsp;&nbsp;&nbsp;0</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>global timer - system </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a20">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaef1895685cb2f65d1a40cc46fa5a7eb2"></a><!-- doxytag: member="timer.h::snd_timer_id_alloca" ref="gaef1895685cb2f65d1a40cc46fa5a7eb2" args="(ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define snd_timer_id_alloca</td>
          <td>(</td>
          <td class="paramtype">ptr&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;__snd_alloca(ptr, snd_timer_id)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>allocate <a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> container on stack </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a24">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gafad2100b7f0478b8c3c59f0f4aced23e"></a><!-- doxytag: member="timer.h::snd_timer_info_alloca" ref="gafad2100b7f0478b8c3c59f0f4aced23e" args="(ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define snd_timer_info_alloca</td>
          <td>(</td>
          <td class="paramtype">ptr&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;__snd_alloca(ptr, snd_timer_info)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>allocate <a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> container on stack </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a25">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac2c50bf6045560bc13aab81f25b2b740"></a><!-- doxytag: member="timer.h::SND_TIMER_OPEN_NONBLOCK" ref="gac2c50bf6045560bc13aab81f25b2b740" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_TIMER_OPEN_NONBLOCK&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>timer open mode flag - non-blocking behaviour </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a40">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga8d8b1f21a9c9db84a6ffc02e8f2c745b"></a><!-- doxytag: member="timer.h::SND_TIMER_OPEN_TREAD" ref="ga8d8b1f21a9c9db84a6ffc02e8f2c745b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_TIMER_OPEN_TREAD&nbsp;&nbsp;&nbsp;(1&lt;&lt;1)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>use timestamps and event notification - enhanced read </p>

</div>
</div>
<a class="anchor" id="ga2e76b7b6f7fe340b4a06935f080fbbbd"></a><!-- doxytag: member="timer.h::snd_timer_params_alloca" ref="ga2e76b7b6f7fe340b4a06935f080fbbbd" args="(ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define snd_timer_params_alloca</td>
          <td>(</td>
          <td class="paramtype">ptr&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;__snd_alloca(ptr, snd_timer_params)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>allocate <a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> container on stack </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a26">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga7439ac1cc9e0958a21f313ca848af77c"></a><!-- doxytag: member="timer.h::SND_TIMER_QUERY_DLSYM_VERSION" ref="ga7439ac1cc9e0958a21f313ca848af77c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_TIMER_QUERY_DLSYM_VERSION&nbsp;&nbsp;&nbsp;_dlsym_timer_query_001</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dlsym version for interface entry callback </p>

</div>
</div>
<a class="anchor" id="ga6597b8f73b30a3f2bf2aa9f3590b92f2"></a><!-- doxytag: member="timer.h::snd_timer_status_alloca" ref="ga6597b8f73b30a3f2bf2aa9f3590b92f2" args="(ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define snd_timer_status_alloca</td>
          <td>(</td>
          <td class="paramtype">ptr&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;__snd_alloca(ptr, snd_timer_status)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>allocate <a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> container on stack </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a1">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="ga794ba3ef840cdb926d415ebb75d2c968"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_t" ref="ga794ba3ef840cdb926d415ebb75d2c968" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct _snd_timer_ginfo <a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>timer global info structure </p>

</div>
</div>
<a class="anchor" id="ga891a982092ef97b93001ae2c096b8bf9"></a><!-- doxytag: member="timer.h::snd_timer_gparams_t" ref="ga891a982092ef97b93001ae2c096b8bf9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct _snd_timer_gparams <a class="el" href="group___timer.html#ga891a982092ef97b93001ae2c096b8bf9">snd_timer_gparams_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>timer global params structure </p>

</div>
</div>
<a class="anchor" id="gac14592347542015d4540e5c91ba2f677"></a><!-- doxytag: member="timer.h::snd_timer_gstatus_t" ref="gac14592347542015d4540e5c91ba2f677" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct _snd_timer_gstatus <a class="el" href="group___timer.html#gac14592347542015d4540e5c91ba2f677">snd_timer_gstatus_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>timer global status structure </p>

</div>
</div>
<a class="anchor" id="ga87c7e9656e171a76dada7e7e2da37136"></a><!-- doxytag: member="timer.h::snd_timer_id_t" ref="ga87c7e9656e171a76dada7e7e2da37136" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct _snd_timer_id <a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>timer identification structure </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a21">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga8d2a9e26d1f38ce65160d3cd71a2bce3"></a><!-- doxytag: member="timer.h::snd_timer_info_t" ref="ga8d2a9e26d1f38ce65160d3cd71a2bce3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct _snd_timer_info <a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>timer info structure </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a22">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga3450759fce8e0863ebce3221e82bafca"></a><!-- doxytag: member="timer.h::snd_timer_params_t" ref="ga3450759fce8e0863ebce3221e82bafca" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct _snd_timer_params <a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>timer params structure </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a23">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga279f189051eba2c5e072c30198deb81a"></a><!-- doxytag: member="timer.h::snd_timer_query_t" ref="ga279f189051eba2c5e072c30198deb81a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct _snd_timer_query <a class="el" href="group___timer.html#ga279f189051eba2c5e072c30198deb81a">snd_timer_query_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>timer query handle </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a29">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga6fe20f2c0d1535e3a200944b1244f855"></a><!-- doxytag: member="timer.h::snd_timer_status_t" ref="ga6fe20f2c0d1535e3a200944b1244f855" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct _snd_timer_status <a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>timer status structure </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a0">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga7f514d85bfd93e1e5853a5fded89b668"></a><!-- doxytag: member="timer.h::snd_timer_t" ref="ga7f514d85bfd93e1e5853a5fded89b668" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct _snd_timer <a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>timer handle </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a15">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="gafcf09894847cdee6925ab6e405c358d9"></a><!-- doxytag: member="timer.h::snd_timer_class_t" ref="gafcf09894847cdee6925ab6e405c358d9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group___timer.html#gafcf09894847cdee6925ab6e405c358d9">snd_timer_class_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>timer master class </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ggafcf09894847cdee6925ab6e405c358d9a678ee4a7108ad3653fc49a6fe07ae45f"></a><!-- doxytag: member="SND_TIMER_CLASS_NONE" ref="ggafcf09894847cdee6925ab6e405c358d9a678ee4a7108ad3653fc49a6fe07ae45f" args="" -->SND_TIMER_CLASS_NONE</em>&nbsp;</td><td>
<p>invalid </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggafcf09894847cdee6925ab6e405c358d9a532f7292aafb8e4eaa8fce3bb42b7ea1"></a><!-- doxytag: member="SND_TIMER_CLASS_SLAVE" ref="ggafcf09894847cdee6925ab6e405c358d9a532f7292aafb8e4eaa8fce3bb42b7ea1" args="" -->SND_TIMER_CLASS_SLAVE</em>&nbsp;</td><td>
<p>slave timer </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggafcf09894847cdee6925ab6e405c358d9ae7a63ed172c4c38199e4d6b3ed9fd728"></a><!-- doxytag: member="SND_TIMER_CLASS_GLOBAL" ref="ggafcf09894847cdee6925ab6e405c358d9ae7a63ed172c4c38199e4d6b3ed9fd728" args="" -->SND_TIMER_CLASS_GLOBAL</em>&nbsp;</td><td>
<p>global timer </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggafcf09894847cdee6925ab6e405c358d9a1537e543af1e092113918133e967060a"></a><!-- doxytag: member="SND_TIMER_CLASS_CARD" ref="ggafcf09894847cdee6925ab6e405c358d9a1537e543af1e092113918133e967060a" args="" -->SND_TIMER_CLASS_CARD</em>&nbsp;</td><td>
<p>card timer </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggafcf09894847cdee6925ab6e405c358d9a7ec320b901911a00dabae6361497904b"></a><!-- doxytag: member="SND_TIMER_CLASS_PCM" ref="ggafcf09894847cdee6925ab6e405c358d9a7ec320b901911a00dabae6361497904b" args="" -->SND_TIMER_CLASS_PCM</em>&nbsp;</td><td>
<p>PCM timer </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggafcf09894847cdee6925ab6e405c358d9aba93010fc89dbe48bbf9000cf8ee9747"></a><!-- doxytag: member="SND_TIMER_CLASS_LAST" ref="ggafcf09894847cdee6925ab6e405c358d9aba93010fc89dbe48bbf9000cf8ee9747" args="" -->SND_TIMER_CLASS_LAST</em>&nbsp;</td><td>
<p>last timer </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="ga396a3bb020be40c36c9a6de0554145b4"></a><!-- doxytag: member="timer.h::snd_timer_event_t" ref="ga396a3bb020be40c36c9a6de0554145b4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group___timer.html#ga396a3bb020be40c36c9a6de0554145b4">snd_timer_event_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>timer read event identification </p>

</div>
</div>
<a class="anchor" id="gad834b328331c3a4a4fb42041e2e61298"></a><!-- doxytag: member="timer.h::snd_timer_slave_class_t" ref="gad834b328331c3a4a4fb42041e2e61298" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group___timer.html#gad834b328331c3a4a4fb42041e2e61298">snd_timer_slave_class_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>timer slave class </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ggad834b328331c3a4a4fb42041e2e61298a93c410a46bba52d680058f0718a32879"></a><!-- doxytag: member="SND_TIMER_SCLASS_NONE" ref="ggad834b328331c3a4a4fb42041e2e61298a93c410a46bba52d680058f0718a32879" args="" -->SND_TIMER_SCLASS_NONE</em>&nbsp;</td><td>
<p>none </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad834b328331c3a4a4fb42041e2e61298ae7fbc56d9edddadce36b1c106642df47"></a><!-- doxytag: member="SND_TIMER_SCLASS_APPLICATION" ref="ggad834b328331c3a4a4fb42041e2e61298ae7fbc56d9edddadce36b1c106642df47" args="" -->SND_TIMER_SCLASS_APPLICATION</em>&nbsp;</td><td>
<p>for internal use </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad834b328331c3a4a4fb42041e2e61298a1b051f95a8e420b7d0bea1621882bf94"></a><!-- doxytag: member="SND_TIMER_SCLASS_SEQUENCER" ref="ggad834b328331c3a4a4fb42041e2e61298a1b051f95a8e420b7d0bea1621882bf94" args="" -->SND_TIMER_SCLASS_SEQUENCER</em>&nbsp;</td><td>
<p>sequencer timer </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad834b328331c3a4a4fb42041e2e61298a36e74e47c3d113180d91f869d37a2d38"></a><!-- doxytag: member="SND_TIMER_SCLASS_OSS_SEQUENCER" ref="ggad834b328331c3a4a4fb42041e2e61298a36e74e47c3d113180d91f869d37a2d38" args="" -->SND_TIMER_SCLASS_OSS_SEQUENCER</em>&nbsp;</td><td>
<p>OSS sequencer timer </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggad834b328331c3a4a4fb42041e2e61298a411d2f011abfe46d76af7e0be1056512"></a><!-- doxytag: member="SND_TIMER_SCLASS_LAST" ref="ggad834b328331c3a4a4fb42041e2e61298a411d2f011abfe46d76af7e0be1056512" args="" -->SND_TIMER_SCLASS_LAST</em>&nbsp;</td><td>
<p>last slave timer </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="ga07cba0cdbcdc514edb078bcc0740a7cf"></a><!-- doxytag: member="timer.h::snd_timer_type_t" ref="ga07cba0cdbcdc514edb078bcc0740a7cf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group___timer.html#ga07cba0cdbcdc514edb078bcc0740a7cf">snd_timer_type_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>timer handle type </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="gga07cba0cdbcdc514edb078bcc0740a7cfaf824868ef06d7288077a6f48a1e2e54b"></a><!-- doxytag: member="SND_TIMER_TYPE_HW" ref="gga07cba0cdbcdc514edb078bcc0740a7cfaf824868ef06d7288077a6f48a1e2e54b" args="" -->SND_TIMER_TYPE_HW</em>&nbsp;</td><td>
<p>Kernel level HwDep </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga07cba0cdbcdc514edb078bcc0740a7cfa58a150be6754c776d9be0a6d1be810bd"></a><!-- doxytag: member="SND_TIMER_TYPE_SHM" ref="gga07cba0cdbcdc514edb078bcc0740a7cfa58a150be6754c776d9be0a6d1be810bd" args="" -->SND_TIMER_TYPE_SHM</em>&nbsp;</td><td>
<p>Shared memory client timer (not yet implemented) </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga07cba0cdbcdc514edb078bcc0740a7cfa78682127e299b23d290649ddc34775b1"></a><!-- doxytag: member="SND_TIMER_TYPE_INET" ref="gga07cba0cdbcdc514edb078bcc0740a7cfa78682127e299b23d290649ddc34775b1" args="" -->SND_TIMER_TYPE_INET</em>&nbsp;</td><td>
<p>INET client timer (not yet implemented) </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga076a6bbae3bfdb956b0a1a6ea9daa0a2"></a><!-- doxytag: member="timer.h::snd_async_add_timer_handler" ref="ga076a6bbae3bfdb956b0a1a6ea9daa0a2" args="(snd_async_handler_t **handler, snd_timer_t *timer, snd_async_callback_t callback, void *private_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_async_add_timer_handler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a> **&nbsp;</td>
          <td class="paramname"> <em>handler</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___global.html#gaa0501fb0c332e2009977bb29f194200b">snd_async_callback_t</a>&nbsp;</td>
          <td class="paramname"> <em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>private_data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add an async handler for a timer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handler</em>&nbsp;</td><td>Returned handler handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>timer handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>callback</em>&nbsp;</td><td>Callback function </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>private_data</em>&nbsp;</td><td>Callback private data </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 otherwise a negative error code on failure</dd></dl>
<p>The asynchronous callback is called when new timer event occurs. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a51">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaa497b2873abd234df7e932ecdefad5e0"></a><!-- doxytag: member="timer.h::snd_async_handler_get_timer" ref="gaa497b2873abd234df7e932ecdefad5e0" args="(snd_async_handler_t *handler)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a>* snd_async_handler_get_timer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a> *&nbsp;</td>
          <td class="paramname"> <em>handler</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return timer handle related to an async handler. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handler</em>&nbsp;</td><td>Async handler handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer handle </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a16">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga155e0b5c831a3140f49c04932da9404f"></a><!-- doxytag: member="timer.h::snd_timer_close" ref="ga155e0b5c831a3140f49c04932da9404f" args="(snd_timer_t *handle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_close </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>timer</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>close timer handle </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>timer handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
<p>Closes the specified timer handle and frees all associated resources. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a54">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaefeb6d7a87d49666470a62cea1440ed3"></a><!-- doxytag: member="timer.h::snd_timer_continue" ref="gaefeb6d7a87d49666470a62cea1440ed3" args="(snd_timer_t *handle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_continue </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>timer</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="gacfde902fd8078764afa3c7cadfc5f53d"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_copy" ref="gacfde902fd8078764afa3c7cadfc5f53d" args="(snd_timer_ginfo_t *dst, const snd_timer_ginfo_t *src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_timer_ginfo_copy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *&nbsp;</td>
          <td class="paramname"> <em>src</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>copy one snd_timer_info_t structure to another </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>destination snd_timer_info_t structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>source snd_timer_info_t structure </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaf223a09c3d076947ed3c09cb4d6fec79"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_free" ref="gaf223a09c3d076947ed3c09cb4d6fec79" args="(snd_timer_ginfo_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_timer_ginfo_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>frees the snd_timer_ginfo_t structure </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to the snd_timer_ginfo_t structure to free</td></tr>
  </table>
  </dd>
</dl>
<p>Frees the given snd_timer_info_t structure using the standard free C library function. </p>

</div>
</div>
<a class="anchor" id="ga086c81db497d7818afabbaadb888731b"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_get_card" ref="ga086c81db497d7818afabbaadb888731b" args="(snd_timer_ginfo_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_ginfo_get_card </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get associated card with timer </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>associated card </dd></dl>

</div>
</div>
<a class="anchor" id="ga497147a128b64374829408beb773316d"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_get_clients" ref="ga497147a128b64374829408beb773316d" args="(snd_timer_ginfo_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int snd_timer_ginfo_get_clients </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get current timer clients </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>current timer clients </dd></dl>

</div>
</div>
<a class="anchor" id="ga3f4cf1a7e485c18aa16c9de159490f36"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_get_flags" ref="ga3f4cf1a7e485c18aa16c9de159490f36" args="(snd_timer_ginfo_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int snd_timer_ginfo_get_flags </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get timer flags </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer flags </dd></dl>

</div>
</div>
<a class="anchor" id="ga7c95448884b61a0f8a04c2cd134d5a41"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_get_id" ref="ga7c95448884b61a0f8a04c2cd134d5a41" args="(snd_timer_ginfo_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* snd_timer_ginfo_get_id </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get timer identification </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer identification </dd></dl>

</div>
</div>
<a class="anchor" id="gadcd41537e9db1c08d816a9f2fe1bea52"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_get_name" ref="gadcd41537e9db1c08d816a9f2fe1bea52" args="(snd_timer_ginfo_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* snd_timer_ginfo_get_name </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get timer name </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer name </dd></dl>

</div>
</div>
<a class="anchor" id="ga452c539c7c8c949bb446879e4d9151c2"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_get_resolution" ref="ga452c539c7c8c949bb446879e4d9151c2" args="(snd_timer_ginfo_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned long snd_timer_ginfo_get_resolution </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get timer resolution in ns </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer resolution in ns </dd></dl>

</div>
</div>
<a class="anchor" id="ga6fbb78b3361209c15a0ece5bc2b939c0"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_get_resolution_max" ref="ga6fbb78b3361209c15a0ece5bc2b939c0" args="(snd_timer_ginfo_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned long snd_timer_ginfo_get_resolution_max </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get timer maximal resolution in ns </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer maximal resolution in ns </dd></dl>

</div>
</div>
<a class="anchor" id="ga33c9458b0a47e6448af0acc97d8860f7"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_get_resolution_min" ref="ga33c9458b0a47e6448af0acc97d8860f7" args="(snd_timer_ginfo_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned long snd_timer_ginfo_get_resolution_min </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get timer minimal resolution in ns </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer minimal resolution in ns </dd></dl>

</div>
</div>
<a class="anchor" id="ga66c1351ff92884298849d650f98b0a94"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_get_tid" ref="ga66c1351ff92884298849d650f98b0a94" args="(snd_timer_ginfo_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a>* snd_timer_ginfo_get_tid </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get timer identification </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to snd_timer_id_t </dd></dl>

</div>
</div>
<a class="anchor" id="ga7c0c9386149431c24b8260678afe57ea"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_malloc" ref="ga7c0c9386149431c24b8260678afe57ea" args="(snd_timer_ginfo_t **ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_ginfo_malloc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> **&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>allocate a new snd_timer_ginfo_t structure </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>returned pointer </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code if fails</dd></dl>
<p>Allocates a new snd_timer_info_t structure using the standard malloc C library function. </p>

</div>
</div>
<a class="anchor" id="gaebdec979e0c5a70100620cb7bf1c22d8"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_set_tid" ref="gaebdec979e0c5a70100620cb7bf1c22d8" args="(snd_timer_ginfo_t *obj, snd_timer_id_t *tid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_ginfo_set_tid </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *&nbsp;</td>
          <td class="paramname"> <em>tid</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set timer identification </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>tid</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>zero on success otherwise a negative error number </dd></dl>

</div>
</div>
<a class="anchor" id="ga5433f9a5020b9db09939b51bfdecd449"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_sizeof" ref="ga5433f9a5020b9db09939b51bfdecd449" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t snd_timer_ginfo_sizeof </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get size of the snd_timer_ginfo_t structure in bytes </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>size of the snd_timer_ginfo_t structure in bytes </dd></dl>

</div>
</div>
<a class="anchor" id="gac6d57323807a3ea3f3f9fe1870cd4755"></a><!-- doxytag: member="timer.h::snd_timer_id_copy" ref="gac6d57323807a3ea3f3f9fe1870cd4755" args="(snd_timer_id_t *dst, const snd_timer_id_t *src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_timer_id_copy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *&nbsp;</td>
          <td class="paramname"> <em>src</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>copy one snd_timer_id_t structure to another </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>destination snd_timer_id_t structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>source snd_timer_id_t structure </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga4c938bd81f93c364aff08de5e96a3cf6"></a><!-- doxytag: member="timer.h::snd_timer_id_free" ref="ga4c938bd81f93c364aff08de5e96a3cf6" args="(snd_timer_id_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_timer_id_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>frees the snd_timer_id_t structure </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to the snd_timer_id_t structure to free</td></tr>
  </table>
  </dd>
</dl>
<p>Frees the given snd_timer_id_t structure using the standard free C library function. </p>

</div>
</div>
<a class="anchor" id="ga305324f73fc12e7e42891598613a2d29"></a><!-- doxytag: member="timer.h::snd_timer_id_get_card" ref="ga305324f73fc12e7e42891598613a2d29" args="(snd_timer_id_t *id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_id_get_card </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *&nbsp;</td>
          <td class="paramname"> <em>tid</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get timer card </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tid</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer card number </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a35">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga42ea98dbaf720519453c0110bd06fb8b"></a><!-- doxytag: member="timer.h::snd_timer_id_get_class" ref="ga42ea98dbaf720519453c0110bd06fb8b" args="(snd_timer_id_t *id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_id_get_class </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *&nbsp;</td>
          <td class="paramname"> <em>tid</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get timer class </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tid</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer class </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a33">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaa864bb9270989329f8acc86c5aec2093"></a><!-- doxytag: member="timer.h::snd_timer_id_get_device" ref="gaa864bb9270989329f8acc86c5aec2093" args="(snd_timer_id_t *id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_id_get_device </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *&nbsp;</td>
          <td class="paramname"> <em>tid</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get timer device </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tid</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer device number </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a36">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga82e2754532fa2b5b28733820eab4d600"></a><!-- doxytag: member="timer.h::snd_timer_id_get_sclass" ref="ga82e2754532fa2b5b28733820eab4d600" args="(snd_timer_id_t *id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_id_get_sclass </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *&nbsp;</td>
          <td class="paramname"> <em>tid</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get timer sub-class </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tid</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer sub-class </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a34">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga7f52f12140cd97f267143cbcd0832d02"></a><!-- doxytag: member="timer.h::snd_timer_id_get_subdevice" ref="ga7f52f12140cd97f267143cbcd0832d02" args="(snd_timer_id_t *id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_id_get_subdevice </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *&nbsp;</td>
          <td class="paramname"> <em>tid</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get timer subdevice </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tid</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer subdevice number </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a37">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gab60829b0a47dfc5ef88ce74e586ebe23"></a><!-- doxytag: member="timer.h::snd_timer_id_malloc" ref="gab60829b0a47dfc5ef88ce74e586ebe23" args="(snd_timer_id_t **ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_id_malloc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> **&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>allocate a new snd_timer_id_t structure </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>returned pointer </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code if fails</dd></dl>
<p>Allocates a new snd_timer_id_t structure using the standard malloc C library function. </p>

</div>
</div>
<a class="anchor" id="ga18406bd50ccd2818c7aa6fde6274a303"></a><!-- doxytag: member="timer.h::snd_timer_id_set_card" ref="ga18406bd50ccd2818c7aa6fde6274a303" args="(snd_timer_id_t *id, int card)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_timer_id_set_card </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *&nbsp;</td>
          <td class="paramname"> <em>tid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>card</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set timer card </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tid</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>card</em>&nbsp;</td><td>card number </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga93bce2afe5e3f40f9f7adc17339273c4"></a><!-- doxytag: member="timer.h::snd_timer_id_set_class" ref="ga93bce2afe5e3f40f9f7adc17339273c4" args="(snd_timer_id_t *id, int dev_class)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_timer_id_set_class </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *&nbsp;</td>
          <td class="paramname"> <em>tid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>dev_class</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set timer class </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tid</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dev_class</em>&nbsp;</td><td>class of timer device </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a31">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga3c296e2bf5e2b0e1a71fe6612993e68e"></a><!-- doxytag: member="timer.h::snd_timer_id_set_device" ref="ga3c296e2bf5e2b0e1a71fe6612993e68e" args="(snd_timer_id_t *id, int device)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_timer_id_set_device </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *&nbsp;</td>
          <td class="paramname"> <em>tid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>device</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set timer device </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tid</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>device</em>&nbsp;</td><td>device number </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga2cafa2722ebd48051328c8684c9c544c"></a><!-- doxytag: member="timer.h::snd_timer_id_set_sclass" ref="ga2cafa2722ebd48051328c8684c9c544c" args="(snd_timer_id_t *id, int dev_sclass)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_timer_id_set_sclass </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *&nbsp;</td>
          <td class="paramname"> <em>tid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>dev_sclass</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set timer sub-class </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tid</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dev_sclass</em>&nbsp;</td><td>sub-class of timer device </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga28a3d45e09fc45f97fd37d7338138544"></a><!-- doxytag: member="timer.h::snd_timer_id_set_subdevice" ref="ga28a3d45e09fc45f97fd37d7338138544" args="(snd_timer_id_t *id, int subdevice)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_timer_id_set_subdevice </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *&nbsp;</td>
          <td class="paramname"> <em>tid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>subdevice</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set timer subdevice </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tid</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>subdevice</em>&nbsp;</td><td>subdevice number </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gacc0a4c452e6dc6a9401da8b0f22cd14f"></a><!-- doxytag: member="timer.h::snd_timer_id_sizeof" ref="gacc0a4c452e6dc6a9401da8b0f22cd14f" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t snd_timer_id_sizeof </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get size of the snd_timer_id_t structure in bytes </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>size of the snd_timer_id_t structure in bytes </dd></dl>

</div>
</div>
<a class="anchor" id="ga608cb266bf1cfd8f3796e6e55a2d5fe8"></a><!-- doxytag: member="timer.h::snd_timer_info" ref="ga608cb266bf1cfd8f3796e6e55a2d5fe8" args="(snd_timer_t *handle, snd_timer_info_t *timer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_info </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get information about timer handle </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>timer handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to a snd_timer_info_t structure to be filled </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a41">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga92e91d9222794a1c5e82b7672faa214b"></a><!-- doxytag: member="timer.h::snd_timer_info_copy" ref="ga92e91d9222794a1c5e82b7672faa214b" args="(snd_timer_info_t *dst, const snd_timer_info_t *src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_timer_info_copy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>src</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>copy one snd_timer_info_t structure to another </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>destination snd_timer_info_t structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>source snd_timer_info_t structure </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga10da72bb7ae7a6ed91e7857b61add016"></a><!-- doxytag: member="timer.h::snd_timer_info_free" ref="ga10da72bb7ae7a6ed91e7857b61add016" args="(snd_timer_info_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_timer_info_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>frees the snd_timer_info_t structure </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to the snd_timer_info_t structure to free</td></tr>
  </table>
  </dd>
</dl>
<p>Frees the given snd_timer_info_t structure using the standard free C library function. </p>

</div>
</div>
<a class="anchor" id="gaddb757aa65e9532ced42ff7e9146ff34"></a><!-- doxytag: member="timer.h::snd_timer_info_get_card" ref="gaddb757aa65e9532ced42ff7e9146ff34" args="(snd_timer_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_info_get_card </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get timer card </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer card number </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a43">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaf46477b4ca62a7c2bd87926a45ecbd50"></a><!-- doxytag: member="timer.h::snd_timer_info_get_id" ref="gaf46477b4ca62a7c2bd87926a45ecbd50" args="(snd_timer_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* snd_timer_info_get_id </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get timer id </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer id </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a44">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga9360acea37a3351ab9d2c17b7a264395"></a><!-- doxytag: member="timer.h::snd_timer_info_get_name" ref="ga9360acea37a3351ab9d2c17b7a264395" args="(snd_timer_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* snd_timer_info_get_name </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get timer name </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer name </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a45">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga3b33c3f0af5c93461e9493b0d4a3b81c"></a><!-- doxytag: member="timer.h::snd_timer_info_get_resolution" ref="ga3b33c3f0af5c93461e9493b0d4a3b81c" args="(snd_timer_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long snd_timer_info_get_resolution </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get timer resolution in us </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer resolution </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a46">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gad0cf85bf970338f0924e0f642057c9a6"></a><!-- doxytag: member="timer.h::snd_timer_info_get_ticks" ref="gad0cf85bf970338f0924e0f642057c9a6" args="(snd_timer_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long snd_timer_info_get_ticks </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>(DEPRECATED) get maximum timer ticks </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>maximum timer ticks </dd></dl>

</div>
</div>
<a class="anchor" id="gaccf0a207b91965e7200355a0daaac6ce"></a><!-- doxytag: member="timer.h::snd_timer_info_is_slave" ref="gaccf0a207b91965e7200355a0daaac6ce" args="(snd_timer_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_info_is_slave </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>determine, if timer is slave </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>nonzero if timer is slave </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a42">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga51e754aec623f96bcfeda9511f51b5b7"></a><!-- doxytag: member="timer.h::snd_timer_info_malloc" ref="ga51e754aec623f96bcfeda9511f51b5b7" args="(snd_timer_info_t **ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_info_malloc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga8d2a9e26d1f38ce65160d3cd71a2bce3">snd_timer_info_t</a> **&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>allocate a new snd_timer_info_t structure </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>returned pointer </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code if fails</dd></dl>
<p>Allocates a new snd_timer_info_t structure using the standard malloc C library function. </p>

</div>
</div>
<a class="anchor" id="ga3845cca41afd0f5ee40132d5b10c1e38"></a><!-- doxytag: member="timer.h::snd_timer_info_sizeof" ref="ga3845cca41afd0f5ee40132d5b10c1e38" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t snd_timer_info_sizeof </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get size of the snd_timer_info_t structure in bytes </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>size of the snd_timer_info_t structure in bytes </dd></dl>

</div>
</div>
<a class="anchor" id="ga9fa22f49745d1e383f0d6e5d9e795e2e"></a><!-- doxytag: member="timer.h::snd_timer_open" ref="ga9fa22f49745d1e383f0d6e5d9e795e2e" args="(snd_timer_t **handle, const char *name, int mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_open </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> **&nbsp;</td>
          <td class="paramname"> <em>timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Opens a new connection to the timer interface. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>Returned handle (NULL if not wanted) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>ASCII identifier of the timer handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>Open mode </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
<p>Opens a new connection to the timer interface specified with an ASCII identifier and mode. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a39">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gadd7dd0538f800b67fea5f096a73c2fee"></a><!-- doxytag: member="timer.h::snd_timer_open_lconf" ref="gadd7dd0538f800b67fea5f096a73c2fee" args="(snd_timer_t **handle, const char *name, int mode, snd_config_t *lconf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_open_lconf </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> **&nbsp;</td>
          <td class="paramname"> <em>timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>lconf</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Opens a new connection to the timer interface using local configuration. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>Returned handle (NULL if not wanted) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>ASCII identifier of the timer handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>Open mode </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>lconf</em>&nbsp;</td><td>Local configuration </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
<p>Opens a new connection to the timer interface specified with an ASCII identifier and mode. </p>

</div>
</div>
<a class="anchor" id="ga3fd358a410688c3aba3e2d69acf027a8"></a><!-- doxytag: member="timer.h::snd_timer_params" ref="ga3fd358a410688c3aba3e2d69acf027a8" args="(snd_timer_t *handle, snd_timer_params_t *params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_params </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set parameters for timer handle </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>timer handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to a <a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a50">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga6beaa69176cf2bb404983da4d133fda5"></a><!-- doxytag: member="timer.h::snd_timer_params_copy" ref="ga6beaa69176cf2bb404983da4d133fda5" args="(snd_timer_params_t *dst, const snd_timer_params_t *src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_timer_params_copy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>src</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>copy one snd_timer_params_t structure to another </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>destination snd_timer_params_t structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>source snd_timer_params_t structure </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga3cba3ec4b6146cc7855d937b7aaf7953"></a><!-- doxytag: member="timer.h::snd_timer_params_free" ref="ga3cba3ec4b6146cc7855d937b7aaf7953" args="(snd_timer_params_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_timer_params_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>frees the snd_timer_params_t structure </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to the snd_timer_params_t structure to free</td></tr>
  </table>
  </dd>
</dl>
<p>Frees the given snd_timer_params_t structure using the standard free C library function. </p>

</div>
</div>
<a class="anchor" id="ga0c7537d0729793d242b9263185f24e06"></a><!-- doxytag: member="timer.h::snd_timer_params_get_auto_start" ref="ga0c7537d0729793d242b9263185f24e06" args="(snd_timer_params_t *params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_params_get_auto_start </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>determine if timer has auto start flag </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>nonzero if timer has auto start flag </dd></dl>

</div>
</div>
<a class="anchor" id="ga6e45bbcef976cfac74336f337a0460cd"></a><!-- doxytag: member="timer.h::snd_timer_params_get_early_event" ref="ga6e45bbcef976cfac74336f337a0460cd" args="(snd_timer_params_t *params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_params_get_early_event </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>determine if timer has early event flag </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>nonzero if timer has early event flag set </dd></dl>

</div>
</div>
<a class="anchor" id="ga66fffdd5b538259b54ebe9570581d52a"></a><!-- doxytag: member="timer.h::snd_timer_params_get_exclusive" ref="ga66fffdd5b538259b54ebe9570581d52a" args="(snd_timer_params_t *params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_params_get_exclusive </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>determine if timer has exclusive flag </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>nonzero if timer has exclusive flag </dd></dl>

</div>
</div>
<a class="anchor" id="ga94c66976bd4b993c766e81d2452597f1"></a><!-- doxytag: member="timer.h::snd_timer_params_get_filter" ref="ga94c66976bd4b993c766e81d2452597f1" args="(snd_timer_params_t *params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int snd_timer_params_get_filter </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get timer event filter </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer event filter </dd></dl>

</div>
</div>
<a class="anchor" id="gaa4462f1d878e5f1f10c40549692effcb"></a><!-- doxytag: member="timer.h::snd_timer_params_get_queue_size" ref="gaa4462f1d878e5f1f10c40549692effcb" args="(snd_timer_params_t *params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long snd_timer_params_get_queue_size </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get queue size </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>queue size </dd></dl>

</div>
</div>
<a class="anchor" id="ga298418a42230f305c3c4efdf14da3403"></a><!-- doxytag: member="timer.h::snd_timer_params_get_ticks" ref="ga298418a42230f305c3c4efdf14da3403" args="(snd_timer_params_t *params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long snd_timer_params_get_ticks </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get timer ticks </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer ticks </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a49">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga6bdf00a7a9a2bcd46848c3862e31d7e7"></a><!-- doxytag: member="timer.h::snd_timer_params_malloc" ref="ga6bdf00a7a9a2bcd46848c3862e31d7e7" args="(snd_timer_params_t **ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_params_malloc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> **&nbsp;</td>
          <td class="paramname"> <em>params</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>allocate a new snd_timer_params_t structure </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>returned pointer </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code if fails</dd></dl>
<p>Allocates a new snd_timer_params_t structure using the standard malloc C library function. </p>

</div>
</div>
<a class="anchor" id="gac39b36fdcc72cbb05adb909673df04f0"></a><!-- doxytag: member="timer.h::snd_timer_params_set_auto_start" ref="gac39b36fdcc72cbb05adb909673df04f0" args="(snd_timer_params_t *params, int auto_start)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_params_set_auto_start </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>auto_start</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set timer auto start </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>auto_start</em>&nbsp;</td><td>The boolean value to set </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a47">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaede871d499497de1199bdf1e8f9c9872"></a><!-- doxytag: member="timer.h::snd_timer_params_set_early_event" ref="gaede871d499497de1199bdf1e8f9c9872" args="(snd_timer_params_t *params, int early_event)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_params_set_early_event </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>early_event</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set timer early event </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>early_event</em>&nbsp;</td><td>The boolean value to set </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga497d23da21ec46d58ef3d6c01942d7c1"></a><!-- doxytag: member="timer.h::snd_timer_params_set_exclusive" ref="ga497d23da21ec46d58ef3d6c01942d7c1" args="(snd_timer_params_t *params, int exclusive)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_params_set_exclusive </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>exclusive</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set timer exclusive use </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>exclusive</em>&nbsp;</td><td>The boolean value to set </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gab6820b66547c333402ea8e66fd600af2"></a><!-- doxytag: member="timer.h::snd_timer_params_set_filter" ref="gab6820b66547c333402ea8e66fd600af2" args="(snd_timer_params_t *params, unsigned int filter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_timer_params_set_filter </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>filter</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set timer event filter </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>filter</em>&nbsp;</td><td>The event filter bits to set </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga3c55b27f682897a1b421b1be46a36289"></a><!-- doxytag: member="timer.h::snd_timer_params_set_queue_size" ref="ga3c55b27f682897a1b421b1be46a36289" args="(snd_timer_params_t *params, long queue_size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_timer_params_set_queue_size </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>queue_size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set timer queue size (32-1024) </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>queue_size</em>&nbsp;</td><td>The queue size to set </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaa7101edb9ec33fdbbb94e04256388caa"></a><!-- doxytag: member="timer.h::snd_timer_params_set_ticks" ref="gaa7101edb9ec33fdbbb94e04256388caa" args="(snd_timer_params_t *params, long ticks)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_timer_params_set_ticks </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>ticks</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set timer ticks </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga3450759fce8e0863ebce3221e82bafca">snd_timer_params_t</a> structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ticks</em>&nbsp;</td><td>Ticks to set </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a48">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga8a76df112a4046b72bdd4903215eca09"></a><!-- doxytag: member="timer.h::snd_timer_params_sizeof" ref="ga8a76df112a4046b72bdd4903215eca09" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t snd_timer_params_sizeof </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get size of the snd_timer_params_t structure in bytes </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>size of the snd_timer_params_t structure in bytes </dd></dl>

</div>
</div>
<a class="anchor" id="ga89ec000a41fa7dd1269e332324663f61"></a><!-- doxytag: member="timer.h::snd_timer_poll_descriptors" ref="ga89ec000a41fa7dd1269e332324663f61" args="(snd_timer_t *handle, struct pollfd *pfds, unsigned int space)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_poll_descriptors </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct pollfd *&nbsp;</td>
          <td class="paramname"> <em>pfds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>space</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get poll descriptors </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>timer handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pfds</em>&nbsp;</td><td>array of poll descriptors </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>space</em>&nbsp;</td><td>space in the poll descriptor array </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>count of filled descriptors </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a10">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaf035c37343afed7f13c60e950e461cdf"></a><!-- doxytag: member="timer.h::snd_timer_poll_descriptors_count" ref="gaf035c37343afed7f13c60e950e461cdf" args="(snd_timer_t *handle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_poll_descriptors_count </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>timer</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get count of poll descriptors for timer handle </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>timer handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>count of poll descriptors </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a9">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga395e14d49bbb41794fb1bb6114fdf93f"></a><!-- doxytag: member="timer.h::snd_timer_poll_descriptors_revents" ref="ga395e14d49bbb41794fb1bb6114fdf93f" args="(snd_timer_t *timer, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_poll_descriptors_revents </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct pollfd *&nbsp;</td>
          <td class="paramname"> <em>pfds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>nfds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned short *&nbsp;</td>
          <td class="paramname"> <em>revents</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="ga13063464032aae91ab4e72dfdb57cb10"></a><!-- doxytag: member="timer.h::snd_timer_query_close" ref="ga13063464032aae91ab4e72dfdb57cb10" args="(snd_timer_query_t *handle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_query_close </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga279f189051eba2c5e072c30198deb81a">snd_timer_query_t</a> *&nbsp;</td>
          <td class="paramname"> <em>timer</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>close timer query handle </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>timer handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
<p>Closes the specified timer handle and frees all associated resources. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a38">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gafcab2e2ce9b0ab69641ca10ba6a5bc17"></a><!-- doxytag: member="timer.h::snd_timer_query_info" ref="gafcab2e2ce9b0ab69641ca10ba6a5bc17" args="(snd_timer_query_t *handle, snd_timer_ginfo_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_query_info </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga279f189051eba2c5e072c30198deb81a">snd_timer_query_t</a> *&nbsp;</td>
          <td class="paramname"> <em>timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga794ba3ef840cdb926d415ebb75d2c968">snd_timer_ginfo_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>obtain the timer global information </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>timer handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>timer information </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="ga5c10a9b8dc5f4442908fa3d15ab79169"></a><!-- doxytag: member="timer.h::snd_timer_query_next_device" ref="ga5c10a9b8dc5f4442908fa3d15ab79169" args="(snd_timer_query_t *handle, snd_timer_id_t *tid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_query_next_device </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga279f189051eba2c5e072c30198deb81a">snd_timer_query_t</a> *&nbsp;</td>
          <td class="paramname"> <em>timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga87c7e9656e171a76dada7e7e2da37136">snd_timer_id_t</a> *&nbsp;</td>
          <td class="paramname"> <em>tid</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>obtain the next timer identification </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>timer handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>tid</em>&nbsp;</td><td>timer identification </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
<p>if tid-&gt;dev_class is -1, then the first device is returned if result tid-&gt;dev_class is -1, no more devices are left </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a32">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga54f6d3838ff4680fcda97952a60376ff"></a><!-- doxytag: member="timer.h::snd_timer_query_open" ref="ga54f6d3838ff4680fcda97952a60376ff" args="(snd_timer_query_t **handle, const char *name, int mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_query_open </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga279f189051eba2c5e072c30198deb81a">snd_timer_query_t</a> **&nbsp;</td>
          <td class="paramname"> <em>timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Opens a new connection to the timer query interface. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>Returned handle (NULL if not wanted) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>ASCII identifier of the RawMidi handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>Open mode </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
<p>Opens a new connection to the RawMidi interface specified with an ASCII identifier and mode. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a30">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga5d11f58dc15f5d12465f4e6aacae43cf"></a><!-- doxytag: member="timer.h::snd_timer_query_open_lconf" ref="ga5d11f58dc15f5d12465f4e6aacae43cf" args="(snd_timer_query_t **handle, const char *name, int mode, snd_config_t *lconf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_query_open_lconf </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga279f189051eba2c5e072c30198deb81a">snd_timer_query_t</a> **&nbsp;</td>
          <td class="paramname"> <em>timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>lconf</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Opens a new connection to the timer query interface using local configuration. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>Returned handle (NULL if not wanted) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>ASCII identifier of the RawMidi handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>Open mode </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>lconf</em>&nbsp;</td><td>Local configuration </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
<p>Opens a new connection to the RawMidi interface specified with an ASCII identifier and mode. </p>

</div>
</div>
<a class="anchor" id="ga03945b4d2bd9512de9a3fd923b71551d"></a><!-- doxytag: member="timer.h::snd_timer_query_params" ref="ga03945b4d2bd9512de9a3fd923b71551d" args="(snd_timer_query_t *handle, snd_timer_gparams_t *params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_query_params </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga279f189051eba2c5e072c30198deb81a">snd_timer_query_t</a> *&nbsp;</td>
          <td class="paramname"> <em>timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga891a982092ef97b93001ae2c096b8bf9">snd_timer_gparams_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set the timer global parameters </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>timer handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>timer parameters </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="ga4faf0668a3808f0b0f78f260af193645"></a><!-- doxytag: member="timer.h::snd_timer_query_status" ref="ga4faf0668a3808f0b0f78f260af193645" args="(snd_timer_query_t *handle, snd_timer_gstatus_t *status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_query_status </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga279f189051eba2c5e072c30198deb81a">snd_timer_query_t</a> *&nbsp;</td>
          <td class="paramname"> <em>timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___timer.html#gac14592347542015d4540e5c91ba2f677">snd_timer_gstatus_t</a> *&nbsp;</td>
          <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get the timer global status </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>timer handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>timer status </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="ga724ada94d0bc3564ad77973c0a084682"></a><!-- doxytag: member="timer.h::snd_timer_read" ref="ga724ada94d0bc3564ad77973c0a084682" args="(snd_timer_t *handle, void *buffer, size_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ssize_t snd_timer_read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>read bytes using timer handle </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>timer handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>buffer to store the input bytes </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>input buffer size in bytes </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a11">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gafc990117a12e19a729ff10ef217fe2f9"></a><!-- doxytag: member="timer.h::snd_timer_start" ref="gafc990117a12e19a729ff10ef217fe2f9" args="(snd_timer_t *handle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_start </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>timer</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>start the timer </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>timer handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a52">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaa78c7089909252ee0ca69f7552fa2804"></a><!-- doxytag: member="timer.h::snd_timer_status" ref="gaa78c7089909252ee0ca69f7552fa2804" args="(snd_timer_t *handle, snd_timer_status_t *status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_status </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> *&nbsp;</td>
          <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get status from timer handle </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>timer handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>pointer to a <a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> structure to be filled </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a2">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac14cf4718333897ecb2b823b738aaff4"></a><!-- doxytag: member="timer.h::snd_timer_status_copy" ref="gac14cf4718333897ecb2b823b738aaff4" args="(snd_timer_status_t *dst, const snd_timer_status_t *src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_timer_status_copy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> *&nbsp;</td>
          <td class="paramname"> <em>src</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>copy one snd_timer_status_t structure to another </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>destination snd_timer_status_t structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>source snd_timer_status_t structure </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga60f6cf340f3f4881e1bff8ed11f1e634"></a><!-- doxytag: member="timer.h::snd_timer_status_free" ref="ga60f6cf340f3f4881e1bff8ed11f1e634" args="(snd_timer_status_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_timer_status_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> *&nbsp;</td>
          <td class="paramname"> <em>status</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>frees the snd_timer_status_t structure </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>pointer to the snd_timer_status_t structure to free</td></tr>
  </table>
  </dd>
</dl>
<p>Frees the given snd_timer_status_t structure using the standard free C library function. </p>

</div>
</div>
<a class="anchor" id="gaa7ad78e8af9855e71d4951147869693b"></a><!-- doxytag: member="timer.h::snd_timer_status_get_lost" ref="gaa7ad78e8af9855e71d4951147869693b" args="(snd_timer_status_t *status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long snd_timer_status_get_lost </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> *&nbsp;</td>
          <td class="paramname"> <em>status</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get master tick lost count </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>master tick lost count </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a5">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaf3a83c122c2e19059297599d3486c04d"></a><!-- doxytag: member="timer.h::snd_timer_status_get_overrun" ref="gaf3a83c122c2e19059297599d3486c04d" args="(snd_timer_status_t *status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long snd_timer_status_get_overrun </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> *&nbsp;</td>
          <td class="paramname"> <em>status</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get overrun count </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>overrun count </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a6">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga6edb10e32b6b485ecccef73d862ca648"></a><!-- doxytag: member="timer.h::snd_timer_status_get_queue" ref="ga6edb10e32b6b485ecccef73d862ca648" args="(snd_timer_status_t *status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long snd_timer_status_get_queue </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> *&nbsp;</td>
          <td class="paramname"> <em>status</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get count of used queue elements </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>count of used queue elements </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a7">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaaab668cc548b6c4a24236504d63da0a0"></a><!-- doxytag: member="timer.h::snd_timer_status_get_resolution" ref="gaaab668cc548b6c4a24236504d63da0a0" args="(snd_timer_status_t *status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long snd_timer_status_get_resolution </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> *&nbsp;</td>
          <td class="paramname"> <em>status</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get resolution in us </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>resolution </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a4">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga0c303da4c37285d423f428710409ee08"></a><!-- doxytag: member="timer.h::snd_timer_status_get_timestamp" ref="ga0c303da4c37285d423f428710409ee08" args="(snd_timer_status_t *status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___global.html#ga3a3f5b65c40f498cdbc26944bd9855cf">snd_htimestamp_t</a> snd_timer_status_get_timestamp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> *&nbsp;</td>
          <td class="paramname"> <em>status</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get timestamp </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>pointer to <a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timestamp </dd></dl>

</div>
</div>
<a class="anchor" id="ga6fa0de36e4494bd5ece4965ffe832db1"></a><!-- doxytag: member="timer.h::snd_timer_status_malloc" ref="ga6fa0de36e4494bd5ece4965ffe832db1" args="(snd_timer_status_t **ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_status_malloc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga6fe20f2c0d1535e3a200944b1244f855">snd_timer_status_t</a> **&nbsp;</td>
          <td class="paramname"> <em>status</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>allocate a new snd_timer_status_t structure </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>returned pointer </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code if fails</dd></dl>
<p>Allocates a new snd_timer_status_t structure using the standard malloc C library function. </p>

</div>
</div>
<a class="anchor" id="gaf0ceabb82125265a8bfe6ea85b889063"></a><!-- doxytag: member="timer.h::snd_timer_status_sizeof" ref="gaf0ceabb82125265a8bfe6ea85b889063" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t snd_timer_status_sizeof </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get size of the snd_timer_status_t structure in bytes </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>size of the snd_timer_status_t structure in bytes </dd></dl>

</div>
</div>
<a class="anchor" id="ga6f8147c0679c820a77f98b1dd5b664a5"></a><!-- doxytag: member="timer.h::snd_timer_stop" ref="ga6f8147c0679c820a77f98b1dd5b664a5" args="(snd_timer_t *handle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_timer_stop </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___timer.html#ga7f514d85bfd93e1e5853a5fded89b668">snd_timer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>timer</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>stop the timer </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>timer</em>&nbsp;</td><td>timer handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2timer_8c-example.html#a53">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

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

<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue Apr 27 13:29:08 2010 for ALSA project - the C library reference by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>