/*
- * Copyright (C) 2006-2007 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2009 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
-/** \file stdout.h the stdout task structure and exported symbols from stdout.c */
+/** \file stdout.h The standard out task structure. */
/**
- * the task structure used for writing to stdout
+ * The task structure used for writing to stdout.
*/
struct stdout_task {
- /** pointer to the data buffer */
- char *buf;
- /** number of bytes loaded in \a buf */
+ /** Pointer to the data buffer pointer. */
+ char **bufp;
+ /** Number of bytes loaded in \a buf. */
size_t *loaded;
- /** pointer to the eof flag of the feeding task */
- int *input_eof;
- /** non-zero if a write error occured */
- int eof;
- /** the task structure */
+ /** Pointer to the error variable of the feeding task. */
+ int *input_error;
+ /** The task structure. */
struct task task;
- /** whether \p STDOUT_FILENO was included in the write fd set */
+ /** Whether \p STDOUT_FILENO was included in the write fd set. */
int check_fd;
};
-void stdout_pre_select(struct sched *s, struct task *t);
-void stdout_post_select(struct sched *s, struct task *t);
void stdout_set_defaults(struct stdout_task *sot);