summaryrefslogtreecommitdiff
path: root/stdout.h
blob: 0d2ab2afb5672dc2969b2b8815cd83e1376bbfec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/*
 * Copyright (C) 2006-2007 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 */

/**
 * 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 */
	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 */
	struct task task;
	/** 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);