X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=stdin.h;h=2b87f760d9caacc2dc69ae211016f8b85b7e141e;hp=753cef5696570fc4eeac99a879e7f45d0f9e498c;hb=e7e55d0ad711a46e4768066be197bb41caa5c5eb;hpb=0610638110061ff05670a6c497b371bf2e1d4d0f diff --git a/stdin.h b/stdin.h index 753cef56..2b87f760 100644 --- a/stdin.h +++ b/stdin.h @@ -1,10 +1,28 @@ +/* + * Copyright (C) 2006-2009 Andre Noll + * + * Licensed under the GPL v2. For licencing details see COPYING. + */ + +/** \file stdin.h The standard in task structure. */ + +/** The task structure used for reading from stdin. */ struct stdin_task { + /** Input buffer. */ char *buf; + /** The size of \a buf. */ size_t bufsize; + /** Number of bytes currently loaded in \a buf. */ size_t loaded; + /** Pointer to the error member of the consumer. */ + int *output_error; + /** Whether \p STDIN_FILENO was included in the read fd set. */ + int check_fd; + /** The task structure. */ struct task task; - int eof; + /** Non-null if buffer tree API should be used. */ + struct btr_node *btrn; + struct btr_pool *btrp; }; -void stdin_pre_select(struct sched *s, struct task *t); -void stdin_post_select(struct sched *s, struct task *t); +void stdin_set_defaults(struct stdin_task *sit);