X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=stdout.h;h=b66a0026197e5b8efe1f4ca381ed399589e5bc3a;hp=4ff04e6871790f54f193b3449e264505e348ecdb;hb=d4b040af5e31260dbf71f4547484179f32be4746;hpb=a8066a827c4521d5b9a46aadace5fcd87c81540f;ds=sidebyside diff --git a/stdout.h b/stdout.h index 4ff04e68..b66a0026 100644 --- a/stdout.h +++ b/stdout.h @@ -1,41 +1,21 @@ /* - * Copyright (C) 2006-2007 Andre Noll + * Copyright (C) 2006-2012 Andre Noll * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + * 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 Writing to stdout via buffer trees. */ /** - * the task structure used for writing to stdout + * The task structure used for writing to stdout. + * + * This is used by para_recv, para_filter and para_client. */ 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 */ + /** The task structure used by the scheduler. */ struct task task; - /** whether \p STDOUT_FILENO was included in the write fd set */ - int check_fd; + /** Stdout is always a leaf node in the buffer tree. */ + struct btr_node *btrn; }; -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);