<!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.8.15"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>LIRC libraries: /home/iurt/rpmbuild/BUILD/lirc-0.10.1/lib/lirc_log.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="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(initResizable); /* @license-end */</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="projectlogo"><img alt="Logo" src="diode-2.gif"/></td> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">LIRC libraries </div> <div id="projectbrief">LinuxInfraredRemoteControl</div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.15 --> <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'); /* @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 --> <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"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function(){initNavTree('lirc__log_8h.html','');}); /* @license-end */ </script> <div id="doc-content"> <!-- 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="#define-members">Macros</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> | <a href="#var-members">Variables</a> </div> <div class="headertitle"> <div class="title">lirc_log.h File Reference<div class="ingroups"><a class="el" href="group__private__api.html">Internal API</a> | <a class="el" href="group__driver__api.html">User-space driver API</a></div></div> </div> </div><!--header--> <div class="contents"> <p>Logging functionality. <a href="#details">More...</a></p> <div class="textblock"><code>#include <syslog.h></code><br /> <code>#include <sys/time.h></code><br /> <code>#include <stdio.h></code><br /> <code>#include <unistd.h></code><br /> </div> <p><a href="lirc__log_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:aab936871da54fbececcc7afaa58eba05"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#aab936871da54fbececcc7afaa58eba05">LIRC_MAX_LOGLEVEL</a>   LIRC_TRACE2</td></tr> <tr class="memdesc:aab936871da54fbececcc7afaa58eba05"><td class="mdescLeft"> </td><td class="mdescRight">Max loglevel (for validation). <a href="#aab936871da54fbececcc7afaa58eba05">More...</a><br /></td></tr> <tr class="separator:aab936871da54fbececcc7afaa58eba05"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a73d2617e7f322ed6323c901a825f3605"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a73d2617e7f322ed6323c901a825f3605">LIRC_MIN_LOGLEVEL</a>   LIRC_ERROR</td></tr> <tr class="memdesc:a73d2617e7f322ed6323c901a825f3605"><td class="mdescLeft"> </td><td class="mdescRight">Mix loglevel (for validation). <a href="#a73d2617e7f322ed6323c901a825f3605">More...</a><br /></td></tr> <tr class="separator:a73d2617e7f322ed6323c901a825f3605"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aec8c265923c6714be1f4a42e252bc872"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#aec8c265923c6714be1f4a42e252bc872">DEFAULT_LOGLEVEL</a>   LIRC_INFO</td></tr> <tr class="memdesc:aec8c265923c6714be1f4a42e252bc872"><td class="mdescLeft"> </td><td class="mdescRight">Default loglevel (last resort). <a href="#aec8c265923c6714be1f4a42e252bc872">More...</a><br /></td></tr> <tr class="separator:aec8c265923c6714be1f4a42e252bc872"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaba0fdc653c790307b8857e38cf1322c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#aaba0fdc653c790307b8857e38cf1322c">logmax</a>(l)   (l > LIRC_DEBUG ? LIRC_DEBUG : l)</td></tr> <tr class="memdesc:aaba0fdc653c790307b8857e38cf1322c"><td class="mdescLeft"> </td><td class="mdescRight">Max level logged in actual logfile. <a href="#aaba0fdc653c790307b8857e38cf1322c">More...</a><br /></td></tr> <tr class="separator:aaba0fdc653c790307b8857e38cf1322c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a40b15bc69c970ddbc6984cabf213f9a0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a40b15bc69c970ddbc6984cabf213f9a0">log_perror_err</a>(fmt, ...)</td></tr> <tr class="memdesc:a40b15bc69c970ddbc6984cabf213f9a0"><td class="mdescLeft"> </td><td class="mdescRight">perror wrapper logging with level LIRC_ERROR. <a href="#a40b15bc69c970ddbc6984cabf213f9a0">More...</a><br /></td></tr> <tr class="separator:a40b15bc69c970ddbc6984cabf213f9a0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9a1bc3b439c0d122c4e82be836c6f531"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a9a1bc3b439c0d122c4e82be836c6f531">log_perror_warn</a>(fmt, ...)</td></tr> <tr class="memdesc:a9a1bc3b439c0d122c4e82be836c6f531"><td class="mdescLeft"> </td><td class="mdescRight">perror wrapper logging with level LIRC_WARNING. <a href="#a9a1bc3b439c0d122c4e82be836c6f531">More...</a><br /></td></tr> <tr class="separator:a9a1bc3b439c0d122c4e82be836c6f531"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a39b0aeccdec0c2315d0d2a143050ed0b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a39b0aeccdec0c2315d0d2a143050ed0b">log_perror_debug</a>(fmt, ...)</td></tr> <tr class="memdesc:a39b0aeccdec0c2315d0d2a143050ed0b"><td class="mdescLeft"> </td><td class="mdescRight">perror wrapper logging with level LIRC_DEBUG. <a href="#a39b0aeccdec0c2315d0d2a143050ed0b">More...</a><br /></td></tr> <tr class="separator:a39b0aeccdec0c2315d0d2a143050ed0b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a887f83dbb884a13949e4f2ad710e5ddf"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a887f83dbb884a13949e4f2ad710e5ddf">log_error</a>(fmt, ...)</td></tr> <tr class="memdesc:a887f83dbb884a13949e4f2ad710e5ddf"><td class="mdescLeft"> </td><td class="mdescRight">Log an error message. <a href="#a887f83dbb884a13949e4f2ad710e5ddf">More...</a><br /></td></tr> <tr class="separator:a887f83dbb884a13949e4f2ad710e5ddf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afd2d22d45a6b32ff3ff8ea73013f09dc"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#afd2d22d45a6b32ff3ff8ea73013f09dc">log_warn</a>(fmt, ...)</td></tr> <tr class="memdesc:afd2d22d45a6b32ff3ff8ea73013f09dc"><td class="mdescLeft"> </td><td class="mdescRight">Log a warning message. <a href="#afd2d22d45a6b32ff3ff8ea73013f09dc">More...</a><br /></td></tr> <tr class="separator:afd2d22d45a6b32ff3ff8ea73013f09dc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a442f23202cd03383ed8e3ec6bbae5bd2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a442f23202cd03383ed8e3ec6bbae5bd2">log_info</a>(fmt, ...)</td></tr> <tr class="memdesc:a442f23202cd03383ed8e3ec6bbae5bd2"><td class="mdescLeft"> </td><td class="mdescRight">Log an info message. <a href="#a442f23202cd03383ed8e3ec6bbae5bd2">More...</a><br /></td></tr> <tr class="separator:a442f23202cd03383ed8e3ec6bbae5bd2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0ac90562e7d9fe7ee6b1b47801042a52"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a0ac90562e7d9fe7ee6b1b47801042a52">log_notice</a>(fmt, ...)</td></tr> <tr class="memdesc:a0ac90562e7d9fe7ee6b1b47801042a52"><td class="mdescLeft"> </td><td class="mdescRight">Log a notice message. <a href="#a0ac90562e7d9fe7ee6b1b47801042a52">More...</a><br /></td></tr> <tr class="separator:a0ac90562e7d9fe7ee6b1b47801042a52"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0e37223ab9f5df7af8cb2a59b7c4dc18"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a0e37223ab9f5df7af8cb2a59b7c4dc18">log_debug</a>(fmt, ...)</td></tr> <tr class="memdesc:a0e37223ab9f5df7af8cb2a59b7c4dc18"><td class="mdescLeft"> </td><td class="mdescRight">Log a debug message. <a href="#a0e37223ab9f5df7af8cb2a59b7c4dc18">More...</a><br /></td></tr> <tr class="separator:a0e37223ab9f5df7af8cb2a59b7c4dc18"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a056b9e71b3a2e575f88c564ff3670877"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a056b9e71b3a2e575f88c564ff3670877">log_trace</a>(fmt, ...)</td></tr> <tr class="memdesc:a056b9e71b3a2e575f88c564ff3670877"><td class="mdescLeft"> </td><td class="mdescRight">Log a trace message. <a href="#a056b9e71b3a2e575f88c564ff3670877">More...</a><br /></td></tr> <tr class="separator:a056b9e71b3a2e575f88c564ff3670877"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa28b268ea240f30ce6ae3bcd5492bd31"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#aa28b268ea240f30ce6ae3bcd5492bd31">log_trace1</a>(fmt, ...)</td></tr> <tr class="memdesc:aa28b268ea240f30ce6ae3bcd5492bd31"><td class="mdescLeft"> </td><td class="mdescRight">Log a trace1 message. <a href="#aa28b268ea240f30ce6ae3bcd5492bd31">More...</a><br /></td></tr> <tr class="separator:aa28b268ea240f30ce6ae3bcd5492bd31"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4e2d4601b27827189834beec2470fc92"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a4e2d4601b27827189834beec2470fc92">log_trace2</a>(fmt, ...)</td></tr> <tr class="memdesc:a4e2d4601b27827189834beec2470fc92"><td class="mdescLeft"> </td><td class="mdescRight">Log a trace2 message. <a href="#a4e2d4601b27827189834beec2470fc92">More...</a><br /></td></tr> <tr class="separator:a4e2d4601b27827189834beec2470fc92"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a67dd394e852230678863cb4139e5ccfd"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a67dd394e852230678863cb4139e5ccfd">lirc_log_is_enabled_for</a>(level)   (level <= <a class="el" href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a>)</td></tr> <tr class="memdesc:a67dd394e852230678863cb4139e5ccfd"><td class="mdescLeft"> </td><td class="mdescRight">Check if a given, standard loglevel should be printed. <a href="#a67dd394e852230678863cb4139e5ccfd">More...</a><br /></td></tr> <tr class="separator:a67dd394e852230678863cb4139e5ccfd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6df1d22fb5f09eccc23b9f399670cfd7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a6df1d22fb5f09eccc23b9f399670cfd7">STRINGIFY</a>(x)   #x</td></tr> <tr class="memdesc:a6df1d22fb5f09eccc23b9f399670cfd7"><td class="mdescLeft"> </td><td class="mdescRight">Helper macro for <a class="el" href="lirc__log_8h.html#a18d295a837ac71add5578860b55e5502" title="Return x in (double) quotes.">STR()</a>. <a href="#a6df1d22fb5f09eccc23b9f399670cfd7">More...</a><br /></td></tr> <tr class="separator:a6df1d22fb5f09eccc23b9f399670cfd7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a18d295a837ac71add5578860b55e5502"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a18d295a837ac71add5578860b55e5502">STR</a>(x)   <a class="el" href="lirc__log_8h.html#a6df1d22fb5f09eccc23b9f399670cfd7">STRINGIFY</a>(x)</td></tr> <tr class="memdesc:a18d295a837ac71add5578860b55e5502"><td class="mdescLeft"> </td><td class="mdescRight">Return x in (double) quotes. <a href="#a18d295a837ac71add5578860b55e5502">More...</a><br /></td></tr> <tr class="separator:a18d295a837ac71add5578860b55e5502"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa373c8d82f30ed0a8bf6d5234b335eb9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#aa373c8d82f30ed0a8bf6d5234b335eb9">chk_write</a>(fd, buf, count)   do_chk_write(fd, buf, count, <a class="el" href="lirc__log_8h.html#a18d295a837ac71add5578860b55e5502">STR</a>(__FILE__) ":" <a class="el" href="lirc__log_8h.html#a18d295a837ac71add5578860b55e5502">STR</a>(__LINE__))</td></tr> <tr class="memdesc:aa373c8d82f30ed0a8bf6d5234b335eb9"><td class="mdescLeft"> </td><td class="mdescRight">Wrapper for write(2) which logs errors. <a href="#aa373c8d82f30ed0a8bf6d5234b335eb9">More...</a><br /></td></tr> <tr class="separator:aa373c8d82f30ed0a8bf6d5234b335eb9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a251f1e577259210952afaf7ddb406c71"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a251f1e577259210952afaf7ddb406c71">chk_read</a>(fd, buf, count)   do_chk_read(fd, buf, count, <a class="el" href="lirc__log_8h.html#a18d295a837ac71add5578860b55e5502">STR</a>(__FILE__) ":" <a class="el" href="lirc__log_8h.html#a18d295a837ac71add5578860b55e5502">STR</a>(__LINE__))</td></tr> <tr class="memdesc:a251f1e577259210952afaf7ddb406c71"><td class="mdescLeft"> </td><td class="mdescRight">Wrapper for read(2) which logs errors. <a href="#a251f1e577259210952afaf7ddb406c71">More...</a><br /></td></tr> <tr class="separator:a251f1e577259210952afaf7ddb406c71"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a> Enumerations</h2></td></tr> <tr class="memitem:a24e101a095456e946efea0b971fc2ee3"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> { <br />   <b>LIRC_TRACE2</b> = 10, <b>LIRC_TRACE1</b> = 9, <b>LIRC_TRACE</b> = 8, <b>LIRC_DEBUG</b> = LOG_DEBUG, <br />   <b>LIRC_INFO</b> = LOG_INFO, <b>LIRC_NOTICE</b> = LOG_NOTICE, <b>LIRC_WARNING</b> = LOG_WARNING, <b>LIRC_ERROR</b> = LOG_ERR, <br />   <b>LIRC_NOLOG</b> = 0, <b>LIRC_BADLEVEL</b> = -1 <br /> }</td></tr> <tr class="memdesc:a24e101a095456e946efea0b971fc2ee3"><td class="mdescLeft"> </td><td class="mdescRight">The defined loglevels. <a href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">More...</a><br /></td></tr> <tr class="separator:a24e101a095456e946efea0b971fc2ee3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abffd9aa4ab9bcfacdbb9d7728037114b"><td class="memItemLeft" align="right" valign="top"><a id="abffd9aa4ab9bcfacdbb9d7728037114b"></a>enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#abffd9aa4ab9bcfacdbb9d7728037114b">logchannel_t</a> { <b>LOG_DRIVER</b> = 1, <b>LOG_LIB</b> = 4, <b>LOG_APP</b> = 8, <b>LOG_ALL</b> = 255 }</td></tr> <tr class="memdesc:abffd9aa4ab9bcfacdbb9d7728037114b"><td class="mdescLeft"> </td><td class="mdescRight">Log channels used to filter messages. <br /></td></tr> <tr class="separator:abffd9aa4ab9bcfacdbb9d7728037114b"><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:abf031435b06bf0e8a87af6b2ad58f499"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#abf031435b06bf0e8a87af6b2ad58f499">perrorf</a> (const char *format,...)</td></tr> <tr class="memdesc:abf031435b06bf0e8a87af6b2ad58f499"><td class="mdescLeft"> </td><td class="mdescRight">Adds printf-style arguments to perror(3). <a href="#abf031435b06bf0e8a87af6b2ad58f499">More...</a><br /></td></tr> <tr class="separator:abf031435b06bf0e8a87af6b2ad58f499"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a97d698fa0c9f913ba9b16c5b30af6f76"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a97d698fa0c9f913ba9b16c5b30af6f76">string2loglevel</a> (const char *level)</td></tr> <tr class="memdesc:a97d698fa0c9f913ba9b16c5b30af6f76"><td class="mdescLeft"> </td><td class="mdescRight">Convert a string, either a number or 'info', 'trace1', error etc. <a href="#a97d698fa0c9f913ba9b16c5b30af6f76">More...</a><br /></td></tr> <tr class="separator:a97d698fa0c9f913ba9b16c5b30af6f76"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a43d290e2c8b30ac1f72accfc0a22b9ba"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a43d290e2c8b30ac1f72accfc0a22b9ba">lirc_log_setlevel</a> (<a class="el" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> level)</td></tr> <tr class="memdesc:a43d290e2c8b30ac1f72accfc0a22b9ba"><td class="mdescLeft"> </td><td class="mdescRight">Set the level. <a href="#a43d290e2c8b30ac1f72accfc0a22b9ba">More...</a><br /></td></tr> <tr class="separator:a43d290e2c8b30ac1f72accfc0a22b9ba"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad9ecabbf33ad978a5dc9a265c3b16365"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#ad9ecabbf33ad978a5dc9a265c3b16365">lirc_log_defaultlevel</a> (void)</td></tr> <tr class="memdesc:ad9ecabbf33ad978a5dc9a265c3b16365"><td class="mdescLeft"> </td><td class="mdescRight">Get the default level, from environment or hardcoded. <a href="#ad9ecabbf33ad978a5dc9a265c3b16365">More...</a><br /></td></tr> <tr class="separator:ad9ecabbf33ad978a5dc9a265c3b16365"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a283ad387ae5bec5223df6d6a7589d2cb"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a283ad387ae5bec5223df6d6a7589d2cb">lirc_log_use_syslog</a> (void)</td></tr> <tr class="memdesc:a283ad387ae5bec5223df6d6a7589d2cb"><td class="mdescLeft"> </td><td class="mdescRight">Check if log is set up to use syslog or not. <a href="#a283ad387ae5bec5223df6d6a7589d2cb">More...</a><br /></td></tr> <tr class="separator:a283ad387ae5bec5223df6d6a7589d2cb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a29b67f5d1afc944a5c4487711d0f93b3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a29b67f5d1afc944a5c4487711d0f93b3">logprintf</a> (<a class="el" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> prio, const char *format_str,...)</td></tr> <tr class="memdesc:a29b67f5d1afc944a5c4487711d0f93b3"><td class="mdescLeft"> </td><td class="mdescRight">Write a message to the log. <a href="#a29b67f5d1afc944a5c4487711d0f93b3">More...</a><br /></td></tr> <tr class="separator:a29b67f5d1afc944a5c4487711d0f93b3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac68851f11aeac30180f524fc8dde4fab"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#ac68851f11aeac30180f524fc8dde4fab">logperror</a> (<a class="el" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> prio, const char *format,...)</td></tr> <tr class="memdesc:ac68851f11aeac30180f524fc8dde4fab"><td class="mdescLeft"> </td><td class="mdescRight">Log current kernel error with a given level. <a href="#ac68851f11aeac30180f524fc8dde4fab">More...</a><br /></td></tr> <tr class="separator:ac68851f11aeac30180f524fc8dde4fab"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af96aebf4f1b1b729d1b32ff2f00903ee"><td class="memItemLeft" align="right" valign="top"><a id="af96aebf4f1b1b729d1b32ff2f00903ee"></a> int </td><td class="memItemRight" valign="bottom"><b>lirc_log_reopen</b> (void)</td></tr> <tr class="separator:af96aebf4f1b1b729d1b32ff2f00903ee"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab9796198d8a199d20171fd6dcc46f215"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#ab9796198d8a199d20171fd6dcc46f215">lirc_log_open</a> (const char *progname, int _nodaemon, <a class="el" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> level)</td></tr> <tr class="memdesc:ab9796198d8a199d20171fd6dcc46f215"><td class="mdescLeft"> </td><td class="mdescRight">Open the log for upcoming logging. <a href="#ab9796198d8a199d20171fd6dcc46f215">More...</a><br /></td></tr> <tr class="separator:ab9796198d8a199d20171fd6dcc46f215"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac4cddc1f18ff055b1be8755c46d830bb"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#ac4cddc1f18ff055b1be8755c46d830bb">lirc_log_close</a> (void)</td></tr> <tr class="memdesc:ac4cddc1f18ff055b1be8755c46d830bb"><td class="mdescLeft"> </td><td class="mdescRight">Close the log previosly opened with <a class="el" href="lirc__log_8h.html#ab9796198d8a199d20171fd6dcc46f215" title="Open the log for upcoming logging.">lirc_log_open()</a>. <a href="#ac4cddc1f18ff055b1be8755c46d830bb">More...</a><br /></td></tr> <tr class="separator:ac4cddc1f18ff055b1be8755c46d830bb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2eaf417e2b2dd63861d17b2c836fe1b8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a2eaf417e2b2dd63861d17b2c836fe1b8">lirc_log_set_file</a> (const char *s)</td></tr> <tr class="memdesc:a2eaf417e2b2dd63861d17b2c836fe1b8"><td class="mdescLeft"> </td><td class="mdescRight">Set logfile. <a href="#a2eaf417e2b2dd63861d17b2c836fe1b8">More...</a><br /></td></tr> <tr class="separator:a2eaf417e2b2dd63861d17b2c836fe1b8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5af3dc8e52fabe122ac7ec52c6852885"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a5af3dc8e52fabe122ac7ec52c6852885">lirc_log_get_clientlog</a> (const char *basename, char *buffer, ssize_t size)</td></tr> <tr class="memdesc:a5af3dc8e52fabe122ac7ec52c6852885"><td class="mdescLeft"> </td><td class="mdescRight">Retrieve a client path for logging according to freedesktop specs. <a href="#a5af3dc8e52fabe122ac7ec52c6852885">More...</a><br /></td></tr> <tr class="separator:a5af3dc8e52fabe122ac7ec52c6852885"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a30ad875dc57527c9a0037df67bab420f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a30ad875dc57527c9a0037df67bab420f">hexdump</a> (char *prefix, unsigned char *buf, int len)</td></tr> <tr class="memdesc:a30ad875dc57527c9a0037df67bab420f"><td class="mdescLeft"> </td><td class="mdescRight">Print prefix + a hex dump of len bytes starting at *buf. <a href="#a30ad875dc57527c9a0037df67bab420f">More...</a><br /></td></tr> <tr class="separator:a30ad875dc57527c9a0037df67bab420f"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> <tr class="memitem:a1c0866a106e32b72cfa74e9d352b255d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a></td></tr> <tr class="memdesc:a1c0866a106e32b72cfa74e9d352b255d"><td class="mdescLeft"> </td><td class="mdescRight">The actual loglevel. <a href="#a1c0866a106e32b72cfa74e9d352b255d">More...</a><br /></td></tr> <tr class="separator:a1c0866a106e32b72cfa74e9d352b255d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a89cb5b9dc5bd51cced8ff8b53ba3b408"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lirc__log_8h.html#abffd9aa4ab9bcfacdbb9d7728037114b">logchannel_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a></td></tr> <tr class="memdesc:a89cb5b9dc5bd51cced8ff8b53ba3b408"><td class="mdescLeft"> </td><td class="mdescRight">The actual logchannel. <a href="#a89cb5b9dc5bd51cced8ff8b53ba3b408">More...</a><br /></td></tr> <tr class="separator:a89cb5b9dc5bd51cced8ff8b53ba3b408"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2b2397fb25253f9de2014ac16c7fcf15"><td class="memItemLeft" align="right" valign="top"><a id="a2b2397fb25253f9de2014ac16c7fcf15"></a> char </td><td class="memItemRight" valign="bottom"><b>progname</b> [128]</td></tr> <tr class="separator:a2b2397fb25253f9de2014ac16c7fcf15"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Logging functionality. </p> <p class="definition">Definition in file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div><h2 class="groupheader">Macro Definition Documentation</h2> <a id="a251f1e577259210952afaf7ddb406c71"></a> <h2 class="memtitle"><span class="permalink"><a href="#a251f1e577259210952afaf7ddb406c71">◆ </a></span>chk_read</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define chk_read</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">fd, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">buf, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">count </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   do_chk_read(fd, buf, count, <a class="el" href="lirc__log_8h.html#a18d295a837ac71add5578860b55e5502">STR</a>(__FILE__) ":" <a class="el" href="lirc__log_8h.html#a18d295a837ac71add5578860b55e5502">STR</a>(__LINE__))</td> </tr> </table> </div><div class="memdoc"> <p>Wrapper for read(2) which logs errors. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00220">220</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <a id="aa373c8d82f30ed0a8bf6d5234b335eb9"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa373c8d82f30ed0a8bf6d5234b335eb9">◆ </a></span>chk_write</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define chk_write</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">fd, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">buf, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">count </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   do_chk_write(fd, buf, count, <a class="el" href="lirc__log_8h.html#a18d295a837ac71add5578860b55e5502">STR</a>(__FILE__) ":" <a class="el" href="lirc__log_8h.html#a18d295a837ac71add5578860b55e5502">STR</a>(__LINE__))</td> </tr> </table> </div><div class="memdoc"> <p>Wrapper for write(2) which logs errors. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00215">215</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <a id="aec8c265923c6714be1f4a42e252bc872"></a> <h2 class="memtitle"><span class="permalink"><a href="#aec8c265923c6714be1f4a42e252bc872">◆ </a></span>DEFAULT_LOGLEVEL</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DEFAULT_LOGLEVEL   LIRC_INFO</td> </tr> </table> </div><div class="memdoc"> <p>Default loglevel (last resort). </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00079">79</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <a id="a67dd394e852230678863cb4139e5ccfd"></a> <h2 class="memtitle"><span class="permalink"><a href="#a67dd394e852230678863cb4139e5ccfd">◆ </a></span>lirc_log_is_enabled_for</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define lirc_log_is_enabled_for</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">level</td><td>)</td> <td>   (level <= <a class="el" href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a>)</td> </tr> </table> </div><div class="memdoc"> <p>Check if a given, standard loglevel should be printed. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00157">157</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <a id="aab936871da54fbececcc7afaa58eba05"></a> <h2 class="memtitle"><span class="permalink"><a href="#aab936871da54fbececcc7afaa58eba05">◆ </a></span>LIRC_MAX_LOGLEVEL</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LIRC_MAX_LOGLEVEL   LIRC_TRACE2</td> </tr> </table> </div><div class="memdoc"> <p>Max loglevel (for validation). </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00061">61</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <a id="a73d2617e7f322ed6323c901a825f3605"></a> <h2 class="memtitle"><span class="permalink"><a href="#a73d2617e7f322ed6323c901a825f3605">◆ </a></span>LIRC_MIN_LOGLEVEL</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LIRC_MIN_LOGLEVEL   LIRC_ERROR</td> </tr> </table> </div><div class="memdoc"> <p>Mix loglevel (for validation). </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00064">64</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <a id="a0e37223ab9f5df7af8cb2a59b7c4dc18"></a> <h2 class="memtitle"><span class="permalink"><a href="#a0e37223ab9f5df7af8cb2a59b7c4dc18">◆ </a></span>log_debug</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define log_debug</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">fmt, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <span class="keywordflow">if</span> ((logchannel & <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) && LIRC_DEBUG <= <a class="code" href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a>) \</div><div class="line"> { <a class="code" href="lirc__log_8h.html#a29b67f5d1afc944a5c4487711d0f93b3">logprintf</a>(LIRC_DEBUG, fmt, ##__VA_ARGS__); } }</div><div class="ttc" id="lirc__log_8h_html_a1c0866a106e32b72cfa74e9d352b255d"><div class="ttname"><a href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a></div><div class="ttdeci">loglevel_t loglevel</div><div class="ttdoc">The actual loglevel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00047">lirc_log.c:47</a></div></div> <div class="ttc" id="lirc__log_8h_html_a29b67f5d1afc944a5c4487711d0f93b3"><div class="ttname"><a href="lirc__log_8h.html#a29b67f5d1afc944a5c4487711d0f93b3">logprintf</a></div><div class="ttdeci">void logprintf(loglevel_t prio, const char *format_str,...)</div><div class="ttdoc">Write a message to the log.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00273">lirc_log.c:273</a></div></div> <div class="ttc" id="lirc__log_8h_html_a89cb5b9dc5bd51cced8ff8b53ba3b408"><div class="ttname"><a href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a></div><div class="ttdeci">logchannel_t logged_channels</div><div class="ttdoc">The actual logchannel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00049">lirc_log.c:49</a></div></div> </div><!-- fragment --> <p>Log a debug message. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00124">124</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <a id="a887f83dbb884a13949e4f2ad710e5ddf"></a> <h2 class="memtitle"><span class="permalink"><a href="#a887f83dbb884a13949e4f2ad710e5ddf">◆ </a></span>log_error</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define log_error</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">fmt, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <span class="keywordflow">if</span> ((logchannel & <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) && LIRC_ERROR <= <a class="code" href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a>) \</div><div class="line"> { <a class="code" href="lirc__log_8h.html#a29b67f5d1afc944a5c4487711d0f93b3">logprintf</a>(LIRC_ERROR, fmt, ##__VA_ARGS__); } }</div><div class="ttc" id="lirc__log_8h_html_a1c0866a106e32b72cfa74e9d352b255d"><div class="ttname"><a href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a></div><div class="ttdeci">loglevel_t loglevel</div><div class="ttdoc">The actual loglevel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00047">lirc_log.c:47</a></div></div> <div class="ttc" id="lirc__log_8h_html_a29b67f5d1afc944a5c4487711d0f93b3"><div class="ttname"><a href="lirc__log_8h.html#a29b67f5d1afc944a5c4487711d0f93b3">logprintf</a></div><div class="ttdeci">void logprintf(loglevel_t prio, const char *format_str,...)</div><div class="ttdoc">Write a message to the log.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00273">lirc_log.c:273</a></div></div> <div class="ttc" id="lirc__log_8h_html_a89cb5b9dc5bd51cced8ff8b53ba3b408"><div class="ttname"><a href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a></div><div class="ttdeci">logchannel_t logged_channels</div><div class="ttdoc">The actual logchannel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00049">lirc_log.c:49</a></div></div> </div><!-- fragment --> <p>Log an error message. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00104">104</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <a id="a442f23202cd03383ed8e3ec6bbae5bd2"></a> <h2 class="memtitle"><span class="permalink"><a href="#a442f23202cd03383ed8e3ec6bbae5bd2">◆ </a></span>log_info</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define log_info</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">fmt, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <span class="keywordflow">if</span> ((logchannel & <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) && LIRC_INFO <= <a class="code" href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a>) \</div><div class="line"> { <a class="code" href="lirc__log_8h.html#a29b67f5d1afc944a5c4487711d0f93b3">logprintf</a>(LIRC_INFO, fmt, ##__VA_ARGS__); } }</div><div class="ttc" id="lirc__log_8h_html_a1c0866a106e32b72cfa74e9d352b255d"><div class="ttname"><a href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a></div><div class="ttdeci">loglevel_t loglevel</div><div class="ttdoc">The actual loglevel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00047">lirc_log.c:47</a></div></div> <div class="ttc" id="lirc__log_8h_html_a29b67f5d1afc944a5c4487711d0f93b3"><div class="ttname"><a href="lirc__log_8h.html#a29b67f5d1afc944a5c4487711d0f93b3">logprintf</a></div><div class="ttdeci">void logprintf(loglevel_t prio, const char *format_str,...)</div><div class="ttdoc">Write a message to the log.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00273">lirc_log.c:273</a></div></div> <div class="ttc" id="lirc__log_8h_html_a89cb5b9dc5bd51cced8ff8b53ba3b408"><div class="ttname"><a href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a></div><div class="ttdeci">logchannel_t logged_channels</div><div class="ttdoc">The actual logchannel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00049">lirc_log.c:49</a></div></div> </div><!-- fragment --> <p>Log an info message. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00114">114</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <a id="a0ac90562e7d9fe7ee6b1b47801042a52"></a> <h2 class="memtitle"><span class="permalink"><a href="#a0ac90562e7d9fe7ee6b1b47801042a52">◆ </a></span>log_notice</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define log_notice</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">fmt, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <span class="keywordflow">if</span> ((logchannel & <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) && LIRC_NOTICE <= <a class="code" href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a>) \</div><div class="line"> { <a class="code" href="lirc__log_8h.html#a29b67f5d1afc944a5c4487711d0f93b3">logprintf</a>(LIRC_NOTICE, fmt, ##__VA_ARGS__); } }</div><div class="ttc" id="lirc__log_8h_html_a1c0866a106e32b72cfa74e9d352b255d"><div class="ttname"><a href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a></div><div class="ttdeci">loglevel_t loglevel</div><div class="ttdoc">The actual loglevel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00047">lirc_log.c:47</a></div></div> <div class="ttc" id="lirc__log_8h_html_a29b67f5d1afc944a5c4487711d0f93b3"><div class="ttname"><a href="lirc__log_8h.html#a29b67f5d1afc944a5c4487711d0f93b3">logprintf</a></div><div class="ttdeci">void logprintf(loglevel_t prio, const char *format_str,...)</div><div class="ttdoc">Write a message to the log.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00273">lirc_log.c:273</a></div></div> <div class="ttc" id="lirc__log_8h_html_a89cb5b9dc5bd51cced8ff8b53ba3b408"><div class="ttname"><a href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a></div><div class="ttdeci">logchannel_t logged_channels</div><div class="ttdoc">The actual logchannel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00049">lirc_log.c:49</a></div></div> </div><!-- fragment --> <p>Log a notice message. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00119">119</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <a id="a39b0aeccdec0c2315d0d2a143050ed0b"></a> <h2 class="memtitle"><span class="permalink"><a href="#a39b0aeccdec0c2315d0d2a143050ed0b">◆ </a></span>log_perror_debug</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define log_perror_debug</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">fmt, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <span class="keywordflow">if</span> ((logchannel & <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) && LIRC_DEBUG <= <a class="code" href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a>) \</div><div class="line"> { <a class="code" href="lirc__log_8h.html#ac68851f11aeac30180f524fc8dde4fab">logperror</a>(LIRC_WARNING, fmt, ##__VA_ARGS__); } }</div><div class="ttc" id="lirc__log_8h_html_a1c0866a106e32b72cfa74e9d352b255d"><div class="ttname"><a href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a></div><div class="ttdeci">loglevel_t loglevel</div><div class="ttdoc">The actual loglevel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00047">lirc_log.c:47</a></div></div> <div class="ttc" id="lirc__log_8h_html_ac68851f11aeac30180f524fc8dde4fab"><div class="ttname"><a href="lirc__log_8h.html#ac68851f11aeac30180f524fc8dde4fab">logperror</a></div><div class="ttdeci">void logperror(loglevel_t prio, const char *format,...)</div><div class="ttdoc">Log current kernel error with a given level.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00310">lirc_log.c:310</a></div></div> <div class="ttc" id="lirc__log_8h_html_a89cb5b9dc5bd51cced8ff8b53ba3b408"><div class="ttname"><a href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a></div><div class="ttdeci">logchannel_t logged_channels</div><div class="ttdoc">The actual logchannel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00049">lirc_log.c:49</a></div></div> </div><!-- fragment --> <p>perror wrapper logging with level LIRC_DEBUG. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00099">99</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <a id="a40b15bc69c970ddbc6984cabf213f9a0"></a> <h2 class="memtitle"><span class="permalink"><a href="#a40b15bc69c970ddbc6984cabf213f9a0">◆ </a></span>log_perror_err</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define log_perror_err</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">fmt, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <span class="keywordflow">if</span> ((logchannel & <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) && LIRC_ERROR <= <a class="code" href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a>) \</div><div class="line"> { <a class="code" href="lirc__log_8h.html#ac68851f11aeac30180f524fc8dde4fab">logperror</a>(LIRC_ERROR, fmt, ##__VA_ARGS__); } }</div><div class="ttc" id="lirc__log_8h_html_a1c0866a106e32b72cfa74e9d352b255d"><div class="ttname"><a href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a></div><div class="ttdeci">loglevel_t loglevel</div><div class="ttdoc">The actual loglevel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00047">lirc_log.c:47</a></div></div> <div class="ttc" id="lirc__log_8h_html_ac68851f11aeac30180f524fc8dde4fab"><div class="ttname"><a href="lirc__log_8h.html#ac68851f11aeac30180f524fc8dde4fab">logperror</a></div><div class="ttdeci">void logperror(loglevel_t prio, const char *format,...)</div><div class="ttdoc">Log current kernel error with a given level.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00310">lirc_log.c:310</a></div></div> <div class="ttc" id="lirc__log_8h_html_a89cb5b9dc5bd51cced8ff8b53ba3b408"><div class="ttname"><a href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a></div><div class="ttdeci">logchannel_t logged_channels</div><div class="ttdoc">The actual logchannel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00049">lirc_log.c:49</a></div></div> </div><!-- fragment --> <p>perror wrapper logging with level LIRC_ERROR. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00089">89</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <a id="a9a1bc3b439c0d122c4e82be836c6f531"></a> <h2 class="memtitle"><span class="permalink"><a href="#a9a1bc3b439c0d122c4e82be836c6f531">◆ </a></span>log_perror_warn</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define log_perror_warn</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">fmt, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <span class="keywordflow">if</span> ((logchannel & <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) && LIRC_WARNING <= <a class="code" href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a>) \</div><div class="line"> { <a class="code" href="lirc__log_8h.html#ac68851f11aeac30180f524fc8dde4fab">logperror</a>(LIRC_WARNING, fmt, ##__VA_ARGS__); } }</div><div class="ttc" id="lirc__log_8h_html_a1c0866a106e32b72cfa74e9d352b255d"><div class="ttname"><a href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a></div><div class="ttdeci">loglevel_t loglevel</div><div class="ttdoc">The actual loglevel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00047">lirc_log.c:47</a></div></div> <div class="ttc" id="lirc__log_8h_html_ac68851f11aeac30180f524fc8dde4fab"><div class="ttname"><a href="lirc__log_8h.html#ac68851f11aeac30180f524fc8dde4fab">logperror</a></div><div class="ttdeci">void logperror(loglevel_t prio, const char *format,...)</div><div class="ttdoc">Log current kernel error with a given level.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00310">lirc_log.c:310</a></div></div> <div class="ttc" id="lirc__log_8h_html_a89cb5b9dc5bd51cced8ff8b53ba3b408"><div class="ttname"><a href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a></div><div class="ttdeci">logchannel_t logged_channels</div><div class="ttdoc">The actual logchannel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00049">lirc_log.c:49</a></div></div> </div><!-- fragment --> <p>perror wrapper logging with level LIRC_WARNING. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00094">94</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <a id="a056b9e71b3a2e575f88c564ff3670877"></a> <h2 class="memtitle"><span class="permalink"><a href="#a056b9e71b3a2e575f88c564ff3670877">◆ </a></span>log_trace</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define log_trace</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">fmt, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <span class="keywordflow">if</span> ((logchannel & <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) && LIRC_TRACE <= <a class="code" href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a>) \</div><div class="line"> { <a class="code" href="lirc__log_8h.html#a29b67f5d1afc944a5c4487711d0f93b3">logprintf</a>(LIRC_TRACE, fmt, ##__VA_ARGS__); } }</div><div class="ttc" id="lirc__log_8h_html_a1c0866a106e32b72cfa74e9d352b255d"><div class="ttname"><a href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a></div><div class="ttdeci">loglevel_t loglevel</div><div class="ttdoc">The actual loglevel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00047">lirc_log.c:47</a></div></div> <div class="ttc" id="lirc__log_8h_html_a29b67f5d1afc944a5c4487711d0f93b3"><div class="ttname"><a href="lirc__log_8h.html#a29b67f5d1afc944a5c4487711d0f93b3">logprintf</a></div><div class="ttdeci">void logprintf(loglevel_t prio, const char *format_str,...)</div><div class="ttdoc">Write a message to the log.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00273">lirc_log.c:273</a></div></div> <div class="ttc" id="lirc__log_8h_html_a89cb5b9dc5bd51cced8ff8b53ba3b408"><div class="ttname"><a href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a></div><div class="ttdeci">logchannel_t logged_channels</div><div class="ttdoc">The actual logchannel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00049">lirc_log.c:49</a></div></div> </div><!-- fragment --> <p>Log a trace message. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00129">129</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <a id="aa28b268ea240f30ce6ae3bcd5492bd31"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa28b268ea240f30ce6ae3bcd5492bd31">◆ </a></span>log_trace1</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define log_trace1</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">fmt, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <span class="keywordflow">if</span> ((logchannel & <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) && LIRC_TRACE1 <= <a class="code" href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a>) \</div><div class="line"> { <a class="code" href="lirc__log_8h.html#a29b67f5d1afc944a5c4487711d0f93b3">logprintf</a>(LIRC_TRACE1, fmt, ##__VA_ARGS__); } }</div><div class="ttc" id="lirc__log_8h_html_a1c0866a106e32b72cfa74e9d352b255d"><div class="ttname"><a href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a></div><div class="ttdeci">loglevel_t loglevel</div><div class="ttdoc">The actual loglevel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00047">lirc_log.c:47</a></div></div> <div class="ttc" id="lirc__log_8h_html_a29b67f5d1afc944a5c4487711d0f93b3"><div class="ttname"><a href="lirc__log_8h.html#a29b67f5d1afc944a5c4487711d0f93b3">logprintf</a></div><div class="ttdeci">void logprintf(loglevel_t prio, const char *format_str,...)</div><div class="ttdoc">Write a message to the log.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00273">lirc_log.c:273</a></div></div> <div class="ttc" id="lirc__log_8h_html_a89cb5b9dc5bd51cced8ff8b53ba3b408"><div class="ttname"><a href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a></div><div class="ttdeci">logchannel_t logged_channels</div><div class="ttdoc">The actual logchannel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00049">lirc_log.c:49</a></div></div> </div><!-- fragment --> <p>Log a trace1 message. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00134">134</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <a id="a4e2d4601b27827189834beec2470fc92"></a> <h2 class="memtitle"><span class="permalink"><a href="#a4e2d4601b27827189834beec2470fc92">◆ </a></span>log_trace2</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define log_trace2</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">fmt, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <span class="keywordflow">if</span> ((logchannel & <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) && LIRC_TRACE2 <= <a class="code" href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a>) \</div><div class="line"> { <a class="code" href="lirc__log_8h.html#a29b67f5d1afc944a5c4487711d0f93b3">logprintf</a>(LIRC_TRACE2, fmt, ##__VA_ARGS__); } }</div><div class="ttc" id="lirc__log_8h_html_a1c0866a106e32b72cfa74e9d352b255d"><div class="ttname"><a href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a></div><div class="ttdeci">loglevel_t loglevel</div><div class="ttdoc">The actual loglevel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00047">lirc_log.c:47</a></div></div> <div class="ttc" id="lirc__log_8h_html_a29b67f5d1afc944a5c4487711d0f93b3"><div class="ttname"><a href="lirc__log_8h.html#a29b67f5d1afc944a5c4487711d0f93b3">logprintf</a></div><div class="ttdeci">void logprintf(loglevel_t prio, const char *format_str,...)</div><div class="ttdoc">Write a message to the log.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00273">lirc_log.c:273</a></div></div> <div class="ttc" id="lirc__log_8h_html_a89cb5b9dc5bd51cced8ff8b53ba3b408"><div class="ttname"><a href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a></div><div class="ttdeci">logchannel_t logged_channels</div><div class="ttdoc">The actual logchannel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00049">lirc_log.c:49</a></div></div> </div><!-- fragment --> <p>Log a trace2 message. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00139">139</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <a id="afd2d22d45a6b32ff3ff8ea73013f09dc"></a> <h2 class="memtitle"><span class="permalink"><a href="#afd2d22d45a6b32ff3ff8ea73013f09dc">◆ </a></span>log_warn</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define log_warn</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">fmt, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <span class="keywordflow">if</span> ((logchannel & <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) && LIRC_WARNING <= <a class="code" href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a>) \</div><div class="line"> { <a class="code" href="lirc__log_8h.html#a29b67f5d1afc944a5c4487711d0f93b3">logprintf</a>(LIRC_WARNING, fmt, ##__VA_ARGS__); } }</div><div class="ttc" id="lirc__log_8h_html_a1c0866a106e32b72cfa74e9d352b255d"><div class="ttname"><a href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a></div><div class="ttdeci">loglevel_t loglevel</div><div class="ttdoc">The actual loglevel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00047">lirc_log.c:47</a></div></div> <div class="ttc" id="lirc__log_8h_html_a29b67f5d1afc944a5c4487711d0f93b3"><div class="ttname"><a href="lirc__log_8h.html#a29b67f5d1afc944a5c4487711d0f93b3">logprintf</a></div><div class="ttdeci">void logprintf(loglevel_t prio, const char *format_str,...)</div><div class="ttdoc">Write a message to the log.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00273">lirc_log.c:273</a></div></div> <div class="ttc" id="lirc__log_8h_html_a89cb5b9dc5bd51cced8ff8b53ba3b408"><div class="ttname"><a href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a></div><div class="ttdeci">logchannel_t logged_channels</div><div class="ttdoc">The actual logchannel.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00049">lirc_log.c:49</a></div></div> </div><!-- fragment --> <p>Log a warning message. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00109">109</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <a id="aaba0fdc653c790307b8857e38cf1322c"></a> <h2 class="memtitle"><span class="permalink"><a href="#aaba0fdc653c790307b8857e38cf1322c">◆ </a></span>logmax</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define logmax</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">l</td><td>)</td> <td>   (l > LIRC_DEBUG ? LIRC_DEBUG : l)</td> </tr> </table> </div><div class="memdoc"> <p>Max level logged in actual logfile. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00085">85</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <a id="a18d295a837ac71add5578860b55e5502"></a> <h2 class="memtitle"><span class="permalink"><a href="#a18d295a837ac71add5578860b55e5502">◆ </a></span>STR</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define STR</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   <a class="el" href="lirc__log_8h.html#a6df1d22fb5f09eccc23b9f399670cfd7">STRINGIFY</a>(x)</td> </tr> </table> </div><div class="memdoc"> <p>Return x in (double) quotes. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00212">212</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <a id="a6df1d22fb5f09eccc23b9f399670cfd7"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6df1d22fb5f09eccc23b9f399670cfd7">◆ </a></span>STRINGIFY</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define STRINGIFY</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   #x</td> </tr> </table> </div><div class="memdoc"> <p>Helper macro for <a class="el" href="lirc__log_8h.html#a18d295a837ac71add5578860b55e5502" title="Return x in (double) quotes.">STR()</a>. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00209">209</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <h2 class="groupheader">Enumeration Type Documentation</h2> <a id="a24e101a095456e946efea0b971fc2ee3"></a> <h2 class="memtitle"><span class="permalink"><a href="#a24e101a095456e946efea0b971fc2ee3">◆ </a></span>loglevel_t</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a></td> </tr> </table> </div><div class="memdoc"> <p>The defined loglevels. </p> <p>LIRC_TRACE..LIRC_TRACE2 is mapped to LIRC_DEBUG in outputted messages, but generates more messages than DEBUG. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8h_source.html#l00036">36</a> of file <a class="el" href="lirc__log_8h_source.html">lirc_log.h</a>.</p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a id="a30ad875dc57527c9a0037df67bab420f"></a> <h2 class="memtitle"><span class="permalink"><a href="#a30ad875dc57527c9a0037df67bab420f">◆ </a></span>hexdump()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void hexdump </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"><em>prefix</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned char * </td> <td class="paramname"><em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>len</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Print prefix + a hex dump of len bytes starting at *buf. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8c_source.html#l00369">369</a> of file <a class="el" href="lirc__log_8c_source.html">lirc_log.c</a>.</p> </div> </div> <a id="ac4cddc1f18ff055b1be8755c46d830bb"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac4cddc1f18ff055b1be8755c46d830bb">◆ </a></span>lirc_log_close()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int lirc_log_close </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Close the log previosly opened with <a class="el" href="lirc__log_8h.html#ab9796198d8a199d20171fd6dcc46f215" title="Open the log for upcoming logging.">lirc_log_open()</a>. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8c_source.html#l00137">137</a> of file <a class="el" href="lirc__log_8c_source.html">lirc_log.c</a>.</p> </div> </div> <a id="ad9ecabbf33ad978a5dc9a265c3b16365"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad9ecabbf33ad978a5dc9a265c3b16365">◆ </a></span>lirc_log_defaultlevel()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> lirc_log_defaultlevel </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 default level, from environment or hardcoded. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8c_source.html#l00219">219</a> of file <a class="el" href="lirc__log_8c_source.html">lirc_log.c</a>.</p> </div> </div> <a id="a5af3dc8e52fabe122ac7ec52c6852885"></a> <h2 class="memtitle"><span class="permalink"><a href="#a5af3dc8e52fabe122ac7ec52c6852885">◆ </a></span>lirc_log_get_clientlog()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int lirc_log_get_clientlog </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>basename</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>buffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">ssize_t </td> <td class="paramname"><em>size</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Retrieve a client path for logging according to freedesktop specs. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">basename</td><td>Basename for the logfile. </td></tr> <tr><td class="paramname">buff</td><td>Buffer to store result in. </td></tr> <tr><td class="paramname">size</td><td>Size of buffer </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 if OK, otherwise -1 </dd></dl> <p class="definition">Definition at line <a class="el" href="lirc__log_8c_source.html#l00332">332</a> of file <a class="el" href="lirc__log_8c_source.html">lirc_log.c</a>.</p> </div> </div> <a id="ab9796198d8a199d20171fd6dcc46f215"></a> <h2 class="memtitle"><span class="permalink"><a href="#ab9796198d8a199d20171fd6dcc46f215">◆ </a></span>lirc_log_open()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int lirc_log_open </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>progname</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>_nodaemon</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> </td> <td class="paramname"><em>level</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Open the log for upcoming logging. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">progname</td><td>Name of application, made available in global progname </td></tr> <tr><td class="paramname">nodaemon</td><td>If true, program runs in foreground and logging is on also on stdout. </td></tr> <tr><td class="paramname">level</td><td>The lowest level of messages to actually be logged. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 if OK, else positive error code. </dd></dl> <p class="definition">Definition at line <a class="el" href="lirc__log_8c_source.html#l00095">95</a> of file <a class="el" href="lirc__log_8c_source.html">lirc_log.c</a>.</p> </div> </div> <a id="a2eaf417e2b2dd63861d17b2c836fe1b8"></a> <h2 class="memtitle"><span class="permalink"><a href="#a2eaf417e2b2dd63861d17b2c836fe1b8">◆ </a></span>lirc_log_set_file()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void lirc_log_set_file </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>s</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Set logfile. </p> <p>Either a regular path or the string 'syslog'; the latter does indeed use syslog(1) instead. Must be called before <a class="el" href="lirc__log_8h.html#ab9796198d8a199d20171fd6dcc46f215" title="Open the log for upcoming logging.">lirc_log_open()</a>. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8c_source.html#l00084">84</a> of file <a class="el" href="lirc__log_8c_source.html">lirc_log.c</a>.</p> </div> </div> <a id="a43d290e2c8b30ac1f72accfc0a22b9ba"></a> <h2 class="memtitle"><span class="permalink"><a href="#a43d290e2c8b30ac1f72accfc0a22b9ba">◆ </a></span>lirc_log_setlevel()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int lirc_log_setlevel </td> <td>(</td> <td class="paramtype"><a class="el" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> </td> <td class="paramname"><em>level</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Set the level. </p> <p>Returns 1 if ok, 0 on errors. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8c_source.html#l00179">179</a> of file <a class="el" href="lirc__log_8c_source.html">lirc_log.c</a>.</p> </div> </div> <a id="a283ad387ae5bec5223df6d6a7589d2cb"></a> <h2 class="memtitle"><span class="permalink"><a href="#a283ad387ae5bec5223df6d6a7589d2cb">◆ </a></span>lirc_log_use_syslog()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int lirc_log_use_syslog </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Check if log is set up to use syslog or not. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8c_source.html#l00078">78</a> of file <a class="el" href="lirc__log_8c_source.html">lirc_log.c</a>.</p> </div> </div> <a id="ac68851f11aeac30180f524fc8dde4fab"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac68851f11aeac30180f524fc8dde4fab">◆ </a></span>logperror()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void logperror </td> <td>(</td> <td class="paramtype"><a class="el" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> </td> <td class="paramname"><em>prio</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>fmt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Log current kernel error with a given level. </p> <p>Log current kernel error with a given level.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">prio</td><td>Priority of log request. </td></tr> <tr><td class="paramname">fmt</td><td>printf-style format string </td></tr> </table> </dd> </dl> <p class="definition">Definition at line <a class="el" href="lirc__log_8c_source.html#l00310">310</a> of file <a class="el" href="lirc__log_8c_source.html">lirc_log.c</a>.</p> </div> </div> <a id="a29b67f5d1afc944a5c4487711d0f93b3"></a> <h2 class="memtitle"><span class="permalink"><a href="#a29b67f5d1afc944a5c4487711d0f93b3">◆ </a></span>logprintf()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void logprintf </td> <td>(</td> <td class="paramtype"><a class="el" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> </td> <td class="paramname"><em>prio</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>format_str</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Write a message to the log. </p> <p>Caller should use the log_ macros and not call this directly.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">prio</td><td>Level of message </td></tr> <tr><td class="paramname">format_str,...</td><td>printf-style string.</td></tr> </table> </dd> </dl> <p>Caller should use the log_ macros and not call this directly. </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">prio</td><td>Priority of log request </td></tr> <tr><td class="paramname">format_str</td><td>Format string in the usual C sense. </td></tr> <tr><td class="paramname">...</td><td>Additional vararg parameters. </td></tr> </table> </dd> </dl> <p class="definition">Definition at line <a class="el" href="lirc__log_8c_source.html#l00273">273</a> of file <a class="el" href="lirc__log_8c_source.html">lirc_log.c</a>.</p> </div> </div> <a id="abf031435b06bf0e8a87af6b2ad58f499"></a> <h2 class="memtitle"><span class="permalink"><a href="#abf031435b06bf0e8a87af6b2ad58f499">◆ </a></span>perrorf()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void perrorf </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>format</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Adds printf-style arguments to perror(3). </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8c_source.html#l00254">254</a> of file <a class="el" href="lirc__log_8c_source.html">lirc_log.c</a>.</p> </div> </div> <a id="a97d698fa0c9f913ba9b16c5b30af6f76"></a> <h2 class="memtitle"><span class="permalink"><a href="#a97d698fa0c9f913ba9b16c5b30af6f76">◆ </a></span>string2loglevel()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> string2loglevel </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>level</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Convert a string, either a number or 'info', 'trace1', error etc. </p> <p>to a loglevel. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8c_source.html#l00234">234</a> of file <a class="el" href="lirc__log_8c_source.html">lirc_log.c</a>.</p> </div> </div> <h2 class="groupheader">Variable Documentation</h2> <a id="a89cb5b9dc5bd51cced8ff8b53ba3b408"></a> <h2 class="memtitle"><span class="permalink"><a href="#a89cb5b9dc5bd51cced8ff8b53ba3b408">◆ </a></span>logged_channels</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="lirc__log_8h.html#abffd9aa4ab9bcfacdbb9d7728037114b">logchannel_t</a> logged_channels</td> </tr> </table> </div><div class="memdoc"> <p>The actual logchannel. </p> <p>Should not be changed directly by external code. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8c_source.html#l00049">49</a> of file <a class="el" href="lirc__log_8c_source.html">lirc_log.c</a>.</p> </div> </div> <a id="a1c0866a106e32b72cfa74e9d352b255d"></a> <h2 class="memtitle"><span class="permalink"><a href="#a1c0866a106e32b72cfa74e9d352b255d">◆ </a></span>loglevel</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> loglevel</td> </tr> </table> </div><div class="memdoc"> <p>The actual loglevel. </p> <p>Should not be changed directly by external code. </p> <p class="definition">Definition at line <a class="el" href="lirc__log_8c_source.html#l00047">47</a> of file <a class="el" href="lirc__log_8c_source.html">lirc_log.c</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_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li><li class="navelem"><a class="el" href="lirc__log_8h.html">lirc_log.h</a></li> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li> </ul> </div> </body> </html>