File: //usr/share/doc/alsa-lib-devel-1.0.17/lib64/html/group___timer.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ALSA project - the C library reference: Timer Interface</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul></div>
<h1>Timer Interface</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__snd__timer__read.html">_snd_timer_read</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__snd__timer__tread.html">_snd_timer_tread</a></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g9d5a1655b2c2efab428b6275f3085afb">SND_TIMER_DLSYM_VERSION</a> _dlsym_timer_001</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g3014988ef7272ff766c34ce729c556b3">SND_TIMER_QUERY_DLSYM_VERSION</a> _dlsym_timer_query_001</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g7cb474fffc3c7f038b68a3f05ce53d8c">SND_TIMER_GLOBAL_SYSTEM</a> 0</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gc977173e1b834e2e41d3611c4063fbe4">SND_TIMER_GLOBAL_RTC</a> 1</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g20f1ec6d25dbc223c59abd4c800f40c4">SND_TIMER_GLOBAL_HPET</a> 2</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g19279d167469082d1efd10f6ed4289ab">SND_TIMER_OPEN_NONBLOCK</a> (1<<0)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga70f62c46b37ca83fb25bc30e2acc3aa">SND_TIMER_OPEN_TREAD</a> (1<<1)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g895ac29244e826a0aba3dd737383563b">snd_timer_id_alloca</a>(ptr) __snd_alloca(ptr, snd_timer_id)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g083fbdc551a312f21b16cf4d5cca4356">snd_timer_ginfo_alloca</a>(ptr) __snd_alloca(ptr, snd_timer_ginfo)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g1536c832d26618f29c9b20bb1264a041">snd_timer_info_alloca</a>(ptr) __snd_alloca(ptr, snd_timer_info)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g70e7c9d1c0e50abdefc10e504afa4a28">snd_timer_params_alloca</a>(ptr) __snd_alloca(ptr, snd_timer_params)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g1dfd48f0828bb9e18c6ff38d89c1ef18">snd_timer_status_alloca</a>(ptr) __snd_alloca(ptr, snd_timer_status)</td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef _snd_timer_id </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef _snd_timer_ginfo </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef _snd_timer_gparams </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g53853acb7556d631e8f468b439116752">snd_timer_gparams_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef _snd_timer_gstatus </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g760c2adda5d155a1bf8e6a78a0d9f433">snd_timer_gstatus_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef _snd_timer_info </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef _snd_timer_params </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef _snd_timer_status </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef enum <a class="el" href="group___timer.html#g3efaba4b2f262627633fe01895ab5cf4">_snd_timer_class</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gfd9692f99e3a2a3371dcb9bc37be8948">snd_timer_class_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef enum <a class="el" href="group___timer.html#gc8fce0ad5136f92070a5fbdd02249555">_snd_timer_slave_class</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gae66e2b603dd6fc81516bce329381bc1">snd_timer_slave_class_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef enum <a class="el" href="group___timer.html#g9552320b8256d2a1e0c6e78a53625f0a">_snd_timer_event</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g839530e99904ddd86966b9966136f1ad">snd_timer_event_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="struct__snd__timer__read.html">_snd_timer_read</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g1d91417b8a6d8e250c4aa4db9c5e1e63">snd_timer_read_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="struct__snd__timer__tread.html">_snd_timer_tread</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g70fa05f56fa123f4d0d833e6895db681">snd_timer_tread_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef enum <a class="el" href="group___timer.html#g221d3c1cbcdc8d753f46adbc3d4c28bd">_snd_timer_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gcdb15c29789833003322f8f6b9cd783f">snd_timer_type_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef _snd_timer_query </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g2628d1e5a8d874d9fa10439369145d50">snd_timer_query_t</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef _snd_timer </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a></td></tr>
<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g3efaba4b2f262627633fe01895ab5cf4">_snd_timer_class</a> { <br>
<a class="el" href="group___timer.html#gg3efaba4b2f262627633fe01895ab5cf49d7132819fdf4d3b1d361067a0628a14">SND_TIMER_CLASS_NONE</a> = -1,
<a class="el" href="group___timer.html#gg3efaba4b2f262627633fe01895ab5cf4828b8581b3fa7dd83a84a3a293ea211a">SND_TIMER_CLASS_SLAVE</a> = 0,
<a class="el" href="group___timer.html#gg3efaba4b2f262627633fe01895ab5cf45edc3cd54b8a86083980b1b2f7052a2f">SND_TIMER_CLASS_GLOBAL</a>,
<a class="el" href="group___timer.html#gg3efaba4b2f262627633fe01895ab5cf4f16573052fa4d0face5fc4c3dceb7bab">SND_TIMER_CLASS_CARD</a>,
<br>
<a class="el" href="group___timer.html#gg3efaba4b2f262627633fe01895ab5cf475038465114b2ba366c466582fe870fa">SND_TIMER_CLASS_PCM</a>,
<a class="el" href="group___timer.html#gg3efaba4b2f262627633fe01895ab5cf4ea45e2894a6815d76fb8548832d0cd00">SND_TIMER_CLASS_LAST</a> = SND_TIMER_CLASS_PCM
<br>
}</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gc8fce0ad5136f92070a5fbdd02249555">_snd_timer_slave_class</a> { <br>
<a class="el" href="group___timer.html#ggc8fce0ad5136f92070a5fbdd022495552cace03d1579fb4f7239f32802c06da0">SND_TIMER_SCLASS_NONE</a> = 0,
<a class="el" href="group___timer.html#ggc8fce0ad5136f92070a5fbdd02249555e8c586bafb328cb33e8fc38af0b8613e">SND_TIMER_SCLASS_APPLICATION</a>,
<a class="el" href="group___timer.html#ggc8fce0ad5136f92070a5fbdd02249555c9f3e9a870d467a3219d134ef2228f45">SND_TIMER_SCLASS_SEQUENCER</a>,
<a class="el" href="group___timer.html#ggc8fce0ad5136f92070a5fbdd02249555bdd623dc751949fbe97d56250caa0671">SND_TIMER_SCLASS_OSS_SEQUENCER</a>,
<br>
<a class="el" href="group___timer.html#ggc8fce0ad5136f92070a5fbdd0224955517e1109887b86b51985178fc2df1f87b">SND_TIMER_SCLASS_LAST</a> = SND_TIMER_SCLASS_OSS_SEQUENCER
<br>
}</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g9552320b8256d2a1e0c6e78a53625f0a">_snd_timer_event</a> { <br>
<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>
<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>
<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>
<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" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g221d3c1cbcdc8d753f46adbc3d4c28bd">_snd_timer_type</a> { <a class="el" href="group___timer.html#gg221d3c1cbcdc8d753f46adbc3d4c28bde113efcf7a033b11458840d2273db073">SND_TIMER_TYPE_HW</a> = 0,
<a class="el" href="group___timer.html#gg221d3c1cbcdc8d753f46adbc3d4c28bd4a7e6b70bd324e582cde3c898e8acc10">SND_TIMER_TYPE_SHM</a>,
<a class="el" href="group___timer.html#gg221d3c1cbcdc8d753f46adbc3d4c28bddcb338fdf754bb22c01204fdcae4c385">SND_TIMER_TYPE_INET</a>
}</td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gd0f9fa9290c43c4540bce234546541c5">snd_timer_query_open</a> (<a class="el" href="group___timer.html#g2628d1e5a8d874d9fa10439369145d50">snd_timer_query_t</a> **handle, const char *name, int mode)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Opens a new connection to the timer query interface. <a href="#gd0f9fa9290c43c4540bce234546541c5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g7d5ca6b9f390b630ce97deb4c6e346d0">snd_timer_query_open_lconf</a> (<a class="el" href="group___timer.html#g2628d1e5a8d874d9fa10439369145d50">snd_timer_query_t</a> **handle, const char *name, int mode, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *lconf)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Opens a new connection to the timer query interface using local configuration. <a href="#g7d5ca6b9f390b630ce97deb4c6e346d0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga212ea45a9ddff3f6ef726407564a1fc">snd_timer_query_close</a> (<a class="el" href="group___timer.html#g2628d1e5a8d874d9fa10439369145d50">snd_timer_query_t</a> *handle)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">close timer query handle <a href="#ga212ea45a9ddff3f6ef726407564a1fc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g69a8bd71b56ddbb9027602f5d7d3080d">snd_timer_query_next_device</a> (<a class="el" href="group___timer.html#g2628d1e5a8d874d9fa10439369145d50">snd_timer_query_t</a> *handle, <a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> *tid)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">obtain the next timer identification <a href="#g69a8bd71b56ddbb9027602f5d7d3080d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g25d15ec2f1025bc04ca2d387615ccba9">snd_timer_query_info</a> (<a class="el" href="group___timer.html#g2628d1e5a8d874d9fa10439369145d50">snd_timer_query_t</a> *handle, <a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> *info)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">obtain the timer global information <a href="#g25d15ec2f1025bc04ca2d387615ccba9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g8c3e3ee0c67c5dbc9c06d65d2fe3d88a">snd_timer_query_params</a> (<a class="el" href="group___timer.html#g2628d1e5a8d874d9fa10439369145d50">snd_timer_query_t</a> *handle, <a class="el" href="group___timer.html#g53853acb7556d631e8f468b439116752">snd_timer_gparams_t</a> *params)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set the timer global parameters <a href="#g8c3e3ee0c67c5dbc9c06d65d2fe3d88a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g3152eb69bbca420fa62b403b1a65bde1">snd_timer_query_status</a> (<a class="el" href="group___timer.html#g2628d1e5a8d874d9fa10439369145d50">snd_timer_query_t</a> *handle, <a class="el" href="group___timer.html#g760c2adda5d155a1bf8e6a78a0d9f433">snd_timer_gstatus_t</a> *status)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get the timer global status <a href="#g3152eb69bbca420fa62b403b1a65bde1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gff57e9a2e9af3313c13be386efcea822">snd_timer_open</a> (<a class="el" href="group___timer.html#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> **handle, const char *name, int mode)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Opens a new connection to the timer interface. <a href="#gff57e9a2e9af3313c13be386efcea822"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g3dc654f4bd2db3fb003513e1f4d91679">snd_timer_open_lconf</a> (<a class="el" href="group___timer.html#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> **handle, const char *name, int mode, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *lconf)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Opens a new connection to the timer interface using local configuration. <a href="#g3dc654f4bd2db3fb003513e1f4d91679"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#geca63c329ab487ac9858a0a15ed8171b">snd_timer_close</a> (<a class="el" href="group___timer.html#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> *handle)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">close timer handle <a href="#geca63c329ab487ac9858a0a15ed8171b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gd47561cd48a4b01b852212e1aba25e51">snd_async_add_timer_handler</a> (<a class="el" href="group___global.html#ga966cc0e80d3b8f070437c851114d5a5">snd_async_handler_t</a> **handler, <a class="el" href="group___timer.html#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> *timer, <a class="el" href="group___global.html#gc2c426c7ea09cdcc0cdb398660104baa">snd_async_callback_t</a> callback, void *private_data)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Add an async handler for a timer. <a href="#gd47561cd48a4b01b852212e1aba25e51"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group___timer.html#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g40216d28e9968d878c8b4761dd9e3751">snd_async_handler_get_timer</a> (<a class="el" href="group___global.html#ga966cc0e80d3b8f070437c851114d5a5">snd_async_handler_t</a> *handler)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return timer handle related to an async handler. <a href="#g40216d28e9968d878c8b4761dd9e3751"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gadbb1ff0afbfe5238c8603338fe9ff87">snd_timer_poll_descriptors_count</a> (<a class="el" href="group___timer.html#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> *handle)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get count of poll descriptors for timer handle <a href="#gadbb1ff0afbfe5238c8603338fe9ff87"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gf60e1ebe77650dc2aaf4d6e04924b599">snd_timer_poll_descriptors</a> (<a class="el" href="group___timer.html#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> *handle, struct pollfd *pfds, unsigned int space)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get poll descriptors <a href="#gf60e1ebe77650dc2aaf4d6e04924b599"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g5ae92e0e9b4b1b5cc421feb1ef76660b">snd_timer_poll_descriptors_revents</a> (<a class="el" href="group___timer.html#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> *timer, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get returned events from poll descriptors <a href="#g5ae92e0e9b4b1b5cc421feb1ef76660b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g11b2bc64a6d59065ba4f52df7b751db7">snd_timer_info</a> (<a class="el" href="group___timer.html#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> *handle, <a class="el" href="group___timer.html#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> *timer)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get information about timer handle <a href="#g11b2bc64a6d59065ba4f52df7b751db7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g79d62b82c579b2c61684e45dc3deb3f9">snd_timer_params</a> (<a class="el" href="group___timer.html#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> *handle, <a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> *params)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set parameters for timer handle <a href="#g79d62b82c579b2c61684e45dc3deb3f9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g073eb2b8bc888753ed259031a75e983e">snd_timer_status</a> (<a class="el" href="group___timer.html#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> *handle, <a class="el" href="group___timer.html#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> *status)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get status from timer handle <a href="#g073eb2b8bc888753ed259031a75e983e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gaffbb9e9ee1820597c46c742b6297f06">snd_timer_start</a> (<a class="el" href="group___timer.html#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> *handle)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">start the timer <a href="#gaffbb9e9ee1820597c46c742b6297f06"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gcc112275598b09f87a2b877d99df0ef6">snd_timer_stop</a> (<a class="el" href="group___timer.html#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> *handle)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">stop the timer <a href="#gcc112275598b09f87a2b877d99df0ef6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g8a9446b4490d2bbac96672314454f21c">snd_timer_continue</a> (<a class="el" href="group___timer.html#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> *handle)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">continue the timer <a href="#g8a9446b4490d2bbac96672314454f21c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ssize_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g09307fbc086367b5d0dda0aca1ce38b9">snd_timer_read</a> (<a class="el" href="group___timer.html#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> *handle, void *buffer, size_t size)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">read bytes using timer handle <a href="#g09307fbc086367b5d0dda0aca1ce38b9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gf5f66f2380255e4a3a4d6d0cadc4fdc9">snd_timer_id_sizeof</a> (void)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get size of the snd_timer_id_t structure in bytes <a href="#gf5f66f2380255e4a3a4d6d0cadc4fdc9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g7394f79313c1b63fe986fc1a565f787d">snd_timer_id_malloc</a> (<a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> **ptr)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">allocate a new snd_timer_id_t structure <a href="#g7394f79313c1b63fe986fc1a565f787d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g561d65ec538ba48b7514807d862711c4">snd_timer_id_free</a> (<a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> *obj)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">frees the snd_timer_id_t structure <a href="#g561d65ec538ba48b7514807d862711c4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g17e1a15d56ee5d027d37aeb4fe17c0fc">snd_timer_id_copy</a> (<a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> *dst, const <a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> *src)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">copy one snd_timer_id_t structure to another <a href="#g17e1a15d56ee5d027d37aeb4fe17c0fc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g4b30ff7e5b2175320267d2e98c0d5801">snd_timer_id_set_class</a> (<a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> *id, int dev_class)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set timer class <a href="#g4b30ff7e5b2175320267d2e98c0d5801"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g789fc53446683e9e22986d62bd6a5e4a">snd_timer_id_get_class</a> (<a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> *id)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get timer class <a href="#g789fc53446683e9e22986d62bd6a5e4a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g50ce362edec2f82715990b2257f41127">snd_timer_id_set_sclass</a> (<a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> *id, int dev_sclass)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set timer sub-class <a href="#g50ce362edec2f82715990b2257f41127"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g0f7023f271e24607f2b052be58d80d5f">snd_timer_id_get_sclass</a> (<a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> *id)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get timer sub-class <a href="#g0f7023f271e24607f2b052be58d80d5f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g0474857431e3b5c76266d5e1b40a5ad4">snd_timer_id_set_card</a> (<a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> *id, int card)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set timer card <a href="#g0474857431e3b5c76266d5e1b40a5ad4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ge56b375f5e548a3c669acee962255965">snd_timer_id_get_card</a> (<a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> *id)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get timer card <a href="#ge56b375f5e548a3c669acee962255965"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g307a4f0bb0bf77f1411f26bb4a791fb3">snd_timer_id_set_device</a> (<a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> *id, int device)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set timer device <a href="#g307a4f0bb0bf77f1411f26bb4a791fb3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gd373653ec0a0f588a99dd3625d8f595a">snd_timer_id_get_device</a> (<a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> *id)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get timer device <a href="#gd373653ec0a0f588a99dd3625d8f595a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g5a6cfb480bce114072f92e0dc417602a">snd_timer_id_set_subdevice</a> (<a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> *id, int subdevice)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set timer subdevice <a href="#g5a6cfb480bce114072f92e0dc417602a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g65af963e4acc77c2fa2e6b865bc51670">snd_timer_id_get_subdevice</a> (<a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> *id)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get timer subdevice <a href="#g65af963e4acc77c2fa2e6b865bc51670"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g6bee5e7c713043c3160f1e154b850dd4">snd_timer_ginfo_sizeof</a> (void)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get size of the snd_timer_ginfo_t structure in bytes <a href="#g6bee5e7c713043c3160f1e154b850dd4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ge32455d500ea9a06c4d8c1b32c3b824c">snd_timer_ginfo_malloc</a> (<a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> **ptr)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">allocate a new snd_timer_ginfo_t structure <a href="#ge32455d500ea9a06c4d8c1b32c3b824c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g7137e441951051f902906538284ceefa">snd_timer_ginfo_free</a> (<a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> *obj)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">frees the snd_timer_ginfo_t structure <a href="#g7137e441951051f902906538284ceefa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g69bdb6e35b0d5a01cebf5eb3e122179b">snd_timer_ginfo_copy</a> (<a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> *dst, const <a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> *src)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">copy one snd_timer_info_t structure to another <a href="#g69bdb6e35b0d5a01cebf5eb3e122179b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g2dbb778206fd064c4bf2c2978810fc11">snd_timer_ginfo_set_tid</a> (<a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> *obj, <a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> *tid)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set timer identification <a href="#g2dbb778206fd064c4bf2c2978810fc11"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gbb530b8f34091d8331165141cb93df3c">snd_timer_ginfo_get_tid</a> (<a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> *obj)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get timer identification <a href="#gbb530b8f34091d8331165141cb93df3c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gf15546b83ee290fea38af0241a93ed9c">snd_timer_ginfo_get_flags</a> (<a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> *obj)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get timer flags <a href="#gf15546b83ee290fea38af0241a93ed9c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gf316750c4c2de1c6ee4c2b7c47c2059f">snd_timer_ginfo_get_card</a> (<a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> *obj)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get associated card with timer <a href="#gf316750c4c2de1c6ee4c2b7c47c2059f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gc5ba8e984a1c7dd6b95b6048ea055a56">snd_timer_ginfo_get_id</a> (<a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> *obj)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get timer identification <a href="#gc5ba8e984a1c7dd6b95b6048ea055a56"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g0b367048029e54b79b7654ab0b2c0d25">snd_timer_ginfo_get_name</a> (<a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> *obj)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get timer name <a href="#g0b367048029e54b79b7654ab0b2c0d25"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gdc9fbba0f9d0284eef9f5e8a59c88617">snd_timer_ginfo_get_resolution</a> (<a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> *obj)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get timer resolution in ns <a href="#gdc9fbba0f9d0284eef9f5e8a59c88617"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g377b501c8157e45ea2e48f8ba2955d77">snd_timer_ginfo_get_resolution_min</a> (<a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> *obj)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get timer minimal resolution in ns <a href="#g377b501c8157e45ea2e48f8ba2955d77"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gab9910f8ca427fb1a2a7dce64ac57ca0">snd_timer_ginfo_get_resolution_max</a> (<a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> *obj)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get timer maximal resolution in ns <a href="#gab9910f8ca427fb1a2a7dce64ac57ca0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g4a8d40c63a5a5a74bd6e6d42ed0d67ea">snd_timer_ginfo_get_clients</a> (<a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> *obj)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get current timer clients <a href="#g4a8d40c63a5a5a74bd6e6d42ed0d67ea"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g37bf4e7b4e8ba0b08b703362666acbd9">snd_timer_info_sizeof</a> (void)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get size of the snd_timer_info_t structure in bytes <a href="#g37bf4e7b4e8ba0b08b703362666acbd9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g9321829a57eff969da06783b1e950917">snd_timer_info_malloc</a> (<a class="el" href="group___timer.html#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> **ptr)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">allocate a new snd_timer_info_t structure <a href="#g9321829a57eff969da06783b1e950917"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g53380a36cb70a662441224459fa5a5be">snd_timer_info_free</a> (<a class="el" href="group___timer.html#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> *obj)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">frees the snd_timer_info_t structure <a href="#g53380a36cb70a662441224459fa5a5be"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g65745fcf3ea2b2ed488f3bc8cb8ec13f">snd_timer_info_copy</a> (<a class="el" href="group___timer.html#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> *dst, const <a class="el" href="group___timer.html#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> *src)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">copy one snd_timer_info_t structure to another <a href="#g65745fcf3ea2b2ed488f3bc8cb8ec13f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g04141ae3c2dd59b4122c53658bf9fafd">snd_timer_info_is_slave</a> (<a class="el" href="group___timer.html#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> *info)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">determine, if timer is slave <a href="#g04141ae3c2dd59b4122c53658bf9fafd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g2d30016302bb2976de6630ab069af2aa">snd_timer_info_get_card</a> (<a class="el" href="group___timer.html#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> *info)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get timer card <a href="#g2d30016302bb2976de6630ab069af2aa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g626d90dd33563a4de2139b19279add11">snd_timer_info_get_id</a> (<a class="el" href="group___timer.html#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> *info)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get timer id <a href="#g626d90dd33563a4de2139b19279add11"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga6f36810c5455b36b7f436f4d44af384">snd_timer_info_get_name</a> (<a class="el" href="group___timer.html#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> *info)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get timer name <a href="#ga6f36810c5455b36b7f436f4d44af384"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gb5cd4dcbbfe92912998e4ddcf4443997">snd_timer_info_get_resolution</a> (<a class="el" href="group___timer.html#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> *info)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get timer resolution in us <a href="#gb5cd4dcbbfe92912998e4ddcf4443997"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga615967097af6a6d14102e99c8ff4557">snd_timer_params_sizeof</a> (void)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get size of the snd_timer_params_t structure in bytes <a href="#ga615967097af6a6d14102e99c8ff4557"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g1d29bd2faa296a98d42cee0d29b66943">snd_timer_params_malloc</a> (<a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> **ptr)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">allocate a new snd_timer_params_t structure <a href="#g1d29bd2faa296a98d42cee0d29b66943"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g58ecc13f57c56686ddbf8a4b388b96a7">snd_timer_params_free</a> (<a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> *obj)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">frees the snd_timer_params_t structure <a href="#g58ecc13f57c56686ddbf8a4b388b96a7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g979b0ff626a62ed4472bc9cebd726324">snd_timer_params_copy</a> (<a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> *dst, const <a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> *src)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">copy one snd_timer_params_t structure to another <a href="#g979b0ff626a62ed4472bc9cebd726324"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g8d4d4b15ebf4851bfc3e2e069c2fe811">snd_timer_params_set_auto_start</a> (<a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> *params, int auto_start)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set timer auto start <a href="#g8d4d4b15ebf4851bfc3e2e069c2fe811"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gad626140af5713206725acec77632739">snd_timer_params_get_auto_start</a> (<a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> *params)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">determine if timer has auto start flag <a href="#gad626140af5713206725acec77632739"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g0f2590e6d688867b0dff574753e25085">snd_timer_params_set_exclusive</a> (<a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> *params, int exclusive)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set timer exclusive use <a href="#g0f2590e6d688867b0dff574753e25085"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g7a8eb60376ca4b8995c8733428c45222">snd_timer_params_get_exclusive</a> (<a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> *params)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">determine if timer has exclusive flag <a href="#g7a8eb60376ca4b8995c8733428c45222"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gd2e8119a6000265ea0d3f6ab9111b7d1">snd_timer_params_set_early_event</a> (<a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> *params, int early_event)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set timer early event <a href="#gd2e8119a6000265ea0d3f6ab9111b7d1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gea0fed047f16c71122d9ef4684843ce1">snd_timer_params_get_early_event</a> (<a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> *params)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">determine if timer has early event flag <a href="#gea0fed047f16c71122d9ef4684843ce1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g371828af6e14fde38dd393adf1fb0130">snd_timer_params_set_ticks</a> (<a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> *params, long ticks)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set timer ticks <a href="#g371828af6e14fde38dd393adf1fb0130"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g8cddd76ac3ccabf8a99d2dc8ad83b101">snd_timer_params_get_ticks</a> (<a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> *params)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get timer ticks <a href="#g8cddd76ac3ccabf8a99d2dc8ad83b101"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g8655408c845e162e89456e6c97d90714">snd_timer_params_set_queue_size</a> (<a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> *params, long queue_size)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set timer queue size (32-1024) <a href="#g8655408c845e162e89456e6c97d90714"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga567494edbc333d56946c19a397ee11c">snd_timer_params_get_queue_size</a> (<a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> *params)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get queue size <a href="#ga567494edbc333d56946c19a397ee11c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gb4d943dc55441f4ced31e903c920be13">snd_timer_params_set_filter</a> (<a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> *params, unsigned int filter)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set timer event filter <a href="#gb4d943dc55441f4ced31e903c920be13"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g5c1d7d3c39cbcaa7fd9637e6acd91560">snd_timer_params_get_filter</a> (<a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> *params)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get timer event filter <a href="#g5c1d7d3c39cbcaa7fd9637e6acd91560"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gda9800ed8dc129593a112f234c46e065">snd_timer_status_sizeof</a> (void)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get size of the snd_timer_status_t structure in bytes <a href="#gda9800ed8dc129593a112f234c46e065"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g6b39c458da9550f833cea7e171522717">snd_timer_status_malloc</a> (<a class="el" href="group___timer.html#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> **ptr)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">allocate a new snd_timer_status_t structure <a href="#g6b39c458da9550f833cea7e171522717"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gac427314101a4f3c9c71300a6bc8700e">snd_timer_status_free</a> (<a class="el" href="group___timer.html#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> *obj)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">frees the snd_timer_status_t structure <a href="#gac427314101a4f3c9c71300a6bc8700e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gb933e2f8308444947eacd6505b63961a">snd_timer_status_copy</a> (<a class="el" href="group___timer.html#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> *dst, const <a class="el" href="group___timer.html#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> *src)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">copy one snd_timer_status_t structure to another <a href="#gb933e2f8308444947eacd6505b63961a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group___global.html#g9ec799950aa7da856cf805705197c390">snd_htimestamp_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gf7e221c7cfee47e91d075f6154befdff">snd_timer_status_get_timestamp</a> (<a class="el" href="group___timer.html#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> *status)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get timestamp <a href="#gf7e221c7cfee47e91d075f6154befdff"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g3dffbd99deb65ea0616f595ddfec4192">snd_timer_status_get_resolution</a> (<a class="el" href="group___timer.html#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> *status)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get resolution in us <a href="#g3dffbd99deb65ea0616f595ddfec4192"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g0e36b8b76a0affd6f86729d178c33110">snd_timer_status_get_lost</a> (<a class="el" href="group___timer.html#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> *status)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get master tick lost count <a href="#g0e36b8b76a0affd6f86729d178c33110"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#gd278287f5a5d33331a5548e19a86b01a">snd_timer_status_get_overrun</a> (<a class="el" href="group___timer.html#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> *status)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get overrun count <a href="#gd278287f5a5d33331a5548e19a86b01a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#g37a52d7fcf34d36d2f279b4becc1546c">snd_timer_status_get_queue</a> (<a class="el" href="group___timer.html#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> *status)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get count of used queue elements <a href="#g37a52d7fcf34d36d2f279b4becc1546c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html#ga68ec0221c87d04e7c42db29f277584b">snd_timer_info_get_ticks</a> (<a class="el" href="group___timer.html#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> *info)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">(DEPRECATED) get maximum timer ticks <a href="#ga68ec0221c87d04e7c42db29f277584b"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Timer Interface. See <a class="el" href="timer.html">Timer interface</a> page for more details. <hr><h2>Define Documentation</h2>
<a class="anchor" name="g9d5a1655b2c2efab428b6275f3085afb"></a><!-- doxytag: member="timer.h::SND_TIMER_DLSYM_VERSION" ref="g9d5a1655b2c2efab428b6275f3085afb" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SND_TIMER_DLSYM_VERSION _dlsym_timer_001 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
dlsym version for interface entry callback
</div>
</div><p>
<a class="anchor" name="g083fbdc551a312f21b16cf4d5cca4356"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_alloca" ref="g083fbdc551a312f21b16cf4d5cca4356" 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 </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> __snd_alloca(ptr, snd_timer_ginfo)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
allocate <a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> container on stack
</div>
</div><p>
<a class="anchor" name="g20f1ec6d25dbc223c59abd4c800f40c4"></a><!-- doxytag: member="timer.h::SND_TIMER_GLOBAL_HPET" ref="g20f1ec6d25dbc223c59abd4c800f40c4" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SND_TIMER_GLOBAL_HPET 2 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
global timer - HPET
</div>
</div><p>
<a class="anchor" name="gc977173e1b834e2e41d3611c4063fbe4"></a><!-- doxytag: member="timer.h::SND_TIMER_GLOBAL_RTC" ref="gc977173e1b834e2e41d3611c4063fbe4" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SND_TIMER_GLOBAL_RTC 1 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
global timer - RTC
</div>
</div><p>
<a class="anchor" name="g7cb474fffc3c7f038b68a3f05ce53d8c"></a><!-- doxytag: member="timer.h::SND_TIMER_GLOBAL_SYSTEM" ref="g7cb474fffc3c7f038b68a3f05ce53d8c" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SND_TIMER_GLOBAL_SYSTEM 0 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
global timer - system <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a156">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g895ac29244e826a0aba3dd737383563b"></a><!-- doxytag: member="timer.h::snd_timer_id_alloca" ref="g895ac29244e826a0aba3dd737383563b" 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 </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> __snd_alloca(ptr, snd_timer_id)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
allocate <a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> container on stack <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a160">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g1536c832d26618f29c9b20bb1264a041"></a><!-- doxytag: member="timer.h::snd_timer_info_alloca" ref="g1536c832d26618f29c9b20bb1264a041" 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 </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> __snd_alloca(ptr, snd_timer_info)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
allocate <a class="el" href="group___timer.html#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> container on stack <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a161">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g19279d167469082d1efd10f6ed4289ab"></a><!-- doxytag: member="timer.h::SND_TIMER_OPEN_NONBLOCK" ref="g19279d167469082d1efd10f6ed4289ab" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SND_TIMER_OPEN_NONBLOCK (1<<0) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
timer open mode flag - non-blocking behaviour <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a176">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="ga70f62c46b37ca83fb25bc30e2acc3aa"></a><!-- doxytag: member="timer.h::SND_TIMER_OPEN_TREAD" ref="ga70f62c46b37ca83fb25bc30e2acc3aa" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SND_TIMER_OPEN_TREAD (1<<1) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
use timestamps and event notification - enhanced read
</div>
</div><p>
<a class="anchor" name="g70e7c9d1c0e50abdefc10e504afa4a28"></a><!-- doxytag: member="timer.h::snd_timer_params_alloca" ref="g70e7c9d1c0e50abdefc10e504afa4a28" 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 </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> __snd_alloca(ptr, snd_timer_params)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
allocate <a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> container on stack <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a162">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g3014988ef7272ff766c34ce729c556b3"></a><!-- doxytag: member="timer.h::SND_TIMER_QUERY_DLSYM_VERSION" ref="g3014988ef7272ff766c34ce729c556b3" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SND_TIMER_QUERY_DLSYM_VERSION _dlsym_timer_query_001 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
dlsym version for interface entry callback
</div>
</div><p>
<a class="anchor" name="g1dfd48f0828bb9e18c6ff38d89c1ef18"></a><!-- doxytag: member="timer.h::snd_timer_status_alloca" ref="g1dfd48f0828bb9e18c6ff38d89c1ef18" 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 </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> __snd_alloca(ptr, snd_timer_status)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
allocate <a class="el" href="group___timer.html#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> container on stack <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a139">/test/timer.c</a>.</dl>
</div>
</div><p>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="gfd9692f99e3a2a3371dcb9bc37be8948"></a><!-- doxytag: member="timer.h::snd_timer_class_t" ref="gfd9692f99e3a2a3371dcb9bc37be8948" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="group___timer.html#g3efaba4b2f262627633fe01895ab5cf4">_snd_timer_class</a> <a class="el" href="group___timer.html#gfd9692f99e3a2a3371dcb9bc37be8948">snd_timer_class_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
timer master class
</div>
</div><p>
<a class="anchor" name="g839530e99904ddd86966b9966136f1ad"></a><!-- doxytag: member="timer.h::snd_timer_event_t" ref="g839530e99904ddd86966b9966136f1ad" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="group___timer.html#g9552320b8256d2a1e0c6e78a53625f0a">_snd_timer_event</a> <a class="el" href="group___timer.html#g839530e99904ddd86966b9966136f1ad">snd_timer_event_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
timer read event identification
</div>
</div><p>
<a class="anchor" name="gc66ac51be90a47c042f56a2939c09031"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_t" ref="gc66ac51be90a47c042f56a2939c09031" 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#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
timer global info structure
</div>
</div><p>
<a class="anchor" name="g53853acb7556d631e8f468b439116752"></a><!-- doxytag: member="timer.h::snd_timer_gparams_t" ref="g53853acb7556d631e8f468b439116752" 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#g53853acb7556d631e8f468b439116752">snd_timer_gparams_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
timer global params structure
</div>
</div><p>
<a class="anchor" name="g760c2adda5d155a1bf8e6a78a0d9f433"></a><!-- doxytag: member="timer.h::snd_timer_gstatus_t" ref="g760c2adda5d155a1bf8e6a78a0d9f433" 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#g760c2adda5d155a1bf8e6a78a0d9f433">snd_timer_gstatus_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
timer global status structure
</div>
</div><p>
<a class="anchor" name="g9bf8a9449a17a0328dfbda9f64bf7aca"></a><!-- doxytag: member="timer.h::snd_timer_id_t" ref="g9bf8a9449a17a0328dfbda9f64bf7aca" 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#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
timer identification structure <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a157">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="ge0b1c47741625f82dc0c7532fa6b45ea"></a><!-- doxytag: member="timer.h::snd_timer_info_t" ref="ge0b1c47741625f82dc0c7532fa6b45ea" 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#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
timer info structure <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a158">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="gb49219f23948c5e25833cdfe20379036"></a><!-- doxytag: member="timer.h::snd_timer_params_t" ref="gb49219f23948c5e25833cdfe20379036" 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#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
timer params structure <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a159">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g2628d1e5a8d874d9fa10439369145d50"></a><!-- doxytag: member="timer.h::snd_timer_query_t" ref="g2628d1e5a8d874d9fa10439369145d50" 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#g2628d1e5a8d874d9fa10439369145d50">snd_timer_query_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
timer query handle <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a165">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g1d91417b8a6d8e250c4aa4db9c5e1e63"></a><!-- doxytag: member="timer.h::snd_timer_read_t" ref="g1d91417b8a6d8e250c4aa4db9c5e1e63" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="struct__snd__timer__read.html">_snd_timer_read</a> <a class="el" href="struct__snd__timer__read.html">snd_timer_read_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
timer read structure
</div>
</div><p>
<a class="anchor" name="gae66e2b603dd6fc81516bce329381bc1"></a><!-- doxytag: member="timer.h::snd_timer_slave_class_t" ref="gae66e2b603dd6fc81516bce329381bc1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="group___timer.html#gc8fce0ad5136f92070a5fbdd02249555">_snd_timer_slave_class</a> <a class="el" href="group___timer.html#gae66e2b603dd6fc81516bce329381bc1">snd_timer_slave_class_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
timer slave class
</div>
</div><p>
<a class="anchor" name="g15682094f8d5aedb2a42ed794f17a969"></a><!-- doxytag: member="timer.h::snd_timer_status_t" ref="g15682094f8d5aedb2a42ed794f17a969" 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#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
timer status structure <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a138">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="gcea0e939b68f5649d5739ef66dcfc68a"></a><!-- doxytag: member="timer.h::snd_timer_t" ref="gcea0e939b68f5649d5739ef66dcfc68a" 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#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
timer handle <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a151">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g70fa05f56fa123f4d0d833e6895db681"></a><!-- doxytag: member="timer.h::snd_timer_tread_t" ref="g70fa05f56fa123f4d0d833e6895db681" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="struct__snd__timer__tread.html">_snd_timer_tread</a> <a class="el" href="struct__snd__timer__tread.html">snd_timer_tread_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
timer tstamp + event read structure
</div>
</div><p>
<a class="anchor" name="gcdb15c29789833003322f8f6b9cd783f"></a><!-- doxytag: member="timer.h::snd_timer_type_t" ref="gcdb15c29789833003322f8f6b9cd783f" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="group___timer.html#g221d3c1cbcdc8d753f46adbc3d4c28bd">_snd_timer_type</a> <a class="el" href="group___timer.html#gcdb15c29789833003322f8f6b9cd783f">snd_timer_type_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
timer handle type
</div>
</div><p>
<hr><h2>Enumeration Type Documentation</h2>
<a class="anchor" name="g3efaba4b2f262627633fe01895ab5cf4"></a><!-- doxytag: member="timer.h::_snd_timer_class" ref="g3efaba4b2f262627633fe01895ab5cf4" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group___timer.html#g3efaba4b2f262627633fe01895ab5cf4">_snd_timer_class</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
timer master class <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="gg3efaba4b2f262627633fe01895ab5cf49d7132819fdf4d3b1d361067a0628a14"></a><!-- doxytag: member="SND_TIMER_CLASS_NONE" ref="gg3efaba4b2f262627633fe01895ab5cf49d7132819fdf4d3b1d361067a0628a14" args="" -->SND_TIMER_CLASS_NONE</em> </td><td>
invalid </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3efaba4b2f262627633fe01895ab5cf4828b8581b3fa7dd83a84a3a293ea211a"></a><!-- doxytag: member="SND_TIMER_CLASS_SLAVE" ref="gg3efaba4b2f262627633fe01895ab5cf4828b8581b3fa7dd83a84a3a293ea211a" args="" -->SND_TIMER_CLASS_SLAVE</em> </td><td>
slave timer </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3efaba4b2f262627633fe01895ab5cf45edc3cd54b8a86083980b1b2f7052a2f"></a><!-- doxytag: member="SND_TIMER_CLASS_GLOBAL" ref="gg3efaba4b2f262627633fe01895ab5cf45edc3cd54b8a86083980b1b2f7052a2f" args="" -->SND_TIMER_CLASS_GLOBAL</em> </td><td>
global timer </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3efaba4b2f262627633fe01895ab5cf4f16573052fa4d0face5fc4c3dceb7bab"></a><!-- doxytag: member="SND_TIMER_CLASS_CARD" ref="gg3efaba4b2f262627633fe01895ab5cf4f16573052fa4d0face5fc4c3dceb7bab" args="" -->SND_TIMER_CLASS_CARD</em> </td><td>
card timer </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3efaba4b2f262627633fe01895ab5cf475038465114b2ba366c466582fe870fa"></a><!-- doxytag: member="SND_TIMER_CLASS_PCM" ref="gg3efaba4b2f262627633fe01895ab5cf475038465114b2ba366c466582fe870fa" args="" -->SND_TIMER_CLASS_PCM</em> </td><td>
PCM timer </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg3efaba4b2f262627633fe01895ab5cf4ea45e2894a6815d76fb8548832d0cd00"></a><!-- doxytag: member="SND_TIMER_CLASS_LAST" ref="gg3efaba4b2f262627633fe01895ab5cf4ea45e2894a6815d76fb8548832d0cd00" args="" -->SND_TIMER_CLASS_LAST</em> </td><td>
last timer </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g9552320b8256d2a1e0c6e78a53625f0a"></a><!-- doxytag: member="timer.h::_snd_timer_event" ref="g9552320b8256d2a1e0c6e78a53625f0a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group___timer.html#g9552320b8256d2a1e0c6e78a53625f0a">_snd_timer_event</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
timer read event identification
</div>
</div><p>
<a class="anchor" name="gc8fce0ad5136f92070a5fbdd02249555"></a><!-- doxytag: member="timer.h::_snd_timer_slave_class" ref="gc8fce0ad5136f92070a5fbdd02249555" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group___timer.html#gc8fce0ad5136f92070a5fbdd02249555">_snd_timer_slave_class</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
timer slave class <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="ggc8fce0ad5136f92070a5fbdd022495552cace03d1579fb4f7239f32802c06da0"></a><!-- doxytag: member="SND_TIMER_SCLASS_NONE" ref="ggc8fce0ad5136f92070a5fbdd022495552cace03d1579fb4f7239f32802c06da0" args="" -->SND_TIMER_SCLASS_NONE</em> </td><td>
none </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggc8fce0ad5136f92070a5fbdd02249555e8c586bafb328cb33e8fc38af0b8613e"></a><!-- doxytag: member="SND_TIMER_SCLASS_APPLICATION" ref="ggc8fce0ad5136f92070a5fbdd02249555e8c586bafb328cb33e8fc38af0b8613e" args="" -->SND_TIMER_SCLASS_APPLICATION</em> </td><td>
for internal use </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggc8fce0ad5136f92070a5fbdd02249555c9f3e9a870d467a3219d134ef2228f45"></a><!-- doxytag: member="SND_TIMER_SCLASS_SEQUENCER" ref="ggc8fce0ad5136f92070a5fbdd02249555c9f3e9a870d467a3219d134ef2228f45" args="" -->SND_TIMER_SCLASS_SEQUENCER</em> </td><td>
sequencer timer </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggc8fce0ad5136f92070a5fbdd02249555bdd623dc751949fbe97d56250caa0671"></a><!-- doxytag: member="SND_TIMER_SCLASS_OSS_SEQUENCER" ref="ggc8fce0ad5136f92070a5fbdd02249555bdd623dc751949fbe97d56250caa0671" args="" -->SND_TIMER_SCLASS_OSS_SEQUENCER</em> </td><td>
OSS sequencer timer </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggc8fce0ad5136f92070a5fbdd0224955517e1109887b86b51985178fc2df1f87b"></a><!-- doxytag: member="SND_TIMER_SCLASS_LAST" ref="ggc8fce0ad5136f92070a5fbdd0224955517e1109887b86b51985178fc2df1f87b" args="" -->SND_TIMER_SCLASS_LAST</em> </td><td>
last slave timer </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g221d3c1cbcdc8d753f46adbc3d4c28bd"></a><!-- doxytag: member="timer.h::_snd_timer_type" ref="g221d3c1cbcdc8d753f46adbc3d4c28bd" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group___timer.html#g221d3c1cbcdc8d753f46adbc3d4c28bd">_snd_timer_type</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
timer handle type <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="gg221d3c1cbcdc8d753f46adbc3d4c28bde113efcf7a033b11458840d2273db073"></a><!-- doxytag: member="SND_TIMER_TYPE_HW" ref="gg221d3c1cbcdc8d753f46adbc3d4c28bde113efcf7a033b11458840d2273db073" args="" -->SND_TIMER_TYPE_HW</em> </td><td>
Kernel level HwDep </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg221d3c1cbcdc8d753f46adbc3d4c28bd4a7e6b70bd324e582cde3c898e8acc10"></a><!-- doxytag: member="SND_TIMER_TYPE_SHM" ref="gg221d3c1cbcdc8d753f46adbc3d4c28bd4a7e6b70bd324e582cde3c898e8acc10" args="" -->SND_TIMER_TYPE_SHM</em> </td><td>
Shared memory client timer (not yet implemented) </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg221d3c1cbcdc8d753f46adbc3d4c28bddcb338fdf754bb22c01204fdcae4c385"></a><!-- doxytag: member="SND_TIMER_TYPE_INET" ref="gg221d3c1cbcdc8d753f46adbc3d4c28bddcb338fdf754bb22c01204fdcae4c385" args="" -->SND_TIMER_TYPE_INET</em> </td><td>
INET client timer (not yet implemented) </td></tr>
</table>
</dl>
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="gd47561cd48a4b01b852212e1aba25e51"></a><!-- doxytag: member="timer.h::snd_async_add_timer_handler" ref="gd47561cd48a4b01b852212e1aba25e51" 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#ga966cc0e80d3b8f070437c851114d5a5">snd_async_handler_t</a> ** </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#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> * </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#gc2c426c7ea09cdcc0cdb398660104baa">snd_async_callback_t</a> </td>
<td class="paramname"> <em>callback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void * </td>
<td class="paramname"> <em>private_data</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Add an async handler for a timer.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>handler</em> </td><td>Returned handler handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>timer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>callback</em> </td><td>Callback function </td></tr>
<tr><td valign="top"></td><td valign="top"><em>private_data</em> </td><td>Callback private data </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 otherwise a negative error code on failure</dd></dl>
The asynchronous callback is called when new timer event occurs. <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a187">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g40216d28e9968d878c8b4761dd9e3751"></a><!-- doxytag: member="timer.h::snd_async_handler_get_timer" ref="g40216d28e9968d878c8b4761dd9e3751" 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#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a>* snd_async_handler_get_timer </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___global.html#ga966cc0e80d3b8f070437c851114d5a5">snd_async_handler_t</a> * </td>
<td class="paramname"> <em>handler</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Return timer handle related to an async handler.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>handler</em> </td><td>Async handler handle </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>timer handle </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a152">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="geca63c329ab487ac9858a0a15ed8171b"></a><!-- doxytag: member="timer.h::snd_timer_close" ref="geca63c329ab487ac9858a0a15ed8171b" 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#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> * </td>
<td class="paramname"> <em>timer</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
close timer handle
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>timer handle </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
Closes the specified timer handle and frees all associated resources. <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a190">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g8a9446b4490d2bbac96672314454f21c"></a><!-- doxytag: member="timer.h::snd_timer_continue" ref="g8a9446b4490d2bbac96672314454f21c" 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#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> * </td>
<td class="paramname"> <em>timer</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
continue the timer
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>timer handle </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>
</div>
</div><p>
<a class="anchor" name="g69bdb6e35b0d5a01cebf5eb3e122179b"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_copy" ref="g69bdb6e35b0d5a01cebf5eb3e122179b" 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#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> * </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#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> * </td>
<td class="paramname"> <em>src</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
copy one snd_timer_info_t structure to another
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>dst</em> </td><td>destination snd_timer_info_t structure </td></tr>
<tr><td valign="top"></td><td valign="top"><em>src</em> </td><td>source snd_timer_info_t structure </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g7137e441951051f902906538284ceefa"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_free" ref="g7137e441951051f902906538284ceefa" 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#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> * </td>
<td class="paramname"> <em>info</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
frees the snd_timer_ginfo_t structure
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>info</em> </td><td>pointer to the snd_timer_ginfo_t structure to free</td></tr>
</table>
</dl>
Frees the given snd_timer_info_t structure using the standard free C library function.
</div>
</div><p>
<a class="anchor" name="gf316750c4c2de1c6ee4c2b7c47c2059f"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_get_card" ref="gf316750c4c2de1c6ee4c2b7c47c2059f" 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#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> * </td>
<td class="paramname"> <em>obj</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get associated card with timer
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>obj</em> </td><td>pointer to <a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>associated card </dd></dl>
</div>
</div><p>
<a class="anchor" name="g4a8d40c63a5a5a74bd6e6d42ed0d67ea"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_get_clients" ref="g4a8d40c63a5a5a74bd6e6d42ed0d67ea" 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#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> * </td>
<td class="paramname"> <em>obj</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get current timer clients
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>obj</em> </td><td>pointer to <a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>current timer clients </dd></dl>
</div>
</div><p>
<a class="anchor" name="gf15546b83ee290fea38af0241a93ed9c"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_get_flags" ref="gf15546b83ee290fea38af0241a93ed9c" 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#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> * </td>
<td class="paramname"> <em>obj</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get timer flags
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>obj</em> </td><td>pointer to <a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>timer flags </dd></dl>
</div>
</div><p>
<a class="anchor" name="gc5ba8e984a1c7dd6b95b6048ea055a56"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_get_id" ref="gc5ba8e984a1c7dd6b95b6048ea055a56" 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#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> * </td>
<td class="paramname"> <em>obj</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get timer identification
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>obj</em> </td><td>pointer to <a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>timer identification </dd></dl>
</div>
</div><p>
<a class="anchor" name="g0b367048029e54b79b7654ab0b2c0d25"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_get_name" ref="g0b367048029e54b79b7654ab0b2c0d25" 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#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> * </td>
<td class="paramname"> <em>obj</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get timer name
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>obj</em> </td><td>pointer to <a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>timer name </dd></dl>
</div>
</div><p>
<a class="anchor" name="gdc9fbba0f9d0284eef9f5e8a59c88617"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_get_resolution" ref="gdc9fbba0f9d0284eef9f5e8a59c88617" 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#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> * </td>
<td class="paramname"> <em>obj</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get timer resolution in ns
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>obj</em> </td><td>pointer to <a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>timer resolution in ns </dd></dl>
</div>
</div><p>
<a class="anchor" name="gab9910f8ca427fb1a2a7dce64ac57ca0"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_get_resolution_max" ref="gab9910f8ca427fb1a2a7dce64ac57ca0" 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#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> * </td>
<td class="paramname"> <em>obj</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get timer maximal resolution in ns
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>obj</em> </td><td>pointer to <a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>timer maximal resolution in ns </dd></dl>
</div>
</div><p>
<a class="anchor" name="g377b501c8157e45ea2e48f8ba2955d77"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_get_resolution_min" ref="g377b501c8157e45ea2e48f8ba2955d77" 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#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> * </td>
<td class="paramname"> <em>obj</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get timer minimal resolution in ns
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>obj</em> </td><td>pointer to <a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>timer minimal resolution in ns </dd></dl>
</div>
</div><p>
<a class="anchor" name="gbb530b8f34091d8331165141cb93df3c"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_get_tid" ref="gbb530b8f34091d8331165141cb93df3c" 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#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a>* snd_timer_ginfo_get_tid </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> * </td>
<td class="paramname"> <em>obj</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get timer identification
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>obj</em> </td><td>pointer to <a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>pointer to snd_timer_id_t </dd></dl>
</div>
</div><p>
<a class="anchor" name="ge32455d500ea9a06c4d8c1b32c3b824c"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_malloc" ref="ge32455d500ea9a06c4d8c1b32c3b824c" 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#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> ** </td>
<td class="paramname"> <em>info</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
allocate a new snd_timer_ginfo_t structure
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>info</em> </td><td>returned pointer </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code if fails</dd></dl>
Allocates a new snd_timer_info_t structure using the standard malloc C library function.
</div>
</div><p>
<a class="anchor" name="g2dbb778206fd064c4bf2c2978810fc11"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_set_tid" ref="g2dbb778206fd064c4bf2c2978810fc11" 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#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> * </td>
<td class="paramname"> <em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> * </td>
<td class="paramname"> <em>tid</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
set timer identification
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>obj</em> </td><td>pointer to <a class="el" href="group___timer.html#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> structure </td></tr>
<tr><td valign="top"></td><td valign="top"><em>tid</em> </td><td>pointer to <a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>zero on success otherwise a negative error number </dd></dl>
</div>
</div><p>
<a class="anchor" name="g6bee5e7c713043c3160f1e154b850dd4"></a><!-- doxytag: member="timer.h::snd_timer_ginfo_sizeof" ref="g6bee5e7c713043c3160f1e154b850dd4" 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 </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get size of the snd_timer_ginfo_t structure in bytes
<p>
<dl compact><dt><b>Returns:</b></dt><dd>size of the snd_timer_ginfo_t structure in bytes </dd></dl>
</div>
</div><p>
<a class="anchor" name="g17e1a15d56ee5d027d37aeb4fe17c0fc"></a><!-- doxytag: member="timer.h::snd_timer_id_copy" ref="g17e1a15d56ee5d027d37aeb4fe17c0fc" 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#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> * </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#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> * </td>
<td class="paramname"> <em>src</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
copy one snd_timer_id_t structure to another
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>dst</em> </td><td>destination snd_timer_id_t structure </td></tr>
<tr><td valign="top"></td><td valign="top"><em>src</em> </td><td>source snd_timer_id_t structure </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g561d65ec538ba48b7514807d862711c4"></a><!-- doxytag: member="timer.h::snd_timer_id_free" ref="g561d65ec538ba48b7514807d862711c4" 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#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> * </td>
<td class="paramname"> <em>info</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
frees the snd_timer_id_t structure
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>info</em> </td><td>pointer to the snd_timer_id_t structure to free</td></tr>
</table>
</dl>
Frees the given snd_timer_id_t structure using the standard free C library function.
</div>
</div><p>
<a class="anchor" name="ge56b375f5e548a3c669acee962255965"></a><!-- doxytag: member="timer.h::snd_timer_id_get_card" ref="ge56b375f5e548a3c669acee962255965" 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#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> * </td>
<td class="paramname"> <em>tid</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get timer card
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>tid</em> </td><td>pointer to <a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>timer card number </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a171">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g789fc53446683e9e22986d62bd6a5e4a"></a><!-- doxytag: member="timer.h::snd_timer_id_get_class" ref="g789fc53446683e9e22986d62bd6a5e4a" 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#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> * </td>
<td class="paramname"> <em>tid</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get timer class
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>tid</em> </td><td>pointer to <a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>timer class </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a169">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="gd373653ec0a0f588a99dd3625d8f595a"></a><!-- doxytag: member="timer.h::snd_timer_id_get_device" ref="gd373653ec0a0f588a99dd3625d8f595a" 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#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> * </td>
<td class="paramname"> <em>tid</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get timer device
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>tid</em> </td><td>pointer to <a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>timer device number </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a172">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g0f7023f271e24607f2b052be58d80d5f"></a><!-- doxytag: member="timer.h::snd_timer_id_get_sclass" ref="g0f7023f271e24607f2b052be58d80d5f" 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#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> * </td>
<td class="paramname"> <em>tid</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get timer sub-class
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>tid</em> </td><td>pointer to <a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>timer sub-class </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a170">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g65af963e4acc77c2fa2e6b865bc51670"></a><!-- doxytag: member="timer.h::snd_timer_id_get_subdevice" ref="g65af963e4acc77c2fa2e6b865bc51670" 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#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> * </td>
<td class="paramname"> <em>tid</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get timer subdevice
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>tid</em> </td><td>pointer to <a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>timer subdevice number </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a173">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g7394f79313c1b63fe986fc1a565f787d"></a><!-- doxytag: member="timer.h::snd_timer_id_malloc" ref="g7394f79313c1b63fe986fc1a565f787d" 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#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> ** </td>
<td class="paramname"> <em>info</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
allocate a new snd_timer_id_t structure
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>info</em> </td><td>returned pointer </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code if fails</dd></dl>
Allocates a new snd_timer_id_t structure using the standard malloc C library function.
</div>
</div><p>
<a class="anchor" name="g0474857431e3b5c76266d5e1b40a5ad4"></a><!-- doxytag: member="timer.h::snd_timer_id_set_card" ref="g0474857431e3b5c76266d5e1b40a5ad4" 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#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> * </td>
<td class="paramname"> <em>tid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>card</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
set timer card
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>tid</em> </td><td>pointer to <a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> structure </td></tr>
<tr><td valign="top"></td><td valign="top"><em>card</em> </td><td>card number </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g4b30ff7e5b2175320267d2e98c0d5801"></a><!-- doxytag: member="timer.h::snd_timer_id_set_class" ref="g4b30ff7e5b2175320267d2e98c0d5801" 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#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> * </td>
<td class="paramname"> <em>tid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>dev_class</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
set timer class
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>tid</em> </td><td>pointer to <a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> structure </td></tr>
<tr><td valign="top"></td><td valign="top"><em>dev_class</em> </td><td>class of timer device </td></tr>
</table>
</dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a167">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g307a4f0bb0bf77f1411f26bb4a791fb3"></a><!-- doxytag: member="timer.h::snd_timer_id_set_device" ref="g307a4f0bb0bf77f1411f26bb4a791fb3" 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#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> * </td>
<td class="paramname"> <em>tid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>device</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
set timer device
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>tid</em> </td><td>pointer to <a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> structure </td></tr>
<tr><td valign="top"></td><td valign="top"><em>device</em> </td><td>device number </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g50ce362edec2f82715990b2257f41127"></a><!-- doxytag: member="timer.h::snd_timer_id_set_sclass" ref="g50ce362edec2f82715990b2257f41127" 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#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> * </td>
<td class="paramname"> <em>tid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>dev_sclass</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
set timer sub-class
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>tid</em> </td><td>pointer to <a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> structure </td></tr>
<tr><td valign="top"></td><td valign="top"><em>dev_sclass</em> </td><td>sub-class of timer device </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g5a6cfb480bce114072f92e0dc417602a"></a><!-- doxytag: member="timer.h::snd_timer_id_set_subdevice" ref="g5a6cfb480bce114072f92e0dc417602a" 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#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> * </td>
<td class="paramname"> <em>tid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>subdevice</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
set timer subdevice
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>tid</em> </td><td>pointer to <a class="el" href="group___timer.html#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> structure </td></tr>
<tr><td valign="top"></td><td valign="top"><em>subdevice</em> </td><td>subdevice number </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="gf5f66f2380255e4a3a4d6d0cadc4fdc9"></a><!-- doxytag: member="timer.h::snd_timer_id_sizeof" ref="gf5f66f2380255e4a3a4d6d0cadc4fdc9" 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 </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get size of the snd_timer_id_t structure in bytes
<p>
<dl compact><dt><b>Returns:</b></dt><dd>size of the snd_timer_id_t structure in bytes </dd></dl>
</div>
</div><p>
<a class="anchor" name="g11b2bc64a6d59065ba4f52df7b751db7"></a><!-- doxytag: member="timer.h::snd_timer_info" ref="g11b2bc64a6d59065ba4f52df7b751db7" 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#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> * </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#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> * </td>
<td class="paramname"> <em>info</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get information about timer handle
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>timer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>info</em> </td><td>pointer to a snd_timer_info_t structure to be filled </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a177">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g65745fcf3ea2b2ed488f3bc8cb8ec13f"></a><!-- doxytag: member="timer.h::snd_timer_info_copy" ref="g65745fcf3ea2b2ed488f3bc8cb8ec13f" 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#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> * </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#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> * </td>
<td class="paramname"> <em>src</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
copy one snd_timer_info_t structure to another
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>dst</em> </td><td>destination snd_timer_info_t structure </td></tr>
<tr><td valign="top"></td><td valign="top"><em>src</em> </td><td>source snd_timer_info_t structure </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g53380a36cb70a662441224459fa5a5be"></a><!-- doxytag: member="timer.h::snd_timer_info_free" ref="g53380a36cb70a662441224459fa5a5be" 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#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> * </td>
<td class="paramname"> <em>info</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
frees the snd_timer_info_t structure
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>info</em> </td><td>pointer to the snd_timer_info_t structure to free</td></tr>
</table>
</dl>
Frees the given snd_timer_info_t structure using the standard free C library function.
</div>
</div><p>
<a class="anchor" name="g2d30016302bb2976de6630ab069af2aa"></a><!-- doxytag: member="timer.h::snd_timer_info_get_card" ref="g2d30016302bb2976de6630ab069af2aa" 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#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> * </td>
<td class="paramname"> <em>info</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get timer card
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>info</em> </td><td>pointer to <a class="el" href="group___timer.html#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>timer card number </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a179">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g626d90dd33563a4de2139b19279add11"></a><!-- doxytag: member="timer.h::snd_timer_info_get_id" ref="g626d90dd33563a4de2139b19279add11" 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#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> * </td>
<td class="paramname"> <em>info</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get timer id
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>info</em> </td><td>pointer to <a class="el" href="group___timer.html#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>timer id </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a180">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="ga6f36810c5455b36b7f436f4d44af384"></a><!-- doxytag: member="timer.h::snd_timer_info_get_name" ref="ga6f36810c5455b36b7f436f4d44af384" 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#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> * </td>
<td class="paramname"> <em>info</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get timer name
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>info</em> </td><td>pointer to <a class="el" href="group___timer.html#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>timer name </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a181">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="gb5cd4dcbbfe92912998e4ddcf4443997"></a><!-- doxytag: member="timer.h::snd_timer_info_get_resolution" ref="gb5cd4dcbbfe92912998e4ddcf4443997" 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#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> * </td>
<td class="paramname"> <em>info</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get timer resolution in us
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>info</em> </td><td>pointer to <a class="el" href="group___timer.html#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>timer resolution </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a182">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="ga68ec0221c87d04e7c42db29f277584b"></a><!-- doxytag: member="timer.h::snd_timer_info_get_ticks" ref="ga68ec0221c87d04e7c42db29f277584b" 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#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> * </td>
<td class="paramname"> <em>info</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
(DEPRECATED) get maximum timer ticks
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>info</em> </td><td>pointer to <a class="el" href="group___timer.html#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>maximum timer ticks </dd></dl>
</div>
</div><p>
<a class="anchor" name="g04141ae3c2dd59b4122c53658bf9fafd"></a><!-- doxytag: member="timer.h::snd_timer_info_is_slave" ref="g04141ae3c2dd59b4122c53658bf9fafd" 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#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> * </td>
<td class="paramname"> <em>info</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
determine, if timer is slave
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>info</em> </td><td>pointer to <a class="el" href="group___timer.html#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>nonzero if timer is slave </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a178">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g9321829a57eff969da06783b1e950917"></a><!-- doxytag: member="timer.h::snd_timer_info_malloc" ref="g9321829a57eff969da06783b1e950917" 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#ge0b1c47741625f82dc0c7532fa6b45ea">snd_timer_info_t</a> ** </td>
<td class="paramname"> <em>info</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
allocate a new snd_timer_info_t structure
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>info</em> </td><td>returned pointer </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code if fails</dd></dl>
Allocates a new snd_timer_info_t structure using the standard malloc C library function.
</div>
</div><p>
<a class="anchor" name="g37bf4e7b4e8ba0b08b703362666acbd9"></a><!-- doxytag: member="timer.h::snd_timer_info_sizeof" ref="g37bf4e7b4e8ba0b08b703362666acbd9" 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 </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get size of the snd_timer_info_t structure in bytes
<p>
<dl compact><dt><b>Returns:</b></dt><dd>size of the snd_timer_info_t structure in bytes </dd></dl>
</div>
</div><p>
<a class="anchor" name="gff57e9a2e9af3313c13be386efcea822"></a><!-- doxytag: member="timer.h::snd_timer_open" ref="gff57e9a2e9af3313c13be386efcea822" 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#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> ** </td>
<td class="paramname"> <em>timer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>mode</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Opens a new connection to the timer interface.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>Returned handle (NULL if not wanted) </td></tr>
<tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>ASCII identifier of the timer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>mode</em> </td><td>Open mode </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
Opens a new connection to the timer interface specified with an ASCII identifier and mode. <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a175">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g3dc654f4bd2db3fb003513e1f4d91679"></a><!-- doxytag: member="timer.h::snd_timer_open_lconf" ref="g3dc654f4bd2db3fb003513e1f4d91679" 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#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> ** </td>
<td class="paramname"> <em>timer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>mode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> * </td>
<td class="paramname"> <em>lconf</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Opens a new connection to the timer interface using local configuration.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>Returned handle (NULL if not wanted) </td></tr>
<tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>ASCII identifier of the timer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>mode</em> </td><td>Open mode </td></tr>
<tr><td valign="top"></td><td valign="top"><em>lconf</em> </td><td>Local configuration </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
Opens a new connection to the timer interface specified with an ASCII identifier and mode.
</div>
</div><p>
<a class="anchor" name="g79d62b82c579b2c61684e45dc3deb3f9"></a><!-- doxytag: member="timer.h::snd_timer_params" ref="g79d62b82c579b2c61684e45dc3deb3f9" 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#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> * </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#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> * </td>
<td class="paramname"> <em>params</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
set parameters for timer handle
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>timer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>pointer to a <a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a186">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g979b0ff626a62ed4472bc9cebd726324"></a><!-- doxytag: member="timer.h::snd_timer_params_copy" ref="g979b0ff626a62ed4472bc9cebd726324" 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#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> * </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#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> * </td>
<td class="paramname"> <em>src</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
copy one snd_timer_params_t structure to another
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>dst</em> </td><td>destination snd_timer_params_t structure </td></tr>
<tr><td valign="top"></td><td valign="top"><em>src</em> </td><td>source snd_timer_params_t structure </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g58ecc13f57c56686ddbf8a4b388b96a7"></a><!-- doxytag: member="timer.h::snd_timer_params_free" ref="g58ecc13f57c56686ddbf8a4b388b96a7" 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#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> * </td>
<td class="paramname"> <em>params</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
frees the snd_timer_params_t structure
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>pointer to the snd_timer_params_t structure to free</td></tr>
</table>
</dl>
Frees the given snd_timer_params_t structure using the standard free C library function.
</div>
</div><p>
<a class="anchor" name="gad626140af5713206725acec77632739"></a><!-- doxytag: member="timer.h::snd_timer_params_get_auto_start" ref="gad626140af5713206725acec77632739" 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#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> * </td>
<td class="paramname"> <em>params</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
determine if timer has auto start flag
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>pointer to <a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>nonzero if timer has auto start flag </dd></dl>
</div>
</div><p>
<a class="anchor" name="gea0fed047f16c71122d9ef4684843ce1"></a><!-- doxytag: member="timer.h::snd_timer_params_get_early_event" ref="gea0fed047f16c71122d9ef4684843ce1" 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#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> * </td>
<td class="paramname"> <em>params</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
determine if timer has early event flag
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>pointer to <a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>nonzero if timer has early event flag set </dd></dl>
</div>
</div><p>
<a class="anchor" name="g7a8eb60376ca4b8995c8733428c45222"></a><!-- doxytag: member="timer.h::snd_timer_params_get_exclusive" ref="g7a8eb60376ca4b8995c8733428c45222" 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#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> * </td>
<td class="paramname"> <em>params</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
determine if timer has exclusive flag
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>pointer to <a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>nonzero if timer has exclusive flag </dd></dl>
</div>
</div><p>
<a class="anchor" name="g5c1d7d3c39cbcaa7fd9637e6acd91560"></a><!-- doxytag: member="timer.h::snd_timer_params_get_filter" ref="g5c1d7d3c39cbcaa7fd9637e6acd91560" 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#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> * </td>
<td class="paramname"> <em>params</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get timer event filter
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>pointer to <a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>timer event filter </dd></dl>
</div>
</div><p>
<a class="anchor" name="ga567494edbc333d56946c19a397ee11c"></a><!-- doxytag: member="timer.h::snd_timer_params_get_queue_size" ref="ga567494edbc333d56946c19a397ee11c" 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#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> * </td>
<td class="paramname"> <em>params</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get queue size
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>pointer to <a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>queue size </dd></dl>
</div>
</div><p>
<a class="anchor" name="g8cddd76ac3ccabf8a99d2dc8ad83b101"></a><!-- doxytag: member="timer.h::snd_timer_params_get_ticks" ref="g8cddd76ac3ccabf8a99d2dc8ad83b101" 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#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> * </td>
<td class="paramname"> <em>params</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get timer ticks
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>pointer to <a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>timer ticks </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a185">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g1d29bd2faa296a98d42cee0d29b66943"></a><!-- doxytag: member="timer.h::snd_timer_params_malloc" ref="g1d29bd2faa296a98d42cee0d29b66943" 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#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> ** </td>
<td class="paramname"> <em>params</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
allocate a new snd_timer_params_t structure
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>returned pointer </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code if fails</dd></dl>
Allocates a new snd_timer_params_t structure using the standard malloc C library function.
</div>
</div><p>
<a class="anchor" name="g8d4d4b15ebf4851bfc3e2e069c2fe811"></a><!-- doxytag: member="timer.h::snd_timer_params_set_auto_start" ref="g8d4d4b15ebf4851bfc3e2e069c2fe811" 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#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> * </td>
<td class="paramname"> <em>params</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>auto_start</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
set timer auto start
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>pointer to <a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> structure </td></tr>
<tr><td valign="top"></td><td valign="top"><em>auto_start</em> </td><td>The boolean value to set </td></tr>
</table>
</dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a183">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="gd2e8119a6000265ea0d3f6ab9111b7d1"></a><!-- doxytag: member="timer.h::snd_timer_params_set_early_event" ref="gd2e8119a6000265ea0d3f6ab9111b7d1" 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#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> * </td>
<td class="paramname"> <em>params</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>early_event</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
set timer early event
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>pointer to <a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> structure </td></tr>
<tr><td valign="top"></td><td valign="top"><em>early_event</em> </td><td>The boolean value to set </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g0f2590e6d688867b0dff574753e25085"></a><!-- doxytag: member="timer.h::snd_timer_params_set_exclusive" ref="g0f2590e6d688867b0dff574753e25085" 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#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> * </td>
<td class="paramname"> <em>params</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>exclusive</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
set timer exclusive use
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>pointer to <a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> structure </td></tr>
<tr><td valign="top"></td><td valign="top"><em>exclusive</em> </td><td>The boolean value to set </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="gb4d943dc55441f4ced31e903c920be13"></a><!-- doxytag: member="timer.h::snd_timer_params_set_filter" ref="gb4d943dc55441f4ced31e903c920be13" 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#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> * </td>
<td class="paramname"> <em>params</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int </td>
<td class="paramname"> <em>filter</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
set timer event filter
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>pointer to <a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> structure </td></tr>
<tr><td valign="top"></td><td valign="top"><em>filter</em> </td><td>The event filter bits to set </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g8655408c845e162e89456e6c97d90714"></a><!-- doxytag: member="timer.h::snd_timer_params_set_queue_size" ref="g8655408c845e162e89456e6c97d90714" 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#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> * </td>
<td class="paramname"> <em>params</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">long </td>
<td class="paramname"> <em>queue_size</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
set timer queue size (32-1024)
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>pointer to <a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> structure </td></tr>
<tr><td valign="top"></td><td valign="top"><em>queue_size</em> </td><td>The queue size to set </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g371828af6e14fde38dd393adf1fb0130"></a><!-- doxytag: member="timer.h::snd_timer_params_set_ticks" ref="g371828af6e14fde38dd393adf1fb0130" 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#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> * </td>
<td class="paramname"> <em>params</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">long </td>
<td class="paramname"> <em>ticks</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
set timer ticks
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>pointer to <a class="el" href="group___timer.html#gb49219f23948c5e25833cdfe20379036">snd_timer_params_t</a> structure </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ticks</em> </td><td>Ticks to set </td></tr>
</table>
</dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a184">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="ga615967097af6a6d14102e99c8ff4557"></a><!-- doxytag: member="timer.h::snd_timer_params_sizeof" ref="ga615967097af6a6d14102e99c8ff4557" 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 </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get size of the snd_timer_params_t structure in bytes
<p>
<dl compact><dt><b>Returns:</b></dt><dd>size of the snd_timer_params_t structure in bytes </dd></dl>
</div>
</div><p>
<a class="anchor" name="gf60e1ebe77650dc2aaf4d6e04924b599"></a><!-- doxytag: member="timer.h::snd_timer_poll_descriptors" ref="gf60e1ebe77650dc2aaf4d6e04924b599" 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#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> * </td>
<td class="paramname"> <em>timer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct pollfd * </td>
<td class="paramname"> <em>pfds</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int </td>
<td class="paramname"> <em>space</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get poll descriptors
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>timer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>pfds</em> </td><td>array of poll descriptors </td></tr>
<tr><td valign="top"></td><td valign="top"><em>space</em> </td><td>space in the poll descriptor array </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>count of filled descriptors </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a148">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="gadbb1ff0afbfe5238c8603338fe9ff87"></a><!-- doxytag: member="timer.h::snd_timer_poll_descriptors_count" ref="gadbb1ff0afbfe5238c8603338fe9ff87" 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#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> * </td>
<td class="paramname"> <em>timer</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get count of poll descriptors for timer handle
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>timer handle </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>count of poll descriptors </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a147">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g5ae92e0e9b4b1b5cc421feb1ef76660b"></a><!-- doxytag: member="timer.h::snd_timer_poll_descriptors_revents" ref="g5ae92e0e9b4b1b5cc421feb1ef76660b" 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#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> * </td>
<td class="paramname"> <em>timer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct pollfd * </td>
<td class="paramname"> <em>pfds</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int </td>
<td class="paramname"> <em>nfds</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short * </td>
<td class="paramname"> <em>revents</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get returned events from poll descriptors
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>timer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>pfds</em> </td><td>array of poll descriptors </td></tr>
<tr><td valign="top"></td><td valign="top"><em>nfds</em> </td><td>count of poll descriptors </td></tr>
<tr><td valign="top"></td><td valign="top"><em>revents</em> </td><td>returned events </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>zero if success, otherwise a negative error code </dd></dl>
</div>
</div><p>
<a class="anchor" name="ga212ea45a9ddff3f6ef726407564a1fc"></a><!-- doxytag: member="timer.h::snd_timer_query_close" ref="ga212ea45a9ddff3f6ef726407564a1fc" 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#g2628d1e5a8d874d9fa10439369145d50">snd_timer_query_t</a> * </td>
<td class="paramname"> <em>timer</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
close timer query handle
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>timer handle </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
Closes the specified timer handle and frees all associated resources. <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a174">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g25d15ec2f1025bc04ca2d387615ccba9"></a><!-- doxytag: member="timer.h::snd_timer_query_info" ref="g25d15ec2f1025bc04ca2d387615ccba9" 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#g2628d1e5a8d874d9fa10439369145d50">snd_timer_query_t</a> * </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#gc66ac51be90a47c042f56a2939c09031">snd_timer_ginfo_t</a> * </td>
<td class="paramname"> <em>info</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
obtain the timer global information
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>timer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>info</em> </td><td>timer information </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>
</div>
</div><p>
<a class="anchor" name="g69a8bd71b56ddbb9027602f5d7d3080d"></a><!-- doxytag: member="timer.h::snd_timer_query_next_device" ref="g69a8bd71b56ddbb9027602f5d7d3080d" 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#g2628d1e5a8d874d9fa10439369145d50">snd_timer_query_t</a> * </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#g9bf8a9449a17a0328dfbda9f64bf7aca">snd_timer_id_t</a> * </td>
<td class="paramname"> <em>tid</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
obtain the next timer identification
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>timer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>tid</em> </td><td>timer identification </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
if tid->dev_class is -1, then the first device is returned if result tid->dev_class is -1, no more devices are left <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a168">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="gd0f9fa9290c43c4540bce234546541c5"></a><!-- doxytag: member="timer.h::snd_timer_query_open" ref="gd0f9fa9290c43c4540bce234546541c5" 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#g2628d1e5a8d874d9fa10439369145d50">snd_timer_query_t</a> ** </td>
<td class="paramname"> <em>timer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>mode</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Opens a new connection to the timer query interface.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>Returned handle (NULL if not wanted) </td></tr>
<tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>ASCII identifier of the RawMidi handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>mode</em> </td><td>Open mode </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
Opens a new connection to the RawMidi interface specified with an ASCII identifier and mode. <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a166">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g7d5ca6b9f390b630ce97deb4c6e346d0"></a><!-- doxytag: member="timer.h::snd_timer_query_open_lconf" ref="g7d5ca6b9f390b630ce97deb4c6e346d0" 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#g2628d1e5a8d874d9fa10439369145d50">snd_timer_query_t</a> ** </td>
<td class="paramname"> <em>timer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>mode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> * </td>
<td class="paramname"> <em>lconf</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Opens a new connection to the timer query interface using local configuration.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>Returned handle (NULL if not wanted) </td></tr>
<tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>ASCII identifier of the RawMidi handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>mode</em> </td><td>Open mode </td></tr>
<tr><td valign="top"></td><td valign="top"><em>lconf</em> </td><td>Local configuration </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
Opens a new connection to the RawMidi interface specified with an ASCII identifier and mode.
</div>
</div><p>
<a class="anchor" name="g8c3e3ee0c67c5dbc9c06d65d2fe3d88a"></a><!-- doxytag: member="timer.h::snd_timer_query_params" ref="g8c3e3ee0c67c5dbc9c06d65d2fe3d88a" 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#g2628d1e5a8d874d9fa10439369145d50">snd_timer_query_t</a> * </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#g53853acb7556d631e8f468b439116752">snd_timer_gparams_t</a> * </td>
<td class="paramname"> <em>params</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
set the timer global parameters
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>timer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>timer parameters </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>
</div>
</div><p>
<a class="anchor" name="g3152eb69bbca420fa62b403b1a65bde1"></a><!-- doxytag: member="timer.h::snd_timer_query_status" ref="g3152eb69bbca420fa62b403b1a65bde1" 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#g2628d1e5a8d874d9fa10439369145d50">snd_timer_query_t</a> * </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#g760c2adda5d155a1bf8e6a78a0d9f433">snd_timer_gstatus_t</a> * </td>
<td class="paramname"> <em>status</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get the timer global status
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>timer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>timer status </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>
</div>
</div><p>
<a class="anchor" name="g09307fbc086367b5d0dda0aca1ce38b9"></a><!-- doxytag: member="timer.h::snd_timer_read" ref="g09307fbc086367b5d0dda0aca1ce38b9" 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#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> * </td>
<td class="paramname"> <em>timer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void * </td>
<td class="paramname"> <em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t </td>
<td class="paramname"> <em>size</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
read bytes using timer handle
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>timer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>buffer</em> </td><td>buffer to store the input bytes </td></tr>
<tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>input buffer size in bytes </td></tr>
</table>
</dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a149">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="gaffbb9e9ee1820597c46c742b6297f06"></a><!-- doxytag: member="timer.h::snd_timer_start" ref="gaffbb9e9ee1820597c46c742b6297f06" 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#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> * </td>
<td class="paramname"> <em>timer</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
start the timer
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>timer handle </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a188">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g073eb2b8bc888753ed259031a75e983e"></a><!-- doxytag: member="timer.h::snd_timer_status" ref="g073eb2b8bc888753ed259031a75e983e" 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#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> * </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#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> * </td>
<td class="paramname"> <em>status</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get status from timer handle
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>timer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>pointer to a <a class="el" href="group___timer.html#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> structure to be filled </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a140">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="gb933e2f8308444947eacd6505b63961a"></a><!-- doxytag: member="timer.h::snd_timer_status_copy" ref="gb933e2f8308444947eacd6505b63961a" 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#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> * </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#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> * </td>
<td class="paramname"> <em>src</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
copy one snd_timer_status_t structure to another
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>dst</em> </td><td>destination snd_timer_status_t structure </td></tr>
<tr><td valign="top"></td><td valign="top"><em>src</em> </td><td>source snd_timer_status_t structure </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="gac427314101a4f3c9c71300a6bc8700e"></a><!-- doxytag: member="timer.h::snd_timer_status_free" ref="gac427314101a4f3c9c71300a6bc8700e" 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#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> * </td>
<td class="paramname"> <em>status</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
frees the snd_timer_status_t structure
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>pointer to the snd_timer_status_t structure to free</td></tr>
</table>
</dl>
Frees the given snd_timer_status_t structure using the standard free C library function.
</div>
</div><p>
<a class="anchor" name="g0e36b8b76a0affd6f86729d178c33110"></a><!-- doxytag: member="timer.h::snd_timer_status_get_lost" ref="g0e36b8b76a0affd6f86729d178c33110" 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#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> * </td>
<td class="paramname"> <em>status</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get master tick lost count
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>pointer to <a class="el" href="group___timer.html#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>master tick lost count </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a143">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="gd278287f5a5d33331a5548e19a86b01a"></a><!-- doxytag: member="timer.h::snd_timer_status_get_overrun" ref="gd278287f5a5d33331a5548e19a86b01a" 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#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> * </td>
<td class="paramname"> <em>status</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get overrun count
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>pointer to <a class="el" href="group___timer.html#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>overrun count </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a144">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g37a52d7fcf34d36d2f279b4becc1546c"></a><!-- doxytag: member="timer.h::snd_timer_status_get_queue" ref="g37a52d7fcf34d36d2f279b4becc1546c" 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#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> * </td>
<td class="paramname"> <em>status</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get count of used queue elements
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>pointer to <a class="el" href="group___timer.html#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>count of used queue elements </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a145">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g3dffbd99deb65ea0616f595ddfec4192"></a><!-- doxytag: member="timer.h::snd_timer_status_get_resolution" ref="g3dffbd99deb65ea0616f595ddfec4192" 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#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> * </td>
<td class="paramname"> <em>status</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get resolution in us
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>pointer to <a class="el" href="group___timer.html#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>resolution </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a142">/test/timer.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="gf7e221c7cfee47e91d075f6154befdff"></a><!-- doxytag: member="timer.h::snd_timer_status_get_timestamp" ref="gf7e221c7cfee47e91d075f6154befdff" 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#g9ec799950aa7da856cf805705197c390">snd_htimestamp_t</a> snd_timer_status_get_timestamp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___timer.html#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> * </td>
<td class="paramname"> <em>status</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get timestamp
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>pointer to <a class="el" href="group___timer.html#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> structure </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>timestamp </dd></dl>
</div>
</div><p>
<a class="anchor" name="g6b39c458da9550f833cea7e171522717"></a><!-- doxytag: member="timer.h::snd_timer_status_malloc" ref="g6b39c458da9550f833cea7e171522717" 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#g15682094f8d5aedb2a42ed794f17a969">snd_timer_status_t</a> ** </td>
<td class="paramname"> <em>status</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
allocate a new snd_timer_status_t structure
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>returned pointer </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code if fails</dd></dl>
Allocates a new snd_timer_status_t structure using the standard malloc C library function.
</div>
</div><p>
<a class="anchor" name="gda9800ed8dc129593a112f234c46e065"></a><!-- doxytag: member="timer.h::snd_timer_status_sizeof" ref="gda9800ed8dc129593a112f234c46e065" 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 </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get size of the snd_timer_status_t structure in bytes
<p>
<dl compact><dt><b>Returns:</b></dt><dd>size of the snd_timer_status_t structure in bytes </dd></dl>
</div>
</div><p>
<a class="anchor" name="gcc112275598b09f87a2b877d99df0ef6"></a><!-- doxytag: member="timer.h::snd_timer_stop" ref="gcc112275598b09f87a2b877d99df0ef6" 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#gcea0e939b68f5649d5739ef66dcfc68a">snd_timer_t</a> * </td>
<td class="paramname"> <em>timer</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
stop the timer
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>timer</em> </td><td>timer handle </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2timer_8c-example.html#a189">/test/timer.c</a>.</dl>
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Tue Jan 20 22:42:10 2009 for ALSA project - the C library reference by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>