<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>global.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.2.18 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> <a class="qindex" href="pages.html">Related Pages</a> <a class="qindex" href="examples.html">Examples</a> </center> <hr><h1>global.h</h1><div class="fragment"><pre>00001 00028 <span class="preprocessor">#ifndef __ALSA_GLOBAL_H_</span> 00029 <span class="preprocessor"></span><span class="preprocessor">#define __ALSA_GLOBAL_H_</span> 00030 <span class="preprocessor"></span> 00031 <span class="preprocessor">#ifdef __cplusplus</span> 00032 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { 00033 <span class="preprocessor">#endif</span> 00034 <span class="preprocessor"></span> 00044 <span class="preprocessor">#ifndef ATTRIBUTE_UNUSED</span> 00045 <span class="preprocessor"></span> 00046 <span class="preprocessor">#define ATTRIBUTE_UNUSED __attribute__ ((__unused__))</span> 00047 <span class="preprocessor"></span><span class="preprocessor">#endif</span> 00048 <span class="preprocessor"></span> 00049 <span class="preprocessor">#ifdef PIC </span><span class="comment">/* dynamic build */</span> 00050 <a name="l00052"></a><a class="code" href="group___global.html#a10">00052</a> <span class="preprocessor">#define __SND_DLSYM_VERSION(name, version) _ ## name ## version</span> 00053 <span class="preprocessor"></span> <a name="l00057"></a><a class="code" href="group___global.html#a11">00057</a> <span class="preprocessor">#define SND_DLSYM_BUILD_VERSION(name, version) char __SND_DLSYM_VERSION(name, version);</span> 00058 <span class="preprocessor"></span> 00059 <span class="preprocessor">#else </span><span class="comment">/* static build */</span> 00060 00061 <span class="keyword">struct </span>snd_dlsym_link { 00062 <span class="keyword">struct </span>snd_dlsym_link *next; 00063 <span class="keyword">const</span> <span class="keywordtype">char</span> *dlsym_name; 00064 <span class="keyword">const</span> <span class="keywordtype">void</span> *dlsym_ptr; 00065 }; 00066 00067 <span class="keyword">extern</span> <span class="keyword">struct </span>snd_dlsym_link *snd_dlsym_start; 00068 00070 <span class="preprocessor">#define __SND_DLSYM_VERSION(prefix, name, version) _ ## prefix ## name ## version</span> 00071 <span class="preprocessor"></span> 00075 <span class="preprocessor">#define SND_DLSYM_BUILD_VERSION(name, version) \</span> 00076 <span class="preprocessor"> static struct snd_dlsym_link __SND_DLSYM_VERSION(snd_dlsym_, name, version); \</span> 00077 <span class="preprocessor"> void __SND_DLSYM_VERSION(snd_dlsym_constructor_, name, version) (void) __attribute__ ((constructor)); \</span> 00078 <span class="preprocessor"> void __SND_DLSYM_VERSION(snd_dlsym_constructor_, name, version) (void) { \</span> 00079 <span class="preprocessor"> __SND_DLSYM_VERSION(snd_dlsym_, name, version).next = snd_dlsym_start; \</span> 00080 <span class="preprocessor"> __SND_DLSYM_VERSION(snd_dlsym_, name, version).dlsym_name = # name; \</span> 00081 <span class="preprocessor"> __SND_DLSYM_VERSION(snd_dlsym_, name, version).dlsym_ptr = (void *)&name; \</span> 00082 <span class="preprocessor"> snd_dlsym_start = &__SND_DLSYM_VERSION(snd_dlsym_, name, version); \</span> 00083 <span class="preprocessor"> }</span> 00084 <span class="preprocessor"></span> 00085 <span class="preprocessor">#endif</span> 00086 <span class="preprocessor"></span> <a name="l00088"></a><a class="code" href="group___global.html#a12">00088</a> <span class="preprocessor">#define SND_DLSYM_VERSION(version) __STRING(version)</span> 00089 <span class="preprocessor"></span> 00090 <span class="keywordtype">void</span> *<a class="code" href="dlmisc_8c.html#a1">snd_dlopen</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">int</span> mode); 00091 <span class="keywordtype">void</span> *<a class="code" href="dlmisc_8c.html#a4">snd_dlsym</a>(<span class="keywordtype">void</span> *handle, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <span class="keywordtype">char</span> *version); 00092 <span class="keywordtype">int</span> <a class="code" href="dlmisc_8c.html#a2">snd_dlclose</a>(<span class="keywordtype">void</span> *handle); 00093 00094 <a name="l00101"></a><a class="code" href="group___global.html#a0">00101</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>_snd_async_handler <a class="code" href="group___global.html#a0">snd_async_handler_t</a>; 00102 <a name="l00108"></a><a class="code" href="group___global.html#a1">00108</a> <span class="keyword">typedef</span> void (*<a class="code" href="group___global.html#a1">snd_async_callback_t</a>)(<a class="code" href="group___global.html#a0">snd_async_handler_t</a> *handler); 00109 00110 <span class="keywordtype">int</span> <a class="code" href="async_8c.html#a3">snd_async_add_handler</a>(<a class="code" href="group___global.html#a0">snd_async_handler_t</a> **handler, <span class="keywordtype">int</span> fd, 00111 <a class="code" href="group___global.html#a1">snd_async_callback_t</a> callback, <span class="keywordtype">void</span> *private_data); 00112 <span class="keywordtype">int</span> <a class="code" href="async_8c.html#a4">snd_async_del_handler</a>(<a class="code" href="group___global.html#a0">snd_async_handler_t</a> *handler); 00113 <span class="keywordtype">int</span> <a class="code" href="async_8c.html#a6">snd_async_handler_get_fd</a>(<a class="code" href="group___global.html#a0">snd_async_handler_t</a> *handler); 00114 <span class="keywordtype">int</span> <a class="code" href="async_8c.html#a5">snd_async_handler_get_signo</a>(<a class="code" href="group___global.html#a0">snd_async_handler_t</a> *handler); 00115 <span class="keywordtype">void</span> *<a class="code" href="async_8c.html#a7">snd_async_handler_get_callback_private</a>(<a class="code" href="group___global.html#a0">snd_async_handler_t</a> *handler); 00116 00119 <span class="preprocessor">#ifdef __cplusplus</span> 00120 <span class="preprocessor"></span>} 00121 <span class="preprocessor">#endif</span> 00122 <span class="preprocessor"></span> 00123 <span class="preprocessor">#endif </span><span class="comment">/* __ALSA_GLOBAL_H */</span> </pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 16:06:31 2003 for ALSA project - the C library reference by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.18 </small></address> </body> </html>