-/**
- *
- *
- * the name of the filter
- */
-const char *name;
-/**
- *
- *
- * pointer to the filter init routine
- *
- * This function is only called once at startup. It must initialize the
- * other non-optional function pointers of \a f.
- */
-void (*init)(struct filter *f);
-/**
- *
- *
- * open one instance of this filter
- *
- * This should allocate the output buffer of the given filter node and do any
- * other filter-specific preparations like initializing the private_data member
- * of \a fn suitably. The open function is assumed to succeed.
- */
-void (*open)(struct filter_node *fn);
-/**
- *
- *
- * convert (filter) the given data
- *
- * Pointer to the converting function of the filter. It should convert the
- * given input buffer \a inbuf which is of length \a len to the previoulsy
- * reserved output buffer of \a fn. On success, it must return the number of
- * bytes it consumed from \a inbuf. On errors, a negative number indicating the
- * kind of the error must be returned.
- *
- * A zero return value just means that nothing was converted (probably because
- * the input buffer was too small). This is not interpreted as an error.
- */
-ssize_t (*convert)(char *inbuf, size_t len, struct filter_node *fn);
-/**
- *
- *
- * close one instance of this filter
- *
- * Free all resources of associated with \a fn that were previously allocated
- * by the open() function.
- */
-void (*close)(struct filter_node *fn);
-/**
- *
- *
- * print the help text for this filter and exit
- *
- * This is optional and it is not necessary to initialize this pointer if
- * the filter does not have a help text.
- */
-void (*print_help)(void);
-/**
- *
- *
- * a pointer to the filter's command line parser
- *
- * If this optional function pointer is not NULL, any filter options are passed
- * from the main propgram to this command line parser once at application
- * startup. The command line parser should check its command line options given
- * by \a argc and \a argv and abort on errors. On success, it should return a
- * pointer to the filter-specific configuration data determined by \a argc and
- * \a argv.
- */
-void *(*parse_config)(int argc, char **argv);
+ /** The name of the filter. */
+ const char *name;
+ /**
+ * Pointer to the filter init routine.
+ *
+ * This function is only called once at startup. It must initialize the
+ * other non-optional function pointers of this structure.
+ */
+ void (*init)(struct filter *f);
+ /**
+ * Open one instance of this filter.
+ *
+ * This should allocate the output buffer of the given filter node and do any
+ * other filter-specific preparations like initializing the private_data member
+ * of \a fn suitably. The open function is assumed to succeed.
+ */
+ void (*open)(struct filter_node *fn);
+ /**
+ * Convert (filter) the given data.
+ *
+ * Pointer to the converting function of the filter. It should convert the
+ * given input buffer \a inbuf which is of length \a len to the previously
+ * reserved output buffer of \a fn. On success, it must return the number of
+ * bytes it consumed from \a inbuf. On errors, a negative number indicating the
+ * kind of the error must be returned.
+ *
+ * A zero return value just means that nothing was converted (probably because
+ * the input buffer was too small). This is not interpreted as an error.
+ */
+ ssize_t (*convert)(char *inbuf, size_t len, struct filter_node *fn);
+ /**
+ * Close one instance of this filter.
+ *
+ * Free all resources of associated with \a fn that were previously allocated
+ * by the open() function.
+ */
+ void (*close)(struct filter_node *fn);
+ /**
+ * A pointer to the filter's command line parser.
+ *
+ * If this optional function pointer is not NULL, any filter options
+ * are passed from the main program to this command line parser once at
+ * application startup. The command line parser should check its
+ * command line options given by \a argc and \a argv and abort on
+ * errors. Success must be indicated by a non-negative return value. In
+ * this case the function should return a pointer to the
+ * filter-specific configuration data determined by \a argc and \a
+ * argv. On failure, a negative paraslash error code must be returned.
+ */
+ int (*parse_config)(int argc, char **argv, void **config);
+
+ /** The help texts for this filter. */
+ struct ggo_help help;