Sophie

Sophie

distrib > Mageia > 7 > armv7hl > by-pkgid > eb6f01499a5d4428f90019094419e1c5 > files > 376

liblirc-devel-0.10.1-7.mga7.armv7hl.rpm

<!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&amp;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&amp;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&amp;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&amp;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> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> &#124;
<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> &#124; <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 &lt;syslog.h&gt;</code><br />
<code>#include &lt;sys/time.h&gt;</code><br />
<code>#include &lt;stdio.h&gt;</code><br />
<code>#include &lt;unistd.h&gt;</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&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#aab936871da54fbececcc7afaa58eba05">LIRC_MAX_LOGLEVEL</a>&#160;&#160;&#160;LIRC_TRACE2</td></tr>
<tr class="memdesc:aab936871da54fbececcc7afaa58eba05"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:a73d2617e7f322ed6323c901a825f3605"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a73d2617e7f322ed6323c901a825f3605">LIRC_MIN_LOGLEVEL</a>&#160;&#160;&#160;LIRC_ERROR</td></tr>
<tr class="memdesc:a73d2617e7f322ed6323c901a825f3605"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:aec8c265923c6714be1f4a42e252bc872"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#aec8c265923c6714be1f4a42e252bc872">DEFAULT_LOGLEVEL</a>&#160;&#160;&#160;LIRC_INFO</td></tr>
<tr class="memdesc:aec8c265923c6714be1f4a42e252bc872"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:aaba0fdc653c790307b8857e38cf1322c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#aaba0fdc653c790307b8857e38cf1322c">logmax</a>(l)&#160;&#160;&#160;(l &gt; LIRC_DEBUG ? LIRC_DEBUG : l)</td></tr>
<tr class="memdesc:aaba0fdc653c790307b8857e38cf1322c"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:a40b15bc69c970ddbc6984cabf213f9a0"><td class="memItemLeft" align="right" valign="top">#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a9a1bc3b439c0d122c4e82be836c6f531"><td class="memItemLeft" align="right" valign="top">#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a39b0aeccdec0c2315d0d2a143050ed0b"><td class="memItemLeft" align="right" valign="top">#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a887f83dbb884a13949e4f2ad710e5ddf"><td class="memItemLeft" align="right" valign="top">#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:afd2d22d45a6b32ff3ff8ea73013f09dc"><td class="memItemLeft" align="right" valign="top">#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a442f23202cd03383ed8e3ec6bbae5bd2"><td class="memItemLeft" align="right" valign="top">#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a0ac90562e7d9fe7ee6b1b47801042a52"><td class="memItemLeft" align="right" valign="top">#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a0e37223ab9f5df7af8cb2a59b7c4dc18"><td class="memItemLeft" align="right" valign="top">#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a056b9e71b3a2e575f88c564ff3670877"><td class="memItemLeft" align="right" valign="top">#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:aa28b268ea240f30ce6ae3bcd5492bd31"><td class="memItemLeft" align="right" valign="top">#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a4e2d4601b27827189834beec2470fc92"><td class="memItemLeft" align="right" valign="top">#define&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a67dd394e852230678863cb4139e5ccfd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a67dd394e852230678863cb4139e5ccfd">lirc_log_is_enabled_for</a>(level)&#160;&#160;&#160;(level &lt;= <a class="el" href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a>)</td></tr>
<tr class="memdesc:a67dd394e852230678863cb4139e5ccfd"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:a6df1d22fb5f09eccc23b9f399670cfd7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a6df1d22fb5f09eccc23b9f399670cfd7">STRINGIFY</a>(x)&#160;&#160;&#160;#x</td></tr>
<tr class="memdesc:a6df1d22fb5f09eccc23b9f399670cfd7"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:a18d295a837ac71add5578860b55e5502"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a18d295a837ac71add5578860b55e5502">STR</a>(x)&#160;&#160;&#160;<a class="el" href="lirc__log_8h.html#a6df1d22fb5f09eccc23b9f399670cfd7">STRINGIFY</a>(x)</td></tr>
<tr class="memdesc:a18d295a837ac71add5578860b55e5502"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:aa373c8d82f30ed0a8bf6d5234b335eb9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#aa373c8d82f30ed0a8bf6d5234b335eb9">chk_write</a>(fd,  buf,  count)&#160;&#160;&#160;do_chk_write(fd, buf, count, <a class="el" href="lirc__log_8h.html#a18d295a837ac71add5578860b55e5502">STR</a>(__FILE__) &quot;:&quot; <a class="el" href="lirc__log_8h.html#a18d295a837ac71add5578860b55e5502">STR</a>(__LINE__))</td></tr>
<tr class="memdesc:aa373c8d82f30ed0a8bf6d5234b335eb9"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:a251f1e577259210952afaf7ddb406c71"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a251f1e577259210952afaf7ddb406c71">chk_read</a>(fd,  buf,  count)&#160;&#160;&#160;do_chk_read(fd, buf, count, <a class="el" href="lirc__log_8h.html#a18d295a837ac71add5578860b55e5502">STR</a>(__FILE__) &quot;:&quot; <a class="el" href="lirc__log_8h.html#a18d295a837ac71add5578860b55e5502">STR</a>(__LINE__))</td></tr>
<tr class="memdesc:a251f1e577259210952afaf7ddb406c71"><td class="mdescLeft">&#160;</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">&#160;</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 &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> { <br />
&#160;&#160;<b>LIRC_TRACE2</b> = 10, 
<b>LIRC_TRACE1</b> = 9, 
<b>LIRC_TRACE</b> = 8, 
<b>LIRC_DEBUG</b> = LOG_DEBUG, 
<br />
&#160;&#160;<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 />
&#160;&#160;<b>LIRC_NOLOG</b> = 0, 
<b>LIRC_BADLEVEL</b> = -1
<br />
 }</td></tr>
<tr class="memdesc:a24e101a095456e946efea0b971fc2ee3"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:abffd9aa4ab9bcfacdbb9d7728037114b"><td class="memItemLeft" align="right" valign="top"><a id="abffd9aa4ab9bcfacdbb9d7728037114b"></a>enum &#160;</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">&#160;</td><td class="mdescRight">Log channels used to filter messages. <br /></td></tr>
<tr class="separator:abffd9aa4ab9bcfacdbb9d7728037114b"><td class="memSeparator" colspan="2">&#160;</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&#160;</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">&#160;</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">&#160;</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>&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a43d290e2c8b30ac1f72accfc0a22b9ba"><td class="memItemLeft" align="right" valign="top">int&#160;</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">&#160;</td><td class="mdescRight">Set the level.  <a href="#a43d290e2c8b30ac1f72accfc0a22b9ba">More...</a><br /></td></tr>
<tr class="separator:a43d290e2c8b30ac1f72accfc0a22b9ba"><td class="memSeparator" colspan="2">&#160;</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>&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a283ad387ae5bec5223df6d6a7589d2cb"><td class="memItemLeft" align="right" valign="top">int&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a29b67f5d1afc944a5c4487711d0f93b3"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:ac68851f11aeac30180f524fc8dde4fab"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:af96aebf4f1b1b729d1b32ff2f00903ee"><td class="memItemLeft" align="right" valign="top"><a id="af96aebf4f1b1b729d1b32ff2f00903ee"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>lirc_log_reopen</b> (void)</td></tr>
<tr class="separator:af96aebf4f1b1b729d1b32ff2f00903ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9796198d8a199d20171fd6dcc46f215"><td class="memItemLeft" align="right" valign="top">int&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:ac4cddc1f18ff055b1be8755c46d830bb"><td class="memItemLeft" align="right" valign="top">int&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a2eaf417e2b2dd63861d17b2c836fe1b8"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</td><td class="mdescRight">Set logfile.  <a href="#a2eaf417e2b2dd63861d17b2c836fe1b8">More...</a><br /></td></tr>
<tr class="separator:a2eaf417e2b2dd63861d17b2c836fe1b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5af3dc8e52fabe122ac7ec52c6852885"><td class="memItemLeft" align="right" valign="top">int&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a30ad875dc57527c9a0037df67bab420f"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</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>&#160;</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">&#160;</td><td class="mdescRight">The actual loglevel.  <a href="#a1c0866a106e32b72cfa74e9d352b255d">More...</a><br /></td></tr>
<tr class="separator:a1c0866a106e32b72cfa74e9d352b255d"><td class="memSeparator" colspan="2">&#160;</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>&#160;</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">&#160;</td><td class="mdescRight">The actual logchannel.  <a href="#a89cb5b9dc5bd51cced8ff8b53ba3b408">More...</a><br /></td></tr>
<tr class="separator:a89cb5b9dc5bd51cced8ff8b53ba3b408"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b2397fb25253f9de2014ac16c7fcf15"><td class="memItemLeft" align="right" valign="top"><a id="a2b2397fb25253f9de2014ac16c7fcf15"></a>
char&#160;</td><td class="memItemRight" valign="bottom"><b>progname</b> [128]</td></tr>
<tr class="separator:a2b2397fb25253f9de2014ac16c7fcf15"><td class="memSeparator" colspan="2">&#160;</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">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">fd, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">buf, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">count&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;do_chk_read(fd, buf, count, <a class="el" href="lirc__log_8h.html#a18d295a837ac71add5578860b55e5502">STR</a>(__FILE__) &quot;:&quot; <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">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">fd, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">buf, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">count&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;do_chk_write(fd, buf, count, <a class="el" href="lirc__log_8h.html#a18d295a837ac71add5578860b55e5502">STR</a>(__FILE__) &quot;:&quot; <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">&#9670;&nbsp;</a></span>DEFAULT_LOGLEVEL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DEFAULT_LOGLEVEL&#160;&#160;&#160;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">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">level</td><td>)</td>
          <td>&#160;&#160;&#160;(level &lt;= <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">&#9670;&nbsp;</a></span>LIRC_MAX_LOGLEVEL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIRC_MAX_LOGLEVEL&#160;&#160;&#160;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">&#9670;&nbsp;</a></span>LIRC_MIN_LOGLEVEL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIRC_MIN_LOGLEVEL&#160;&#160;&#160;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">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">fmt, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</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 &amp; <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) &amp;&amp; LIRC_DEBUG &lt;= <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">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">fmt, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</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 &amp; <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) &amp;&amp; LIRC_ERROR &lt;= <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">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">fmt, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</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 &amp; <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) &amp;&amp; LIRC_INFO &lt;= <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">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">fmt, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</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 &amp; <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) &amp;&amp; LIRC_NOTICE &lt;= <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">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">fmt, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</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 &amp; <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) &amp;&amp; LIRC_DEBUG &lt;= <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">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">fmt, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</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 &amp; <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) &amp;&amp; LIRC_ERROR &lt;= <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">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">fmt, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</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 &amp; <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) &amp;&amp; LIRC_WARNING &lt;= <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">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">fmt, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</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 &amp; <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) &amp;&amp; LIRC_TRACE &lt;= <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">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">fmt, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</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 &amp; <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) &amp;&amp; LIRC_TRACE1 &lt;= <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">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">fmt, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</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 &amp; <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) &amp;&amp; LIRC_TRACE2 &lt;= <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">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">fmt, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</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 &amp; <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>) &amp;&amp; LIRC_WARNING &lt;= <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">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">l</td><td>)</td>
          <td>&#160;&#160;&#160;(l &gt; 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">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">x</td><td>)</td>
          <td>&#160;&#160;&#160;<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">&#9670;&nbsp;</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">&#160;</td>
          <td class="paramname">x</td><td>)</td>
          <td>&#160;&#160;&#160;#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">&#9670;&nbsp;</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">&#9670;&nbsp;</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 *&#160;</td>
          <td class="paramname"><em>prefix</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>len</em>&#160;</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">&#9670;&nbsp;</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&#160;</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">&#9670;&nbsp;</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&#160;</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">&#9670;&nbsp;</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 *&#160;</td>
          <td class="paramname"><em>basename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ssize_t&#160;</td>
          <td class="paramname"><em>size</em>&#160;</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">&#9670;&nbsp;</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 *&#160;</td>
          <td class="paramname"><em>progname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</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>&#160;</td>
          <td class="paramname"><em>level</em>&#160;</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">&#9670;&nbsp;</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 *&#160;</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">&#9670;&nbsp;</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>&#160;</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">&#9670;&nbsp;</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&#160;</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">&#9670;&nbsp;</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>&#160;</td>
          <td class="paramname"><em>prio</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>fmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</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">&#9670;&nbsp;</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>&#160;</td>
          <td class="paramname"><em>prio</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>format_str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</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">&#9670;&nbsp;</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 *&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</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">&#9670;&nbsp;</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 *&#160;</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">&#9670;&nbsp;</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">&#9670;&nbsp;</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>