* h225 RAS Service Response Time statistics for ethereal
* Copyright 2003 Lars Roland
*
- * $Id: h225_ras_srt.c,v 1.5 2003/12/19 23:41:55 guy Exp $
+ * $Id$
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
# include "config.h"
#endif
-#include <stdio.h>
-
#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
-#include <gtk/gtk.h>
#include <string.h>
-#include "../epan/packet_info.h"
-#include "../epan/epan.h"
-#include "menu.h"
-#include "../tap.h"
-#include "../epan/value_string.h"
+
+#include <gtk/gtk.h>
+
+#include <epan/packet_info.h>
+#include <epan/epan.h>
+#include <epan/value_string.h>
+
+#include "tap_menu.h"
+#include <epan/tap.h>
#include "../register.h"
-#include "../packet-h225.h"
+#include <epan/dissectors/packet-h225.h>
#include "../timestats.h"
#include "gtk_stat_util.h"
#include "compat_macros.h"
#include "../globals.h"
#include "../tap_dfilter_dlg.h"
#include "tap_dfilter_dlg.h"
+#include "ui_util.h"
-extern GtkWidget *main_display_filter_widget;
-void gtk_h225rassrt_init(char *optarg);
+static void gtk_h225rassrt_init(const char *optarg);
-tap_dfilter_dlg h225_rassrt_dlg = {"H.225 RAS Service Response Time", "h225,srt", gtk_h225rassrt_init, -1};
+static tap_dfilter_dlg h225_rassrt_dlg = {
+ "H.225 RAS Service Response Time",
+ "h225,srt",
+ gtk_h225rassrt_init,
+ -1
+};
/* following values represent the size of their valuestring arrays */
#define NUM_RAS_STATS 7
static int
-h225rassrt_packet(void *phs, packet_info *pinfo _U_, epan_dissect_t *edt _U_, void *phi)
+h225rassrt_packet(void *phs, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *phi)
{
h225rassrt_t *hs=(h225rassrt_t *)phs;
- h225_packet_info *pi=phi;
+ const h225_packet_info *pi=phi;
ras_type rasmsg_type = RAS_OTHER;
ras_category rascategory = RAS_OTHERS;
continue;
}
- sprintf(str[0], "%s", val_to_str(i,ras_message_category,"Other"));
- sprintf(str[1], "%7d", hs->ras_rtd[i].stats.num);
- sprintf(str[2], "%8.2f msec", nstime_to_msec(&(hs->ras_rtd[i].stats.min)));
- sprintf(str[3], "%8.2f msec", nstime_to_msec(&(hs->ras_rtd[i].stats.max)));;
- sprintf(str[4], "%8.2f msec", get_average(&(hs->ras_rtd[i].stats.tot), hs->ras_rtd[i].stats.num));
- sprintf(str[5], "%6u", hs->ras_rtd[i].stats.min_num);
- sprintf(str[6], "%6u", hs->ras_rtd[i].stats.max_num);
- sprintf(str[7], "%4u", hs->ras_rtd[i].open_req_num);
- sprintf(str[8], "%4u", hs->ras_rtd[i].disc_rsp_num);
- sprintf(str[9], "%4u", hs->ras_rtd[i].req_dup_num);
- sprintf(str[10], "%4u", hs->ras_rtd[i].rsp_dup_num);
+ g_snprintf(str[0], sizeof(char[256]),
+ "%s", val_to_str(i,ras_message_category,"Other"));
+ g_snprintf(str[1], sizeof(char[256]),
+ "%7d", hs->ras_rtd[i].stats.num);
+ g_snprintf(str[2], sizeof(char[256]),
+ "%8.2f msec", nstime_to_msec(&(hs->ras_rtd[i].stats.min)));
+ g_snprintf(str[3], sizeof(char[256]),
+ "%8.2f msec", nstime_to_msec(&(hs->ras_rtd[i].stats.max)));;
+ g_snprintf(str[4], sizeof(char[256]),
+ "%8.2f msec", get_average(&(hs->ras_rtd[i].stats.tot), hs->ras_rtd[i].stats.num));
+ g_snprintf(str[5], sizeof(char[256]),
+ "%6u", hs->ras_rtd[i].stats.min_num);
+ g_snprintf(str[6], sizeof(char[256]),
+ "%6u", hs->ras_rtd[i].stats.max_num);
+ g_snprintf(str[7], sizeof(char[256]),
+ "%4u", hs->ras_rtd[i].open_req_num);
+ g_snprintf(str[8], sizeof(char[256]),
+ "%4u", hs->ras_rtd[i].disc_rsp_num);
+ g_snprintf(str[9], sizeof(char[256]),
+ "%4u", hs->ras_rtd[i].req_dup_num);
+ g_snprintf(str[10], sizeof(char[256]),
+ "%4u", hs->ras_rtd[i].rsp_dup_num);
gtk_clist_append(GTK_CLIST(hs->table), str);
}
}
-static gchar *titles[]={"RAS-Type",
+static const gchar *titles[]={
+ "RAS-Type",
"Measurements",
"Min RTT",
"Max RTT",
"Repeated Requests",
"Repeated Responses" };
-void
-gtk_h225rassrt_init(char *optarg)
+static void
+gtk_h225rassrt_init(const char *optarg)
{
h225rassrt_t *hs;
- char *filter=NULL;
+ const char *filter=NULL;
GString *error_string;
+ GtkWidget *bbox;
+ GtkWidget *close_bt;
if(strncmp(optarg,"h225,srt,",9) == 0){
filter=optarg+9;
} else {
- filter=g_malloc(1);
- *filter='\0';
+ filter="";
}
hs=g_malloc(sizeof(h225rassrt_t));
- hs->filter=g_malloc(strlen(filter)+1);
- strcpy(hs->filter, filter);
+ hs->filter=g_strdup(filter);
h225rassrt_reset(hs);
- hs->win=gtk_window_new(GTK_WINDOW_TOPLEVEL);
- SIGNAL_CONNECT(hs->win, "destroy", win_destroy_cb, hs);
+ hs->win=window_new(GTK_WINDOW_TOPLEVEL, "h225-ras-srt");
+ gtk_window_set_default_size(GTK_WINDOW(hs->win), 600, 300);
- hs->vbox=gtk_vbox_new(FALSE, 0);
+ hs->vbox=gtk_vbox_new(FALSE, 3);
+ gtk_container_set_border_width(GTK_CONTAINER(hs->vbox), 12);
- init_main_stat_window(hs->win, hs->vbox, "ITU-T H.225 RAS Service Response Time", filter);
+ init_main_stat_window(hs->win, hs->vbox, "H.225 RAS Service Response Time", filter);
/* init a scrolled window*/
- hs->scrolled_window = gtk_scrolled_window_new(NULL, NULL);
- WIDGET_SET_SIZE(hs->scrolled_window, 600, 160);
+ hs->scrolled_window = scrolled_window_new(NULL, NULL);
hs->table = create_stat_table(hs->scrolled_window, hs->vbox, 11, titles);
error_string=register_tap_listener("h225", hs, filter, h225rassrt_reset, h225rassrt_packet, h225rassrt_draw);
if(error_string){
- simple_dialog(ESD_TYPE_WARN, NULL, error_string->str);
+ simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, error_string->str);
g_string_free(error_string, TRUE);
g_free(hs->filter);
g_free(hs);
return;
}
+ /* Button row. */
+ bbox = dlg_button_row_new(GTK_STOCK_CLOSE, NULL);
+ gtk_box_pack_end(GTK_BOX(hs->vbox), bbox, FALSE, FALSE, 0);
+
+ close_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_CLOSE);
+ window_set_cancel_button(hs->win, close_bt, window_cancel_button_cb);
+
+ SIGNAL_CONNECT(hs->win, "delete_event", window_delete_event_cb, NULL);
+ SIGNAL_CONNECT(hs->win, "destroy", win_destroy_cb, hs);
+
gtk_widget_show_all(hs->win);
- redissect_packets(&cfile);
+ window_present(hs->win);
+
+ cf_retap_packets(&cfile);
}
void
register_tap_listener_gtk_h225rassrt(void)
{
- register_ethereal_tap("h225,srt", gtk_h225rassrt_init);
-}
+ register_tap_listener_cmd_arg("h225,srt", gtk_h225rassrt_init);
-void
-register_tap_menu_gtk_h225rassrt(void)
-{
- register_tap_menu_item("Statistics/Service Response Time/ITU-T H.225 RAS ...",
+ register_tap_menu_item("H.225 RAS...", REGISTER_TAP_GROUP_RESPONSE_TIME,
gtk_tap_dfilter_dlg_cb, NULL, NULL, &(h225_rassrt_dlg));
}