X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=filter.h;h=2d1c150afdda6add9bb498c625889fdcbdda5ea3;hb=b779fcfc62bca2e728348c70bab3c50df3fe63b8;hp=8c1c9e0d431c26e20a01fff76a2f3edb5e57c054;hpb=5c575441c5ac69d3107d8032c1c1d2d7f5c72ee1;p=paraslash.git diff --git a/filter.h b/filter.h index 8c1c9e0d..2d1c150a 100644 --- a/filter.h +++ b/filter.h @@ -191,14 +191,16 @@ struct filter { /** * 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. On success, it should return a - * pointer to the filter-specific configuration data determined by \a argc and - * \a argv. + * 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. */ - void *(*parse_config)(int argc, char **argv); + int (*parse_config)(int argc, char **argv, void **config); }; void close_filters(struct filter_chain *fc);