annotate src/io/tx_stack.h @ 0:d39e1d0d75b6

initial add
author paulo@hit-nxdomain.opendns.com
date Sat, 20 Feb 2010 21:18:28 -0800
parents
children
rev   line source
paulo@0 1 /*
paulo@0 2 * $Id: tx_stack.h,v 1.6 2004/04/17 06:07:33 hipnod Exp $
paulo@0 3 *
paulo@0 4 * Copyright (C) 2003 giFT project (gift.sourceforge.net)
paulo@0 5 *
paulo@0 6 * This program is free software; you can redistribute it and/or modify it
paulo@0 7 * under the terms of the GNU General Public License as published by the
paulo@0 8 * Free Software Foundation; either version 2, or (at your option) any
paulo@0 9 * later version.
paulo@0 10 *
paulo@0 11 * This program is distributed in the hope that it will be useful, but
paulo@0 12 * WITHOUT ANY WARRANTY; without even the implied warranty of
paulo@0 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
paulo@0 14 * General Public License for more details.
paulo@0 15 */
paulo@0 16
paulo@0 17 #ifndef GIFT_GT_TX_STACK_H_
paulo@0 18 #define GIFT_GT_TX_STACK_H_
paulo@0 19
paulo@0 20 /*****************************************************************************/
paulo@0 21
paulo@0 22 typedef struct gt_tx_stack GtTxStack;
paulo@0 23
paulo@0 24 typedef void (*GtTxStackCleanup) (GtTxStack *stack, void *udata);
paulo@0 25
paulo@0 26 struct gt_tx_stack
paulo@0 27 {
paulo@0 28 struct tx_layer *layers;
paulo@0 29 GtTxStackCleanup cleanup;
paulo@0 30
paulo@0 31 TCPC *c;
paulo@0 32 void *udata;
paulo@0 33
paulo@0 34 time_t start_time;
paulo@0 35 };
paulo@0 36
paulo@0 37 /*****************************************************************************/
paulo@0 38
paulo@0 39 GtTxStack *gt_tx_stack_new (TCPC *c, BOOL tx_deflated);
paulo@0 40 void gt_tx_stack_free (GtTxStack *stack);
paulo@0 41
paulo@0 42 void gt_tx_stack_abort (GtTxStack *stack);
paulo@0 43
paulo@0 44 void gt_tx_stack_set_handler (GtTxStack *stack,
paulo@0 45 GtTxStackCleanup cleanup,
paulo@0 46 void *udata);
paulo@0 47
paulo@0 48 BOOL gt_tx_stack_queue (GtTxStack *stack, const uint8_t *data,
paulo@0 49 size_t len);
paulo@0 50
paulo@0 51 /* used by tx_link to send data on the connection...argh, i can't
paulo@0 52 * come up with a good interface for this */
paulo@0 53 int gt_tx_stack_send (GtTxStack *stack, const uint8_t *data,
paulo@0 54 size_t len);
paulo@0 55
paulo@0 56 /*****************************************************************************/
paulo@0 57
paulo@0 58 #endif /* GIFT_GT_TX_STACK_H_ */