X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;ds=sidebyside;f=filter.h;h=ab187df295b0c67024f5a5dcbf855ed49b06d6c4;hb=1e012cf40238883621692051a22fb9c7cad5e944;hp=b877b649fd877e6efe28f89193d995ec22c40ea3;hpb=f42f8143f383b82e1672b2cecf987dc5b9b23c64;p=paraslash.git diff --git a/filter.h b/filter.h index b877b649..ab187df2 100644 --- a/filter.h +++ b/filter.h @@ -32,6 +32,8 @@ struct filter_node { struct list_head callbacks; /** A pointer to the configuration of this instance. */ void *conf; + struct btr_node *btrn; + struct task task; }; /** Describes one running instance of a chain of filters */ @@ -95,18 +97,10 @@ struct filter_chain { struct filter_callback { /** All callbacks are organized in a doubly linked list. */ struct list_head node; - /** - * Private data. - * - * May be initialized by the application before registering the callback. This - * pointer is not used by the filter subsystem. It is provided for use within - * the input/output/close callback functions. - */ - void *data; /** * The input callback. * - * In not \p NULL, the filter subsystem calls this function whenever the filter + * If not \p NULL, the filter subsystem calls this function whenever the filter * consumed some or all of its input buffer. A pointer to the buffer of consumed * data, its length and a pointer to the own \a filter_callback structure are passed * to \a input_cb. The input callback is expected to return a negative value on errors. @@ -199,6 +193,10 @@ struct filter { /** The help texts for this filter. */ struct ggo_help help; + + void (*pre_select)(struct sched *s, struct task *t); + void (*post_select)(struct sched *s, struct task *t); + btr_command_handler execute; }; void close_filters(struct filter_chain *fc);