gui.c: make command pipe a nonblocking fd
[paraslash.git] / filter.h
index a6b3907..45ade8d 100644 (file)
--- a/filter.h
+++ b/filter.h
@@ -75,18 +75,14 @@ struct filter_chain {
         * pointer to variable containing the number of bytes loaded in the output buffer
         */
                size_t *out_loaded;
-       /**
-        *
-        *
-        * non-zero if end of file was encountered
-        */
-               int *eof;
-       /**
-        *
-        *
-        * non-zero if an error occured
-        */
-               int error;
+       /** non-zero if this filter wont' produce any more output */
+       int eof;
+       /** pointer to the eof flag of the receiving application */
+       int *input_eof;
+       /** pointer to the eof flag of the writing application */
+       int *output_eof;
+       /** the task associated with the filter chain */
+       struct task task;
 };
 
 /**
@@ -217,6 +213,7 @@ int filter_io(struct filter_chain *fc);
 void filter_init(struct filter *all_filters);
 int check_filter_arg(char *filter_arg, void **conf);
 int del_filter_callback(struct filter_callback *fcb);
+void filter_pre_select(struct sched *s, struct task *t);
 
 /**
  * the structure associated with a paraslash filter