<!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>EXIF library (libexif) API: libexif/exif-log.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript"> $(document).ready(initResizable); </script> <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">EXIF library (libexif) API <span id="projectnumber">0.6.20</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="pages.html"><span>Related Pages</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> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> initNavTree('exif-log_8h.html',''); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#define-members">Defines</a> | <a href="#typedef-members">Typedefs</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <h1>exif-log.h File Reference</h1> </div> </div> <div class="contents"> <p>Log message infrastructure. <a href="#_details">More...</a></p> <div class="textblock"><code>#include <libexif/exif-mem.h></code><br/> <code>#include <stdarg.h></code><br/> </div> <p><a href="exif-log_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="a4221b964f5ee550f6166126b263d3b2f"></a><!-- doxytag: member="exif-log.h::EXIF_LOG_NO_MEMORY" ref="a4221b964f5ee550f6166126b263d3b2f" args="(l, d, s)" --> #define </td><td class="memItemRight" valign="bottom"><b>EXIF_LOG_NO_MEMORY</b>(l, d, s)   exif_log ((l), EXIF_LOG_CODE_NO_MEMORY, (d), "Could not allocate %lu byte(s).", (unsigned long)(s))</td></tr> <tr><td colspan="2"><h2><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6b225115984bb2016282923cb487f16b"></a><!-- doxytag: member="exif-log.h::ExifLog" ref="a6b225115984bb2016282923cb487f16b" args="" --> typedef struct _ExifLog </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b">ExifLog</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">State maintained by the logging interface. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f19ac102b6d554320d6afb32f85c3d3"></a><!-- doxytag: member="exif-log.h::ExifLogFunc" ref="a5f19ac102b6d554320d6afb32f85c3d3" args=")(ExifLog *log, ExifLogCode, const char *domain, const char *format, va_list args, void *data)" --> typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-log_8h.html#a5f19ac102b6d554320d6afb32f85c3d3">ExifLogFunc</a> )(<a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b">ExifLog</a> *log, ExifLogCode, const char *domain, const char *format, va_list args, void *data)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Log callback function prototype. <br/></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"><b>ExifLogCode</b> { <b>EXIF_LOG_CODE_NONE</b>, <b>EXIF_LOG_CODE_DEBUG</b>, <b>EXIF_LOG_CODE_NO_MEMORY</b>, <b>EXIF_LOG_CODE_CORRUPT_DATA</b> }</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="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b">ExifLog</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-log_8h.html#a92d3525981d3d604521ca74ce05d0add">exif_log_new</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new logging instance. <a href="#a92d3525981d3d604521ca74ce05d0add"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad6e1adde9d6188d369e3cc45b3aa7815"></a><!-- doxytag: member="exif-log.h::exif_log_new_mem" ref="ad6e1adde9d6188d369e3cc45b3aa7815" args="(ExifMem *)" --> <a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b">ExifLog</a> * </td><td class="memItemRight" valign="bottom"><b>exif_log_new_mem</b> (<a class="el" href="exif-mem_8h.html#aab8aacbc0ed6f11a1f022b7b1bf4750e">ExifMem</a> *)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aafd7e5d40ca73440976a3b684bfa1059"></a><!-- doxytag: member="exif-log.h::exif_log_ref" ref="aafd7e5d40ca73440976a3b684bfa1059" args="(ExifLog *log)" --> void </td><td class="memItemRight" valign="bottom"><b>exif_log_ref</b> (<a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b">ExifLog</a> *log)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a9b738a7429197d68c80ffedac7d8fb"></a><!-- doxytag: member="exif-log.h::exif_log_unref" ref="a7a9b738a7429197d68c80ffedac7d8fb" args="(ExifLog *log)" --> void </td><td class="memItemRight" valign="bottom"><b>exif_log_unref</b> (<a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b">ExifLog</a> *log)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-log_8h.html#acd0808d6d5be73f28059797c2e2e67dc">exif_log_free</a> (<a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b">ExifLog</a> *log)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Delete instance of <a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b" title="State maintained by the logging interface.">ExifLog</a>. <a href="#acd0808d6d5be73f28059797c2e2e67dc"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-log_8h.html#a31cf3057f5546ae2881d817c70ebca55">exif_log_code_get_title</a> (ExifLogCode code)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return a textual description of the given class of error log. <a href="#a31cf3057f5546ae2881d817c70ebca55"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-log_8h.html#afe3839462dc826b72b9b13cdc6931473">exif_log_code_get_message</a> (ExifLogCode code)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return a verbose description of the given class of error log. <a href="#afe3839462dc826b72b9b13cdc6931473"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-log_8h.html#a493a369b7020265971cdaf8be9a2f6fe">exif_log_set_func</a> (<a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b">ExifLog</a> *log, <a class="el" href="exif-log_8h.html#a5f19ac102b6d554320d6afb32f85c3d3">ExifLogFunc</a> func, void *data)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Register log callback function. <a href="#a493a369b7020265971cdaf8be9a2f6fe"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3317c341014d6ed3ea726f66116d5de0"></a><!-- doxytag: member="exif-log.h::exif_log" ref="a3317c341014d6ed3ea726f66116d5de0" args="(ExifLog *log, ExifLogCode, const char *domain, const char *format,...)" --> void </td><td class="memItemRight" valign="bottom"><b>exif_log</b> (<a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b">ExifLog</a> *log, ExifLogCode, const char *domain, const char *format,...)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5f451d1ffd6538a88ca59798799af41"></a><!-- doxytag: member="exif-log.h::exif_logv" ref="af5f451d1ffd6538a88ca59798799af41" args="(ExifLog *log, ExifLogCode, const char *domain, const char *format, va_list args)" --> void </td><td class="memItemRight" valign="bottom"><b>exif_logv</b> (<a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b">ExifLog</a> *log, ExifLogCode, const char *domain, const char *format, va_list args)</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Log message infrastructure. </p> </div><hr/><h2>Function Documentation</h2> <a class="anchor" id="afe3839462dc826b72b9b13cdc6931473"></a><!-- doxytag: member="exif-log.h::exif_log_code_get_message" ref="afe3839462dc826b72b9b13cdc6931473" args="(ExifLogCode code)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* exif_log_code_get_message </td> <td>(</td> <td class="paramtype">ExifLogCode </td> <td class="paramname"><em>code</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Return a verbose description of the given class of error log. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">code</td><td>logging message class </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>verbose description of the log class </dd></dl> </div> </div> <a class="anchor" id="a31cf3057f5546ae2881d817c70ebca55"></a><!-- doxytag: member="exif-log.h::exif_log_code_get_title" ref="a31cf3057f5546ae2881d817c70ebca55" args="(ExifLogCode code)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* exif_log_code_get_title </td> <td>(</td> <td class="paramtype">ExifLogCode </td> <td class="paramname"><em>code</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Return a textual description of the given class of error log. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">code</td><td>logging message class </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>textual description of the log class </dd></dl> </div> </div> <a class="anchor" id="acd0808d6d5be73f28059797c2e2e67dc"></a><!-- doxytag: member="exif-log.h::exif_log_free" ref="acd0808d6d5be73f28059797c2e2e67dc" args="(ExifLog *log)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void exif_log_free </td> <td>(</td> <td class="paramtype"><a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b">ExifLog</a> * </td> <td class="paramname"><em>log</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Delete instance of <a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b" title="State maintained by the logging interface.">ExifLog</a>. </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="exif-log_8h.html#a92d3525981d3d604521ca74ce05d0add" title="Create a new logging instance.">exif_log_new</a></dd></dl> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">log</td><td><a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b" title="State maintained by the logging interface.">ExifLog</a> </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>new instance of <a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b" title="State maintained by the logging interface.">ExifLog</a> </dd></dl> </div> </div> <a class="anchor" id="a92d3525981d3d604521ca74ce05d0add"></a><!-- doxytag: member="exif-log.h::exif_log_new" ref="a92d3525981d3d604521ca74ce05d0add" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b">ExifLog</a>* exif_log_new </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Create a new logging instance. </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="exif-log_8h.html#acd0808d6d5be73f28059797c2e2e67dc" title="Delete instance of ExifLog.">exif_log_free</a></dd></dl> <dl class="return"><dt><b>Returns:</b></dt><dd>new instance of <a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b" title="State maintained by the logging interface.">ExifLog</a> </dd></dl> </div> </div> <a class="anchor" id="a493a369b7020265971cdaf8be9a2f6fe"></a><!-- doxytag: member="exif-log.h::exif_log_set_func" ref="a493a369b7020265971cdaf8be9a2f6fe" args="(ExifLog *log, ExifLogFunc func, void *data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void exif_log_set_func </td> <td>(</td> <td class="paramtype"><a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b">ExifLog</a> * </td> <td class="paramname"><em>log</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="exif-log_8h.html#a5f19ac102b6d554320d6afb32f85c3d3">ExifLogFunc</a> </td> <td class="paramname"><em>func</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Register log callback function. </p> <p>Calls to the log callback function are purely for diagnostic purposes.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">log</td><td>logging state variable </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>callback function to set </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>data to pass into callback function </td></tr> </table> </dd> </dl> </div> </div> </div> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="exif-log_8h.html">exif-log.h</a> </li> <li class="footer">Generated on Fri Mar 18 2011 for EXIF library (libexif) API by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li> </ul> </div> </body> </html>