view src/io/rx_stack.h @ 0:d39e1d0d75b6

initial add
author paulo@hit-nxdomain.opendns.com
date Sat, 20 Feb 2010 21:18:28 -0800
parents
children
line source
1 /*
2 * $Id: rx_stack.h,v 1.3 2003/09/19 00:10:30 hipnod Exp $
3 *
4 * Copyright (C) 2003 giFT project (gift.sourceforge.net)
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2, or (at your option) any
9 * later version.
10 *
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
15 */
17 #ifndef GIFT_GT_RX_STACK_H_
18 #define GIFT_GT_RX_STACK_H_
20 /*****************************************************************************/
22 #include "gt_gnutella.h"
24 /*****************************************************************************/
26 #define IO_DEBUG gt_config_get_int("io/debug=0")
28 /*****************************************************************************/
30 struct gt_rx_stack;
31 struct gt_node;
32 struct gt_packet;
34 typedef struct gt_rx_stack GtRxStack;
36 typedef void (*GtRxStackHandler) (void *udata, struct gt_packet *packet);
37 typedef void (*GtRxStackCleanup) (void *udata);
39 /*****************************************************************************/
41 GtRxStack *gt_rx_stack_new (struct gt_node *node, TCPC *c,
42 BOOL rx_inflated);
43 void gt_rx_stack_free (GtRxStack *stack);
45 void gt_rx_stack_set_handler (GtRxStack *stack,
46 GtRxStackHandler handler,
47 GtRxStackCleanup cleanup,
48 void *udata);
50 void gt_rx_stack_recv_start (GtRxStack *stack);
51 void gt_rx_stack_recv_end (GtRxStack *stack);
53 void gt_rx_stack_abort (GtRxStack *stack);
55 /*****************************************************************************/
57 #endif /* GIFT_GT_RX_STACK_H_ */