Merge /fml/ag-raetsch/home/maan/scm/paraslash_meins/paraslash
[paraslash.git] / stdout.h
1 /*
2 * Copyright (C) 2006-2007 Andre Noll <maan@systemlinux.org>
3 *
4 * Licensed under the GPL v2. For licencing details see COPYING.
5 */
6
7 /** \file stdout.h the stdout task structure and exported symbols from stdout.c */
8
9 /**
10 * the task structure used for writing to stdout
11 */
12 struct stdout_task {
13 /** pointer to the data buffer */
14 char *buf;
15 /** number of bytes loaded in \a buf */
16 size_t *loaded;
17 /** pointer to the eof flag of the feeding task */
18 int *input_eof;
19 /** non-zero if a write error occured */
20 int eof;
21 /** the task structure */
22 struct task task;
23 /** whether \p STDOUT_FILENO was included in the write fd set */
24 int check_fd;
25 };
26
27 void stdout_pre_select(struct sched *s, struct task *t);
28 void stdout_post_select(struct sched *s, struct task *t);
29 void stdout_set_defaults(struct stdout_task *sot);