ZVBI Library 0.2.42
Data Fields

#include <export.h>

Data Fields

vbi_export_class_class
 
char * errstr
 
const char * name
 
char * network
 
char * creator
 
vbi_bool reveal
 
enum _vbi_export_target target
 
union { 
 
   FILE *   fp 
 
   int   fd 
 
_handle 
 
_vbi_export_write_fn * _write
 
struct { 
 
   char *   data 
 
   size_t   offset 
 
   size_t   capacity 
 
buffer 
 
vbi_bool write_error
 

Detailed Description

Structure representing an export module instance, part of the private export module interface.

Export modules can read, but do not normally write its fields, as they are maintained by the public libzvbi export functions.

Examples
src/exp-templ.c.

Field Documentation

◆ _class

vbi_export_class* vbi_export::_class

Points back to export module description.

Referenced by vbi_export_alloc(), vbi_export_file(), vbi_export_mem(), vbi_export_new(), and vbi_export_stdio().

◆ errstr

char* vbi_export::errstr

Frontend private.

Referenced by vbi_export_delete(), vbi_export_errstr(), and vbi_export_new().

◆ name

const char* vbi_export::name

If target is VBI_EXPORT_FILE the name of the file we are writing to, as supplied by the client. Otherwise NULL. This is intended for debugging and error messages.

Referenced by vbi_export_file(), vbi_export_new(), and vbi_export_write_error().

◆ network

char* vbi_export::network

Generic option: Network name or NULL.

Referenced by vbi_export_delete(), vbi_export_option_get(), and vbi_export_option_set().

◆ creator

char* vbi_export::creator

Generic option: Creator name [by default "libzvbi"] or NULL.

Referenced by vbi_export_delete(), vbi_export_option_get(), and vbi_export_option_set().

◆ reveal

vbi_bool vbi_export::reveal

Generic option: Reveal hidden characters.

◆ target

enum _vbi_export_target vbi_export::target

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.

Referenced by vbi_export_alloc(), vbi_export_file(), vbi_export_mem(), and vbi_export_stdio().

◆ [union]

union { ... } vbi_export::_handle

If target is VBI_EXPORT_TARGET_FP or VBI_EXPORT_TARGET_FD the file pointer or file descriptor supplied by the client. If VBI_EXPORT_TARGET_FILE the file descriptor of the file we opened. Otherwise undefined.

Private field. Not to be accessed by export modules.

Referenced by vbi_export_file(), vbi_export_new(), and vbi_export_stdio().

◆ _write

_vbi_export_write_fn* vbi_export::_write

Function to write data into _handle.

Private field. Not to be accessed by export modules.

Referenced by vbi_export_alloc(), vbi_export_file(), vbi_export_mem(), and vbi_export_stdio().

◆ data

char* vbi_export::data

Pointer to the start of the buffer in memory. NULL if capacity is zero.

Referenced by vbi_export_alloc(), vbi_export_file(), vbi_export_mem(), and vbi_export_stdio().

◆ offset

size_t vbi_export::offset

The number of bytes written into the buffer so far. Must be <= capacity.

Referenced by vbi_export_alloc(), and vbi_export_mem().

◆ capacity

size_t vbi_export::capacity

Number of bytes we can store in the buffer, may be zero.

Call _vbi_export_grow_buffer_space() to increase the capacity. Keep in mind this may change the data pointer.

Referenced by vbi_export_alloc(), and vbi_export_mem().

◆ [struct]

struct { ... } vbi_export::buffer

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 data pointer, and/or vbi_export_flush(), changing the offset.

Referenced by vbi_export_alloc(), vbi_export_file(), vbi_export_mem(), and vbi_export_stdio().

◆ write_error

vbi_bool vbi_export::write_error

A write error occurred (like ferror()).

Referenced by vbi_export_alloc(), vbi_export_file(), vbi_export_mem(), and vbi_export_stdio().