- /**
- * The init function of the writer.
- *
- * It must fill in all other function pointers of the given
- * writer structure.
- */
- void (*init)(struct writer *w);
- /**
- * The command line parser of the writer.
- *
- * It should check whether the command line options given by \a options
- * are valid and return a pointer to the writer-specific configuration
- * data determined by \a options. This function must either succeed or
- * call exit(). Note that parse_config_or_die() might be called more
- * than once with different values of \a options. \sa \ref
- * free_config().
- */
- void *(*parse_config_or_die)(const char *options);
- /**
- * Dellocate all configuration resources.
- *
- * This should free whatever was allocated by \ref parse_config_or_die().
- */
- void (*free_config)(void *config);
- /**
- * Open one instance of this writer.
- *
- * This function should perform any work necessary to write the incoming
- * stream. To this aim, it may allocate its private data structure and store
- * a pointer to that structure via the given writer_node parameter.
- */
- int (*open)(struct writer_node *);