X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=stdin.h;h=cdf0c67fd57a1078f38a9f175d598adf65ece520;hp=cb6cbfb6b3797f0f954d99d2c39e8369663be0aa;hb=6fb1fc05a236d8732b0ae9581cc84d9958b3af76;hpb=40cbbb95e256e63e1e6958e9034311d4904604af diff --git a/stdin.h b/stdin.h index cb6cbfb6..cdf0c67f 100644 --- a/stdin.h +++ b/stdin.h @@ -1,11 +1,23 @@ +/* + * Copyright (C) 2006-2013 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 { - char *buf; - size_t bufsize; - size_t loaded; + /** The task structure. */ struct task task; - int eof; + /** 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_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);