<!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.11"/> <title>ZVBI Library: Basic types</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="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">ZVBI Library  <span id="projectnumber">0.2.35</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.11 --> <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 class="current"><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">Basic types</div> </div> </div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:ga892c64da1c60919512f0c4db6641a708"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Basic.html#ga892c64da1c60919512f0c4db6641a708">vbi_log_on_stderr</a> (<a class="el" href="group__Basic.html#ga14be5ab1155e94b01c79a4ed044e64ac">vbi_log_mask</a> level, const char *context, const char *message, void *user_data)</td></tr> <tr class="separator:ga892c64da1c60919512f0c4db6641a708"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga594dbe49c85f00a11c3586a131203b61"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Basic.html#ga594dbe49c85f00a11c3586a131203b61">vbi_set_log_fn</a> (<a class="el" href="group__Basic.html#ga14be5ab1155e94b01c79a4ed044e64ac">vbi_log_mask</a> mask, vbi_log_fn *log_fn, void *user_data)</td></tr> <tr class="separator:ga594dbe49c85f00a11c3586a131203b61"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf2e31cbf38e933d930d1bcbe4b259caa"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Basic.html#gaf2e31cbf38e933d930d1bcbe4b259caa">vbi_version</a> (unsigned int *major, unsigned int *minor, unsigned int *micro)</td></tr> <tr class="separator:gaf2e31cbf38e933d930d1bcbe4b259caa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga14be5ab1155e94b01c79a4ed044e64ac"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Basic.html#ga14be5ab1155e94b01c79a4ed044e64ac">vbi_log_mask</a> { <br />   <a class="el" href="group__Basic.html#gga14be5ab1155e94b01c79a4ed044e64aca07b09f3b08a81ce12ac0a515978b56e2">VBI_LOG_ERROR</a> = 1 << 3, <br />   <a class="el" href="group__Basic.html#gga14be5ab1155e94b01c79a4ed044e64aca36d1d236c051fc0db20ccdec56a19596">VBI_LOG_WARNING</a> = 1 << 4, <br />   <a class="el" href="group__Basic.html#gga14be5ab1155e94b01c79a4ed044e64aca6b8552ba1cf85168196a872f9fb11c3a">VBI_LOG_NOTICE</a> = 1 << 5, <br />   <a class="el" href="group__Basic.html#gga14be5ab1155e94b01c79a4ed044e64aca0f40608aab3215669b18ba31d3cc7f3a">VBI_LOG_INFO</a> = 1 << 6, <br />   <a class="el" href="group__Basic.html#gga14be5ab1155e94b01c79a4ed044e64aca6a2eef6084bf0876d72e81e4f7fb0c3f">VBI_LOG_DEBUG</a> = 1 << 7, <br />   <a class="el" href="group__Basic.html#gga14be5ab1155e94b01c79a4ed044e64aca19a4025bfa4d039fe5c37adfa0b7eead">VBI_LOG_DRIVER</a> = 1 << 8, <br />   <a class="el" href="group__Basic.html#gga14be5ab1155e94b01c79a4ed044e64aca8709d20a4b667a1a1b668dd83003c3ed">VBI_LOG_DEBUG2</a> = 1 << 9, <br />   <b>VBI_LOG_DEBUG3</b> = 1 << 10 <br /> }</td></tr> <tr class="separator:ga14be5ab1155e94b01c79a4ed044e64ac"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf2c087cb2bbe662a71bfa0b7f990498a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf2c087cb2bbe662a71bfa0b7f990498a"></a> typedef void </td><td class="memItemRight" valign="bottom"><b>vbi_log_fn</b>(<a class="el" href="group__Basic.html#ga14be5ab1155e94b01c79a4ed044e64ac">vbi_log_mask</a> level, const char *context, const char *message, void *user_data)</td></tr> <tr class="separator:gaf2c087cb2bbe662a71bfa0b7f990498a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0b182ed200f1fbe2f59f859b25878b0b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0b182ed200f1fbe2f59f859b25878b0b"></a> vbi_log_fn </td><td class="memItemRight" valign="bottom"><b>vbi_log_on_stderr</b></td></tr> <tr class="separator:ga0b182ed200f1fbe2f59f859b25878b0b"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <h2 class="groupheader">Enumeration Type Documentation</h2> <a class="anchor" id="ga14be5ab1155e94b01c79a4ed044e64ac"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group__Basic.html#ga14be5ab1155e94b01c79a4ed044e64ac">vbi_log_mask</a></td> </tr> </table> </div><div class="memdoc"> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga14be5ab1155e94b01c79a4ed044e64aca07b09f3b08a81ce12ac0a515978b56e2"></a>VBI_LOG_ERROR </td><td class="fielddoc"> <p>External error causes, for example lack of memory. </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="gga14be5ab1155e94b01c79a4ed044e64aca36d1d236c051fc0db20ccdec56a19596"></a>VBI_LOG_WARNING </td><td class="fielddoc"> <p>Invalid parameters and similar problems which suggest a bug in the application using the library. </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="gga14be5ab1155e94b01c79a4ed044e64aca6b8552ba1cf85168196a872f9fb11c3a"></a>VBI_LOG_NOTICE </td><td class="fielddoc"> <p>Causes of possibly undesired results, for example when a data service cannot be decoded with the current video standard setting. </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="gga14be5ab1155e94b01c79a4ed044e64aca0f40608aab3215669b18ba31d3cc7f3a"></a>VBI_LOG_INFO </td><td class="fielddoc"> <p>Progress messages. </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="gga14be5ab1155e94b01c79a4ed044e64aca6a2eef6084bf0876d72e81e4f7fb0c3f"></a>VBI_LOG_DEBUG </td><td class="fielddoc"> <p>Information useful to debug the library. </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="gga14be5ab1155e94b01c79a4ed044e64aca19a4025bfa4d039fe5c37adfa0b7eead"></a>VBI_LOG_DRIVER </td><td class="fielddoc"> <p>Driver responses (strace). Not implemented yet. </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="gga14be5ab1155e94b01c79a4ed044e64aca8709d20a4b667a1a1b668dd83003c3ed"></a>VBI_LOG_DEBUG2 </td><td class="fielddoc"> <p>More detailed debugging information. </p> </td></tr> </table> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="ga892c64da1c60919512f0c4db6641a708"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vbi_log_on_stderr </td> <td>(</td> <td class="paramtype"><a class="el" href="group__Basic.html#ga14be5ab1155e94b01c79a4ed044e64ac">vbi_log_mask</a> </td> <td class="paramname"><em>level</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>message</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>user_data</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Log function printing messages on standard output.</p> <dl class="section since"><dt>Since</dt><dd>0.2.22 </dd></dl> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="examples_2rawout_8c-example.html#a10">examples/rawout.c</a>, and <a class="el" href="examples_2wss_8c-example.html#a15">examples/wss.c</a>.</dd> </dl> <p>Referenced by <a class="el" href="group__Cache.html#gaf22bf32b5027d5c5d34d615bc22896a3">vbi_unref_page()</a>.</p> </div> </div> <a class="anchor" id="ga594dbe49c85f00a11c3586a131203b61"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vbi_set_log_fn </td> <td>(</td> <td class="paramtype"><a class="el" href="group__Basic.html#ga14be5ab1155e94b01c79a4ed044e64ac">vbi_log_mask</a> </td> <td class="paramname"><em>mask</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">vbi_log_fn * </td> <td class="paramname"><em>log_fn</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>user_data</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mask</td><td>Which kind of information to log. Can be <code>0</code>. </td></tr> <tr><td class="paramname">log_fn</td><td>This function is called with log messages. Consider <a class="el" href="group__Basic.html#ga892c64da1c60919512f0c4db6641a708">vbi_log_on_stderr()</a>. Can be <code>NULL</code> to disable logging. </td></tr> <tr><td class="paramname">user_data</td><td>User pointer passed through to the <em>log_fn</em> function.</td></tr> </table> </dd> </dl> <p>Various library functions can print warnings, errors and information useful to debug the library. With this function you can enable these messages and designate a function to print them.</p> <p>This function enables logging globally. You can also call the set_log_fn() function of individual modules to reduce the scope or redirect messages from that module to another log function.</p> <dl class="section note"><dt>Note</dt><dd>The number of contents of messages may change in the future.</dd></dl> <dl class="section since"><dt>Since</dt><dd>0.2.22 </dd></dl> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="examples_2rawout_8c-example.html#a6">examples/rawout.c</a>, and <a class="el" href="examples_2wss_8c-example.html#a14">examples/wss.c</a>.</dd> </dl> <p>References <a class="el" href="group__Event.html#gad875d1642007931ee27cb99563c29ec0">vbi_reset_prog_info()</a>.</p> </div> </div> <a class="anchor" id="gaf2e31cbf38e933d930d1bcbe4b259caa"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vbi_version </td> <td>(</td> <td class="paramtype">unsigned int * </td> <td class="paramname"><em>major</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int * </td> <td class="paramname"><em>minor</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int * </td> <td class="paramname"><em>micro</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">major</td><td>Store major number here, can be NULL. </td></tr> <tr><td class="paramname">minor</td><td>Store minor number here, can be NULL. </td></tr> <tr><td class="paramname">micro</td><td>Store micro number here, can be NULL.</td></tr> </table> </dd> </dl> <p>Returns the library version defined in the libzvbi.h header file when the library was compiled.</p> <dl class="section since"><dt>Since</dt><dd>0.2.5 </dd></dl> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.11 </small></address> </body> </html>