From Ian Schorr: taps to keep statistics of traffic by host.
[obnox/wireshark/wip.git] / gtk / hostlist_table.h
1 /* hostlist_table.h   2004 Ian Schorr
2  * modified from endpoint_talkers_table   2003 Ronnie Sahlberg
3  * Helper routines common to all host talkers taps.
4  *
5  * $Id: hostlist_table.h,v 1.1 2004/02/20 09:09:12 guy Exp $
6  *
7  * Ethereal - Network traffic analyzer
8  * By Gerald Combs <gerald@ethereal.com>
9  * Copyright 1998 Gerald Combs
10  * 
11  * This program is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU General Public License
13  * as published by the Free Software Foundation; either version 2
14  * of the License, or (at your option) any later version.
15  * 
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  * GNU General Public License for more details.
20  * 
21  * You should have received a copy of the GNU General Public License
22  * along with this program; if not, write to the Free Software
23  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
24  */
25
26 typedef struct _hostlist_talker_t {
27         address src_address;
28         guint32 sat;
29         guint32 port_type;
30         guint32 src_port;
31
32         guint32 rx_frames;
33         guint32 tx_frames;
34         guint32 rx_bytes;
35         guint32 tx_bytes;
36 } hostlist_talker_t;
37
38 typedef struct _hostlist_table {
39         char *name;
40         GtkWidget *win;
41         GtkWidget *scrolled_window;
42         GtkCList *table;
43         GtkItemFactory *item_factory;
44         GtkWidget *menu;
45         gboolean has_ports;
46         guint32 num_hosts;
47         hostlist_talker_t *hosts;
48 } hostlist_table;
49
50 void init_hostlist_table(gboolean hide_ports, char *table_name, char *tap_name, char *filter, void *packet_func);
51
52 #define SAT_NONE                0
53 #define SAT_ETHER               1
54 #define SAT_FDDI                2
55 #define SAT_TOKENRING   3
56
57
58 void add_hostlist_table_data(hostlist_table *hl, address *src, guint32 src_port, gboolean sender, int num_frames, int num_bytes, int sat, int port_type);