Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > media > main-release > by-pkgid > 1af184c486f5d5f476d50602700ee0a0 > files > 36

lib64zvbi-devel-0.2.33-2mdv2010.0.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>ZVBI Library: Internal export module interface</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.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Internal export module interface<br>
<small>
[<a class="el" href="group__Export.html">Exporting formatted Teletext and Closed Caption pages</a>]</small>
</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__export.html">vbi_export</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__export__class.html">vbi_export_class</a></td></tr>

<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5b50ed49bc27e89408e98c946060178d"></a><!-- doxytag: member="Exmod::VBI_OPTION_BOUNDS_INITIALIZER_" ref="g5b50ed49bc27e89408e98c946060178d" args="(type_, def_, min_, max_, step_)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VBI_OPTION_BOUNDS_INITIALIZER_</b>(type_, def_, min_, max_, step_)&nbsp;&nbsp;&nbsp;{ type_ = def_ }, { type_ = min_ }, { type_ = max_ }, { type_ = step_ }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#g5294e6bb3862d3e8deb85712bcc896ec">VBI_OPTION_BOOL_INITIALIZER</a>(key_, label_, def_, tip_)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#gcf6a0783eaa62ceb56c2f799770a099b">VBI_OPTION_INT_RANGE_INITIALIZER</a>(key_, label_, def_, min_,	max_,	step_, tip_)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#g44d7cca3a31209ab6ba9503974517f40">VBI_OPTION_INT_MENU_INITIALIZER</a>(key_, label_, def_,menu_, entries_, tip_)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#g87a153cf058e601deb83c29533254e6b">VBI_OPTION_REAL_RANGE_INITIALIZER</a>(key_, label_, def_, min_,	max_, step_, tip_)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#g42a27eee38c0dfcf27c8900dc32c6d44">VBI_OPTION_REAL_MENU_INITIALIZER</a>(key_, label_, def_,menu_, entries_, tip_)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#g0cc437cd7d695b9a4a44b7fb773443f3">VBI_OPTION_STRING_INITIALIZER</a>(key_, label_, def_, tip_)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#g2b356ca1ed98a47efa8b85a135405c60">VBI_OPTION_STRING_MENU_INITIALIZER</a>(key_, label_, def_,menu_, entries_, tip_)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#ga15784af5f2ffc133575079bfb98adeb">VBI_OPTION_MENU_INITIALIZER</a>(key_, label_, def_, menu_,entries_, tip_)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#gc39fe176dadc4d377e693192e2018a38">VBI_AUTOREG_EXPORT_MODULE</a>(name)</td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#g2d9b079846530561a525b66bbec0d364">vbi_register_export_module</a> (<a class="el" href="structvbi__export__class.html">vbi_export_class</a> *)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gcff845394aeffa1e2c0de6d449f72a15"></a><!-- doxytag: member="Exmod::_vbi_export_malloc_error" ref="gcff845394aeffa1e2c0de6d449f72a15" args="(vbi_export *e)" -->
void&nbsp;</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><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#g87337e3f477ab0c65d1d81ed0c874664">vbi_export_write_error</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#g9ff019ade9574fae5cbf5af605709d41">vbi_export_unknown_option</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *, const char *keyword)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#gcbceab3a49fc720f1df144e399dffb76">vbi_export_invalid_option</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *, const char *keyword,...)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#gfe535f80c12fa1371386aa20239c89dc">vbi_export_strdup</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *, char **d, const char *s)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#gfd2e28d5996b997d5387791023fe7748">vbi_export_error_printf</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *, const char *templ,...)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html#gd9cdf8de954cf01dbdc385ecd922e314">vbi_ucs2be</a> (void)</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This is the private interface between the public libzvbi export functions and export modules. libzvbi client applications don't use this.<p>
Export modules include <code>"export.h"</code> to get these definitions. See example module exp-templ.c. <hr><h2>Define Documentation</h2>
<a class="anchor" name="g5294e6bb3862d3e8deb85712bcc896ec"></a><!-- doxytag: member="export.h::VBI_OPTION_BOOL_INITIALIZER" ref="g5294e6bb3862d3e8deb85712bcc896ec" args="(key_, label_, def_, tip_)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VBI_OPTION_BOOL_INITIALIZER          </td>
          <td>(</td>
          <td class="paramtype">key_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">label_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">def_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">tip_&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment">{ <a class="code" href="group__Export.html#gg962c6347c02825825c4dc57cef624e18c52bcaa99bba52bb01ca08261fbde02a">VBI_OPTION_BOOL</a>, key_, label_, VBI_OPTION_BOUNDS_INITIALIZER_(        \
  .num, def_, 0, 1, 1), { .num = NULL }, tip_ }
</pre></div>Helper macro for export modules to build option lists. Use like this:<p>
<div class="fragment"><pre class="fragment"> <a class="code" href="structvbi__option__info.html" title="Information about an export option.">vbi_option_info</a> myinfo = <a class="code" href="group__Exmod.html#g5294e6bb3862d3e8deb85712bcc896ec">VBI_OPTION_BOOL_INITIALIZER</a>
   (<span class="stringliteral">"mute"</span>, N_(<span class="stringliteral">"Switch sound on/off"</span>), FALSE, N_(<span class="stringliteral">"I am a tooltip"</span>));
</pre></div><p>
N_() marks the string for i18n, see info gettext for details. <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="src_2exp-templ_8c-example.html#a2">src/exp-templ.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="gcf6a0783eaa62ceb56c2f799770a099b"></a><!-- doxytag: member="export.h::VBI_OPTION_INT_RANGE_INITIALIZER" ref="gcf6a0783eaa62ceb56c2f799770a099b" args="(key_, label_, def_, min_,	max_,	step_, tip_)" -->
<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">key_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">label_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">def_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">min_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">max_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">step_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">tip_&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment">{ <a class="code" href="group__Export.html#gg962c6347c02825825c4dc57cef624e18e6270b87e1f1ad504a2f9f4b08831c72">VBI_OPTION_INT</a>, key_, label_,                 \
  VBI_OPTION_BOUNDS_INITIALIZER_(.num, def_, min_, max_, step_),        \
  { .num = NULL }, tip_ }
</pre></div>Helper macro for export modules to build option lists. Use like this:<p>
<div class="fragment"><pre class="fragment"> <a class="code" href="structvbi__option__info.html" title="Information about an export option.">vbi_option_info</a> myinfo = <a class="code" href="group__Exmod.html#gcf6a0783eaa62ceb56c2f799770a099b">VBI_OPTION_INT_RANGE_INITIALIZER</a>
   (<span class="stringliteral">"sampling"</span>, N_(<span class="stringliteral">"Sampling rate"</span>), 44100, 8000, 48000, 100, NULL);
</pre></div><p>
Here we have no tooltip (<code>NULL</code>). <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="src_2exp-templ_8c-example.html#a3">src/exp-templ.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g44d7cca3a31209ab6ba9503974517f40"></a><!-- doxytag: member="export.h::VBI_OPTION_INT_MENU_INITIALIZER" ref="g44d7cca3a31209ab6ba9503974517f40" args="(key_, label_, def_,menu_, entries_, tip_)" -->
<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">key_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">label_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">def_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">menu_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">entries_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">tip_&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment">{ <a class="code" href="group__Export.html#gg962c6347c02825825c4dc57cef624e18e6270b87e1f1ad504a2f9f4b08831c72">VBI_OPTION_INT</a>, key_, label_,         \
  VBI_OPTION_BOUNDS_INITIALIZER_(.num, def_, 0, (entries_) - 1, 1),     \
  { .num = menu_ }, tip_ }
</pre></div>Helper macro for export modules to build option lists. Use like this:<p>
<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> mymenu[] = { 29, 30, 31 };

 <a class="code" href="structvbi__option__info.html" title="Information about an export option.">vbi_option_info</a> myinfo = <a class="code" href="group__Exmod.html#g44d7cca3a31209ab6ba9503974517f40">VBI_OPTION_INT_MENU_INITIALIZER</a>
   (<span class="stringliteral">"days"</span>, NULL, 1, mymenu, 3, NULL);
</pre></div><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. <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="src_2exp-templ_8c-example.html#a4">src/exp-templ.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g87a153cf058e601deb83c29533254e6b"></a><!-- doxytag: member="export.h::VBI_OPTION_REAL_RANGE_INITIALIZER" ref="g87a153cf058e601deb83c29533254e6b" args="(key_, label_, def_, min_,	max_, step_, tip_)" -->
<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">key_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">label_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">def_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">min_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">max_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">step_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">tip_&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment">{ <a class="code" href="group__Export.html#gg962c6347c02825825c4dc57cef624e18a6db7cf160c1028967ee90a6a69de6a9">VBI_OPTION_REAL</a>, key_, label_,                        \
  VBI_OPTION_BOUNDS_INITIALIZER_(.dbl, def_, min_, max_, step_),        \
  { .dbl = NULL }, tip_ }
</pre></div>Helper macro for export modules to build option lists. Use like <a class="el" href="group__Exmod.html#gcf6a0783eaa62ceb56c2f799770a099b">VBI_OPTION_INT_RANGE_INITIALIZER()</a>, just with doubles but ints. <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="src_2exp-templ_8c-example.html#a5">src/exp-templ.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g42a27eee38c0dfcf27c8900dc32c6d44"></a><!-- doxytag: member="export.h::VBI_OPTION_REAL_MENU_INITIALIZER" ref="g42a27eee38c0dfcf27c8900dc32c6d44" args="(key_, label_, def_,menu_, entries_, tip_)" -->
<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">key_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">label_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">def_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">menu_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">entries_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">tip_&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment">{ <a class="code" href="group__Export.html#gg962c6347c02825825c4dc57cef624e18a6db7cf160c1028967ee90a6a69de6a9">VBI_OPTION_REAL</a>, key_, label_,                \
  VBI_OPTION_BOUNDS_INITIALIZER_(.num, def_, 0, (entries_) - 1, 1),     \
  { .dbl = menu_ }, tip_ }
</pre></div>Helper macro for export modules to build option lists. Use like <a class="el" href="group__Exmod.html#g44d7cca3a31209ab6ba9503974517f40">VBI_OPTION_INT_MENU_INITIALIZER()</a>, just with an array of doubles but ints. 
</div>
</div><p>
<a class="anchor" name="g0cc437cd7d695b9a4a44b7fb773443f3"></a><!-- doxytag: member="export.h::VBI_OPTION_STRING_INITIALIZER" ref="g0cc437cd7d695b9a4a44b7fb773443f3" args="(key_, label_, def_, tip_)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VBI_OPTION_STRING_INITIALIZER          </td>
          <td>(</td>
          <td class="paramtype">key_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">label_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">def_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">tip_&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment">{ <a class="code" href="group__Export.html#gg962c6347c02825825c4dc57cef624e186ae6c1b73bc8ac53169cd947b3840f4e">VBI_OPTION_STRING</a>, key_, label_, VBI_OPTION_BOUNDS_INITIALIZER_(      \
  .str, def_, NULL, NULL, NULL), { .str = NULL }, tip_ }
</pre></div>Helper macro for export modules to build option lists. Use like this:<p>
<div class="fragment"><pre class="fragment"> <a class="code" href="structvbi__option__info.html" title="Information about an export option.">vbi_option_info</a> myinfo = <a class="code" href="group__Exmod.html#g0cc437cd7d695b9a4a44b7fb773443f3">VBI_OPTION_STRING_INITIALIZER</a>
   (<span class="stringliteral">"comment"</span>, N_(<span class="stringliteral">"Comment"</span>), <span class="stringliteral">"bububaba"</span>, <span class="stringliteral">"Please enter a string"</span>);
</pre></div> <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="src_2exp-templ_8c-example.html#a6">src/exp-templ.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g2b356ca1ed98a47efa8b85a135405c60"></a><!-- doxytag: member="export.h::VBI_OPTION_STRING_MENU_INITIALIZER" ref="g2b356ca1ed98a47efa8b85a135405c60" args="(key_, label_, def_,menu_, entries_, tip_)" -->
<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">key_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">label_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">def_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">menu_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">entries_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">tip_&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment">{ <a class="code" href="group__Export.html#gg962c6347c02825825c4dc57cef624e186ae6c1b73bc8ac53169cd947b3840f4e">VBI_OPTION_STRING</a>, key_, label_,              \
  VBI_OPTION_BOUNDS_INITIALIZER_(.str, def_, 0, (entries_) - 1, 1),     \
  { .str = menu_ }, tip_ }
</pre></div>Helper macro for export modules to build option lists. Use like this:<p>
<div class="fragment"><pre class="fragment"> <span class="keywordtype">char</span> *mymenu[] = { <span class="stringliteral">"txt"</span>, <span class="stringliteral">"html"</span> };

 <a class="code" href="structvbi__option__info.html" title="Information about an export option.">vbi_option_info</a> myinfo = <a class="code" href="group__Exmod.html#g2b356ca1ed98a47efa8b85a135405c60">VBI_OPTION_STRING_MENU_INITIALIZER</a>
   (<span class="stringliteral">"extension"</span>, <span class="stringliteral">"Ext"</span>, 0, mymenu, 2, N_(<span class="stringliteral">"Select an extension"</span>));
</pre></div><p>
Remember this is like <a class="el" href="group__Exmod.html#g0cc437cd7d695b9a4a44b7fb773443f3">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#ga15784af5f2ffc133575079bfb98adeb">VBI_OPTION_MENU_INITIALIZER()</a> expects menu indices as input. 
</div>
</div><p>
<a class="anchor" name="ga15784af5f2ffc133575079bfb98adeb"></a><!-- doxytag: member="export.h::VBI_OPTION_MENU_INITIALIZER" ref="ga15784af5f2ffc133575079bfb98adeb" args="(key_, label_, def_, menu_,entries_, tip_)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VBI_OPTION_MENU_INITIALIZER          </td>
          <td>(</td>
          <td class="paramtype">key_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">label_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">def_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">menu_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">entries_,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">tip_&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment">{ <a class="code" href="group__Export.html#gg962c6347c02825825c4dc57cef624e186025de4d3bdf673ca38e727e7978adf3">VBI_OPTION_MENU</a>, key_, label_,                        \
  VBI_OPTION_BOUNDS_INITIALIZER_(.num, def_, 0, (entries_) - 1, 1),     \
  { .str = (<span class="keywordtype">char</span> **)(menu_) }, tip_ }
</pre></div>Helper macro for export modules to build option lists. Use like this:<p>
<div class="fragment"><pre class="fragment"> <span class="keywordtype">char</span> *mymenu[] = { N_(<span class="stringliteral">"Monday"</span>), N_(<span class="stringliteral">"Tuesday"</span>) };

 <a class="code" href="structvbi__option__info.html" title="Information about an export option.">vbi_option_info</a> myinfo = <a class="code" href="group__Exmod.html#ga15784af5f2ffc133575079bfb98adeb">VBI_OPTION_MENU_INITIALIZER</a>
   (<span class="stringliteral">"weekday"</span>, <span class="stringliteral">"Weekday"</span>, 0, mymenu, 2, N_(<span class="stringliteral">"Select a weekday"</span>));
</pre></div> <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="src_2exp-templ_8c-example.html#a7">src/exp-templ.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="gc39fe176dadc4d377e693192e2018a38"></a><!-- doxytag: member="export.h::VBI_AUTOREG_EXPORT_MODULE" ref="gc39fe176dadc4d377e693192e2018a38" args="(name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VBI_AUTOREG_EXPORT_MODULE          </td>
          <td>(</td>
          <td class="paramtype">name&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Doesn't work, sigh. <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="src_2exp-templ_8c-example.html#a21">src/exp-templ.c</a>.</dl>
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g2d9b079846530561a525b66bbec0d364"></a><!-- doxytag: member="export.h::vbi_register_export_module" ref="g2d9b079846530561a525b66bbec0d364" args="(vbi_export_class *)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>new_module</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>new_module</em>&nbsp;</td><td>Static pointer to initialized <a class="el" href="structvbi__export__class.html">vbi_export_class</a> structure.</td></tr>
  </table>
</dl>
Registers a new export module. 
</div>
</div><p>
<a class="anchor" name="g87337e3f477ab0c65d1d81ed0c874664"></a><!-- doxytag: member="export.h::vbi_export_write_error" ref="g87337e3f477ab0c65d1d81ed0c874664" args="(vbi_export *)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>export</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>export</em>&nbsp;</td><td>Pointer to a initialized <a class="el" href="structvbi__export.html">vbi_export</a> object.</td></tr>
  </table>
</dl>
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. 
</div>
</div><p>
<a class="anchor" name="g9ff019ade9574fae5cbf5af605709d41"></a><!-- doxytag: member="export.h::vbi_export_unknown_option" ref="g9ff019ade9574fae5cbf5af605709d41" args="(vbi_export *, const char *keyword)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>export</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>keyword</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>export</em>&nbsp;</td><td>Pointer to a initialized <a class="el" href="structvbi__export.html">vbi_export</a> object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>keyword</em>&nbsp;</td><td>Name of the unknown option.</td></tr>
  </table>
</dl>
Store an error description in the <em>export</em> object. 
</div>
</div><p>
<a class="anchor" name="gcbceab3a49fc720f1df144e399dffb76"></a><!-- doxytag: member="export.h::vbi_export_invalid_option" ref="gcbceab3a49fc720f1df144e399dffb76" args="(vbi_export *, const char *keyword,...)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>export</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>keyword</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>export</em>&nbsp;</td><td>Pointer to a initialized <a class="el" href="structvbi__export.html">vbi_export</a> object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>keyword</em>&nbsp;</td><td>Name of the unknown option. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>Invalid value, type depending on the option.</td></tr>
  </table>
</dl>
Store an error description in the <em>export</em> object. 
</div>
</div><p>
<a class="anchor" name="gfe535f80c12fa1371386aa20239c89dc"></a><!-- doxytag: member="export.h::vbi_export_strdup" ref="gfe535f80c12fa1371386aa20239c89dc" args="(vbi_export *, char **d, const char *s)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>export</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&nbsp;</td>
          <td class="paramname"> <em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>s</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>export</em>&nbsp;</td><td>Pointer to a initialized <a class="el" href="structvbi__export.html">vbi_export</a> object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</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 valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>String to be duplicated.</td></tr>
  </table>
</dl>
Helper function for export modules.<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="return" compact><dt><b>Returns:</b></dt><dd><code>NULL</code> on failure, pointer to malloc()ed string otherwise. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gfd2e28d5996b997d5387791023fe7748"></a><!-- doxytag: member="export.h::vbi_export_error_printf" ref="gfd2e28d5996b997d5387791023fe7748" args="(vbi_export *, const char *templ,...)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>export</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>templ</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>export</em>&nbsp;</td><td>Pointer to a initialized <a class="el" href="structvbi__export.html">vbi_export</a> object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>templ</em>&nbsp;</td><td>See printf(). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>See printf().</td></tr>
  </table>
</dl>
Store an error description in the <em>export</em> object. Including the current error description (to append or prepend) is safe. 
</div>
</div><p>
<a class="anchor" name="gd9cdf8de954cf01dbdc385ecd922e314"></a><!-- doxytag: member="export.h::vbi_ucs2be" ref="gd9cdf8de954cf01dbdc385ecd922e314" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int vbi_ucs2be           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</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="return" compact><dt><b>Returns:</b></dt><dd>1 if iconv "UCS-2" is BE on this machine, 0 if LE, -1 if unknown. </dd></dl>

</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed May 27 04:47:58 2009 for ZVBI Library by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
</body>
</html>