<!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: vbi_export Struct Reference</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 Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> </div> <div class="contents"> <h1>vbi_export Struct Reference<br> <small> [<a class="el" href="group__Exmod.html">Internal export module interface</a>]</small> </h1><!-- doxytag: class="vbi_export" --><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structvbi__export__class.html">vbi_export_class</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__export.html#e0240f8e6c98494405e8b86f0f2ec0e0">_class</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__export.html#a46e163792c6e8e0702e6a79ef4bf4ac">errstr</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__export.html#11176b388127670b7750958afc74fed1">name</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__export.html#6b84714c1acc33721bd821665b65362e">network</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__export.html#83334c4eb3cb2355ac8cbbc945f70de9">creator</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">vbi_bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__export.html#ca6e835cff121ab453c19063192aceeb">reveal</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">enum _vbi_export_target </td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__export.html#c90ed3788b190c14281115505456e17b">target</a></td></tr> <tr><td class="memItemLeft" nowrap>union {</td></tr> <tr><td class="memItemLeft" nowrap> FILE * <b>fp</b></td></tr> <tr><td class="memItemLeft" nowrap> int <b>fd</b></td></tr> <tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__export.html#a2b48112be04960ab0bbca1570f9edd3">_handle</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">_vbi_export_write_fn * </td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__export.html#c0e5a9559c21bf77213c68fb138950ac">_write</a></td></tr> <tr><td class="memItemLeft" nowrap>struct {</td></tr> <tr><td class="memItemLeft" nowrap> char * <a class="el" href="structvbi__export.html#a0cca37a393e80a513f3b82dfc91f3b4">data</a></td></tr> <tr><td class="memItemLeft" nowrap> size_t <a class="el" href="structvbi__export.html#19bf3befc887c52936205efcd4dd3b04">offset</a></td></tr> <tr><td class="memItemLeft" nowrap> size_t <a class="el" href="structvbi__export.html#7f95cc26c576b0b57438289ff98a831d">capacity</a></td></tr> <tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__export.html#958d0194e85c15faf1df43281a856ac9">buffer</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">vbi_bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structvbi__export.html#18dee9038220d5375d15295a7dfdff12">write_error</a></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Structure representing an export module instance, part of the private export module interface.<p> Export modules can read, but do not normally write its fields, as they are maintained by the public libzvbi export functions. <dl compact><dt><b>Examples: </b></dt><dd> <p> <a class="el" href="src_2exp-templ_8c-example.html#_a0">src/exp-templ.c</a>.</dl><hr><h2>Field Documentation</h2> <a class="anchor" name="e0240f8e6c98494405e8b86f0f2ec0e0"></a><!-- doxytag: member="vbi_export::_class" ref="e0240f8e6c98494405e8b86f0f2ec0e0" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structvbi__export__class.html">vbi_export_class</a>* <a class="el" href="structvbi__export.html#e0240f8e6c98494405e8b86f0f2ec0e0">vbi_export::_class</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Points back to export module description. </div> </div><p> <a class="anchor" name="a46e163792c6e8e0702e6a79ef4bf4ac"></a><!-- doxytag: member="vbi_export::errstr" ref="a46e163792c6e8e0702e6a79ef4bf4ac" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* <a class="el" href="structvbi__export.html#a46e163792c6e8e0702e6a79ef4bf4ac">vbi_export::errstr</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Frontend private. </div> </div><p> <a class="anchor" name="11176b388127670b7750958afc74fed1"></a><!-- doxytag: member="vbi_export::name" ref="11176b388127670b7750958afc74fed1" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* <a class="el" href="structvbi__export.html#11176b388127670b7750958afc74fed1">vbi_export::name</a> </td> </tr> </table> </div> <div class="memdoc"> <p> If <code>target</code> is <code>VBI_EXPORT_FILE</code> the name of the file we are writing to, as supplied by the client. Otherwise <code>NULL</code>. This is intended for debugging and error messages. </div> </div><p> <a class="anchor" name="6b84714c1acc33721bd821665b65362e"></a><!-- doxytag: member="vbi_export::network" ref="6b84714c1acc33721bd821665b65362e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* <a class="el" href="structvbi__export.html#6b84714c1acc33721bd821665b65362e">vbi_export::network</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Generic option: Network name or <code>NULL</code>. </div> </div><p> <a class="anchor" name="83334c4eb3cb2355ac8cbbc945f70de9"></a><!-- doxytag: member="vbi_export::creator" ref="83334c4eb3cb2355ac8cbbc945f70de9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* <a class="el" href="structvbi__export.html#83334c4eb3cb2355ac8cbbc945f70de9">vbi_export::creator</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Generic option: Creator name [by default "libzvbi"] or <code>NULL</code>. </div> </div><p> <a class="anchor" name="ca6e835cff121ab453c19063192aceeb"></a><!-- doxytag: member="vbi_export::reveal" ref="ca6e835cff121ab453c19063192aceeb" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vbi_bool <a class="el" href="structvbi__export.html#ca6e835cff121ab453c19063192aceeb">vbi_export::reveal</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Generic option: Reveal hidden characters. </div> </div><p> <a class="anchor" name="c90ed3788b190c14281115505456e17b"></a><!-- doxytag: member="vbi_export::target" ref="c90ed3788b190c14281115505456e17b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum _vbi_export_target <a class="el" href="structvbi__export.html#c90ed3788b190c14281115505456e17b">vbi_export::target</a> </td> </tr> </table> </div> <div class="memdoc"> <p> The export target. Note _vbi_export_grow_buffer_space() may change the target from TARGET_MEM to TARGET_ALLOC if the buffer supplied by the application is too small. </div> </div><p> <a class="anchor" name="a2b48112be04960ab0bbca1570f9edd3"></a><!-- doxytag: member="vbi_export::_handle" ref="a2b48112be04960ab0bbca1570f9edd3" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">union { ... } <a class="el" href="structvbi__export.html#a2b48112be04960ab0bbca1570f9edd3">vbi_export::_handle</a> </td> </tr> </table> </div> <div class="memdoc"> <p> If <em>target</em> is <code>VBI_EXPORT_TARGET_FP</code> or <code>VBI_EXPORT_TARGET_FD</code> the file pointer or file descriptor supplied by the client. If <code>VBI_EXPORT_TARGET_FILE</code> the file descriptor of the file we opened. Otherwise undefined.<p> Private field. Not to be accessed by export modules. </div> </div><p> <a class="anchor" name="c0e5a9559c21bf77213c68fb138950ac"></a><!-- doxytag: member="vbi_export::_write" ref="c0e5a9559c21bf77213c68fb138950ac" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">_vbi_export_write_fn* <a class="el" href="structvbi__export.html#c0e5a9559c21bf77213c68fb138950ac">vbi_export::_write</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Function to write data into <em>_handle</em>.<p> Private field. Not to be accessed by export modules. </div> </div><p> <a class="anchor" name="a0cca37a393e80a513f3b82dfc91f3b4"></a><!-- doxytag: member="vbi_export::data" ref="a0cca37a393e80a513f3b82dfc91f3b4" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* <a class="el" href="structvbi__export.html#a0cca37a393e80a513f3b82dfc91f3b4">vbi_export::data</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Pointer to the start of the buffer in memory. <code>NULL</code> if <em>capacity</em> is zero. </div> </div><p> <a class="anchor" name="19bf3befc887c52936205efcd4dd3b04"></a><!-- doxytag: member="vbi_export::offset" ref="19bf3befc887c52936205efcd4dd3b04" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t <a class="el" href="structvbi__export.html#19bf3befc887c52936205efcd4dd3b04">vbi_export::offset</a> </td> </tr> </table> </div> <div class="memdoc"> <p> The number of bytes written into the buffer so far. Must be <= <code>capacity</code>. </div> </div><p> <a class="anchor" name="7f95cc26c576b0b57438289ff98a831d"></a><!-- doxytag: member="vbi_export::capacity" ref="7f95cc26c576b0b57438289ff98a831d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t <a class="el" href="structvbi__export.html#7f95cc26c576b0b57438289ff98a831d">vbi_export::capacity</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Number of bytes we can store in the buffer, may be zero.<p> Call _vbi_export_grow_buffer_space() to increase the capacity. Keep in mind this may change the <em>data</em> pointer. </div> </div><p> <a class="anchor" name="958d0194e85c15faf1df43281a856ac9"></a><!-- doxytag: member="vbi_export::buffer" ref="958d0194e85c15faf1df43281a856ac9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct { ... } <a class="el" href="structvbi__export.html#958d0194e85c15faf1df43281a856ac9">vbi_export::buffer</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Output buffer. Export modules can write into this buffer directly after ensuring sufficient capacity, and/or call the vbi_export_putc() etc functions. Keep in mind these functions may call realloc(), changing the <em>data</em> pointer, and/or vbi_export_flush(), changing the <em>offset</em>. </div> </div><p> <a class="anchor" name="18dee9038220d5375d15295a7dfdff12"></a><!-- doxytag: member="vbi_export::write_error" ref="18dee9038220d5375d15295a7dfdff12" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vbi_bool <a class="el" href="structvbi__export.html#18dee9038220d5375d15295a7dfdff12">vbi_export::write_error</a> </td> </tr> </table> </div> <div class="memdoc"> <p> A write error occurred (like ferror()). </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 <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>