<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.13"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>EXIF library (libexif) API: libexif/exif-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"> $(document).ready(initResizable); </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="projectalign" style="padding-left: 0.5em;"> <div id="projectname">EXIF library (libexif) API  <span id="projectnumber">0.6.21</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.13 --> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> $(function() { initMenu('',false,false,'search.php','Search'); }); </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"> $(document).ready(function(){initNavTree('exif-log_8h.html','');}); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#define-members">Macros</a> | <a href="#typedef-members">Typedefs</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">exif-log.h File Reference</div> </div> </div><!--header--> <div class="contents"> <p>Log message infrastructure. <a href="#details">More...</a></p> <div class="textblock"><code>#include <<a class="el" href="exif-mem_8h_source.html">libexif/exif-mem.h</a>></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 class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:a4221b964f5ee550f6166126b263d3b2f"><td class="memItemLeft" align="right" valign="top"><a id="a4221b964f5ee550f6166126b263d3b2f"></a> #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 class="separator:a4221b964f5ee550f6166126b263d3b2f"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:a6b225115984bb2016282923cb487f16b"><td class="memItemLeft" align="right" valign="top"><a id="a6b225115984bb2016282923cb487f16b"></a> typedef struct _ExifLog </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b">ExifLog</a></td></tr> <tr class="memdesc:a6b225115984bb2016282923cb487f16b"><td class="mdescLeft"> </td><td class="mdescRight">State maintained by the logging interface. <br /></td></tr> <tr class="separator:a6b225115984bb2016282923cb487f16b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af32ad5a4b7e0a86a7a441463f3b15895"><td class="memItemLeft" align="right" valign="top"><a id="af32ad5a4b7e0a86a7a441463f3b15895"></a> typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-log_8h.html#af32ad5a4b7e0a86a7a441463f3b15895">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 class="memdesc:af32ad5a4b7e0a86a7a441463f3b15895"><td class="mdescLeft"> </td><td class="mdescRight">Log callback function prototype. <br /></td></tr> <tr class="separator:af32ad5a4b7e0a86a7a441463f3b15895"><td class="memSeparator" colspan="2"> </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:a36f42667fb0481f099dbc0628dae2652"><td class="memItemLeft" align="right" valign="top"><a id="a36f42667fb0481f099dbc0628dae2652"></a>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 class="separator:a36f42667fb0481f099dbc0628dae2652"><td class="memSeparator" colspan="2"> </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:a92d3525981d3d604521ca74ce05d0add"><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 class="memdesc:a92d3525981d3d604521ca74ce05d0add"><td class="mdescLeft"> </td><td class="mdescRight">Create a new logging instance. <a href="#a92d3525981d3d604521ca74ce05d0add">More...</a><br /></td></tr> <tr class="separator:a92d3525981d3d604521ca74ce05d0add"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad6e1adde9d6188d369e3cc45b3aa7815"><td class="memItemLeft" align="right" valign="top"><a id="ad6e1adde9d6188d369e3cc45b3aa7815"></a> <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 class="separator:ad6e1adde9d6188d369e3cc45b3aa7815"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aafd7e5d40ca73440976a3b684bfa1059"><td class="memItemLeft" align="right" valign="top"><a id="aafd7e5d40ca73440976a3b684bfa1059"></a> 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 class="separator:aafd7e5d40ca73440976a3b684bfa1059"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7a9b738a7429197d68c80ffedac7d8fb"><td class="memItemLeft" align="right" valign="top"><a id="a7a9b738a7429197d68c80ffedac7d8fb"></a> 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 class="separator:a7a9b738a7429197d68c80ffedac7d8fb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acd0808d6d5be73f28059797c2e2e67dc"><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 class="memdesc:acd0808d6d5be73f28059797c2e2e67dc"><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">More...</a><br /></td></tr> <tr class="separator:acd0808d6d5be73f28059797c2e2e67dc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a31cf3057f5546ae2881d817c70ebca55"><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 class="memdesc:a31cf3057f5546ae2881d817c70ebca55"><td class="mdescLeft"> </td><td class="mdescRight">Return a textual description of the given class of error log. <a href="#a31cf3057f5546ae2881d817c70ebca55">More...</a><br /></td></tr> <tr class="separator:a31cf3057f5546ae2881d817c70ebca55"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afe3839462dc826b72b9b13cdc6931473"><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 class="memdesc:afe3839462dc826b72b9b13cdc6931473"><td class="mdescLeft"> </td><td class="mdescRight">Return a verbose description of the given class of error log. <a href="#afe3839462dc826b72b9b13cdc6931473">More...</a><br /></td></tr> <tr class="separator:afe3839462dc826b72b9b13cdc6931473"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a493a369b7020265971cdaf8be9a2f6fe"><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#af32ad5a4b7e0a86a7a441463f3b15895">ExifLogFunc</a> func, void *data)</td></tr> <tr class="memdesc:a493a369b7020265971cdaf8be9a2f6fe"><td class="mdescLeft"> </td><td class="mdescRight">Register log callback function. <a href="#a493a369b7020265971cdaf8be9a2f6fe">More...</a><br /></td></tr> <tr class="separator:a493a369b7020265971cdaf8be9a2f6fe"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3317c341014d6ed3ea726f66116d5de0"><td class="memItemLeft" align="right" valign="top"><a id="a3317c341014d6ed3ea726f66116d5de0"></a> 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 class="separator:a3317c341014d6ed3ea726f66116d5de0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af5f451d1ffd6538a88ca59798799af41"><td class="memItemLeft" align="right" valign="top"><a id="af5f451d1ffd6538a88ca59798799af41"></a> 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> <tr class="separator:af5f451d1ffd6538a88ca59798799af41"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Log message infrastructure. </p> </div><h2 class="groupheader">Function Documentation</h2> <a id="afe3839462dc826b72b9b13cdc6931473"></a> <h2 class="memtitle"><span class="permalink"><a href="#afe3839462dc826b72b9b13cdc6931473">◆ </a></span>exif_log_code_get_message()</h2> <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 class="params"><dt>Parameters</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="section return"><dt>Returns</dt><dd>verbose description of the log class </dd></dl> </div> </div> <a id="a31cf3057f5546ae2881d817c70ebca55"></a> <h2 class="memtitle"><span class="permalink"><a href="#a31cf3057f5546ae2881d817c70ebca55">◆ </a></span>exif_log_code_get_title()</h2> <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 class="params"><dt>Parameters</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="section return"><dt>Returns</dt><dd>textual description of the log class </dd></dl> </div> </div> <a id="acd0808d6d5be73f28059797c2e2e67dc"></a> <h2 class="memtitle"><span class="permalink"><a href="#acd0808d6d5be73f28059797c2e2e67dc">◆ </a></span>exif_log_free()</h2> <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="section see"><dt>See also</dt><dd><a class="el" href="exif-log_8h.html#a92d3525981d3d604521ca74ce05d0add" title="Create a new logging instance. ">exif_log_new</a></dd></dl> <dl class="params"><dt>Parameters</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="section return"><dt>Returns</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 id="a92d3525981d3d604521ca74ce05d0add"></a> <h2 class="memtitle"><span class="permalink"><a href="#a92d3525981d3d604521ca74ce05d0add">◆ </a></span>exif_log_new()</h2> <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="section see"><dt>See also</dt><dd><a class="el" href="exif-log_8h.html#acd0808d6d5be73f28059797c2e2e67dc" title="Delete instance of ExifLog. ">exif_log_free</a></dd></dl> <dl class="section return"><dt>Returns</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> <p class="reference">References <a class="el" href="exif-mem_8h.html#acd2926c29b470c9d43f84567a84d5acb">exif_mem_new_default()</a>.</p> </div> </div> <a id="a493a369b7020265971cdaf8be9a2f6fe"></a> <h2 class="memtitle"><span class="permalink"><a href="#a493a369b7020265971cdaf8be9a2f6fe">◆ </a></span>exif_log_set_func()</h2> <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#af32ad5a4b7e0a86a7a441463f3b15895">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 class="params"><dt>Parameters</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><!-- 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_04d2bd150f7cc849eeec70b9b0fdccb1.html">libexif</a></li><li class="navelem"><a class="el" href="exif-log_8h.html">exif-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.13 </li> </ul> </div> </body> </html>