X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=stdin.h;h=22ea7ed6cab3fb16ebcda30a35f0c878600a8203;hp=2b87f760d9caacc2dc69ae211016f8b85b7e141e;hb=d1e6b28f66e243516d01916f9125baee75dd98d6;hpb=6d92af64de5e78ded1a7cb27a88d7e10c9f576a8 diff --git a/stdin.h b/stdin.h index 2b87f760..22ea7ed6 100644 --- a/stdin.h +++ b/stdin.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2009 Andre Noll + * Copyright (C) 2006-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -8,21 +8,16 @@ /** 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; - /** Non-null if buffer tree API should be used. */ + /** Stdin is always the root of a buffer tree. */ struct btr_node *btrn; + /** Use a buffer pool to minimize memcpy due to alignment problems. */ struct btr_pool *btrp; + /** The descriptor flags of STDIN at startup. */ + int fd_flags; + /** Whether we have to set STDIN to nonblocking mode. */ + bool must_set_nonblock_flag; }; void stdin_set_defaults(struct stdin_task *sit);