- /**
- * 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.
- *
- * Perform any preparations needed to write the incoming stream.
- * Usually this function just allocates its private data structure and
- * stores a pointer to that structure in the ->private data of the
- * given parameter. This function must either succeed or terminate the
- * process.
- */
- void (*open)(struct writer_node *);