<!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 Source File</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_source.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="headertitle"> <div class="title">lirc_log.h</div> </div> </div><!--header--> <div class="contents"> <a href="lirc__log_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/****************************************************************************</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">** lirc_log.h **************************************************************</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">****************************************************************************</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">*</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">*/</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> </div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#ifndef _LIRC_LOG_H</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#define _LIRC_LOG_H</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include <syslog.h></span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include <sys/time.h></span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include <stdio.h></span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include <unistd.h></span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3"> 36</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  LIRC_TRACE2 = 10,</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  LIRC_TRACE1 = 9,</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  LIRC_TRACE = 8,</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  LIRC_DEBUG = LOG_DEBUG,</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  LIRC_INFO = LOG_INFO,</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  LIRC_NOTICE = LOG_NOTICE,</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  LIRC_WARNING = LOG_WARNING,</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  LIRC_ERROR = LOG_ERR,</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  LIRC_NOLOG = 0,</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  LIRC_BADLEVEL = -1</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> } <a class="code" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#abffd9aa4ab9bcfacdbb9d7728037114b"> 53</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  LOG_DRIVER = 1,</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  LOG_LIB = 4,</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  LOG_APP = 8,</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  LOG_ALL = 255</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> } <a class="code" href="lirc__log_8h.html#abffd9aa4ab9bcfacdbb9d7728037114b">logchannel_t</a>;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#aab936871da54fbececcc7afaa58eba05"> 61</a></span> <span class="preprocessor">#define LIRC_MAX_LOGLEVEL LIRC_TRACE2</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#a73d2617e7f322ed6323c901a825f3605"> 64</a></span> <span class="preprocessor">#define LIRC_MIN_LOGLEVEL LIRC_ERROR</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">void</span> <a class="code" href="lirc__log_8h.html#abf031435b06bf0e8a87af6b2ad58f499">perrorf</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* format, ...);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">extern</span> <a class="code" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> <a class="code" href="lirc__log_8h.html#a1c0866a106e32b72cfa74e9d352b255d">loglevel</a>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">extern</span> <a class="code" href="lirc__log_8h.html#abffd9aa4ab9bcfacdbb9d7728037114b">logchannel_t</a> <a class="code" href="lirc__log_8h.html#a89cb5b9dc5bd51cced8ff8b53ba3b408">logged_channels</a>;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">/* Set by lirc_log_open, convenience copy for clients. */</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">extern</span> <span class="keywordtype">char</span> progname[128];</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#aec8c265923c6714be1f4a42e252bc872"> 79</a></span> <span class="preprocessor">#define DEFAULT_LOGLEVEL LIRC_INFO</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor">#define logmax(l) (l > LIRC_DEBUG ? LIRC_DEBUG : static_cast <loglevel_t>(l))</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#aaba0fdc653c790307b8857e38cf1322c"> 85</a></span> <span class="preprocessor">#define logmax(l) (l > LIRC_DEBUG ? LIRC_DEBUG : l)</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#a40b15bc69c970ddbc6984cabf213f9a0"> 89</a></span> <span class="preprocessor">#define log_perror_err(fmt, ...) \</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor"> { if ((logchannel & logged_channels) && LIRC_ERROR <= loglevel) \</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="preprocessor"> { logperror(LIRC_ERROR, fmt, ##__VA_ARGS__); } }</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#a9a1bc3b439c0d122c4e82be836c6f531"> 94</a></span> <span class="preprocessor">#define log_perror_warn(fmt, ...) \</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor"> { if ((logchannel & logged_channels) && LIRC_WARNING <= loglevel) \</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor"> { logperror(LIRC_WARNING, fmt, ##__VA_ARGS__); } }</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#a39b0aeccdec0c2315d0d2a143050ed0b"> 99</a></span> <span class="preprocessor">#define log_perror_debug(fmt, ...) \</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="preprocessor"> { if ((logchannel & logged_channels) && LIRC_DEBUG <= loglevel) \</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="preprocessor"> { logperror(LIRC_WARNING, fmt, ##__VA_ARGS__); } }</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#a887f83dbb884a13949e4f2ad710e5ddf"> 104</a></span> <span class="preprocessor">#define log_error(fmt, ...) \</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="preprocessor"> { if ((logchannel & logged_channels) && LIRC_ERROR <= loglevel) \</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="preprocessor"> { logprintf(LIRC_ERROR, fmt, ##__VA_ARGS__); } }</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#afd2d22d45a6b32ff3ff8ea73013f09dc"> 109</a></span> <span class="preprocessor">#define log_warn(fmt, ...) \</span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor"> { if ((logchannel & logged_channels) && LIRC_WARNING <= loglevel) \</span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="preprocessor"> { logprintf(LIRC_WARNING, fmt, ##__VA_ARGS__); } }</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#a442f23202cd03383ed8e3ec6bbae5bd2"> 114</a></span> <span class="preprocessor">#define log_info(fmt, ...) \</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor"> { if ((logchannel & logged_channels) && LIRC_INFO <= loglevel) \</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="preprocessor"> { logprintf(LIRC_INFO, fmt, ##__VA_ARGS__); } }</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#a0ac90562e7d9fe7ee6b1b47801042a52"> 119</a></span> <span class="preprocessor">#define log_notice(fmt, ...) \</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="preprocessor"> { if ((logchannel & logged_channels) && LIRC_NOTICE <= loglevel) \</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="preprocessor"> { logprintf(LIRC_NOTICE, fmt, ##__VA_ARGS__); } }</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#a0e37223ab9f5df7af8cb2a59b7c4dc18"> 124</a></span> <span class="preprocessor">#define log_debug(fmt, ...) \</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="preprocessor"> { if ((logchannel & logged_channels) && LIRC_DEBUG <= loglevel) \</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="preprocessor"> { logprintf(LIRC_DEBUG, fmt, ##__VA_ARGS__); } }</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#a056b9e71b3a2e575f88c564ff3670877"> 129</a></span> <span class="preprocessor">#define log_trace(fmt, ...) \</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="preprocessor"> { if ((logchannel & logged_channels) && LIRC_TRACE <= loglevel) \</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="preprocessor"> { logprintf(LIRC_TRACE, fmt, ##__VA_ARGS__); } }</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#aa28b268ea240f30ce6ae3bcd5492bd31"> 134</a></span> <span class="preprocessor">#define log_trace1(fmt, ...) \</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="preprocessor"> { if ((logchannel & logged_channels) && LIRC_TRACE1 <= loglevel) \</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="preprocessor"> { logprintf(LIRC_TRACE1, fmt, ##__VA_ARGS__); } }</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#a4e2d4601b27827189834beec2470fc92"> 139</a></span> <span class="preprocessor">#define log_trace2(fmt, ...) \</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="preprocessor"> { if ((logchannel & logged_channels) && LIRC_TRACE2 <= loglevel) \</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="preprocessor"> { logprintf(LIRC_TRACE2, fmt, ##__VA_ARGS__); } }</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <a class="code" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> <a class="code" href="lirc__log_8h.html#a97d698fa0c9f913ba9b16c5b30af6f76">string2loglevel</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* level);</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keywordtype">int</span> <a class="code" href="lirc__log_8h.html#a43d290e2c8b30ac1f72accfc0a22b9ba">lirc_log_setlevel</a>(<a class="code" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> level);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <a class="code" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> <a class="code" href="lirc__log_8h.html#ad9ecabbf33ad978a5dc9a265c3b16365">lirc_log_defaultlevel</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#a67dd394e852230678863cb4139e5ccfd"> 157</a></span> <span class="preprocessor">#define lirc_log_is_enabled_for(level) (level <= loglevel)</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keywordtype">int</span> <a class="code" href="lirc__log_8h.html#a283ad387ae5bec5223df6d6a7589d2cb">lirc_log_use_syslog</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keywordtype">void</span> <a class="code" href="lirc__log_8h.html#a29b67f5d1afc944a5c4487711d0f93b3">logprintf</a>(<a class="code" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> prio, <span class="keyword">const</span> <span class="keywordtype">char</span>* format_str, ...);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordtype">void</span> <a class="code" href="lirc__log_8h.html#ac68851f11aeac30180f524fc8dde4fab">logperror</a>(<a class="code" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> prio, <span class="keyword">const</span> <span class="keywordtype">char</span>* format, ...);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keywordtype">int</span> lirc_log_reopen(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keywordtype">int</span> <a class="code" href="lirc__log_8h.html#ab9796198d8a199d20171fd6dcc46f215">lirc_log_open</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* progname, <span class="keywordtype">int</span> _nodaemon, <a class="code" href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a> level);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keywordtype">int</span> <a class="code" href="lirc__log_8h.html#ac4cddc1f18ff055b1be8755c46d830bb">lirc_log_close</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordtype">void</span> <a class="code" href="lirc__log_8h.html#a2eaf417e2b2dd63861d17b2c836fe1b8">lirc_log_set_file</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* s);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keywordtype">int</span> <a class="code" href="lirc__log_8h.html#a5af3dc8e52fabe122ac7ec52c6852885">lirc_log_get_clientlog</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* basename, <span class="keywordtype">char</span>* buffer, ssize_t size);</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keywordtype">void</span> <a class="code" href="lirc__log_8h.html#a30ad875dc57527c9a0037df67bab420f">hexdump</a>(<span class="keywordtype">char</span>* prefix, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* buf, <span class="keywordtype">int</span> len);</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#a6df1d22fb5f09eccc23b9f399670cfd7"> 209</a></span> <span class="preprocessor">#define STRINGIFY(x) #x</span></div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div><div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#a18d295a837ac71add5578860b55e5502"> 212</a></span> <span class="preprocessor">#define STR(x) STRINGIFY(x)</span></div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div><div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#aa373c8d82f30ed0a8bf6d5234b335eb9"> 215</a></span> <span class="preprocessor">#define chk_write(fd, buf, count) \</span></div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="preprocessor"> do_chk_write(fd, buf, count, STR(__FILE__) ":" STR(__LINE__))</span></div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div><div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="lirc__log_8h.html#a251f1e577259210952afaf7ddb406c71"> 220</a></span> <span class="preprocessor">#define chk_read(fd, buf, count) \</span></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="preprocessor"> do_chk_read(fd, buf, count, STR(__FILE__) ":" STR(__LINE__))</span></div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> do_chk_write(<span class="keywordtype">int</span> fd, <span class="keyword">const</span> <span class="keywordtype">void</span>* buf, <span class="keywordtype">size_t</span> count, <span class="keyword">const</span> <span class="keywordtype">char</span>* msg)</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span> {</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">if</span> (write(fd, buf, count) == -1)</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <a class="code" href="lirc__log_8h.html#ac68851f11aeac30180f524fc8dde4fab">logperror</a>(LIRC_WARNING, msg);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span> }</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span> do_chk_read(<span class="keywordtype">int</span> fd, <span class="keywordtype">void</span>* buf, <span class="keywordtype">size_t</span> count, <span class="keyword">const</span> <span class="keywordtype">char</span>* msg)</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> {</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">if</span> (read(fd, buf, count) == -1)</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <a class="code" href="lirc__log_8h.html#ac68851f11aeac30180f524fc8dde4fab">logperror</a>(LIRC_WARNING, msg);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> }</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span> }</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="preprocessor">#endif </span><span class="comment">/* _LIRC_LOG_H */</span><span class="preprocessor"></span></div><div class="ttc" id="lirc__log_8h_html_a97d698fa0c9f913ba9b16c5b30af6f76"><div class="ttname"><a href="lirc__log_8h.html#a97d698fa0c9f913ba9b16c5b30af6f76">string2loglevel</a></div><div class="ttdeci">loglevel_t string2loglevel(const char *level)</div><div class="ttdoc">Convert a string, either a number or 'info', 'trace1', error etc.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00234">lirc_log.c:234</a></div></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_a2eaf417e2b2dd63861d17b2c836fe1b8"><div class="ttname"><a href="lirc__log_8h.html#a2eaf417e2b2dd63861d17b2c836fe1b8">lirc_log_set_file</a></div><div class="ttdeci">void lirc_log_set_file(const char *s)</div><div class="ttdoc">Set logfile.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00084">lirc_log.c:84</a></div></div> <div class="ttc" id="lirc__log_8h_html_a283ad387ae5bec5223df6d6a7589d2cb"><div class="ttname"><a href="lirc__log_8h.html#a283ad387ae5bec5223df6d6a7589d2cb">lirc_log_use_syslog</a></div><div class="ttdeci">int lirc_log_use_syslog(void)</div><div class="ttdoc">Check if log is set up to use syslog or not.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00078">lirc_log.c:78</a></div></div> <div class="ttc" id="lirc__log_8h_html_abffd9aa4ab9bcfacdbb9d7728037114b"><div class="ttname"><a href="lirc__log_8h.html#abffd9aa4ab9bcfacdbb9d7728037114b">logchannel_t</a></div><div class="ttdeci">logchannel_t</div><div class="ttdoc">Log channels used to filter messages.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8h_source.html#l00053">lirc_log.h:53</a></div></div> <div class="ttc" id="lirc__log_8h_html_a24e101a095456e946efea0b971fc2ee3"><div class="ttname"><a href="lirc__log_8h.html#a24e101a095456e946efea0b971fc2ee3">loglevel_t</a></div><div class="ttdeci">loglevel_t</div><div class="ttdoc">The defined loglevels.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8h_source.html#l00036">lirc_log.h:36</a></div></div> <div class="ttc" id="lirc__log_8h_html_a30ad875dc57527c9a0037df67bab420f"><div class="ttname"><a href="lirc__log_8h.html#a30ad875dc57527c9a0037df67bab420f">hexdump</a></div><div class="ttdeci">void hexdump(char *prefix, unsigned char *buf, int len)</div><div class="ttdoc">Print prefix + a hex dump of len bytes starting at *buf.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00369">lirc_log.c:369</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_abf031435b06bf0e8a87af6b2ad58f499"><div class="ttname"><a href="lirc__log_8h.html#abf031435b06bf0e8a87af6b2ad58f499">perrorf</a></div><div class="ttdeci">void perrorf(const char *format,...)</div><div class="ttdoc">Adds printf-style arguments to perror(3).</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00254">lirc_log.c:254</a></div></div> <div class="ttc" id="lirc__log_8h_html_ab9796198d8a199d20171fd6dcc46f215"><div class="ttname"><a href="lirc__log_8h.html#ab9796198d8a199d20171fd6dcc46f215">lirc_log_open</a></div><div class="ttdeci">int lirc_log_open(const char *progname, int _nodaemon, loglevel_t level)</div><div class="ttdoc">Open the log for upcoming logging.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00095">lirc_log.c:95</a></div></div> <div class="ttc" id="lirc__log_8h_html_ad9ecabbf33ad978a5dc9a265c3b16365"><div class="ttname"><a href="lirc__log_8h.html#ad9ecabbf33ad978a5dc9a265c3b16365">lirc_log_defaultlevel</a></div><div class="ttdeci">loglevel_t lirc_log_defaultlevel(void)</div><div class="ttdoc">Get the default level, from environment or hardcoded.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00219">lirc_log.c:219</a></div></div> <div class="ttc" id="lirc__log_8h_html_a5af3dc8e52fabe122ac7ec52c6852885"><div class="ttname"><a href="lirc__log_8h.html#a5af3dc8e52fabe122ac7ec52c6852885">lirc_log_get_clientlog</a></div><div class="ttdeci">int lirc_log_get_clientlog(const char *basename, char *buffer, ssize_t size)</div><div class="ttdoc">Retrieve a client path for logging according to freedesktop specs.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00332">lirc_log.c:332</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_ac4cddc1f18ff055b1be8755c46d830bb"><div class="ttname"><a href="lirc__log_8h.html#ac4cddc1f18ff055b1be8755c46d830bb">lirc_log_close</a></div><div class="ttdeci">int lirc_log_close(void)</div><div class="ttdoc">Close the log previosly opened with lirc_log_open().</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00137">lirc_log.c:137</a></div></div> <div class="ttc" id="lirc__log_8h_html_a43d290e2c8b30ac1f72accfc0a22b9ba"><div class="ttname"><a href="lirc__log_8h.html#a43d290e2c8b30ac1f72accfc0a22b9ba">lirc_log_setlevel</a></div><div class="ttdeci">int lirc_log_setlevel(loglevel_t level)</div><div class="ttdoc">Set the level.</div><div class="ttdef"><b>Definition:</b> <a href="lirc__log_8c_source.html#l00179">lirc_log.c:179</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 --></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>