<!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.8"/> <title>ZVBI Library: Internal export module interface</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 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.8 --> <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="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="#nested-classes">Data Structures</a> | <a href="#define-members">Macros</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">Internal export module interface<div class="ingroups"><a class="el" href="group__HiDec.html">High Level Decoding</a> » <a class="el" href="group__Export.html">Exporting formatted Teletext and Closed Caption pages</a></div></div> </div> </div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__export.html">vbi_export</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__export__class.html">vbi_export_class</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:ga5b50ed49bc27e89408e98c946060178d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5b50ed49bc27e89408e98c946060178d"></a> #define </td><td class="memItemRight" valign="bottom"><b>VBI_OPTION_BOUNDS_INITIALIZER_</b>(type_, def_, min_, max_, step_)   { type_ = def_ }, { type_ = min_ }, { type_ = max_ }, { type_ = step_ }</td></tr> <tr class="separator:ga5b50ed49bc27e89408e98c946060178d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5294e6bb3862d3e8deb85712bcc896ec"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#ga5294e6bb3862d3e8deb85712bcc896ec">VBI_OPTION_BOOL_INITIALIZER</a>(key_, label_, def_, tip_)</td></tr> <tr class="separator:ga5294e6bb3862d3e8deb85712bcc896ec"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3510330ba2eccae0e42271cf26bf8d58"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#ga3510330ba2eccae0e42271cf26bf8d58">VBI_OPTION_INT_RANGE_INITIALIZER</a>(key_, label_, def_, min_, max_, step_, tip_)</td></tr> <tr class="separator:ga3510330ba2eccae0e42271cf26bf8d58"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga44d7cca3a31209ab6ba9503974517f40"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#ga44d7cca3a31209ab6ba9503974517f40">VBI_OPTION_INT_MENU_INITIALIZER</a>(key_, label_, def_,menu_, entries_, tip_)</td></tr> <tr class="separator:ga44d7cca3a31209ab6ba9503974517f40"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3769f237b0f12e2d7e66a553e3a8f89a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#ga3769f237b0f12e2d7e66a553e3a8f89a">VBI_OPTION_REAL_RANGE_INITIALIZER</a>(key_, label_, def_, min_, max_, step_, tip_)</td></tr> <tr class="separator:ga3769f237b0f12e2d7e66a553e3a8f89a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga42a27eee38c0dfcf27c8900dc32c6d44"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#ga42a27eee38c0dfcf27c8900dc32c6d44">VBI_OPTION_REAL_MENU_INITIALIZER</a>(key_, label_, def_,menu_, entries_, tip_)</td></tr> <tr class="separator:ga42a27eee38c0dfcf27c8900dc32c6d44"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0cc437cd7d695b9a4a44b7fb773443f3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#ga0cc437cd7d695b9a4a44b7fb773443f3">VBI_OPTION_STRING_INITIALIZER</a>(key_, label_, def_, tip_)</td></tr> <tr class="separator:ga0cc437cd7d695b9a4a44b7fb773443f3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2b356ca1ed98a47efa8b85a135405c60"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#ga2b356ca1ed98a47efa8b85a135405c60">VBI_OPTION_STRING_MENU_INITIALIZER</a>(key_, label_, def_,menu_, entries_, tip_)</td></tr> <tr class="separator:ga2b356ca1ed98a47efa8b85a135405c60"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa15784af5f2ffc133575079bfb98adeb"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#gaa15784af5f2ffc133575079bfb98adeb">VBI_OPTION_MENU_INITIALIZER</a>(key_, label_, def_, menu_,entries_, tip_)</td></tr> <tr class="separator:gaa15784af5f2ffc133575079bfb98adeb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac39fe176dadc4d377e693192e2018a38"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#gac39fe176dadc4d377e693192e2018a38">VBI_AUTOREG_EXPORT_MODULE</a>(name)</td></tr> <tr class="separator:gac39fe176dadc4d377e693192e2018a38"><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:ga2d9b079846530561a525b66bbec0d364"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#ga2d9b079846530561a525b66bbec0d364">vbi_register_export_module</a> (<a class="el" href="structvbi__export__class.html">vbi_export_class</a> *)</td></tr> <tr class="separator:ga2d9b079846530561a525b66bbec0d364"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gacff845394aeffa1e2c0de6d449f72a15"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacff845394aeffa1e2c0de6d449f72a15"></a> void </td><td class="memItemRight" valign="bottom"><b>_vbi_export_malloc_error</b> (<a class="el" href="structvbi__export.html">vbi_export</a> *e)</td></tr> <tr class="separator:gacff845394aeffa1e2c0de6d449f72a15"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga87337e3f477ab0c65d1d81ed0c874664"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#ga87337e3f477ab0c65d1d81ed0c874664">vbi_export_write_error</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *)</td></tr> <tr class="separator:ga87337e3f477ab0c65d1d81ed0c874664"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9ff019ade9574fae5cbf5af605709d41"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#ga9ff019ade9574fae5cbf5af605709d41">vbi_export_unknown_option</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *, const char *keyword)</td></tr> <tr class="separator:ga9ff019ade9574fae5cbf5af605709d41"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gacbceab3a49fc720f1df144e399dffb76"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#gacbceab3a49fc720f1df144e399dffb76">vbi_export_invalid_option</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *, const char *keyword,...)</td></tr> <tr class="separator:gacbceab3a49fc720f1df144e399dffb76"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gafe535f80c12fa1371386aa20239c89dc"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#gafe535f80c12fa1371386aa20239c89dc">vbi_export_strdup</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *, char **d, const char *s)</td></tr> <tr class="separator:gafe535f80c12fa1371386aa20239c89dc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gafd2e28d5996b997d5387791023fe7748"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#gafd2e28d5996b997d5387791023fe7748">vbi_export_error_printf</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *, const char *templ,...)</td></tr> <tr class="separator:gafd2e28d5996b997d5387791023fe7748"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad9cdf8de954cf01dbdc385ecd922e314"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#gad9cdf8de954cf01dbdc385ecd922e314">vbi_ucs2be</a> (void)</td></tr> <tr class="separator:gad9cdf8de954cf01dbdc385ecd922e314"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>This is the private interface between the public libzvbi export functions and export modules. libzvbi client applications don't use this.</p> <p>Export modules include <code>"export.h"</code> to get these definitions. See example module exp-templ.c. </p> <h2 class="groupheader">Macro Definition Documentation</h2> <a class="anchor" id="ga5294e6bb3862d3e8deb85712bcc896ec"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VBI_OPTION_BOOL_INITIALIZER</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">key_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">label_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">def_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">tip_ </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <a class="code" href="group__Export.html#gga962c6347c02825825c4dc57cef624e18ac52bcaa99bba52bb01ca08261fbde02a">VBI_OPTION_BOOL</a>, key_, label_, VBI_OPTION_BOUNDS_INITIALIZER_( \</div> <div class="line"> .num, def_, 0, 1, 1), { .num = NULL }, tip_ }</div> <div class="ttc" id="group__Export_html_gga962c6347c02825825c4dc57cef624e18ac52bcaa99bba52bb01ca08261fbde02a"><div class="ttname"><a href="group__Export.html#gga962c6347c02825825c4dc57cef624e18ac52bcaa99bba52bb01ca08261fbde02a">VBI_OPTION_BOOL</a></div><div class="ttdef"><b>Definition:</b> export.h:100</div></div> </div><!-- fragment --><p>Helper macro for export modules to build option lists. Use like this:</p> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> vbi_option_info myinfo = VBI_OPTION_BOOL_INITIALIZER</div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span>  ("mute", N_("Switch sound on/off"), FALSE, N_("I am a tooltip"));</div> </div><!-- fragment --><p>N_() marks the string for i18n, see info gettext for details. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="src_2exp-templ_8c-example.html#a2">src/exp-templ.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga3510330ba2eccae0e42271cf26bf8d58"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VBI_OPTION_INT_RANGE_INITIALIZER</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">key_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">label_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">def_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">min_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">max_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">step_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">tip_ </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <a class="code" href="group__Export.html#gga962c6347c02825825c4dc57cef624e18ae6270b87e1f1ad504a2f9f4b08831c72">VBI_OPTION_INT</a>, key_, label_, \</div> <div class="line"> VBI_OPTION_BOUNDS_INITIALIZER_(.num, def_, min_, max_, step_), \</div> <div class="line"> { .num = NULL }, tip_ }</div> <div class="ttc" id="group__Export_html_gga962c6347c02825825c4dc57cef624e18ae6270b87e1f1ad504a2f9f4b08831c72"><div class="ttname"><a href="group__Export.html#gga962c6347c02825825c4dc57cef624e18ae6270b87e1f1ad504a2f9f4b08831c72">VBI_OPTION_INT</a></div><div class="ttdef"><b>Definition:</b> export.h:122</div></div> </div><!-- fragment --><p>Helper macro for export modules to build option lists. Use like this:</p> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> vbi_option_info myinfo = VBI_OPTION_INT_RANGE_INITIALIZER</div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span>  ("sampling", N_("Sampling rate"), 44100, 8000, 48000, 100, NULL);</div> </div><!-- fragment --><p>Here we have no tooltip (<code>NULL</code>). </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="src_2exp-templ_8c-example.html#a3">src/exp-templ.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga44d7cca3a31209ab6ba9503974517f40"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VBI_OPTION_INT_MENU_INITIALIZER</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">key_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">label_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">def_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">menu_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">entries_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">tip_ </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <a class="code" href="group__Export.html#gga962c6347c02825825c4dc57cef624e18ae6270b87e1f1ad504a2f9f4b08831c72">VBI_OPTION_INT</a>, key_, label_, \</div> <div class="line"> VBI_OPTION_BOUNDS_INITIALIZER_(.num, def_, 0, (entries_) - 1, 1), \</div> <div class="line"> { .num = menu_ }, tip_ }</div> <div class="ttc" id="group__Export_html_gga962c6347c02825825c4dc57cef624e18ae6270b87e1f1ad504a2f9f4b08831c72"><div class="ttname"><a href="group__Export.html#gga962c6347c02825825c4dc57cef624e18ae6270b87e1f1ad504a2f9f4b08831c72">VBI_OPTION_INT</a></div><div class="ttdef"><b>Definition:</b> export.h:122</div></div> </div><!-- fragment --><p>Helper macro for export modules to build option lists. Use like this:</p> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> int mymenu[] = { 29, 30, 31 };</div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> </div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> vbi_option_info myinfo = VBI_OPTION_INT_MENU_INITIALIZER</div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span>  ("days", NULL, 1, mymenu, 3, NULL);</div> </div><!-- fragment --><p>No label and tooltip (<code>NULL</code>), i. e. this option is not to be listed in the user interface. Default is entry 1 ("30") of 3 entries. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="src_2exp-templ_8c-example.html#a4">src/exp-templ.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga3769f237b0f12e2d7e66a553e3a8f89a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VBI_OPTION_REAL_RANGE_INITIALIZER</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">key_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">label_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">def_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">min_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">max_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">step_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">tip_ </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <a class="code" href="group__Export.html#gga962c6347c02825825c4dc57cef624e18aa6db7cf160c1028967ee90a6a69de6a9">VBI_OPTION_REAL</a>, key_, label_, \</div> <div class="line"> VBI_OPTION_BOUNDS_INITIALIZER_(.dbl, def_, min_, max_, step_), \</div> <div class="line"> { .dbl = NULL }, tip_ }</div> <div class="ttc" id="group__Export_html_gga962c6347c02825825c4dc57cef624e18aa6db7cf160c1028967ee90a6a69de6a9"><div class="ttname"><a href="group__Export.html#gga962c6347c02825825c4dc57cef624e18aa6db7cf160c1028967ee90a6a69de6a9">VBI_OPTION_REAL</a></div><div class="ttdef"><b>Definition:</b> export.h:143</div></div> </div><!-- fragment --><p>Helper macro for export modules to build option lists. Use like <a class="el" href="group__Exmod.html#ga3510330ba2eccae0e42271cf26bf8d58">VBI_OPTION_INT_RANGE_INITIALIZER()</a>, just with doubles but ints. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="src_2exp-templ_8c-example.html#a5">src/exp-templ.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga42a27eee38c0dfcf27c8900dc32c6d44"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VBI_OPTION_REAL_MENU_INITIALIZER</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">key_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">label_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">def_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">menu_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">entries_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">tip_ </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <a class="code" href="group__Export.html#gga962c6347c02825825c4dc57cef624e18aa6db7cf160c1028967ee90a6a69de6a9">VBI_OPTION_REAL</a>, key_, label_, \</div> <div class="line"> VBI_OPTION_BOUNDS_INITIALIZER_(.num, def_, 0, (entries_) - 1, 1), \</div> <div class="line"> { .dbl = menu_ }, tip_ }</div> <div class="ttc" id="group__Export_html_gga962c6347c02825825c4dc57cef624e18aa6db7cf160c1028967ee90a6a69de6a9"><div class="ttname"><a href="group__Export.html#gga962c6347c02825825c4dc57cef624e18aa6db7cf160c1028967ee90a6a69de6a9">VBI_OPTION_REAL</a></div><div class="ttdef"><b>Definition:</b> export.h:143</div></div> </div><!-- fragment --><p>Helper macro for export modules to build option lists. Use like <a class="el" href="group__Exmod.html#ga44d7cca3a31209ab6ba9503974517f40">VBI_OPTION_INT_MENU_INITIALIZER()</a>, just with an array of doubles but ints. </p> </div> </div> <a class="anchor" id="ga0cc437cd7d695b9a4a44b7fb773443f3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VBI_OPTION_STRING_INITIALIZER</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">key_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">label_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">def_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">tip_ </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <a class="code" href="group__Export.html#gga962c6347c02825825c4dc57cef624e18a6ae6c1b73bc8ac53169cd947b3840f4e">VBI_OPTION_STRING</a>, key_, label_, VBI_OPTION_BOUNDS_INITIALIZER_( \</div> <div class="line"> .str, def_, NULL, NULL, NULL), { .str = NULL }, tip_ }</div> <div class="ttc" id="group__Export_html_gga962c6347c02825825c4dc57cef624e18a6ae6c1b73bc8ac53169cd947b3840f4e"><div class="ttname"><a href="group__Export.html#gga962c6347c02825825c4dc57cef624e18a6ae6c1b73bc8ac53169cd947b3840f4e">VBI_OPTION_STRING</a></div><div class="ttdef"><b>Definition:</b> export.h:166</div></div> </div><!-- fragment --><p>Helper macro for export modules to build option lists. Use like this:</p> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> vbi_option_info myinfo = VBI_OPTION_STRING_INITIALIZER</div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span>  ("comment", N_("Comment"), "bububaba", "Please enter a string");</div> </div><!-- fragment --> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="src_2exp-templ_8c-example.html#a6">src/exp-templ.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga2b356ca1ed98a47efa8b85a135405c60"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VBI_OPTION_STRING_MENU_INITIALIZER</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">key_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">label_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">def_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">menu_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">entries_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">tip_ </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <a class="code" href="group__Export.html#gga962c6347c02825825c4dc57cef624e18a6ae6c1b73bc8ac53169cd947b3840f4e">VBI_OPTION_STRING</a>, key_, label_, \</div> <div class="line"> VBI_OPTION_BOUNDS_INITIALIZER_(.str, def_, 0, (entries_) - 1, 1), \</div> <div class="line"> { .str = menu_ }, tip_ }</div> <div class="ttc" id="group__Export_html_gga962c6347c02825825c4dc57cef624e18a6ae6c1b73bc8ac53169cd947b3840f4e"><div class="ttname"><a href="group__Export.html#gga962c6347c02825825c4dc57cef624e18a6ae6c1b73bc8ac53169cd947b3840f4e">VBI_OPTION_STRING</a></div><div class="ttdef"><b>Definition:</b> export.h:166</div></div> </div><!-- fragment --><p>Helper macro for export modules to build option lists. Use like this:</p> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> char *mymenu[] = { "txt", "html" };</div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> </div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> vbi_option_info myinfo = VBI_OPTION_STRING_MENU_INITIALIZER</div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span>  ("extension", "Ext", 0, mymenu, 2, N_("Select an extension"));</div> </div><!-- fragment --><p>Remember this is like <a class="el" href="group__Exmod.html#ga0cc437cd7d695b9a4a44b7fb773443f3">VBI_OPTION_STRING_INITIALIZER()</a> in the sense that the vbi client can pass any string as option value, not just those proposed in the menu. In contrast a plain menu option as with <a class="el" href="group__Exmod.html#gaa15784af5f2ffc133575079bfb98adeb">VBI_OPTION_MENU_INITIALIZER()</a> expects menu indices as input. </p> </div> </div> <a class="anchor" id="gaa15784af5f2ffc133575079bfb98adeb"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VBI_OPTION_MENU_INITIALIZER</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">key_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">label_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">def_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">menu_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">entries_, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">tip_ </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <a class="code" href="group__Export.html#gga962c6347c02825825c4dc57cef624e18a6025de4d3bdf673ca38e727e7978adf3">VBI_OPTION_MENU</a>, key_, label_, \</div> <div class="line"> VBI_OPTION_BOUNDS_INITIALIZER_(.num, def_, 0, (entries_) - 1, 1), \</div> <div class="line"> { .str = (<span class="keywordtype">char</span> **)(menu_) }, tip_ }</div> <div class="ttc" id="group__Export_html_gga962c6347c02825825c4dc57cef624e18a6025de4d3bdf673ca38e727e7978adf3"><div class="ttname"><a href="group__Export.html#gga962c6347c02825825c4dc57cef624e18a6025de4d3bdf673ca38e727e7978adf3">VBI_OPTION_MENU</a></div><div class="ttdef"><b>Definition:</b> export.h:183</div></div> </div><!-- fragment --><p>Helper macro for export modules to build option lists. Use like this:</p> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> char *mymenu[] = { N_("Monday"), N_("Tuesday") };</div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> </div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> vbi_option_info myinfo = VBI_OPTION_MENU_INITIALIZER</div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span>  ("weekday", "Weekday", 0, mymenu, 2, N_("Select a weekday"));</div> </div><!-- fragment --> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="src_2exp-templ_8c-example.html#a7">src/exp-templ.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="gac39fe176dadc4d377e693192e2018a38"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VBI_AUTOREG_EXPORT_MODULE</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">name</td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Doesn't work, sigh. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="src_2exp-templ_8c-example.html#a22">src/exp-templ.c</a>.</dd> </dl> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="ga2d9b079846530561a525b66bbec0d364"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vbi_register_export_module </td> <td>(</td> <td class="paramtype"><a class="el" href="structvbi__export__class.html">vbi_export_class</a> * </td> <td class="paramname"><em>new_module</em></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">new_module</td><td>Static pointer to initialized <a class="el" href="structvbi__export__class.html">vbi_export_class</a> structure.</td></tr> </table> </dd> </dl> <p>Registers a new export module. </p> <p>References <a class="el" href="structvbi__export__info.html#a2c61a88b646d4a83e80d2ce4c74014e9">vbi_export_info::keyword</a>.</p> </div> </div> <a class="anchor" id="ga87337e3f477ab0c65d1d81ed0c874664"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vbi_export_write_error </td> <td>(</td> <td class="paramtype"><a class="el" href="structvbi__export.html">vbi_export</a> * </td> <td class="paramname"><em>export</em></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">export</td><td>Pointer to a initialized <a class="el" href="structvbi__export.html">vbi_export</a> object.</td></tr> </table> </dd> </dl> <p>Similar to vbi_export_error_printf this function stores an error description in the <em>export</em> object, after examining the errno variable and choosing an appropriate message. Only export modules call this function. </p> <p>References <a class="el" href="structvbi__export.html#a11176b388127670b7750958afc74fed1">vbi_export::name</a>, and <a class="el" href="group__Exmod.html#gafd2e28d5996b997d5387791023fe7748">vbi_export_error_printf()</a>.</p> <p>Referenced by <a class="el" href="group__Export.html#ga0b1f6473de3ddb01a147db71a8231c3c">vbi_export_file()</a>.</p> </div> </div> <a class="anchor" id="ga9ff019ade9574fae5cbf5af605709d41"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vbi_export_unknown_option </td> <td>(</td> <td class="paramtype"><a class="el" href="structvbi__export.html">vbi_export</a> * </td> <td class="paramname"><em>export</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>keyword</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">export</td><td>Pointer to a initialized <a class="el" href="structvbi__export.html">vbi_export</a> object. </td></tr> <tr><td class="paramname">keyword</td><td>Name of the unknown option.</td></tr> </table> </dd> </dl> <p>Store an error description in the <em>export</em> object. </p> <p>References <a class="el" href="group__Exmod.html#gafd2e28d5996b997d5387791023fe7748">vbi_export_error_printf()</a>.</p> <p>Referenced by <a class="el" href="group__Export.html#ga2f7a8994e844a23cf5bf297eaf2701f1">vbi_export_option_get()</a>, and <a class="el" href="group__Export.html#ga33ee2f2315315a18cfb54c138354d615">vbi_export_option_info_keyword()</a>.</p> </div> </div> <a class="anchor" id="gacbceab3a49fc720f1df144e399dffb76"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vbi_export_invalid_option </td> <td>(</td> <td class="paramtype"><a class="el" href="structvbi__export.html">vbi_export</a> * </td> <td class="paramname"><em>export</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>keyword</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</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">export</td><td>Pointer to a initialized <a class="el" href="structvbi__export.html">vbi_export</a> object. </td></tr> <tr><td class="paramname">keyword</td><td>Name of the unknown option. </td></tr> <tr><td class="paramname">...</td><td>Invalid value, type depending on the option.</td></tr> </table> </dd> </dl> <p>Store an error description in the <em>export</em> object. </p> <p>References <a class="el" href="structvbi__option__info.html#a364b4389e2ef22fe55e41a58a214b256">vbi_option_info::type</a>, <a class="el" href="group__Exmod.html#gafd2e28d5996b997d5387791023fe7748">vbi_export_error_printf()</a>, <a class="el" href="group__Export.html#ga33ee2f2315315a18cfb54c138354d615">vbi_export_option_info_keyword()</a>, <a class="el" href="group__Export.html#gga962c6347c02825825c4dc57cef624e18ac52bcaa99bba52bb01ca08261fbde02a">VBI_OPTION_BOOL</a>, <a class="el" href="group__Export.html#gga962c6347c02825825c4dc57cef624e18ae6270b87e1f1ad504a2f9f4b08831c72">VBI_OPTION_INT</a>, <a class="el" href="group__Export.html#gga962c6347c02825825c4dc57cef624e18a6025de4d3bdf673ca38e727e7978adf3">VBI_OPTION_MENU</a>, <a class="el" href="group__Export.html#gga962c6347c02825825c4dc57cef624e18aa6db7cf160c1028967ee90a6a69de6a9">VBI_OPTION_REAL</a>, and <a class="el" href="group__Export.html#gga962c6347c02825825c4dc57cef624e18a6ae6c1b73bc8ac53169cd947b3840f4e">VBI_OPTION_STRING</a>.</p> </div> </div> <a class="anchor" id="gafe535f80c12fa1371386aa20239c89dc"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* vbi_export_strdup </td> <td>(</td> <td class="paramtype"><a class="el" href="structvbi__export.html">vbi_export</a> * </td> <td class="paramname"><em>export</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char ** </td> <td class="paramname"><em>d</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>s</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">export</td><td>Pointer to a initialized <a class="el" href="structvbi__export.html">vbi_export</a> object. </td></tr> <tr><td class="paramname">d</td><td>If non-zero, store pointer to allocated string here. When *d is non-zero, free(*d) the old string first. </td></tr> <tr><td class="paramname">s</td><td>String to be duplicated.</td></tr> </table> </dd> </dl> <p>Helper function for export modules.</p> <p>Same as the libc strdup(), except for <em>d</em> argument and setting the <em>export</em> error string on failure.</p> <dl class="section return"><dt>Returns</dt><dd><code>NULL</code> on failure, pointer to malloc()ed string otherwise. </dd></dl> <p>References <a class="el" href="group__Exmod.html#gafd2e28d5996b997d5387791023fe7748">vbi_export_error_printf()</a>.</p> <p>Referenced by <a class="el" href="group__Export.html#ga2f7a8994e844a23cf5bf297eaf2701f1">vbi_export_option_get()</a>, and <a class="el" href="group__Export.html#ga13174a7a199568c96dfcfcf8c9329622">vbi_export_option_set()</a>.</p> </div> </div> <a class="anchor" id="gafd2e28d5996b997d5387791023fe7748"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vbi_export_error_printf </td> <td>(</td> <td class="paramtype"><a class="el" href="structvbi__export.html">vbi_export</a> * </td> <td class="paramname"><em>export</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>templ</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</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">export</td><td>Pointer to a initialized <a class="el" href="structvbi__export.html">vbi_export</a> object. </td></tr> <tr><td class="paramname">templ</td><td>See printf(). </td></tr> <tr><td class="paramname">...</td><td>See printf().</td></tr> </table> </dd> </dl> <p>Store an error description in the <em>export</em> object. Including the current error description (to append or prepend) is safe. </p> <p>References <a class="el" href="structvbi__export.html#aa46e163792c6e8e0702e6a79ef4bf4ac">vbi_export::errstr</a>.</p> <p>Referenced by <a class="el" href="group__Export.html#ga0b1f6473de3ddb01a147db71a8231c3c">vbi_export_file()</a>, <a class="el" href="group__Exmod.html#gacbceab3a49fc720f1df144e399dffb76">vbi_export_invalid_option()</a>, <a class="el" href="group__Exmod.html#gafe535f80c12fa1371386aa20239c89dc">vbi_export_strdup()</a>, <a class="el" href="group__Exmod.html#ga9ff019ade9574fae5cbf5af605709d41">vbi_export_unknown_option()</a>, and <a class="el" href="group__Exmod.html#ga87337e3f477ab0c65d1d81ed0c874664">vbi_export_write_error()</a>.</p> </div> </div> <a class="anchor" id="gad9cdf8de954cf01dbdc385ecd922e314"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vbi_ucs2be </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Helper function for export modules, since iconv seems undecided what it really wants (not every iconv supports UCS-2LE/BE).</p> <dl class="section return"><dt>Returns</dt><dd>1 if iconv "UCS-2" is BE on this machine, 0 if LE, -1 if unknown. </dd></dl> <p>Referenced by <a class="el" href="group__Render.html#ga7d5abf8963f7e823b82c0f890b01775e">vbi_print_page_region()</a>.</p> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Thu Oct 16 2014 08:52:24 for ZVBI Library by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.8 </small></address> </body> </html>