Current File : //proc/self/root/kunden/usr/share/doc/alsa-lib-devel/doxygen/html/group___global.html |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ALSA project - the C library reference: Global defines and functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">ALSA project - the C library reference
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#files">Files</a> |
<a href="#define-members">Macros</a> |
<a href="#typedef-members">Typedefs</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Global defines and functions</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:shmarea_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="shmarea_8c.html">shmarea.c</a></td></tr>
<tr class="memdesc:shmarea_8c"><td class="mdescLeft"> </td><td class="mdescRight">shared memory helpers <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga375c4dc9f0fb338999de81aab826f9d6"><td class="memItemLeft" align="right" valign="top"><a id="ga375c4dc9f0fb338999de81aab826f9d6"></a>
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#ga375c4dc9f0fb338999de81aab826f9d6">__STRING</a>(x)   #x</td></tr>
<tr class="memdesc:ga375c4dc9f0fb338999de81aab826f9d6"><td class="mdescLeft"> </td><td class="mdescRight">Return 'x' argument as string. <br /></td></tr>
<tr class="separator:ga375c4dc9f0fb338999de81aab826f9d6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gafefcb2bb4a877727b16de5c56e09055b"><td class="memItemLeft" align="right" valign="top"><a id="gafefcb2bb4a877727b16de5c56e09055b"></a>
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#gafefcb2bb4a877727b16de5c56e09055b">__SND_DLSYM_VERSION</a>(name, version)</td></tr>
<tr class="memdesc:gafefcb2bb4a877727b16de5c56e09055b"><td class="mdescLeft"> </td><td class="mdescRight">Helper macro for <a class="el" href="group___global.html#ga355c462c8c5dee0aeadae17d096ba531" title="Appends the build version to the name of a versioned dynamic symbol.">SND_DLSYM_BUILD_VERSION</a>. <br /></td></tr>
<tr class="separator:gafefcb2bb4a877727b16de5c56e09055b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga355c462c8c5dee0aeadae17d096ba531"><td class="memItemLeft" align="right" valign="top"><a id="ga355c462c8c5dee0aeadae17d096ba531"></a>
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#ga355c462c8c5dee0aeadae17d096ba531">SND_DLSYM_BUILD_VERSION</a>(name, version)</td></tr>
<tr class="memdesc:ga355c462c8c5dee0aeadae17d096ba531"><td class="mdescLeft"> </td><td class="mdescRight">Appends the build version to the name of a versioned dynamic symbol. <br /></td></tr>
<tr class="separator:ga355c462c8c5dee0aeadae17d096ba531"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga7bba39703a3275de48b3e919a2849c4b"><td class="memItemLeft" align="right" valign="top"><a id="ga7bba39703a3275de48b3e919a2849c4b"></a>
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#ga7bba39703a3275de48b3e919a2849c4b">SND_DLSYM_VERSION</a>(version)   <a class="el" href="group___global.html#ga375c4dc9f0fb338999de81aab826f9d6">__STRING</a>(version)</td></tr>
<tr class="memdesc:ga7bba39703a3275de48b3e919a2849c4b"><td class="mdescLeft"> </td><td class="mdescRight">Returns the version of a dynamic symbol as a string. <br /></td></tr>
<tr class="separator:ga7bba39703a3275de48b3e919a2849c4b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga0d723ca68908f9c4eb7c6e9eb03cff3f"><td class="memItemLeft" align="right" valign="top"><a id="ga0d723ca68908f9c4eb7c6e9eb03cff3f"></a>
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#ga0d723ca68908f9c4eb7c6e9eb03cff3f">__snd_alloca</a>(ptr, <a class="el" href="ump__msg_8h.html#ad44b615021ed3ccb734fcaf583ef4a03">type</a>)   do { *ptr = (<a class="el" href="ump__msg_8h.html#ad44b615021ed3ccb734fcaf583ef4a03">type</a>##_t *) alloca(<a class="el" href="ump__msg_8h.html#ad44b615021ed3ccb734fcaf583ef4a03">type</a>##_sizeof()); memset(*ptr, 0, <a class="el" href="ump__msg_8h.html#ad44b615021ed3ccb734fcaf583ef4a03">type</a>##_sizeof()); } while (0)</td></tr>
<tr class="memdesc:ga0d723ca68908f9c4eb7c6e9eb03cff3f"><td class="mdescLeft"> </td><td class="mdescRight">alloca helper macro. <br /></td></tr>
<tr class="separator:ga0d723ca68908f9c4eb7c6e9eb03cff3f"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga8cd9a1d441e9219ca5f2ff04094c7c6d"><td class="memItemLeft" align="right" valign="top">typedef struct _snd_async_handler </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a></td></tr>
<tr class="memdesc:ga8cd9a1d441e9219ca5f2ff04094c7c6d"><td class="mdescLeft"> </td><td class="mdescRight">Internal structure for an async notification client handler. <a href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">More...</a><br /></td></tr>
<tr class="separator:ga8cd9a1d441e9219ca5f2ff04094c7c6d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaf8937eadd968df14b64e54f49c29821c"><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#gaf8937eadd968df14b64e54f49c29821c">snd_async_callback_t</a>) (<a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a> *handler)</td></tr>
<tr class="memdesc:gaf8937eadd968df14b64e54f49c29821c"><td class="mdescLeft"> </td><td class="mdescRight">Async notification callback. <a href="group___global.html#gaf8937eadd968df14b64e54f49c29821c">More...</a><br /></td></tr>
<tr class="separator:gaf8937eadd968df14b64e54f49c29821c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gadd377862d568809fb0e32c9faddf99a4"><td class="memItemLeft" align="right" valign="top">typedef struct timeval </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#gadd377862d568809fb0e32c9faddf99a4">snd_timestamp_t</a></td></tr>
<tr class="separator:gadd377862d568809fb0e32c9faddf99a4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga3a3f5b65c40f498cdbc26944bd9855cf"><td class="memItemLeft" align="right" valign="top">typedef struct timespec </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#ga3a3f5b65c40f498cdbc26944bd9855cf">snd_htimestamp_t</a></td></tr>
<tr class="separator:ga3a3f5b65c40f498cdbc26944bd9855cf"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga1b8d6e2acb0a62de5c23bd8aef3ec225"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#ga1b8d6e2acb0a62de5c23bd8aef3ec225">snd_asoundlib_version</a> (void)</td></tr>
<tr class="memdesc:ga1b8d6e2acb0a62de5c23bd8aef3ec225"><td class="mdescLeft"> </td><td class="mdescRight">Returns the ALSA sound library version in ASCII format. <a href="group___global.html#ga1b8d6e2acb0a62de5c23bd8aef3ec225">More...</a><br /></td></tr>
<tr class="separator:ga1b8d6e2acb0a62de5c23bd8aef3ec225"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaef53243936f09f4b5c445bccdbd4167e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#gaef53243936f09f4b5c445bccdbd4167e">snd_dlpath</a> (char *path, size_t path_len, const char *name)</td></tr>
<tr class="memdesc:gaef53243936f09f4b5c445bccdbd4167e"><td class="mdescLeft"> </td><td class="mdescRight">Compose the dynamic path. <a href="group___global.html#gaef53243936f09f4b5c445bccdbd4167e">More...</a><br /></td></tr>
<tr class="separator:gaef53243936f09f4b5c445bccdbd4167e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga8d048fb538f1487e030396866c0374dd"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#ga8d048fb538f1487e030396866c0374dd">snd_dlopen</a> (const char *file, int mode, char *errbuf, size_t errbuflen)</td></tr>
<tr class="memdesc:ga8d048fb538f1487e030396866c0374dd"><td class="mdescLeft"> </td><td class="mdescRight">Opens a dynamic library - ALSA wrapper for <code>dlopen</code>. <a href="group___global.html#ga8d048fb538f1487e030396866c0374dd">More...</a><br /></td></tr>
<tr class="separator:ga8d048fb538f1487e030396866c0374dd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gae865f293c8771998b2b6a9f25a135408"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#gae865f293c8771998b2b6a9f25a135408">snd_dlsym</a> (void *handle, const char *name, const char *version)</td></tr>
<tr class="memdesc:gae865f293c8771998b2b6a9f25a135408"><td class="mdescLeft"> </td><td class="mdescRight">Resolves a symbol from a dynamic library - ALSA wrapper for <code>dlsym</code>. <a href="group___global.html#gae865f293c8771998b2b6a9f25a135408">More...</a><br /></td></tr>
<tr class="separator:gae865f293c8771998b2b6a9f25a135408"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga7cc0866a9d1fbce4e34a8b342674836e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#ga7cc0866a9d1fbce4e34a8b342674836e">snd_dlclose</a> (void *handle)</td></tr>
<tr class="memdesc:ga7cc0866a9d1fbce4e34a8b342674836e"><td class="mdescLeft"> </td><td class="mdescRight">Closes a dynamic library - ALSA wrapper for <code>dlclose</code>. <a href="group___global.html#ga7cc0866a9d1fbce4e34a8b342674836e">More...</a><br /></td></tr>
<tr class="separator:ga7cc0866a9d1fbce4e34a8b342674836e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gafd936c40505997bb659b74bd368636b8"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#gafd936c40505997bb659b74bd368636b8">snd_async_add_handler</a> (<a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a> **handler, int fd, <a class="el" href="group___global.html#gaf8937eadd968df14b64e54f49c29821c">snd_async_callback_t</a> callback, void *private_data)</td></tr>
<tr class="memdesc:gafd936c40505997bb659b74bd368636b8"><td class="mdescLeft"> </td><td class="mdescRight">Registers an async handler. <a href="group___global.html#gafd936c40505997bb659b74bd368636b8">More...</a><br /></td></tr>
<tr class="separator:gafd936c40505997bb659b74bd368636b8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga1c0bd4d123e9581a749b80e2df48b4e1"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#ga1c0bd4d123e9581a749b80e2df48b4e1">snd_async_del_handler</a> (<a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a> *handler)</td></tr>
<tr class="memdesc:ga1c0bd4d123e9581a749b80e2df48b4e1"><td class="mdescLeft"> </td><td class="mdescRight">Deletes an async handler. <a href="group___global.html#ga1c0bd4d123e9581a749b80e2df48b4e1">More...</a><br /></td></tr>
<tr class="separator:ga1c0bd4d123e9581a749b80e2df48b4e1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gad601f70e0405a8522860edb15db6350c"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#gad601f70e0405a8522860edb15db6350c">snd_async_handler_get_fd</a> (<a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a> *handler)</td></tr>
<tr class="memdesc:gad601f70e0405a8522860edb15db6350c"><td class="mdescLeft"> </td><td class="mdescRight">Returns the file descriptor assigned to an async handler. <a href="group___global.html#gad601f70e0405a8522860edb15db6350c">More...</a><br /></td></tr>
<tr class="separator:gad601f70e0405a8522860edb15db6350c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gab32c9afe265784634c78e7a6b5d27abe"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#gab32c9afe265784634c78e7a6b5d27abe">snd_async_handler_get_signo</a> (<a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a> *handler)</td></tr>
<tr class="memdesc:gab32c9afe265784634c78e7a6b5d27abe"><td class="mdescLeft"> </td><td class="mdescRight">Returns the signal number assigned to an async handler. <a href="group___global.html#gab32c9afe265784634c78e7a6b5d27abe">More...</a><br /></td></tr>
<tr class="separator:gab32c9afe265784634c78e7a6b5d27abe"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gad9c76588a87918901c6273e6bc98a1bc"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#gad9c76588a87918901c6273e6bc98a1bc">snd_async_handler_get_callback_private</a> (<a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a> *handler)</td></tr>
<tr class="memdesc:gad9c76588a87918901c6273e6bc98a1bc"><td class="mdescLeft"> </td><td class="mdescRight">Returns the private data assigned to an async handler. <a href="group___global.html#gad9c76588a87918901c6273e6bc98a1bc">More...</a><br /></td></tr>
<tr class="separator:gad9c76588a87918901c6273e6bc98a1bc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga4141de7b343dd6e5af12df97f98c6caf"><td class="memItemLeft" align="right" valign="top">struct snd_shm_area * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#ga4141de7b343dd6e5af12df97f98c6caf">snd_shm_area_create</a> (int shmid, void *ptr)</td></tr>
<tr class="memdesc:ga4141de7b343dd6e5af12df97f98c6caf"><td class="mdescLeft"> </td><td class="mdescRight">Create a shm area record. <a href="group___global.html#ga4141de7b343dd6e5af12df97f98c6caf">More...</a><br /></td></tr>
<tr class="separator:ga4141de7b343dd6e5af12df97f98c6caf"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga9dbf4bcf38bb7cc054accbbbf3a33df2"><td class="memItemLeft" align="right" valign="top">struct snd_shm_area * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#ga9dbf4bcf38bb7cc054accbbbf3a33df2">snd_shm_area_share</a> (struct snd_shm_area *area)</td></tr>
<tr class="memdesc:ga9dbf4bcf38bb7cc054accbbbf3a33df2"><td class="mdescLeft"> </td><td class="mdescRight">Increase the reference counter of shm area record. <a href="group___global.html#ga9dbf4bcf38bb7cc054accbbbf3a33df2">More...</a><br /></td></tr>
<tr class="separator:ga9dbf4bcf38bb7cc054accbbbf3a33df2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga59f424fb93a72226e642dbb04b870c45"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#ga59f424fb93a72226e642dbb04b870c45">snd_shm_area_destroy</a> (struct snd_shm_area *area)</td></tr>
<tr class="memdesc:ga59f424fb93a72226e642dbb04b870c45"><td class="mdescLeft"> </td><td class="mdescRight">Release the shared area record. <a href="group___global.html#ga59f424fb93a72226e642dbb04b870c45">More...</a><br /></td></tr>
<tr class="separator:ga59f424fb93a72226e642dbb04b870c45"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaade4b91c735abcec70101b9d83b11126"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___global.html#gaade4b91c735abcec70101b9d83b11126">snd_user_file</a> (const char *file, char **result)</td></tr>
<tr class="memdesc:gaade4b91c735abcec70101b9d83b11126"><td class="mdescLeft"> </td><td class="mdescRight">Get the full file name. <a href="group___global.html#gaade4b91c735abcec70101b9d83b11126">More...</a><br /></td></tr>
<tr class="separator:gaade4b91c735abcec70101b9d83b11126"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Global defines and functions. </p><dl class="section user"><dt></dt><dd>The ALSA library implementation uses these macros and functions. Most applications probably do not need them. </dd></dl>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="gaf8937eadd968df14b64e54f49c29821c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf8937eadd968df14b64e54f49c29821c">◆ </a></span>snd_async_callback_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* snd_async_callback_t) (<a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a> *handler)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Async notification callback. </p>
<p>See the <a class="el" href="group___global.html#gafd936c40505997bb659b74bd368636b8" title="Registers an async handler.">snd_async_add_handler</a> function for details. </p>
</div>
</div>
<a id="ga8cd9a1d441e9219ca5f2ff04094c7c6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8cd9a1d441e9219ca5f2ff04094c7c6d">◆ </a></span>snd_async_handler_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct _snd_async_handler <a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Internal structure for an async notification client handler. </p>
<p>The ALSA library uses a pointer to this structure as a handle to an async notification object. Applications don't access its contents directly. </p>
</div>
</div>
<a id="ga3a3f5b65c40f498cdbc26944bd9855cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3a3f5b65c40f498cdbc26944bd9855cf">◆ </a></span>snd_htimestamp_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct timespec <a class="el" href="group___global.html#ga3a3f5b65c40f498cdbc26944bd9855cf">snd_htimestamp_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Hi-res timestamp </p>
</div>
</div>
<a id="gadd377862d568809fb0e32c9faddf99a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadd377862d568809fb0e32c9faddf99a4">◆ </a></span>snd_timestamp_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct timeval <a class="el" href="group___global.html#gadd377862d568809fb0e32c9faddf99a4">snd_timestamp_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Timestamp </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga1b8d6e2acb0a62de5c23bd8aef3ec225"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1b8d6e2acb0a62de5c23bd8aef3ec225">◆ </a></span>snd_asoundlib_version()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* snd_asoundlib_version </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the ALSA sound library version in ASCII format. </p>
<dl class="section return"><dt>Returns</dt><dd>The ASCII description of the used ALSA sound library. </dd></dl>
</div>
</div>
<a id="gafd936c40505997bb659b74bd368636b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafd936c40505997bb659b74bd368636b8">◆ </a></span>snd_async_add_handler()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_async_add_handler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a> ** </td>
<td class="paramname"><em>handler</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>fd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group___global.html#gaf8937eadd968df14b64e54f49c29821c">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>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Registers an async handler. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handler</td><td>The function puts the pointer to the new async handler object at the address specified by <code>handler</code>. </td></tr>
<tr><td class="paramname">fd</td><td>The file descriptor to be associated with the callback. </td></tr>
<tr><td class="paramname">callback</td><td>The async callback function. </td></tr>
<tr><td class="paramname">private_data</td><td>Private data for the async callback function. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero if successful, otherwise a negative error code.</dd></dl>
<p>This function associates the callback function with the given file, and saves this association in a <code>snd_async_handler_t</code> object.</p>
<p>Whenever the <code>SIGIO</code> signal is raised for the file <code>fd</code>, the callback function will be called with its parameter pointing to the async handler object returned by this function.</p>
<p>The ALSA <code>sigaction</code> handler for the <code>SIGIO</code> signal automatically multiplexes the notifications to the registered async callbacks. However, the application is responsible for instructing the device driver to generate the <code>SIGIO</code> signal.</p>
<p>The <code>SIGIO</code> signal may have been replaced with another signal, see <a class="el" href="group___global.html#gab32c9afe265784634c78e7a6b5d27abe" title="Returns the signal number assigned to an async handler.">snd_async_handler_get_signo</a>.</p>
<p>When the async handler isn't needed anymore, you must delete it with <a class="el" href="group___global.html#ga1c0bd4d123e9581a749b80e2df48b4e1" title="Deletes an async handler.">snd_async_del_handler</a>.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___p_c_m.html#ga5a0c0da6d0d35a3ac9f6a97567ac3b63" title="Add an async handler for a PCM.">snd_async_add_pcm_handler</a>, <a class="el" href="group___control.html#ga23813430fb81fecb0e95d1dfd688337d" title="Add an async handler for a CTL.">snd_async_add_ctl_handler</a> </dd></dl>
</div>
</div>
<a id="ga1c0bd4d123e9581a749b80e2df48b4e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1c0bd4d123e9581a749b80e2df48b4e1">◆ </a></span>snd_async_del_handler()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_async_del_handler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a> * </td>
<td class="paramname"><em>handler</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Deletes an async handler. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handler</td><td>Handle of the async handler to delete. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero if successful, otherwise a negative error code. </dd></dl>
</div>
</div>
<a id="gad9c76588a87918901c6273e6bc98a1bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad9c76588a87918901c6273e6bc98a1bc">◆ </a></span>snd_async_handler_get_callback_private()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* snd_async_handler_get_callback_private </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a> * </td>
<td class="paramname"><em>handler</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the private data assigned to an async handler. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handler</td><td>Handle to an async handler. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The <code>private_data</code> value registered with the async handler. </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2test_2pcm_8c-example.html#a40">/test/pcm.c</a>, and <a class="el" href="_2test_2timer_8c-example.html#a15">/test/timer.c</a>.</dd>
</dl>
</div>
</div>
<a id="gad601f70e0405a8522860edb15db6350c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad601f70e0405a8522860edb15db6350c">◆ </a></span>snd_async_handler_get_fd()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_async_handler_get_fd </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a> * </td>
<td class="paramname"><em>handler</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the file descriptor assigned to an async handler. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handler</td><td>Handle to an async handler. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The file descriptor if successful, otherwise a negative error code. </dd></dl>
</div>
</div>
<a id="gab32c9afe265784634c78e7a6b5d27abe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab32c9afe265784634c78e7a6b5d27abe">◆ </a></span>snd_async_handler_get_signo()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_async_handler_get_signo </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a> * </td>
<td class="paramname"><em>handler</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the signal number assigned to an async handler. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handler</td><td>Handle to an async handler. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The signal number if successful, otherwise a negative error code.</dd></dl>
<p>The signal number for async handlers usually is <code>SIGIO</code>, but wizards can redefine it to a realtime signal when compiling the ALSA library. </p>
</div>
</div>
<a id="ga7cc0866a9d1fbce4e34a8b342674836e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7cc0866a9d1fbce4e34a8b342674836e">◆ </a></span>snd_dlclose()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_dlclose </td>
<td>(</td>
<td class="paramtype">void * </td>
<td class="paramname"><em>handle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Closes a dynamic library - ALSA wrapper for <code>dlclose</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Library handle, similar to <code>dlclose</code>. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero if successful, otherwise an error code.</dd></dl>
<p>This function can emulate dynamic linking for the static build of the alsa-lib library. </p>
</div>
</div>
<a id="ga8d048fb538f1487e030396866c0374dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8d048fb538f1487e030396866c0374dd">◆ </a></span>snd_dlopen()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* snd_dlopen </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">char * </td>
<td class="paramname"><em>errbuf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t </td>
<td class="paramname"><em>errbuflen</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Opens a dynamic library - ALSA wrapper for <code>dlopen</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">name</td><td>name of the library, similar to <code>dlopen</code>. </td></tr>
<tr><td class="paramname">mode</td><td>mode flags, similar to <code>dlopen</code>. </td></tr>
<tr><td class="paramname">errbuf</td><td>a string buffer for the error message <code>dlerror</code>. </td></tr>
<tr><td class="paramname">errbuflen</td><td>a length of the string buffer for the error message. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Library handle if successful, otherwise <code>NULL</code>.</dd></dl>
<p>This function can emulate dynamic linking for the static build of the alsa-lib library. In that case, <code>name</code> is set to <code>NULL</code>. </p>
</div>
</div>
<a id="gaef53243936f09f4b5c445bccdbd4167e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaef53243936f09f4b5c445bccdbd4167e">◆ </a></span>snd_dlpath()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_dlpath </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t </td>
<td class="paramname"><em>path_len</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></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Compose the dynamic path. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>Returned path (string) </td></tr>
<tr><td class="paramname">path_len</td><td>Returned path max size (with trailing zero) </td></tr>
<tr><td class="paramname">name</td><td>Plugin name (relative) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, otherwise a negative error code </dd></dl>
</div>
</div>
<a id="gae865f293c8771998b2b6a9f25a135408"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae865f293c8771998b2b6a9f25a135408">◆ </a></span>snd_dlsym()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* snd_dlsym </td>
<td>(</td>
<td class="paramtype">void * </td>
<td class="paramname"><em>handle</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">const char * </td>
<td class="paramname"><em>version</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Resolves a symbol from a dynamic library - ALSA wrapper for <code>dlsym</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Library handle, similar to <code>dlsym</code>. </td></tr>
<tr><td class="paramname">name</td><td>Symbol name. </td></tr>
<tr><td class="paramname">version</td><td>Version of the symbol.</td></tr>
</table>
</dd>
</dl>
<p>This function can emulate dynamic linking for the static build of the alsa-lib library.</p>
<p>This special version of the <code>dlsym</code> function checks also the version of the symbol. A versioned symbol should be defined using the <a class="el" href="group___global.html#ga355c462c8c5dee0aeadae17d096ba531" title="Appends the build version to the name of a versioned dynamic symbol.">SND_DLSYM_BUILD_VERSION</a> macro. </p>
</div>
</div>
<a id="ga4141de7b343dd6e5af12df97f98c6caf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4141de7b343dd6e5af12df97f98c6caf">◆ </a></span>snd_shm_area_create()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct snd_shm_area* snd_shm_area_create </td>
<td>(</td>
<td class="paramtype">int </td>
<td class="paramname"><em>shmid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void * </td>
<td class="paramname"><em>ptr</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a shm area record. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">shmid</td><td>IPC SHM ID </td></tr>
<tr><td class="paramname">ptr</td><td>the shared area pointer </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The allocated shm area record, NULL if fail</dd></dl>
<p>Allocates a shared area record with the given SHM ID and pointer. The record has a reference counter, which is initialized to 1 by this function. </p>
</div>
</div>
<a id="ga59f424fb93a72226e642dbb04b870c45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga59f424fb93a72226e642dbb04b870c45">◆ </a></span>snd_shm_area_destroy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_shm_area_destroy </td>
<td>(</td>
<td class="paramtype">struct snd_shm_area * </td>
<td class="paramname"><em>area</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Release the shared area record. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">area</td><td>the shared are record </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or a negative error code</dd></dl>
<p>Decreases the reference counter of the given shared area record, and releases the resources automaticall if it reaches to 0. </p>
</div>
</div>
<a id="ga9dbf4bcf38bb7cc054accbbbf3a33df2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9dbf4bcf38bb7cc054accbbbf3a33df2">◆ </a></span>snd_shm_area_share()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct snd_shm_area* snd_shm_area_share </td>
<td>(</td>
<td class="paramtype">struct snd_shm_area * </td>
<td class="paramname"><em>area</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Increase the reference counter of shm area record. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">area</td><td>shm area record </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the shm area record (identical with the argument)</dd></dl>
<p>Increases the reference counter of the given shared area record. </p>
</div>
</div>
<a id="gaade4b91c735abcec70101b9d83b11126"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaade4b91c735abcec70101b9d83b11126">◆ </a></span>snd_user_file()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_user_file </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>file</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char ** </td>
<td class="paramname"><em>result</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the full file name. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file</td><td>The file name string to parse </td></tr>
<tr><td class="paramname">result</td><td>The pointer to store the resultant file name </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or a negative error code</dd></dl>
<p>Parses the given file name with POSIX-Shell-like expansion and stores the first matchine one. The returned string is strdup'ed. </p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>