Sophie

Sophie

distrib > Mageia > 6 > x86_64 > media > core-release > by-pkgid > 2a781e5f78e233aedaa1e51ed196dcc3 > files > 45

lib64zvbi-devel-0.2.35-5.mga6.x86_64.rpm

<!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: Exporting formatted Teletext and Closed Caption pages</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
   &#160;<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&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;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="#groups">Modules</a> &#124;
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Exporting formatted Teletext and Closed Caption pages<div class="ingroups"><a class="el" href="group__HiDec.html">High Level Decoding</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
Modules</h2></td></tr>
<tr class="memitem:group__Exmod"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Exmod.html">Internal export module interface</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__Render"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Render.html">Teletext and Closed Caption page render functions</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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 &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__export__info.html">vbi_export_info</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about an export module.  <a href="structvbi__export__info.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionvbi__option__value.html">vbi_option_value</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Result of an option query.  <a href="unionvbi__option__value.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionvbi__option__value__ptr.html">vbi_option_value_ptr</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Option menu types.  <a href="unionvbi__option__value__ptr.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__option__info.html">vbi_option_info</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about an export option.  <a href="structvbi__option__info.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</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:ga532a30d2d28883cb799e136b03b3e6c7"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structvbi__export.html">vbi_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Export.html#ga532a30d2d28883cb799e136b03b3e6c7">vbi_export</a></td></tr>
<tr class="memdesc:ga532a30d2d28883cb799e136b03b3e6c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Export module instance, an opaque object.  <a href="#ga532a30d2d28883cb799e136b03b3e6c7">More...</a><br /></td></tr>
<tr class="separator:ga532a30d2d28883cb799e136b03b3e6c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf92adcd42d950dc54121a1586e27edf8"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structvbi__export__info.html">vbi_export_info</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Export.html#gaf92adcd42d950dc54121a1586e27edf8">vbi_export_info</a></td></tr>
<tr class="memdesc:gaf92adcd42d950dc54121a1586e27edf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about an export module.  <a href="#gaf92adcd42d950dc54121a1586e27edf8">More...</a><br /></td></tr>
<tr class="separator:gaf92adcd42d950dc54121a1586e27edf8"><td class="memSeparator" colspan="2">&#160;</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:ga962c6347c02825825c4dc57cef624e18"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Export.html#ga962c6347c02825825c4dc57cef624e18">vbi_option_type</a> { <br />
&#160;&#160;<a class="el" href="group__Export.html#gga962c6347c02825825c4dc57cef624e18ac52bcaa99bba52bb01ca08261fbde02a">VBI_OPTION_BOOL</a> = 1, 
<br />
&#160;&#160;<a class="el" href="group__Export.html#gga962c6347c02825825c4dc57cef624e18ae6270b87e1f1ad504a2f9f4b08831c72">VBI_OPTION_INT</a>, 
<br />
&#160;&#160;<a class="el" href="group__Export.html#gga962c6347c02825825c4dc57cef624e18aa6db7cf160c1028967ee90a6a69de6a9">VBI_OPTION_REAL</a>, 
<br />
&#160;&#160;<a class="el" href="group__Export.html#gga962c6347c02825825c4dc57cef624e18a6ae6c1b73bc8ac53169cd947b3840f4e">VBI_OPTION_STRING</a>, 
<br />
&#160;&#160;<a class="el" href="group__Export.html#gga962c6347c02825825c4dc57cef624e18a6025de4d3bdf673ca38e727e7978adf3">VBI_OPTION_MENU</a>
<br />
 }</td></tr>
<tr class="separator:ga962c6347c02825825c4dc57cef624e18"><td class="memSeparator" colspan="2">&#160;</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:ga524ee83f803664cc3c0721e609717d7e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structvbi__export__info.html">vbi_export_info</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Export.html#ga524ee83f803664cc3c0721e609717d7e">vbi_export_info_enum</a> (int index)</td></tr>
<tr class="separator:ga524ee83f803664cc3c0721e609717d7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf272c7809ecfd666e2fb70f44ec4676b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structvbi__export__info.html">vbi_export_info</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Export.html#gaf272c7809ecfd666e2fb70f44ec4676b">vbi_export_info_keyword</a> (const char *keyword)</td></tr>
<tr class="separator:gaf272c7809ecfd666e2fb70f44ec4676b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae471bb59f53847d20dffb2b12fde04db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structvbi__export__info.html">vbi_export_info</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Export.html#gae471bb59f53847d20dffb2b12fde04db">vbi_export_info_export</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *)</td></tr>
<tr class="separator:gae471bb59f53847d20dffb2b12fde04db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga47ed3113ae43980c6bf03d5a9ffa8ed7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structvbi__export.html">vbi_export</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Export.html#ga47ed3113ae43980c6bf03d5a9ffa8ed7">vbi_export_new</a> (const char *keyword, char **errstr)</td></tr>
<tr class="separator:ga47ed3113ae43980c6bf03d5a9ffa8ed7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad5960004a1f5a038977088afb7f5c587"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Export.html#gad5960004a1f5a038977088afb7f5c587">vbi_export_delete</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *)</td></tr>
<tr class="separator:gad5960004a1f5a038977088afb7f5c587"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga700aed0e0a661593d573e26c31920448"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structvbi__option__info.html">vbi_option_info</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Export.html#ga700aed0e0a661593d573e26c31920448">vbi_export_option_info_enum</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *, int index)</td></tr>
<tr class="separator:ga700aed0e0a661593d573e26c31920448"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga33ee2f2315315a18cfb54c138354d615"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structvbi__option__info.html">vbi_option_info</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Export.html#ga33ee2f2315315a18cfb54c138354d615">vbi_export_option_info_keyword</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *, const char *keyword)</td></tr>
<tr class="separator:ga33ee2f2315315a18cfb54c138354d615"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga13174a7a199568c96dfcfcf8c9329622"><td class="memItemLeft" align="right" valign="top">vbi_bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Export.html#ga13174a7a199568c96dfcfcf8c9329622">vbi_export_option_set</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *, const char *keyword,...)</td></tr>
<tr class="separator:ga13174a7a199568c96dfcfcf8c9329622"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2f7a8994e844a23cf5bf297eaf2701f1"><td class="memItemLeft" align="right" valign="top">vbi_bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Export.html#ga2f7a8994e844a23cf5bf297eaf2701f1">vbi_export_option_get</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *, const char *keyword, <a class="el" href="unionvbi__option__value.html">vbi_option_value</a> *value)</td></tr>
<tr class="separator:ga2f7a8994e844a23cf5bf297eaf2701f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f3ffe1fd0b7b143392076b4bfaef8fa"><td class="memItemLeft" align="right" valign="top">vbi_bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Export.html#ga3f3ffe1fd0b7b143392076b4bfaef8fa">vbi_export_option_menu_set</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *, const char *keyword, int entry)</td></tr>
<tr class="separator:ga3f3ffe1fd0b7b143392076b4bfaef8fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae397ba965b3620b7e58f6be9cf9d439e"><td class="memItemLeft" align="right" valign="top">vbi_bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Export.html#gae397ba965b3620b7e58f6be9cf9d439e">vbi_export_option_menu_get</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *, const char *keyword, int *entry)</td></tr>
<tr class="separator:gae397ba965b3620b7e58f6be9cf9d439e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga251d0504db5fdad8791f67ec74c06d46"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Export.html#ga251d0504db5fdad8791f67ec74c06d46">vbi_export_mem</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *e, void *buffer, size_t buffer_size, const <a class="el" href="structvbi__page.html">vbi_page</a> *pg) _vbi_nonnull((1))</td></tr>
<tr class="separator:ga251d0504db5fdad8791f67ec74c06d46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga95cf3da262787eb882c8bfd419601591"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Export.html#ga95cf3da262787eb882c8bfd419601591">vbi_export_alloc</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *e, void **buffer, size_t *buffer_size, const <a class="el" href="structvbi__page.html">vbi_page</a> *pg) _vbi_nonnull((1))</td></tr>
<tr class="separator:ga95cf3da262787eb882c8bfd419601591"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga84bf3b96c47294313cca3bce52aea9f9"><td class="memItemLeft" align="right" valign="top">vbi_bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Export.html#ga84bf3b96c47294313cca3bce52aea9f9">vbi_export_stdio</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *, FILE *fp, <a class="el" href="structvbi__page.html">vbi_page</a> *pg)</td></tr>
<tr class="separator:ga84bf3b96c47294313cca3bce52aea9f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b1f6473de3ddb01a147db71a8231c3c"><td class="memItemLeft" align="right" valign="top">vbi_bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Export.html#ga0b1f6473de3ddb01a147db71a8231c3c">vbi_export_file</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *, const char *name, <a class="el" href="structvbi__page.html">vbi_page</a> *pg)</td></tr>
<tr class="separator:ga0b1f6473de3ddb01a147db71a8231c3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga50b2530318c8cc894ca6fa81810758dc"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Export.html#ga50b2530318c8cc894ca6fa81810758dc">vbi_export_errstr</a> (<a class="el" href="structvbi__export.html">vbi_export</a> *)</td></tr>
<tr class="separator:ga50b2530318c8cc894ca6fa81810758dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Once libzvbi received, decoded and formatted a Teletext or Closed Caption page you will want to render it on screen, print it as text or store it in various formats.</p>
<p>Fortunately you don't have to do it all by yourself. libzvbi provides export modules converting a <a class="el" href="structvbi__page.html" title="Formatted Teletext or Closed Caption page. ">vbi_page</a> into the desired format or rendering directly into memory.</p>
<p>A minimalistic export example:</p>
<div class="fragment"><div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line">export_my_page (<a class="code" href="structvbi__page.html">vbi_page</a> *pg)</div><div class="line">{</div><div class="line">        <a class="code" href="structvbi__export.html">vbi_export</a> *ex;</div><div class="line">        <span class="keywordtype">char</span> *errstr;</div><div class="line"></div><div class="line">        <span class="keywordflow">if</span> (!(ex = <a class="code" href="group__Export.html#ga47ed3113ae43980c6bf03d5a9ffa8ed7">vbi_export_new</a> (<span class="stringliteral">&quot;html&quot;</span>, &amp;errstr))) {</div><div class="line">                fprintf (stderr, <span class="stringliteral">&quot;Cannot export as HTML: %s\n&quot;</span>, errstr);</div><div class="line">                free (errstr);</div><div class="line">                <span class="keywordflow">return</span>;</div><div class="line">        }</div><div class="line"></div><div class="line">        <span class="keywordflow">if</span> (!<a class="code" href="group__Export.html#ga0b1f6473de3ddb01a147db71a8231c3c">vbi_export_file</a> (ex, <span class="stringliteral">&quot;my_page.html&quot;</span>, pg))</div><div class="line">                puts (<a class="code" href="group__Export.html#ga50b2530318c8cc894ca6fa81810758dc">vbi_export_errstr</a> (ex));</div><div class="line"></div><div class="line">        <a class="code" href="group__Export.html#gad5960004a1f5a038977088afb7f5c587">vbi_export_delete</a> (ex);</div><div class="line">}</div></div><!-- fragment --> <h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ga532a30d2d28883cb799e136b03b3e6c7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structvbi__export.html">vbi_export</a> <a class="el" href="structvbi__export.html">vbi_export</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Export module instance, an opaque object. </p>
<p>Allocate with <a class="el" href="group__Export.html#ga47ed3113ae43980c6bf03d5a9ffa8ed7">vbi_export_new()</a>. </p>

</div>
</div>
<a class="anchor" id="gaf92adcd42d950dc54121a1586e27edf8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structvbi__export__info.html">vbi_export_info</a>  <a class="el" href="structvbi__export__info.html">vbi_export_info</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Information about an export module. </p>
<p>Although export modules can be accessed by a static keyword (see <a class="el" href="group__Export.html#ga47ed3113ae43980c6bf03d5a9ffa8ed7">vbi_export_new()</a>) they are by definition opaque. The client can list export modules for the user and manipulate them without knowing about their availability or purpose. To do so, information about the module is necessary, given in this structure.</p>
<p>You can obtain this information with <a class="el" href="group__Export.html#ga524ee83f803664cc3c0721e609717d7e">vbi_export_info_enum()</a>. </p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga962c6347c02825825c4dc57cef624e18"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__Export.html#ga962c6347c02825825c4dc57cef624e18">vbi_option_type</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="gga962c6347c02825825c4dc57cef624e18ac52bcaa99bba52bb01ca08261fbde02a"></a>VBI_OPTION_BOOL&#160;</td><td class="fielddoc">
<p>A boolean value, either <code>TRUE</code> (1) or <code>FALSE</code> (0). </p><table class="doxtable">
<tr>
<td>Type:</td><td>int </td></tr>
<tr>
<td>Default:</td><td>vbi_option_info.def.num </td></tr>
<tr>
<td>Bounds:</td><td>vbi_option_info.min.num (0) ... max.num (1), step.num (1) </td></tr>
<tr>
<td>Menu:</td><td>NULL </td></tr>
</table>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga962c6347c02825825c4dc57cef624e18ae6270b87e1f1ad504a2f9f4b08831c72"></a>VBI_OPTION_INT&#160;</td><td class="fielddoc">
<p>A signed integer value. </p><table class="doxtable">
<tr>
<td>Type:</td><td>int </td></tr>
<tr>
<td>Default:</td><td>vbi_option_info.def.num </td></tr>
<tr>
<td>Bounds:</td><td>vbi_option_info.min.num ... max.num, step.num </td></tr>
<tr>
<td>Menu:</td><td>NULL </td></tr>
</table>
<p>When only a few discrete values rather than a range of values are permitted <code><a class="el" href="structvbi__option__info.html#afaad46a4148a5c8e79ecf3dace748796">vbi_option_info.menu</a></code> points to a vector of integers. However you must still set the option by value, not by menu index. If the value is invalid <a class="el" href="group__Export.html#ga13174a7a199568c96dfcfcf8c9329622">vbi_export_option_set()</a> may fail or pick the closest possible value instead. </p><table class="doxtable">
<tr>
<td>Type:</td><td>int </td></tr>
<tr>
<td>Default:</td><td>vbi_option_info.menu.num[vbi_option_info.def.num] </td></tr>
<tr>
<td>Bounds:</td><td>See vbi_option_info.menu.num[] for valid values </td></tr>
<tr>
<td>Menu:</td><td>vbi_option_info.menu.num[min.num (0) ... max.num], step.num (1) </td></tr>
</table>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga962c6347c02825825c4dc57cef624e18aa6db7cf160c1028967ee90a6a69de6a9"></a>VBI_OPTION_REAL&#160;</td><td class="fielddoc">
<p>A real value. </p><table class="doxtable">
<tr>
<td>Type:</td><td>double </td></tr>
<tr>
<td>Default:</td><td>vbi_option_info.def.dbl </td></tr>
<tr>
<td>Bounds:</td><td>vbi_option_info.min.dbl ... max.dbl, step.dbl </td></tr>
<tr>
<td>Menu:</td><td>NULL </td></tr>
</table>
<p>As with <code>VBI_OPTION_INT</code> <code><a class="el" href="structvbi__option__info.html#afaad46a4148a5c8e79ecf3dace748796">vbi_option_info.menu</a></code> may point to a set of valid values: </p><table class="doxtable">
<tr>
<td>Type:</td><td>double </td></tr>
<tr>
<td>Default:</td><td>vbi_option_info.menu.dbl[vbi_option.info.def.num] </td></tr>
<tr>
<td>Bounds:</td><td>See vbi_option_info.menu.dbl[] for valid values </td></tr>
<tr>
<td>Menu:</td><td>vbi_option_info.menu.dbl[min.num (0) ... max.num], step.num (1) </td></tr>
</table>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga962c6347c02825825c4dc57cef624e18a6ae6c1b73bc8ac53169cd947b3840f4e"></a>VBI_OPTION_STRING&#160;</td><td class="fielddoc">
<p>A null terminated string. </p><table class="doxtable">
<tr>
<td>Type:</td><td>char * </td></tr>
<tr>
<td>Default:</td><td>vbi_option_info.def.str </td></tr>
<tr>
<td>Bounds:</td><td>Not applicable </td></tr>
<tr>
<td>Menu:</td><td>NULL </td></tr>
</table>
<p>As with <code>VBI_OPTION_INT</code> <code><a class="el" href="structvbi__option__info.html#afaad46a4148a5c8e79ecf3dace748796">vbi_option_info.menu</a></code> may point to a set of valid strings. Note that <a class="el" href="group__Export.html#ga13174a7a199568c96dfcfcf8c9329622">vbi_export_option_set()</a> always expects a string for this kind of option, and it may accept strings which are not in the menu. Contrast this with <code>VBI_OPTION_MENU</code>, where a menu index is expected. </p><table class="doxtable">
<tr>
<td>Type:</td><td>char * </td></tr>
<tr>
<td>Default:</td><td>vbi_option_info.menu.str[vbi_option_info.def.num] </td></tr>
<tr>
<td>Bounds:</td><td>Not applicable </td></tr>
<tr>
<td>Menu:</td><td>vbi_option_info.menu.str[min.num (0) ... max.num], step.num (1) </td></tr>
</table>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga962c6347c02825825c4dc57cef624e18a6025de4d3bdf673ca38e727e7978adf3"></a>VBI_OPTION_MENU&#160;</td><td class="fielddoc">
<p>Choice between a number of named options. The value of this kind of option is the menu index. The menu strings can be localized with a dgettext("zvbi", menu.str[n]) call. For details see gettext info file. </p><table class="doxtable">
<tr>
<td>Type:</td><td>int </td></tr>
<tr>
<td>Default:</td><td>vbi_option_info.def.num </td></tr>
<tr>
<td>Bounds:</td><td>vbi_option_info.min.num (0) ... max.num, step.num (1) </td></tr>
<tr>
<td>Menu:</td><td>vbi_option_info.menu.str[vbi_option_info.min.num ... max.num], step.num (1).  </td></tr>
</table>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga524ee83f803664cc3c0721e609717d7e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structvbi__export__info.html">vbi_export_info</a>* vbi_export_info_enum </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</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">index</td><td>Index into the export module list, 0 ... n.</td></tr>
  </table>
  </dd>
</dl>
<p>Enumerates all available export modules. You should start at index 0, incrementing.</p>
<p>Some modules may depend on machine features or the presence of certain libraries, thus the list can vary from session to session.</p>
<dl class="section return"><dt>Returns</dt><dd>Static pointer to a <a class="el" href="structvbi__export__info.html" title="Information about an export module. ">vbi_export_info</a> structure (no need to be freed), <code>NULL</code> if the index is out of bounds. </dd></dl>

</div>
</div>
<a class="anchor" id="gaf272c7809ecfd666e2fb70f44ec4676b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structvbi__export__info.html">vbi_export_info</a>* vbi_export_info_keyword </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>keyword</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">keyword</td><td>Export module identifier as in <a class="el" href="structvbi__export__info.html" title="Information about an export module. ">vbi_export_info</a> and <a class="el" href="group__Export.html#ga47ed3113ae43980c6bf03d5a9ffa8ed7">vbi_export_new()</a>.</td></tr>
  </table>
  </dd>
</dl>
<p>Similar to <a class="el" href="group__Export.html#ga524ee83f803664cc3c0721e609717d7e">vbi_export_info_enum()</a>, but this function attempts to find an export module by keyword.</p>
<dl class="section return"><dt>Returns</dt><dd>Static pointer to a <a class="el" href="structvbi__export__info.html" title="Information about an export module. ">vbi_export_info</a> structure, <code>NULL</code> if the named export module has not been found. </dd></dl>

<p>References <a class="el" href="structvbi__export__info.html#a2c61a88b646d4a83e80d2ce4c74014e9">vbi_export_info::keyword</a>.</p>

</div>
</div>
<a class="anchor" id="gae471bb59f53847d20dffb2b12fde04db"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structvbi__export__info.html">vbi_export_info</a>* vbi_export_info_export </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structvbi__export.html">vbi_export</a> *&#160;</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 <a class="el" href="structvbi__export.html">vbi_export</a> object previously allocated with <a class="el" href="group__Export.html#ga47ed3113ae43980c6bf03d5a9ffa8ed7">vbi_export_new()</a>.</td></tr>
  </table>
  </dd>
</dl>
<p>Returns the export module info for the given <em>export</em> object.</p>
<dl class="section return"><dt>Returns</dt><dd>A static <a class="el" href="structvbi__export__info.html" title="Information about an export module. ">vbi_export_info</a> pointer or <code>NULL</code> if <em>export</em> is <code>NULL</code>. </dd></dl>

<p>References <a class="el" href="structvbi__export.html#ae0240f8e6c98494405e8b86f0f2ec0e0">vbi_export::_class</a>, <a class="el" href="structvbi__option__info.html#a07d498c16856fe5f138d38efea740ea5">vbi_option_info::def</a>, <a class="el" href="structvbi__option__info.html#a4d191050f97ab85f5066767519e47b76">vbi_option_info::keyword</a>, <a class="el" href="structvbi__option__info.html#afaad46a4148a5c8e79ecf3dace748796">vbi_option_info::menu</a>, <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#ga700aed0e0a661593d573e26c31920448">vbi_export_option_info_enum()</a>, <a class="el" href="group__Export.html#ga33ee2f2315315a18cfb54c138354d615">vbi_export_option_info_keyword()</a>, <a class="el" href="group__Export.html#ga13174a7a199568c96dfcfcf8c9329622">vbi_export_option_set()</a>, <a class="el" href="group__Exmod.html#gafe535f80c12fa1371386aa20239c89dc">vbi_export_strdup()</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="ga47ed3113ae43980c6bf03d5a9ffa8ed7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structvbi__export.html">vbi_export</a>* vbi_export_new </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>keyword</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>errstr</em>&#160;</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">keyword</td><td>Export module identifier as in <a class="el" href="structvbi__export__info.html" title="Information about an export module. ">vbi_export_info</a>. </td></tr>
    <tr><td class="paramname">errstr</td><td>If not <code>NULL</code> this function stores a pointer to an error description here. You must free() this string when no longer needed.</td></tr>
  </table>
  </dd>
</dl>
<p>Creates a new export module instance to export a <a class="el" href="structvbi__page.html" title="Formatted Teletext or Closed Caption page. ">vbi_page</a> in the respective module format. As a special service you can initialize options by appending to the </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">keyword</td><td>like this:</td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;vbi_export_new (&quot;keyword; quality=75.5, comment=\&quot;example text\&quot;&quot;);</div></div><!-- fragment --><dl class="section return"><dt>Returns</dt><dd>Pointer to a newly allocated <a class="el" href="structvbi__export.html">vbi_export</a> object which must be freed by calling <a class="el" href="group__Export.html#gad5960004a1f5a038977088afb7f5c587">vbi_export_delete()</a>. <code>NULL</code> is returned and the <em>errstr</em> may be set (else <em>NULL</em>) if some problem occurred. </dd></dl>

<p>References <a class="el" href="structvbi__export.html#ae0240f8e6c98494405e8b86f0f2ec0e0">vbi_export::_class</a>, <a class="el" href="structvbi__export.html#a2ef53bc7c55edb3cab27552daef1eaad">vbi_export::_handle</a>, <a class="el" href="structvbi__export.html#aa46e163792c6e8e0702e6a79ef4bf4ac">vbi_export::errstr</a>, <a class="el" href="structvbi__export__info.html#a2c61a88b646d4a83e80d2ce4c74014e9">vbi_export_info::keyword</a>, <a class="el" href="structvbi__export__info.html#ad7e4f80cbdd7dfb697937258c3ee88d4">vbi_export_info::label</a>, <a class="el" href="structvbi__export.html#a11176b388127670b7750958afc74fed1">vbi_export::name</a>, <a class="el" href="group__Export.html#gad5960004a1f5a038977088afb7f5c587">vbi_export_delete()</a>, and <a class="el" href="group__Export.html#ga50b2530318c8cc894ca6fa81810758dc">vbi_export_errstr()</a>.</p>

</div>
</div>
<a class="anchor" id="gad5960004a1f5a038977088afb7f5c587"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vbi_export_delete </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structvbi__export.html">vbi_export</a> *&#160;</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 <a class="el" href="structvbi__export.html">vbi_export</a> object previously allocated with <a class="el" href="group__Export.html#ga47ed3113ae43980c6bf03d5a9ffa8ed7">vbi_export_new()</a>. Can be <code>NULL</code>.</td></tr>
  </table>
  </dd>
</dl>
<p>This function frees all resources associated with the <a class="el" href="structvbi__export.html">vbi_export</a> object. </p>

<p>References <a class="el" href="structvbi__export.html#ae0240f8e6c98494405e8b86f0f2ec0e0">vbi_export::_class</a>, <a class="el" href="structvbi__export.html#a83334c4eb3cb2355ac8cbbc945f70de9">vbi_export::creator</a>, <a class="el" href="structvbi__export.html#aa46e163792c6e8e0702e6a79ef4bf4ac">vbi_export::errstr</a>, and <a class="el" href="structvbi__export.html#a6b84714c1acc33721bd821665b65362e">vbi_export::network</a>.</p>

<p>Referenced by <a class="el" href="group__Export.html#ga47ed3113ae43980c6bf03d5a9ffa8ed7">vbi_export_new()</a>.</p>

</div>
</div>
<a class="anchor" id="ga700aed0e0a661593d573e26c31920448"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structvbi__option__info.html">vbi_option_info</a>* vbi_export_option_info_enum </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structvbi__export.html">vbi_export</a> *&#160;</td>
          <td class="paramname"><em>export</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em>&#160;</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">index</td><td>Index in the option table 0 ... n.</td></tr>
  </table>
  </dd>
</dl>
<p>Enumerates the options available for the given export module. You should start at index 0, incrementing.</p>
<dl class="section return"><dt>Returns</dt><dd>Static pointer to a <a class="el" href="structvbi__option__info.html" title="Information about an export option. ">vbi_option_info</a> structure, <code>NULL</code> if <em>index</em> is out of bounds. </dd></dl>

<p>References <a class="el" href="structvbi__export.html#ae0240f8e6c98494405e8b86f0f2ec0e0">vbi_export::_class</a>.</p>

<p>Referenced by <a class="el" href="group__Export.html#gae471bb59f53847d20dffb2b12fde04db">vbi_export_info_export()</a>.</p>

</div>
</div>
<a class="anchor" id="ga33ee2f2315315a18cfb54c138354d615"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structvbi__option__info.html">vbi_option_info</a>* vbi_export_option_info_keyword </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structvbi__export.html">vbi_export</a> *&#160;</td>
          <td class="paramname"><em>export</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>keyword</em>&#160;</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>Keyword of the option as in <a class="el" href="structvbi__option__info.html" title="Information about an export option. ">vbi_option_info</a>.</td></tr>
  </table>
  </dd>
</dl>
<p>Similar to <a class="el" href="group__Export.html#ga700aed0e0a661593d573e26c31920448">vbi_export_option_info_enum()</a>, but tries to find the option info based on the given keyword.</p>
<dl class="section return"><dt>Returns</dt><dd>Static pointer to a <a class="el" href="structvbi__option__info.html" title="Information about an export option. ">vbi_option_info</a> structure, <code>NULL</code> if the keyword wasn't found. </dd></dl>

<p>References <a class="el" href="structvbi__export.html#ae0240f8e6c98494405e8b86f0f2ec0e0">vbi_export::_class</a>, <a class="el" href="structvbi__option__info.html#a4d191050f97ab85f5066767519e47b76">vbi_option_info::keyword</a>, and <a class="el" href="group__Exmod.html#ga9ff019ade9574fae5cbf5af605709d41">vbi_export_unknown_option()</a>.</p>

<p>Referenced by <a class="el" href="group__Export.html#gae471bb59f53847d20dffb2b12fde04db">vbi_export_info_export()</a>, <a class="el" href="group__Exmod.html#gacbceab3a49fc720f1df144e399dffb76">vbi_export_invalid_option()</a>, <a class="el" href="group__Export.html#gae397ba965b3620b7e58f6be9cf9d439e">vbi_export_option_menu_get()</a>, and <a class="el" href="group__Export.html#ga3f3ffe1fd0b7b143392076b4bfaef8fa">vbi_export_option_menu_set()</a>.</p>

</div>
</div>
<a class="anchor" id="ga13174a7a199568c96dfcfcf8c9329622"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vbi_bool vbi_export_option_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structvbi__export.html">vbi_export</a> *&#160;</td>
          <td class="paramname"><em>export</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>keyword</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</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>Keyword identifying the option, as in <a class="el" href="structvbi__option__info.html" title="Information about an export option. ">vbi_option_info</a>. </td></tr>
    <tr><td class="paramname">...</td><td>New value to set.</td></tr>
  </table>
  </dd>
</dl>
<p>Sets the value of the named option. Make sure the value is casted to the correct type (int, double, char *).</p>
<p>Typical usage of <a class="el" href="group__Export.html#ga13174a7a199568c96dfcfcf8c9329622">vbi_export_option_set()</a>: </p><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;vbi_export_option_set (export, &quot;quality&quot;, 75.5);</div></div><!-- fragment --><p>Mind that options of type <code>VBI_OPTION_MENU</code> must be set by menu entry number (int), all other options by value. If necessary it will be replaced by the closest value possible. Use function <a class="el" href="group__Export.html#ga3f3ffe1fd0b7b143392076b4bfaef8fa">vbi_export_option_menu_set()</a> to set options with menu by menu entry.</p>
<dl class="section return"><dt>Returns</dt><dd><code>TRUE</code> on success, otherwise the option is not changed. </dd></dl>

<p>References <a class="el" href="structvbi__export.html#ae0240f8e6c98494405e8b86f0f2ec0e0">vbi_export::_class</a>, <a class="el" href="structvbi__export.html#a83334c4eb3cb2355ac8cbbc945f70de9">vbi_export::creator</a>, <a class="el" href="structvbi__export.html#a6b84714c1acc33721bd821665b65362e">vbi_export::network</a>, <a class="el" href="structvbi__export.html#aca6e835cff121ab453c19063192aceeb">vbi_export::reveal</a>, and <a class="el" href="group__Exmod.html#gafe535f80c12fa1371386aa20239c89dc">vbi_export_strdup()</a>.</p>

<p>Referenced by <a class="el" href="group__Export.html#gae471bb59f53847d20dffb2b12fde04db">vbi_export_info_export()</a>, and <a class="el" href="group__Export.html#ga3f3ffe1fd0b7b143392076b4bfaef8fa">vbi_export_option_menu_set()</a>.</p>

</div>
</div>
<a class="anchor" id="ga2f7a8994e844a23cf5bf297eaf2701f1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vbi_bool vbi_export_option_get </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structvbi__export.html">vbi_export</a> *&#160;</td>
          <td class="paramname"><em>export</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>keyword</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="unionvbi__option__value.html">vbi_option_value</a> *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</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>Keyword identifying the option, as in <a class="el" href="structvbi__option__info.html" title="Information about an export option. ">vbi_option_info</a>. </td></tr>
    <tr><td class="paramname">value</td><td>A place to store the current option value.</td></tr>
  </table>
  </dd>
</dl>
<p>This function queries the current value of the named option. When the option is of type VBI_OPTION_STRING <em>value.str</em> must be freed with free() when you don't need it any longer. When the option is of type VBI_OPTION_MENU then <em>value.num</em> contains the selected entry.</p>
<dl class="section return"><dt>Returns</dt><dd><code>TRUE</code> on success, otherwise <em>value</em> unchanged. </dd></dl>

<p>References <a class="el" href="structvbi__export.html#ae0240f8e6c98494405e8b86f0f2ec0e0">vbi_export::_class</a>, <a class="el" href="structvbi__export.html#a83334c4eb3cb2355ac8cbbc945f70de9">vbi_export::creator</a>, <a class="el" href="structvbi__export.html#a6b84714c1acc33721bd821665b65362e">vbi_export::network</a>, <a class="el" href="structvbi__export.html#aca6e835cff121ab453c19063192aceeb">vbi_export::reveal</a>, <a class="el" href="group__Exmod.html#gafe535f80c12fa1371386aa20239c89dc">vbi_export_strdup()</a>, and <a class="el" href="group__Exmod.html#ga9ff019ade9574fae5cbf5af605709d41">vbi_export_unknown_option()</a>.</p>

<p>Referenced by <a class="el" href="group__Export.html#gae397ba965b3620b7e58f6be9cf9d439e">vbi_export_option_menu_get()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3f3ffe1fd0b7b143392076b4bfaef8fa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vbi_bool vbi_export_option_menu_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structvbi__export.html">vbi_export</a> *&#160;</td>
          <td class="paramname"><em>export</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>keyword</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>entry</em>&#160;</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>Keyword identifying the option, as in <a class="el" href="structvbi__option__info.html" title="Information about an export option. ">vbi_option_info</a>. </td></tr>
    <tr><td class="paramname">entry</td><td>Menu entry to be selected.</td></tr>
  </table>
  </dd>
</dl>
<p>Similar to <a class="el" href="group__Export.html#ga13174a7a199568c96dfcfcf8c9329622">vbi_export_option_set()</a> this function sets the value of the named option, however it does so by number of the corresponding menu entry. Naturally this must be an option with menu.</p>
<dl class="section return"><dt>Returns</dt><dd><code>TRUE</code> on success, otherwise the option is not changed. </dd></dl>

<p>References <a class="el" href="structvbi__export.html#a2ef53bc7c55edb3cab27552daef1eaad">vbi_export::_handle</a>, <a class="el" href="structvbi__export.html#ac0e5a9559c21bf77213c68fb138950ac">vbi_export::_write</a>, <a class="el" href="structvbi__export.html#a6e8726077aa9e733f5a5382d34b88d12">vbi_export::buffer</a>, <a class="el" href="structvbi__export.html#a7f95cc26c576b0b57438289ff98a831d">vbi_export::capacity</a>, <a class="el" href="structvbi__export.html#aa0cca37a393e80a513f3b82dfc91f3b4">vbi_export::data</a>, <a class="el" href="structvbi__option__info.html#a931d86b787ed5597a537938172be8eae">vbi_option_info::max</a>, <a class="el" href="structvbi__option__info.html#afaad46a4148a5c8e79ecf3dace748796">vbi_option_info::menu</a>, <a class="el" href="structvbi__export.html#a19bf3befc887c52936205efcd4dd3b04">vbi_export::offset</a>, <a class="el" href="structvbi__export.html#ac90ed3788b190c14281115505456e17b">vbi_export::target</a>, <a class="el" href="structvbi__option__info.html#a364b4389e2ef22fe55e41a58a214b256">vbi_option_info::type</a>, <a class="el" href="group__Export.html#ga33ee2f2315315a18cfb54c138354d615">vbi_export_option_info_keyword()</a>, <a class="el" href="group__Export.html#ga13174a7a199568c96dfcfcf8c9329622">vbi_export_option_set()</a>, <a class="el" href="group__Exmod.html#ga87337e3f477ab0c65d1d81ed0c874664">vbi_export_write_error()</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>, <a class="el" href="group__Conv.html#ga80b5eb70475e34a24733e5ccaa3e9b9f">vbi_strlen_ucs2()</a>, and <a class="el" href="structvbi__export.html#a18dee9038220d5375d15295a7dfdff12">vbi_export::write_error</a>.</p>

</div>
</div>
<a class="anchor" id="gae397ba965b3620b7e58f6be9cf9d439e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vbi_bool vbi_export_option_menu_get </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structvbi__export.html">vbi_export</a> *&#160;</td>
          <td class="paramname"><em>export</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>keyword</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>entry</em>&#160;</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>Keyword identifying the option, as in <a class="el" href="structvbi__option__info.html" title="Information about an export option. ">vbi_option_info</a>. </td></tr>
    <tr><td class="paramname">entry</td><td>A place to store the current menu entry.</td></tr>
  </table>
  </dd>
</dl>
<p>Similar to <a class="el" href="group__Export.html#ga2f7a8994e844a23cf5bf297eaf2701f1">vbi_export_option_get()</a> this function queries the current value of the named option, but returns this value as number of the corresponding menu entry. Naturally this must be an option with menu.</p>
<dl class="section return"><dt>Returns</dt><dd><code>TRUE</code> on success, otherwise <em>value</em> remained unchanged. </dd></dl>

<p>References <a class="el" href="structvbi__option__info.html#afaad46a4148a5c8e79ecf3dace748796">vbi_option_info::menu</a>, <a class="el" href="structvbi__option__info.html#a475ea9114c688bf06df5104c05462388">vbi_option_info::min</a>, <a class="el" href="structvbi__option__info.html#a364b4389e2ef22fe55e41a58a214b256">vbi_option_info::type</a>, <a class="el" href="group__Export.html#ga2f7a8994e844a23cf5bf297eaf2701f1">vbi_export_option_get()</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>, and <a class="el" href="group__Export.html#gga962c6347c02825825c4dc57cef624e18aa6db7cf160c1028967ee90a6a69de6a9">VBI_OPTION_REAL</a>.</p>

</div>
</div>
<a class="anchor" id="ga251d0504db5fdad8791f67ec74c06d46"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ssize_t vbi_export_mem </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structvbi__export.html">vbi_export</a> *&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>buffer_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structvbi__page.html">vbi_page</a> *&#160;</td>
          <td class="paramname"><em>pg</em>&#160;</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">e</td><td>Initialized <a class="el" href="structvbi__export.html">vbi_export</a> object. </td></tr>
    <tr><td class="paramname">buffer</td><td>Output buffer. </td></tr>
    <tr><td class="paramname">buffer_size</td><td>Size of the output buffer in bytes. </td></tr>
    <tr><td class="paramname">pg</td><td>Page to be exported.</td></tr>
  </table>
  </dd>
</dl>
<p>This function writes the <em>pg</em> contents, converted to the format selected with <a class="el" href="group__Export.html#ga47ed3113ae43980c6bf03d5a9ffa8ed7">vbi_export_new()</a>, into the <em>buffer</em>.</p>
<p>You can call this function repeatedly, it does not change the state of the <a class="el" href="structvbi__export.html">vbi_export</a> or <a class="el" href="structvbi__page.html" title="Formatted Teletext or Closed Caption page. ">vbi_page</a> structure.</p>
<dl class="section return"><dt>Returns</dt><dd>On success the function returns the actual number of bytes stored in the buffer. If <em>buffer_size</em> is too small it returns the required size and the buffer contents are undefined. On other errors it returns -1 and the buffer contents are undefined.</dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.2.26 </dd></dl>

<p>References <a class="el" href="structvbi__export.html#ae0240f8e6c98494405e8b86f0f2ec0e0">vbi_export::_class</a>, <a class="el" href="structvbi__export.html#ac0e5a9559c21bf77213c68fb138950ac">vbi_export::_write</a>, <a class="el" href="structvbi__export.html#a6e8726077aa9e733f5a5382d34b88d12">vbi_export::buffer</a>, <a class="el" href="structvbi__export.html#a7f95cc26c576b0b57438289ff98a831d">vbi_export::capacity</a>, <a class="el" href="structvbi__export.html#aa0cca37a393e80a513f3b82dfc91f3b4">vbi_export::data</a>, <a class="el" href="structvbi__export.html#a19bf3befc887c52936205efcd4dd3b04">vbi_export::offset</a>, <a class="el" href="structvbi__export.html#ac90ed3788b190c14281115505456e17b">vbi_export::target</a>, and <a class="el" href="structvbi__export.html#a18dee9038220d5375d15295a7dfdff12">vbi_export::write_error</a>.</p>

</div>
</div>
<a class="anchor" id="ga95cf3da262787eb882c8bfd419601591"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* vbi_export_alloc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structvbi__export.html">vbi_export</a> *&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void **&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>buffer_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structvbi__page.html">vbi_page</a> *&#160;</td>
          <td class="paramname"><em>pg</em>&#160;</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">e</td><td>Initialized <a class="el" href="structvbi__export.html">vbi_export</a> object. </td></tr>
    <tr><td class="paramname">buffer</td><td>The address of the output buffer will be stored here. <em>buffer</em> can be <code>NULL</code>. </td></tr>
    <tr><td class="paramname">buffer_size</td><td>The amount of data stored in the output buffer, in bytes, will be stored here. <em>buffer_size</em> can be <code>NULL</code>. </td></tr>
    <tr><td class="paramname">pg</td><td>Page to be exported.</td></tr>
  </table>
  </dd>
</dl>
<p>This function writes the <em>pg</em> contents, converted to the format selected with <a class="el" href="group__Export.html#ga47ed3113ae43980c6bf03d5a9ffa8ed7">vbi_export_new()</a>, into a newly allocated buffer. You must free() this buffer when it is no longer needed.</p>
<p>You can call this function repeatedly, it does not change the state of the <a class="el" href="structvbi__export.html">vbi_export</a> or <a class="el" href="structvbi__page.html" title="Formatted Teletext or Closed Caption page. ">vbi_page</a> structure.</p>
<dl class="section return"><dt>Returns</dt><dd>On success the function returns the address of the allocated buffer. On failure it returns <code>NULL</code>, and <em>buffer</em> and <em>buffer_size</em> remain unmodified.</dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.2.26 </dd></dl>

<p>References <a class="el" href="structvbi__export.html#ae0240f8e6c98494405e8b86f0f2ec0e0">vbi_export::_class</a>, <a class="el" href="structvbi__export.html#ac0e5a9559c21bf77213c68fb138950ac">vbi_export::_write</a>, <a class="el" href="structvbi__export.html#a6e8726077aa9e733f5a5382d34b88d12">vbi_export::buffer</a>, <a class="el" href="structvbi__export.html#a7f95cc26c576b0b57438289ff98a831d">vbi_export::capacity</a>, <a class="el" href="structvbi__export.html#aa0cca37a393e80a513f3b82dfc91f3b4">vbi_export::data</a>, <a class="el" href="structvbi__export.html#a19bf3befc887c52936205efcd4dd3b04">vbi_export::offset</a>, <a class="el" href="structvbi__export.html#ac90ed3788b190c14281115505456e17b">vbi_export::target</a>, and <a class="el" href="structvbi__export.html#a18dee9038220d5375d15295a7dfdff12">vbi_export::write_error</a>.</p>

</div>
</div>
<a class="anchor" id="ga84bf3b96c47294313cca3bce52aea9f9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vbi_bool vbi_export_stdio </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structvbi__export.html">vbi_export</a> *&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structvbi__page.html">vbi_page</a> *&#160;</td>
          <td class="paramname"><em>pg</em>&#160;</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">e</td><td>Initialized <a class="el" href="structvbi__export.html">vbi_export</a> object. </td></tr>
    <tr><td class="paramname">fp</td><td>Buffered i/o stream to write to. </td></tr>
    <tr><td class="paramname">pg</td><td>Page to be exported.</td></tr>
  </table>
  </dd>
</dl>
<p>This function writes the <em>pg</em> contents, converted to the format selected with the <a class="el" href="group__Export.html#ga47ed3113ae43980c6bf03d5a9ffa8ed7">vbi_export_new()</a> function, into the stream <em>fp</em>. The caller is responsible for opening and closing the stream. Don't forget to check for i/o errors after closing. Note this function may write incomplete files when an error occurs.</p>
<p>You can call this function repeatedly, it does not change the state of the <a class="el" href="structvbi__export.html">vbi_export</a> or <a class="el" href="structvbi__page.html" title="Formatted Teletext or Closed Caption page. ">vbi_page</a> structure.</p>
<dl class="section return"><dt>Returns</dt><dd><code>FALSE</code> on failure, <code>TRUE</code> on success. </dd></dl>

<p>References <a class="el" href="structvbi__export.html#ae0240f8e6c98494405e8b86f0f2ec0e0">vbi_export::_class</a>, <a class="el" href="structvbi__export.html#a2ef53bc7c55edb3cab27552daef1eaad">vbi_export::_handle</a>, <a class="el" href="structvbi__export.html#ac0e5a9559c21bf77213c68fb138950ac">vbi_export::_write</a>, <a class="el" href="structvbi__export.html#a6e8726077aa9e733f5a5382d34b88d12">vbi_export::buffer</a>, <a class="el" href="structvbi__export.html#aa0cca37a393e80a513f3b82dfc91f3b4">vbi_export::data</a>, <a class="el" href="structvbi__export.html#ac90ed3788b190c14281115505456e17b">vbi_export::target</a>, and <a class="el" href="structvbi__export.html#a18dee9038220d5375d15295a7dfdff12">vbi_export::write_error</a>.</p>

</div>
</div>
<a class="anchor" id="ga0b1f6473de3ddb01a147db71a8231c3c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vbi_bool vbi_export_file </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structvbi__export.html">vbi_export</a> *&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structvbi__page.html">vbi_page</a> *&#160;</td>
          <td class="paramname"><em>pg</em>&#160;</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">e</td><td>Initialized <a class="el" href="structvbi__export.html">vbi_export</a> object. </td></tr>
    <tr><td class="paramname">name</td><td>File to be created. </td></tr>
    <tr><td class="paramname">pg</td><td>Page to be exported.</td></tr>
  </table>
  </dd>
</dl>
<p>Writes the <em>pg</em> contents, converted to the format selected with <a class="el" href="group__Export.html#ga47ed3113ae43980c6bf03d5a9ffa8ed7">vbi_export_new()</a>, into a new file with the given <em>name</em>. When an error occurs after the file was opened, the function deletes the file.</p>
<p>You can call this function repeatedly, it does not change the state of the <a class="el" href="structvbi__export.html">vbi_export</a> or <a class="el" href="structvbi__page.html" title="Formatted Teletext or Closed Caption page. ">vbi_page</a> structure.</p>
<dl class="section return"><dt>Returns</dt><dd><code>FALSE</code> on failure, <code>TRUE</code> on success. </dd></dl>

<p>References <a class="el" href="structvbi__export.html#ae0240f8e6c98494405e8b86f0f2ec0e0">vbi_export::_class</a>, <a class="el" href="structvbi__export.html#a2ef53bc7c55edb3cab27552daef1eaad">vbi_export::_handle</a>, <a class="el" href="structvbi__export.html#ac0e5a9559c21bf77213c68fb138950ac">vbi_export::_write</a>, <a class="el" href="structvbi__export.html#a6e8726077aa9e733f5a5382d34b88d12">vbi_export::buffer</a>, <a class="el" href="structvbi__export.html#aa0cca37a393e80a513f3b82dfc91f3b4">vbi_export::data</a>, <a class="el" href="structvbi__export.html#a11176b388127670b7750958afc74fed1">vbi_export::name</a>, <a class="el" href="structvbi__export.html#ac90ed3788b190c14281115505456e17b">vbi_export::target</a>, <a class="el" href="group__Exmod.html#gafd2e28d5996b997d5387791023fe7748">vbi_export_error_printf()</a>, <a class="el" href="group__Exmod.html#ga87337e3f477ab0c65d1d81ed0c874664">vbi_export_write_error()</a>, and <a class="el" href="structvbi__export.html#a18dee9038220d5375d15295a7dfdff12">vbi_export::write_error</a>.</p>

</div>
</div>
<a class="anchor" id="ga50b2530318c8cc894ca6fa81810758dc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* vbi_export_errstr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structvbi__export.html">vbi_export</a> *&#160;</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>
<dl class="section return"><dt>Returns</dt><dd>After an export function failed, this function returns a pointer to a more detailed error description. Do not free this string. It remains valid until the next call of an export function. </dd></dl>

<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#ga47ed3113ae43980c6bf03d5a9ffa8ed7">vbi_export_new()</a>.</p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>