<!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.7.3 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">pcsc-lite <span id="projectnumber">1.7.2</span></div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</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 id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_7a4553ee0c3b13d0e595a5d1659110a6.html">src</a> </li> <li class="navelem"><a class="el" href="dir_8a9b44811c0d1b881450d901a25922be.html">PCSC</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#define-members">Defines</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <h1>debuglog.h File Reference</h1> </div> </div> <div class="contents"> <p>This handles debugging. <a href="#_details">More...</a></p> <p><a href="debuglog_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="define-members"></a> Defines</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8a499d37bd767aea3ad3b654ad476f8"></a><!-- doxytag: member="debuglog.h::PCSC_API" ref="aa8a499d37bd767aea3ad3b654ad476f8" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>PCSC_API</b></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="a2f0063b43979b6b142c975f29023fce0"></a><!-- doxytag: member="debuglog.h::Log5" ref="a2f0063b43979b6b142c975f29023fce0" args="(priority, fmt, data1, data2, data3, data4)" --> #define </td><td class="memItemRight" valign="bottom"><b>Log5</b>(priority, fmt, data1, data2, data3, data4)   log_msg(priority, "%s:%d:%s() " fmt, __FILE__, __LINE__, __FUNCTION__, data1, data2, data3, data4)</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><a name="enum-members"></a> 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><a name="func-members"></a> 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> <div class="textblock"><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></div> <hr class="footer"/><address class="footer"><small>Generated on Thu Mar 31 2011 for pcsc-lite by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> </body> </html>