File: //usr/share/doc/alsa-lib-devel-1.0.17/lib64/html/group___error.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: Error handling</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>Error handling</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></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___error.html#g076fd008df5921f4b7e3bbb9551d34b1">SND_ERROR_BEGIN</a> 500000</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___error.html#gf25753f51894d42526c2fad66c3d2ed6">SND_ERROR_INCOMPATIBLE_VERSION</a> (SND_ERROR_BEGIN+0)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___error.html#g6a089a2faa895f77a8a774a8320e37a0">SND_ERROR_ALISP_NIL</a> (SND_ERROR_BEGIN+1)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___error.html#g484bf209082377ba4f6267eb31f7de76">SNDERR</a>(args...) <a class="el" href="group___error.html#gf1920bda2482038add95c5e440b3c75e">snd_lib_error</a>(__FILE__, __LINE__, __FUNCTION__, 0, ##args)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___error.html#gc1e4920d1a522724f9ac48311c95f3ad">SYSERR</a>(args...) <a class="el" href="group___error.html#gf1920bda2482038add95c5e440b3c75e">snd_lib_error</a>(__FILE__, __LINE__, __FUNCTION__, errno, ##args)</td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*) </td><td class="memItemRight" valign="bottom"><a class="el" href="group___error.html#gd61951e25dbe6f0fe73859ebe48c296f">snd_lib_error_handler_t</a> (const char *file, int line, const char *function, int err, const char *fmt,...)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Error handler callback. <a href="#gd61951e25dbe6f0fe73859ebe48c296f"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___error.html#gd174fcc147831046749051725762dd69">snd_strerror</a> (int errnum)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the message for an error code. <a href="#gd174fcc147831046749051725762dd69"></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___error.html#g5b7224346b4653b86b8ef66a0ed00075">snd_lib_error_set_handler</a> (<a class="el" href="group___error.html#gd61951e25dbe6f0fe73859ebe48c296f">snd_lib_error_handler_t</a> handler)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the error handler. <a href="#g5b7224346b4653b86b8ef66a0ed00075"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group___error.html#gd61951e25dbe6f0fe73859ebe48c296f">snd_lib_error_handler_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___error.html#gf1920bda2482038add95c5e440b3c75e">snd_lib_error</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group___error.html#gd61951e25dbe6f0fe73859ebe48c296f">snd_lib_error_handler_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___error.html#gf1920bda2482038add95c5e440b3c75e">snd_lib_error</a> = snd_lib_error_default</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Error handling macros and functions. <hr><h2>Define Documentation</h2>
<a class="anchor" name="g6a089a2faa895f77a8a774a8320e37a0"></a><!-- doxytag: member="error.h::SND_ERROR_ALISP_NIL" ref="g6a089a2faa895f77a8a774a8320e37a0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SND_ERROR_ALISP_NIL (SND_ERROR_BEGIN+1) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Lisp encountered an error during acall.
</div>
</div><p>
<a class="anchor" name="g076fd008df5921f4b7e3bbb9551d34b1"></a><!-- doxytag: member="error.h::SND_ERROR_BEGIN" ref="g076fd008df5921f4b7e3bbb9551d34b1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SND_ERROR_BEGIN 500000 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Lower boundary of sound error codes.
</div>
</div><p>
<a class="anchor" name="gf25753f51894d42526c2fad66c3d2ed6"></a><!-- doxytag: member="error.h::SND_ERROR_INCOMPATIBLE_VERSION" ref="gf25753f51894d42526c2fad66c3d2ed6" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SND_ERROR_INCOMPATIBLE_VERSION (SND_ERROR_BEGIN+0) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Kernel/library protocols are not compatible.
</div>
</div><p>
<a class="anchor" name="g484bf209082377ba4f6267eb31f7de76"></a><!-- doxytag: member="error.h::SNDERR" ref="g484bf209082377ba4f6267eb31f7de76" args="(args...)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SNDERR </td>
<td>(</td>
<td class="paramtype">args... </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> <a class="el" href="group___error.html#gf1920bda2482038add95c5e440b3c75e">snd_lib_error</a>(__FILE__, __LINE__, __FUNCTION__, 0, ##args)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Shows a sound error message.
</div>
</div><p>
<a class="anchor" name="gc1e4920d1a522724f9ac48311c95f3ad"></a><!-- doxytag: member="error.h::SYSERR" ref="gc1e4920d1a522724f9ac48311c95f3ad" args="(args...)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SYSERR </td>
<td>(</td>
<td class="paramtype">args... </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> <a class="el" href="group___error.html#gf1920bda2482038add95c5e440b3c75e">snd_lib_error</a>(__FILE__, __LINE__, __FUNCTION__, errno, ##args)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Shows a system error message (related to <code>errno</code>).
</div>
</div><p>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="gd61951e25dbe6f0fe73859ebe48c296f"></a><!-- doxytag: member="error.h::snd_lib_error_handler_t" ref="gd61951e25dbe6f0fe73859ebe48c296f" args="(const char *file, int line, const char *function, int err, const char *fmt,...)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(*) <a class="el" href="group___error.html#gd61951e25dbe6f0fe73859ebe48c296f">snd_lib_error_handler_t</a>(const char *file, int line, const char *function, int err, const char *fmt,...) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Error handler callback.
<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>file</em> </td><td>Source file name. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>line</em> </td><td>Line number. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>function</em> </td><td>Function name. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>err</em> </td><td>Value of <code>errno</code>, or 0 if not relevant. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>fmt</em> </td><td><code>printf(3)</code> format. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>...</em> </td><td><code>printf(3)</code> arguments.</td></tr>
</table>
</dl>
A function of this type is called by the ALSA library when an error occurs. This function usually shows the message on the screen, and/or logs it.
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g5b7224346b4653b86b8ef66a0ed00075"></a><!-- doxytag: member="error.h::snd_lib_error_set_handler" ref="g5b7224346b4653b86b8ef66a0ed00075" args="(snd_lib_error_handler_t handler)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_lib_error_set_handler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___error.html#gd61951e25dbe6f0fe73859ebe48c296f">snd_lib_error_handler_t</a> </td>
<td class="paramname"> <em>handler</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Sets the error 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>The pointer to the new error handler function.</td></tr>
</table>
</dl>
This function sets a new error handler, or (if <code>handler</code> is <code>NULL</code>) the default one which prints the error messages to <code>stderr</code>.
</div>
</div><p>
<a class="anchor" name="gd174fcc147831046749051725762dd69"></a><!-- doxytag: member="error.h::snd_strerror" ref="gd174fcc147831046749051725762dd69" args="(int errnum)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* snd_strerror </td>
<td>(</td>
<td class="paramtype">int </td>
<td class="paramname"> <em>errnum</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Returns the message for an error code.
<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>errnum</em> </td><td>The error code number, which must be a system error code or an ALSA error code. </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The ASCII description of the given numeric error code. </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2latency_8c-example.html#a6">/test/latency.c</a>, <a class="el" href="_2test_2pcm_8c-example.html#a70">/test/pcm.c</a>, <a class="el" href="_2test_2pcm__min_8c-example.html#a125">/test/pcm_min.c</a>, and <a class="el" href="_2test_2timer_8c-example.html#a141">/test/timer.c</a>.</dl>
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="gf1920bda2482038add95c5e440b3c75e"></a><!-- doxytag: member="error.c::snd_lib_error" ref="gf1920bda2482038add95c5e440b3c75e" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___error.html#gd61951e25dbe6f0fe73859ebe48c296f">snd_lib_error_handler_t</a> <a class="el" href="group___error.html#gf1920bda2482038add95c5e440b3c75e">snd_lib_error</a> = snd_lib_error_default </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Pointer to the error handler function. For internal use only.
</div>
</div><p>
<a class="anchor" name="gf1920bda2482038add95c5e440b3c75e"></a><!-- doxytag: member="error.h::snd_lib_error" ref="gf1920bda2482038add95c5e440b3c75e" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___error.html#gd61951e25dbe6f0fe73859ebe48c296f">snd_lib_error_handler_t</a> <a class="el" href="group___error.html#gf1920bda2482038add95c5e440b3c75e">snd_lib_error</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Pointer to the error handler function. For internal use only.
</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>