<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.8"/> <title>SphinxBase: include/sphinxbase/err.h File Reference</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="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> $(document).ready(initResizable); $(window).load(resizeHeight); </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 style="padding-left: 0.5em;"> <div id="projectname">SphinxBase  <span id="projectnumber">0.6</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.8 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> $(document).ready(function(){initNavTree('err_8h.html','');}); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#define-members">Macros</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">err.h File Reference</div> </div> </div><!--header--> <div class="contents"> <p>Implementation of logging routines. <a href="#details">More...</a></p> <div class="textblock"><code>#include <stdarg.h></code><br /> <code>#include <stdio.h></code><br /> <code>#include <errno.h></code><br /> <code>#include <sphinxbase/sphinxbase_export.h></code><br /> </div> <p><a href="err_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:a1a4495946ab2449d61108fe829a94613"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1a4495946ab2449d61108fe829a94613"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="err_8h.html#a1a4495946ab2449d61108fe829a94613">E_FATAL</a>   _E__pr_header(__FILE__, __LINE__, "FATAL_ERROR"),_E__die_error</td></tr> <tr class="memdesc:a1a4495946ab2449d61108fe829a94613"><td class="mdescLeft"> </td><td class="mdescRight">Exit with non-zero status after error message. <br /></td></tr> <tr class="separator:a1a4495946ab2449d61108fe829a94613"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5229a1d58f5f5e69963a8d038ff5bc3e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5229a1d58f5f5e69963a8d038ff5bc3e"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="err_8h.html#a5229a1d58f5f5e69963a8d038ff5bc3e">E_FATAL_SYSTEM</a>   _E__pr_header(__FILE__, __LINE__, "SYSTEM_ERROR"),_E__fatal_sys_error</td></tr> <tr class="memdesc:a5229a1d58f5f5e69963a8d038ff5bc3e"><td class="mdescLeft"> </td><td class="mdescRight">Print error text; Call perror(""); exit(errno);. <br /></td></tr> <tr class="separator:a5229a1d58f5f5e69963a8d038ff5bc3e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a63de511eaca101291914f701e67c5c44"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a63de511eaca101291914f701e67c5c44"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="err_8h.html#a63de511eaca101291914f701e67c5c44">E_WARN_SYSTEM</a>   _E__pr_header(__FILE__, __LINE__, "SYSTEM_ERROR"),_E__sys_error</td></tr> <tr class="memdesc:a63de511eaca101291914f701e67c5c44"><td class="mdescLeft"> </td><td class="mdescRight">Print error text; Call perror("");. <br /></td></tr> <tr class="separator:a63de511eaca101291914f701e67c5c44"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a54ffbfe898d74595c586a1f48f32ef03"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a54ffbfe898d74595c586a1f48f32ef03"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="err_8h.html#a54ffbfe898d74595c586a1f48f32ef03">E_ERROR_SYSTEM</a>   _E__pr_header(__FILE__, __LINE__, "SYSTEM_ERROR"),_E__sys_error</td></tr> <tr class="memdesc:a54ffbfe898d74595c586a1f48f32ef03"><td class="mdescLeft"> </td><td class="mdescRight">Print error text; Call perror("");. <br /></td></tr> <tr class="separator:a54ffbfe898d74595c586a1f48f32ef03"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac3c705943d946708cea0a1443be1c853"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac3c705943d946708cea0a1443be1c853"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="err_8h.html#ac3c705943d946708cea0a1443be1c853">E_INFO</a>   _E__pr_info_header(__FILE__, __LINE__, "INFO"),_E__pr_info</td></tr> <tr class="memdesc:ac3c705943d946708cea0a1443be1c853"><td class="mdescLeft"> </td><td class="mdescRight">Print logging information to standard error stream. <br /></td></tr> <tr class="separator:ac3c705943d946708cea0a1443be1c853"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae5a17ac5be8c738d3d977b1bea2d4538"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae5a17ac5be8c738d3d977b1bea2d4538"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="err_8h.html#ae5a17ac5be8c738d3d977b1bea2d4538">E_INFOCONT</a>   _E__pr_info</td></tr> <tr class="memdesc:ae5a17ac5be8c738d3d977b1bea2d4538"><td class="mdescLeft"> </td><td class="mdescRight">Print logging information without header, to standard error stream. <br /></td></tr> <tr class="separator:ae5a17ac5be8c738d3d977b1bea2d4538"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad95ccef073dd6f3c81c84e6aedca1f16"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad95ccef073dd6f3c81c84e6aedca1f16"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="err_8h.html#ad95ccef073dd6f3c81c84e6aedca1f16">E_INFO_NOFN</a>   _E__pr_info_header_wofn("INFO"),_E__pr_info</td></tr> <tr class="memdesc:ad95ccef073dd6f3c81c84e6aedca1f16"><td class="mdescLeft"> </td><td class="mdescRight">Print logging information without filename. <br /></td></tr> <tr class="separator:ad95ccef073dd6f3c81c84e6aedca1f16"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6a794bec721b555ac1f2167f9e12f662"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6a794bec721b555ac1f2167f9e12f662"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="err_8h.html#a6a794bec721b555ac1f2167f9e12f662">E_WARN</a>   _E__pr_header(__FILE__, __LINE__, "WARNING"),_E__pr_warn</td></tr> <tr class="memdesc:a6a794bec721b555ac1f2167f9e12f662"><td class="mdescLeft"> </td><td class="mdescRight">Print warning information to standard error stream. <br /></td></tr> <tr class="separator:a6a794bec721b555ac1f2167f9e12f662"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5f7b2f58f5a663a6bdd51f197ae21993"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f7b2f58f5a663a6bdd51f197ae21993"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="err_8h.html#a5f7b2f58f5a663a6bdd51f197ae21993">E_ERROR</a>   _E__pr_header(__FILE__, __LINE__, "ERROR"),_E__pr_warn</td></tr> <tr class="memdesc:a5f7b2f58f5a663a6bdd51f197ae21993"><td class="mdescLeft"> </td><td class="mdescRight">Print error message to standard error stream. <br /></td></tr> <tr class="separator:a5f7b2f58f5a663a6bdd51f197ae21993"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af46f94d0e21f22f1153f8f1cd9a372d6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="err_8h.html#af46f94d0e21f22f1153f8f1cd9a372d6">E_DEBUG</a>(level, x)</td></tr> <tr class="memdesc:af46f94d0e21f22f1153f8f1cd9a372d6"><td class="mdescLeft"> </td><td class="mdescRight">Print debugging information to standard error stream. <a href="#af46f94d0e21f22f1153f8f1cd9a372d6">More...</a><br /></td></tr> <tr class="separator:af46f94d0e21f22f1153f8f1cd9a372d6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7e8c4b068434a0424751fc2d2c457807"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e8c4b068434a0424751fc2d2c457807"></a> #define </td><td class="memItemRight" valign="bottom"><b>E_DEBUGCONT</b>(level, x)</td></tr> <tr class="separator:a7e8c4b068434a0424751fc2d2c457807"><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:a96379bbd8a6c62698d166e5d12f3370d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a96379bbd8a6c62698d166e5d12f3370d"></a> SPHINXBASE_EXPORT void </td><td class="memItemRight" valign="bottom"><b>_E__pr_header</b> (char const *file, long line, char const *msg)</td></tr> <tr class="separator:a96379bbd8a6c62698d166e5d12f3370d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a173ee0173de4543e08d9d7a38ce18b88"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a173ee0173de4543e08d9d7a38ce18b88"></a> SPHINXBASE_EXPORT void </td><td class="memItemRight" valign="bottom"><b>_E__pr_debug_header</b> (char const *file, long line, int level)</td></tr> <tr class="separator:a173ee0173de4543e08d9d7a38ce18b88"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a583592f006ae14756c0c4812048c9b5f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a583592f006ae14756c0c4812048c9b5f"></a> SPHINXBASE_EXPORT void </td><td class="memItemRight" valign="bottom"><b>_E__pr_info_header</b> (char const *file, long line, char const *tag)</td></tr> <tr class="separator:a583592f006ae14756c0c4812048c9b5f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abb0389e05db688aee439b339f7f6ed89"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb0389e05db688aee439b339f7f6ed89"></a> SPHINXBASE_EXPORT void </td><td class="memItemRight" valign="bottom"><b>_E__pr_info_header_wofn</b> (char const *msg)</td></tr> <tr class="separator:abb0389e05db688aee439b339f7f6ed89"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3c2a4f988b27b2fa9baaa8ecd3f1e61f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c2a4f988b27b2fa9baaa8ecd3f1e61f"></a> SPHINXBASE_EXPORT void </td><td class="memItemRight" valign="bottom"><b>_E__pr_warn</b> (char const *fmt,...)</td></tr> <tr class="separator:a3c2a4f988b27b2fa9baaa8ecd3f1e61f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a04fbf9d2c44e4e72f64cd3e2f5a24c38"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a04fbf9d2c44e4e72f64cd3e2f5a24c38"></a> SPHINXBASE_EXPORT void </td><td class="memItemRight" valign="bottom"><b>_E__pr_info</b> (char const *fmt,...)</td></tr> <tr class="separator:a04fbf9d2c44e4e72f64cd3e2f5a24c38"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae2149bb7cde661a9bee0bdaaea7fab2d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2149bb7cde661a9bee0bdaaea7fab2d"></a> SPHINXBASE_EXPORT void </td><td class="memItemRight" valign="bottom"><b>_E__die_error</b> (char const *fmt,...)</td></tr> <tr class="separator:ae2149bb7cde661a9bee0bdaaea7fab2d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0cdeb87987f0c30cd0c99826f9a1f7a8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0cdeb87987f0c30cd0c99826f9a1f7a8"></a> SPHINXBASE_EXPORT void </td><td class="memItemRight" valign="bottom"><b>_E__abort_error</b> (char const *fmt,...)</td></tr> <tr class="separator:a0cdeb87987f0c30cd0c99826f9a1f7a8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a750133ab0eeba2bceba2a4054469857b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a750133ab0eeba2bceba2a4054469857b"></a> SPHINXBASE_EXPORT void </td><td class="memItemRight" valign="bottom"><b>_E__sys_error</b> (char const *fmt,...)</td></tr> <tr class="separator:a750133ab0eeba2bceba2a4054469857b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a39faf53d575084585f79fe685943e95a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a39faf53d575084585f79fe685943e95a"></a> SPHINXBASE_EXPORT void </td><td class="memItemRight" valign="bottom"><b>_E__fatal_sys_error</b> (char const *fmt,...)</td></tr> <tr class="separator:a39faf53d575084585f79fe685943e95a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8bac37b001e58048b9f52ea1c756fc08"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT FILE * </td><td class="memItemRight" valign="bottom"><a class="el" href="err_8h.html#a8bac37b001e58048b9f52ea1c756fc08">err_set_logfp</a> (FILE *logfp)</td></tr> <tr class="memdesc:a8bac37b001e58048b9f52ea1c756fc08"><td class="mdescLeft"> </td><td class="mdescRight">Direct all logging to a given filehandle. <a href="#a8bac37b001e58048b9f52ea1c756fc08">More...</a><br /></td></tr> <tr class="separator:a8bac37b001e58048b9f52ea1c756fc08"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9707012f263e46ea66e93349313ddbe6"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT FILE * </td><td class="memItemRight" valign="bottom"><a class="el" href="err_8h.html#a9707012f263e46ea66e93349313ddbe6">err_get_logfp</a> (void)</td></tr> <tr class="memdesc:a9707012f263e46ea66e93349313ddbe6"><td class="mdescLeft"> </td><td class="mdescRight">Get the current logging filehandle. <a href="#a9707012f263e46ea66e93349313ddbe6">More...</a><br /></td></tr> <tr class="separator:a9707012f263e46ea66e93349313ddbe6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa605de73499066475ec4cfb03e4c5a20"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="err_8h.html#aa605de73499066475ec4cfb03e4c5a20">err_set_logfile</a> (char const *file)</td></tr> <tr class="memdesc:aa605de73499066475ec4cfb03e4c5a20"><td class="mdescLeft"> </td><td class="mdescRight">Append all log messages to a given file. <a href="#aa605de73499066475ec4cfb03e4c5a20">More...</a><br /></td></tr> <tr class="separator:aa605de73499066475ec4cfb03e4c5a20"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab77fa009824260d9f103308272dc89b8"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="err_8h.html#ab77fa009824260d9f103308272dc89b8">err_set_debug_level</a> (int level)</td></tr> <tr class="memdesc:ab77fa009824260d9f103308272dc89b8"><td class="mdescLeft"> </td><td class="mdescRight">Set debugging verbosity level. <a href="#ab77fa009824260d9f103308272dc89b8">More...</a><br /></td></tr> <tr class="separator:ab77fa009824260d9f103308272dc89b8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1500dc011016aa15244d0d7f2fe66a7e"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="err_8h.html#a1500dc011016aa15244d0d7f2fe66a7e">err_get_debug_level</a> (void)</td></tr> <tr class="memdesc:a1500dc011016aa15244d0d7f2fe66a7e"><td class="mdescLeft"> </td><td class="mdescRight">Get debugging verbosity level. <a href="#a1500dc011016aa15244d0d7f2fe66a7e">More...</a><br /></td></tr> <tr class="separator:a1500dc011016aa15244d0d7f2fe66a7e"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Implementation of logging routines. </p> <p>Logging, warning, debug and error message output funtionality is provided in this file. Sphinxbase defines several level of logging messages - INFO, WARNING, ERROR, FATAL. By default output goes to standard error output.</p> <p>Logging is implemented through macros. They take same arguments as printf: format string and values. By default source file name and source line are prepended to the message. Log output could be redirected to any file using <a class="el" href="err_8h.html#a8bac37b001e58048b9f52ea1c756fc08" title="Direct all logging to a given filehandle. ">err_set_logfp()</a> and <a class="el" href="err_8h.html#aa605de73499066475ec4cfb03e4c5a20" title="Append all log messages to a given file. ">err_set_logfile()</a> functions. To disable logging in your application, call err_set_logfp(NULL).</p> <p>It's possible to log multiline info messages, to do that you need to start message with E_INFO and output other lines with E_INFOCONT. </p> <p>Definition in file <a class="el" href="err_8h_source.html">err.h</a>.</p> </div><h2 class="groupheader">Macro Definition Documentation</h2> <a class="anchor" id="af46f94d0e21f22f1153f8f1cd9a372d6"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define E_DEBUG</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">level, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">x </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Print debugging information to standard error stream. </p> <p>This will only print a message if:</p><ol type="1"> <li>Debugging is enabled at compile time</li> <li>The debug level is greater than or equal to <em>level</em> </li> </ol> <p>Note that for portability reasons the format and arguments must be enclosed in an extra set of parentheses. </p> <p>Definition at line <a class="el" href="err_8h_source.html#l00212">212</a> of file <a class="el" href="err_8h_source.html">err.h</a>.</p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="a1500dc011016aa15244d0d7f2fe66a7e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">SPHINXBASE_EXPORT int err_get_debug_level </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get debugging verbosity level. </p> <p>Note that debugging messages are only enabled when compiled with -DDEBUG. </p> <p>Definition at line <a class="el" href="err_8c_source.html#l00074">74</a> of file <a class="el" href="err_8c_source.html">err.c</a>.</p> </div> </div> <a class="anchor" id="a9707012f263e46ea66e93349313ddbe6"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">SPHINXBASE_EXPORT FILE* err_get_logfp </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get the current logging filehandle. </p> <dl class="section return"><dt>Returns</dt><dd>Current logging filehandle, NULL if disabled. </dd></dl> <p>Definition at line <a class="el" href="err_8c_source.html#l00157">157</a> of file <a class="el" href="err_8c_source.html">err.c</a>.</p> <p>Referenced by <a class="el" href="cmd__ln_8c_source.html#l00551">cmd_ln_parse_r()</a>, <a class="el" href="err_8c_source.html#l00190">err_set_logfile()</a>, and <a class="el" href="err_8c_source.html#l00179">err_set_logfp()</a>.</p> </div> </div> <a class="anchor" id="ab77fa009824260d9f103308272dc89b8"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">SPHINXBASE_EXPORT int err_set_debug_level </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>level</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Set debugging verbosity level. </p> <p>Note that debugging messages are only enabled when compiled with -DDEBUG.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">level</td><td>Verbosity level to set, or 0 to disable debug messages. </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="err_8c_source.html#l00068">68</a> of file <a class="el" href="err_8c_source.html">err.c</a>.</p> </div> </div> <a class="anchor" id="aa605de73499066475ec4cfb03e4c5a20"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">SPHINXBASE_EXPORT int err_set_logfile </td> <td>(</td> <td class="paramtype">char const * </td> <td class="paramname"><em>file</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Append all log messages to a given file. </p> <p>Previous logging filehandle is closed (unless it was stdout or stderr).</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">file</td><td>File to send log messages to, or NULL to disable logging. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 for success, <0 for failure (e.g. if file does not exist) </dd></dl> <p>Definition at line <a class="el" href="err_8c_source.html#l00190">190</a> of file <a class="el" href="err_8c_source.html">err.c</a>.</p> <p>References <a class="el" href="err_8c_source.html#l00157">err_get_logfp()</a>.</p> <p>Referenced by <a class="el" href="cmd__ln_8c_source.html#l00551">cmd_ln_parse_r()</a>.</p> </div> </div> <a class="anchor" id="a8bac37b001e58048b9f52ea1c756fc08"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">SPHINXBASE_EXPORT FILE* err_set_logfp </td> <td>(</td> <td class="paramtype">FILE * </td> <td class="paramname"><em>logfp</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Direct all logging to a given filehandle. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">logfp</td><td>Filehandle to send log messages to, or NULL to disable logging. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Previous logging filehandle, if any. </dd></dl> <p>Definition at line <a class="el" href="err_8c_source.html#l00179">179</a> of file <a class="el" href="err_8c_source.html">err.c</a>.</p> <p>References <a class="el" href="err_8c_source.html#l00157">err_get_logfp()</a>.</p> </div> </div> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_e3d154c296a8e9be2797a4f81e9375b2.html">sphinxbase</a></li><li class="navelem"><a class="el" href="err_8h.html">err.h</a></li> <li class="footer">Generated on Sat Oct 18 2014 15:21:17 for SphinxBase by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.8 </li> </ul> </div> </body> </html>