<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>pcsc-lite: debuglog.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.2-20100208 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="dir_c68a5dfdca54003c765e303a18006edb.html">src</a> » <a class="el" href="dir_f67468d866d6eb9fc9120b0a9ddded4e.html">PCSC</a> </div> </div> <div class="contents"> <h1>debuglog.h File Reference</h1> <p>This handles debugging. <a href="#_details">More...</a></p> <div class="dynheader"> This graph shows which files directly or indirectly include this file:</div> <div class="dynsection"> </div> <p><a href="debuglog_8h_source.html">Go to the source code of this file.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a581c69bece83d774eeac42c106df506f"></a><!-- doxytag: member="debuglog.h::DEBUGLOG_LOG_ENTRIES" ref="a581c69bece83d774eeac42c106df506f" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>DEBUGLOG_LOG_ENTRIES</b> 1</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a59fab9c9e0712326866d524f03a67df1"></a><!-- doxytag: member="debuglog.h::DEBUGLOG_IGNORE_ENTRIES" ref="a59fab9c9e0712326866d524f03a67df1" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>DEBUGLOG_IGNORE_ENTRIES</b> 2</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b9f909a5a06f4bac464034e5d938136"></a><!-- doxytag: member="debuglog.h::DEBUG_CATEGORY_NOTHING" ref="a7b9f909a5a06f4bac464034e5d938136" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>DEBUG_CATEGORY_NOTHING</b> 0</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8758d4415a9b1c335341fb8120c75ce1"></a><!-- doxytag: member="debuglog.h::DEBUG_CATEGORY_APDU" ref="a8758d4415a9b1c335341fb8120c75ce1" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>DEBUG_CATEGORY_APDU</b> 1</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab6da3cd1bb9cd56dc1889c224a860444"></a><!-- doxytag: member="debuglog.h::DEBUG_CATEGORY_SW" ref="ab6da3cd1bb9cd56dc1889c224a860444" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>DEBUG_CATEGORY_SW</b> 2</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a828bb1dfda1afd67ca795075903d227d"></a><!-- doxytag: member="debuglog.h::__FUNCTION__" ref="a828bb1dfda1afd67ca795075903d227d" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>__FUNCTION__</b> ""</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aecf76943d3e6e73b78b056292db48322"></a><!-- doxytag: member="debuglog.h::Log0" ref="aecf76943d3e6e73b78b056292db48322" args="(priority)" --> #define </td><td class="memItemRight" valign="bottom"><b>Log0</b>(priority) log_msg(priority, "%s:%d:%s()", __FILE__, __LINE__, __FUNCTION__)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb1ccfb2df0524c96da8d2a45a9b15ec"></a><!-- doxytag: member="debuglog.h::Log1" ref="afb1ccfb2df0524c96da8d2a45a9b15ec" args="(priority, fmt)" --> #define </td><td class="memItemRight" valign="bottom"><b>Log1</b>(priority, fmt) log_msg(priority, "%s:%d:%s() " fmt, __FILE__, __LINE__, __FUNCTION__)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a26b1b72037e4f371ae4869028318f6a4"></a><!-- doxytag: member="debuglog.h::Log2" ref="a26b1b72037e4f371ae4869028318f6a4" args="(priority, fmt, data)" --> #define </td><td class="memItemRight" valign="bottom"><b>Log2</b>(priority, fmt, data) log_msg(priority, "%s:%d:%s() " fmt, __FILE__, __LINE__, __FUNCTION__, data)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeeb181c8833ccc86961da90b40670aa1"></a><!-- doxytag: member="debuglog.h::Log3" ref="aeeb181c8833ccc86961da90b40670aa1" args="(priority, fmt, data1, data2)" --> #define </td><td class="memItemRight" valign="bottom"><b>Log3</b>(priority, fmt, data1, data2) log_msg(priority, "%s:%d:%s() " fmt, __FILE__, __LINE__, __FUNCTION__, data1, data2)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a47dacc63a20f2c64892ca68911359b56"></a><!-- doxytag: member="debuglog.h::Log4" ref="a47dacc63a20f2c64892ca68911359b56" args="(priority, fmt, data1, data2, data3)" --> #define </td><td class="memItemRight" valign="bottom"><b>Log4</b>(priority, fmt, data1, data2, data3) log_msg(priority, "%s:%d:%s() " fmt, __FILE__, __LINE__, __FUNCTION__, data1, data2, data3)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad78fab71aa8542d7672a5bc799e5f49"></a><!-- doxytag: member="debuglog.h::Log9" ref="aad78fab71aa8542d7672a5bc799e5f49" args="(priority, fmt, data1, data2, data3, data4, data5, data6, data7, data8)" --> #define </td><td class="memItemRight" valign="bottom"><b>Log9</b>(priority, fmt, data1, data2, data3, data4, data5, data6, data7, data8) log_msg(priority, "%s:%d:%s() " fmt, __FILE__, __LINE__, __FUNCTION__, data1, data2, data3, data4, data5, data6, data7, data8)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a77b5394a9925e3488965f88bdcdbf22e"></a><!-- doxytag: member="debuglog.h::LogXxd" ref="a77b5394a9925e3488965f88bdcdbf22e" args="(priority, msg, buffer, size)" --> #define </td><td class="memItemRight" valign="bottom"><b>LogXxd</b>(priority, msg, buffer, size) log_xxd(priority, msg, buffer, size)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a24d4447d701fdc6e08a50ff2e1dd1b11"></a><!-- doxytag: member="debuglog.h::DebugLogA" ref="a24d4447d701fdc6e08a50ff2e1dd1b11" args="(a)" --> #define </td><td class="memItemRight" valign="bottom"><b>DebugLogA</b>(a) Log1(PCSC_LOG_INFO, a)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3455f3a82ccfc18eb000d44bdcd1d5a7"></a><!-- doxytag: member="debuglog.h::DebugLogB" ref="a3455f3a82ccfc18eb000d44bdcd1d5a7" args="(a, b)" --> #define </td><td class="memItemRight" valign="bottom"><b>DebugLogB</b>(a, b) Log2(PCSC_LOG_INFO, a, b)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac8ee918cc2f093067a91a11abffa537d"></a><!-- doxytag: member="debuglog.h::DebugLogC" ref="ac8ee918cc2f093067a91a11abffa537d" args="(a, b, c)" --> #define </td><td class="memItemRight" valign="bottom"><b>DebugLogC</b>(a, b, c) Log3(PCSC_LOG_INFO, a, b, c)</td></tr> <tr><td colspan="2"><h2>Enumerations</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom">{ <br/> <b>DEBUGLOG_NO_DEBUG</b> = 0, <br/> <b>DEBUGLOG_SYSLOG_DEBUG</b>, <br/> <b>DEBUGLOG_STDERR_DEBUG</b> <br/> }</td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom">{ <br/> <b>PCSC_LOG_DEBUG</b> = 0, <br/> <b>PCSC_LOG_INFO</b>, <br/> <b>PCSC_LOG_ERROR</b>, <br/> <b>PCSC_LOG_CRITICAL</b> <br/> }</td></tr> <tr><td colspan="2"><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a814a081b07dd3a46a1fa72626abada99"></a><!-- doxytag: member="debuglog.h::log_msg" ref="a814a081b07dd3a46a1fa72626abada99" args="(const int priority, const char *fmt,...)" --> PCSC_API void </td><td class="memItemRight" valign="bottom"><b>log_msg</b> (const int priority, const char *fmt,...)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1df385f3924d7533fe522327283d5119"></a><!-- doxytag: member="debuglog.h::log_xxd" ref="a1df385f3924d7533fe522327283d5119" args="(const int priority, const char *msg, const unsigned char *buffer, const int size)" --> PCSC_API void </td><td class="memItemRight" valign="bottom"><b>log_xxd</b> (const int priority, const char *msg, const unsigned char *buffer, const int size)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a32bd6041eb941e05f6c402f8acd7da87"></a><!-- doxytag: member="debuglog.h::DebugLogSuppress" ref="a32bd6041eb941e05f6c402f8acd7da87" args="(const int)" --> void </td><td class="memItemRight" valign="bottom"><b>DebugLogSuppress</b> (const int)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae5a6e5a23fc9c84e7c8fc01100032305"></a><!-- doxytag: member="debuglog.h::DebugLogSetLogType" ref="ae5a6e5a23fc9c84e7c8fc01100032305" args="(const int)" --> void </td><td class="memItemRight" valign="bottom"><b>DebugLogSetLogType</b> (const int)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a03f6f8b0bf54d4d4518e0b0db56295ab"></a><!-- doxytag: member="debuglog.h::DebugLogSetCategory" ref="a03f6f8b0bf54d4d4518e0b0db56295ab" args="(const int)" --> int </td><td class="memItemRight" valign="bottom"><b>DebugLogSetCategory</b> (const int)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a47daf99ac0e8a955e795cfa9dd105849"></a><!-- doxytag: member="debuglog.h::DebugLogCategory" ref="a47daf99ac0e8a955e795cfa9dd105849" args="(const int, const unsigned char *, const int)" --> void </td><td class="memItemRight" valign="bottom"><b>DebugLogCategory</b> (const int, const unsigned char *, const int)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adcd03cbaa21412a51d0161f965f35f65"></a><!-- doxytag: member="debuglog.h::DebugLogSetLevel" ref="adcd03cbaa21412a51d0161f965f35f65" args="(const int level)" --> PCSC_API void </td><td class="memItemRight" valign="bottom"><b>DebugLogSetLevel</b> (const int level)</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>This handles debugging. </p> <dl class="note"><dt><b>Note:</b></dt><dd>log message is sent to syslog or stderr depending on --foreground command line argument</dd></dl> <div class="fragment"><pre class="fragment"> Log1(priority, <span class="stringliteral">"text"</span>); log <span class="stringliteral">"text"</span> with priority level priority Log2(priority, <span class="stringliteral">"text: %d"</span>, 1234); log <span class="stringliteral">"text: 1234"</span> the format <span class="keywordtype">string</span> can be anything printf() can understand Log3(priority, "text: %d %d", 1234, 5678); log "text: 1234 5678" the format <span class="keywordtype">string</span> can be anything printf() can understand LogXxd(priority, msg, buffer, size); log "msg" + a hex dump of size bytes of buffer[] </pre></div> <p>Definition in file <a class="el" href="debuglog_8h_source.html">debuglog.h</a>.</p> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address> </body> </html>