X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=stdin.h;h=8caee4cb316e876e81c085474c81bcaa6bba1805;hp=6a2b1d663b16a0ec53a15082c43d4a36fc3556f9;hb=9d232e636d79a2321e280fe3eee6839c8f45c36f;hpb=c8862b9e246b4ef6ff1fe103946e18cf2537ecde diff --git a/stdin.h b/stdin.h index 6a2b1d66..8caee4cb 100644 --- a/stdin.h +++ b/stdin.h @@ -1,25 +1,19 @@ -/* - * Copyright (C) 2006-2008 Andre Noll - * - * Licensed under the GPL v2. For licencing details see COPYING. - */ +/* Copyright (C) 2006 Andre Noll , see file 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; - /** Whether \p STDIN_FILENO was included in the read fd set. */ - int check_fd; /** The task structure. */ - struct task task; - /** Non-zero on read error, or if a read from stdin returned zero. */ - int error; + struct task *task; + /** 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); +void stdin_task_register(struct stdin_task *sit, struct sched *s);