X-Git-Url: http://git.samba.org/samba.git/?a=blobdiff_plain;f=gtk%2Fhostlist_eth.c;h=fa9fa801821390d0b5e1dc0dcb7dda383c949b49;hb=10051c8db724bd12fe57719c93bf666fac383d62;hp=e70d1c1312ca67d185806914ae0aea5a2b44aa96;hpb=b1114c5771b4973f6f95994d7270469475537c60;p=obnox%2Fwireshark%2Fwip.git diff --git a/gtk/hostlist_eth.c b/gtk/hostlist_eth.c index e70d1c1312..fa9fa80182 100644 --- a/gtk/hostlist_eth.c +++ b/gtk/hostlist_eth.c @@ -1,10 +1,10 @@ /* hostlist_eth.c 2004 Ian Schorr * modified from endpoint_talkers_eth.c 2003 Ronnie Sahlberg * - * $Id: hostlist_eth.c,v 1.6 2004/05/02 21:16:08 ulfl Exp $ + * $Id$ * - * Ethereal - Network traffic analyzer - * By Gerald Combs + * Wireshark - Network traffic analyzer + * By Gerald Combs * Copyright 1998 Gerald Combs * * This program is free software; you can redistribute it and/or @@ -29,25 +29,29 @@ #ifdef HAVE_SYS_TYPES_H # include #endif +#include #include -#include + #include "epan/packet.h" -#include "tap_menu.h" -#include "../tap.h" -#include "../register.h" -#include "hostlist_table.h" -#include "packet-eth.h" +#include +#include +#include + +#include "../stat_menu.h" + +#include "gtk/gui_stat_menu.h" +#include "gtk/hostlist_table.h" static int -eth_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, void *vip) +eth_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, const void *vip) { hostlist_table *hosts=(hostlist_table *)pit; - eth_hdr *ehdr=vip; + const eth_hdr *ehdr=vip; /* Take two "add" passes per packet, adding for each direction, ensures that all - packets are counted properly (even if address is sending to itself) + packets are counted properly (even if address is sending to itself) XXX - this could probably be done more efficiently inside hostlist_table */ add_hostlist_table_data(hosts, &ehdr->src, 0, TRUE, 1, pinfo->fd->pkt_len, SAT_ETHER, PT_NONE); add_hostlist_table_data(hosts, &ehdr->dst, 0, FALSE, 1, pinfo->fd->pkt_len, SAT_ETHER, PT_NONE); @@ -58,9 +62,10 @@ eth_hostlist_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, void static void -gtk_eth_hostlist_init(char *optarg) +gtk_eth_hostlist_init(const char *optarg, + void* userdata _U_) { - char *filter=NULL; + const char *filter=NULL; if(!strncmp(optarg,"hosts,eth,",10)){ filter=optarg+10; @@ -68,26 +73,33 @@ gtk_eth_hostlist_init(char *optarg) filter=NULL; } - init_hostlist_table(TRUE, "Ethernet Hosts", "eth", filter, (void *)eth_hostlist_packet); + init_hostlist_table(TRUE, "Ethernet", "eth", filter, eth_hostlist_packet); } - +#ifdef MAIN_MENU_USE_UIMANAGER +void +gtk_eth_hostlist_cb(GtkAction *action _U_, gpointer user_data _U_) +{ + gtk_eth_hostlist_init("hosts,eth",NULL); +} +#else static void gtk_eth_hostlist_cb(GtkWidget *w _U_, gpointer d _U_) { - gtk_eth_hostlist_init("hosts,eth"); + gtk_eth_hostlist_init("hosts,eth",NULL); } - +#endif void register_tap_listener_eth_hostlist(void) { - register_ethereal_tap("hosts,eth", gtk_eth_hostlist_init); + register_stat_cmd_arg("hosts,eth", gtk_eth_hostlist_init,NULL); - register_tap_menu_item("Ethernet", REGISTER_TAP_GROUP_ENDPOINT_LIST, +#ifdef MAIN_MENU_USE_UIMANAGER +#else + register_stat_menu_item("Ethernet", REGISTER_STAT_GROUP_ENDPOINT_LIST, gtk_eth_hostlist_cb, NULL, NULL, NULL); - - register_hostlist_table(TRUE, "Ethernet", "eth", NULL /*filter*/, (void *)eth_hostlist_packet); +#endif + register_hostlist_table(TRUE, "Ethernet", "eth", NULL /*filter*/, eth_hostlist_packet); } -