aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--summary.c20
-rw-r--r--summary.h58
-rw-r--r--ui/gtk/summary_dlg.c2
3 files changed, 49 insertions, 31 deletions
diff --git a/summary.c b/summary.c
index 21b91c29f6..0fe058c7e6 100644
--- a/summary.c
+++ b/summary.c
@@ -138,11 +138,13 @@ summary_fill_in(capture_file *cf, summary_tally *st)
#ifdef HAVE_LIBPCAP
void
-summary_fill_in_capture(capture_options *capture_opts, summary_tally *st)
+summary_fill_in_capture(capture_file *cf,capture_options *capture_opts, summary_tally *st)
{
iface_options iface;
interface_options interface_opts;
guint i;
+ wtapng_iface_descriptions_t* idb_info;
+ wtapng_if_descr_t wtapng_if_descr;
while (st->ifaces->len > 0) {
iface = g_array_index(st->ifaces, iface_options, 0);
@@ -164,6 +166,22 @@ summary_fill_in_capture(capture_options *capture_opts, summary_tally *st)
iface.linktype = interface_opts.linktype;
g_array_append_val(st->ifaces, iface);
}
+ }else{
+ idb_info = wtap_file_get_idb_info(cf->wth);
+ for (i = 0; i < idb_info->number_of_interfaces; i++) {
+ wtapng_if_descr = g_array_index(idb_info->interface_data, wtapng_if_descr_t, i);
+ iface.cfilter = g_strdup(wtapng_if_descr.if_filter);
+ iface.name = g_strdup(wtapng_if_descr.if_name);
+ iface.descr = g_strdup(wtapng_if_descr.if_description);
+ iface.drops_known = FALSE;
+ iface.drops = 0;
+ /*iface.has_snap = wtapng_if_descr.has_snaplen;*/
+ iface.snap = wtapng_if_descr.snap_len;
+ iface.linktype = wtapng_if_descr.link_type;
+ g_array_append_val(st->ifaces, iface);
+ }
+
+
}
}
#endif
diff --git a/summary.h b/summary.h
index da1c4f3aa5..acba531b6f 100644
--- a/summary.h
+++ b/summary.h
@@ -33,39 +33,39 @@ typedef struct iface_options_tag {
char *name;
char *descr;
char *cfilter;
- guint64 drops; /* number of packet drops */
+ guint64 drops; /* number of packet drops */
gboolean drops_known; /* TRUE if number of packet drops is known */
- gboolean has_snap; /* TRUE if maximum capture packet length is known */
- int snap; /* Maximum captured packet length */
- int linktype; /* wiretap encapsulation type */
+ gboolean has_snap; /* TRUE if maximum capture packet length is known */
+ int snap; /* Maximum captured packet length */
+ int linktype; /* wiretap encapsulation type */
} iface_options;
typedef struct _summary_tally {
- guint64 bytes; /* total bytes */
- double start_time; /* seconds, with msec resolution */
- double stop_time; /* seconds, with msec resolution */
- double elapsed_time; /* seconds, with msec resolution,
- includes time before first packet
- and after last packet */
- int marked_count; /* number of marked packets */
- guint64 marked_bytes; /* total bytes in the marked packets */
- double marked_start; /* time in seconds, with msec resolution */
- double marked_stop; /* time in seconds, with msec resolution */
- int ignored_count; /* number of ignored packets */
- int packet_count; /* total number of packets in trace */
- int filtered_count; /* number of filtered packets */
- guint64 filtered_bytes; /* total bytes in the filtered packets */
- double filtered_start; /* time in seconds, with msec resolution */
- double filtered_stop; /* time in seconds, with msec resolution */
+ guint64 bytes; /**< total bytes */
+ double start_time; /**< seconds, with msec resolution */
+ double stop_time; /**< seconds, with msec resolution */
+ double elapsed_time; /**< seconds, with msec resolution,
+ includes time before first packet
+ and after last packet */
+ int marked_count; /**< number of marked packets */
+ guint64 marked_bytes; /**< total bytes in the marked packets */
+ double marked_start; /**< time in seconds, with msec resolution */
+ double marked_stop; /**< time in seconds, with msec resolution */
+ int ignored_count; /**< number of ignored packets */
+ int packet_count; /**< total number of packets in trace */
+ int filtered_count; /**< number of filtered packets */
+ guint64 filtered_bytes; /**< total bytes in the filtered packets */
+ double filtered_start; /**< time in seconds, with msec resolution */
+ double filtered_stop; /**< time in seconds, with msec resolution */
const char *filename;
- gint64 file_length; /* file length in bytes */
- int file_type; /* wiretap file type */
- int encap_type; /* wiretap encapsulation type */
- gboolean has_snap; /* TRUE if maximum capture packet length is known */
- int snap; /* Maximum captured packet length */
- gboolean drops_known; /* TRUE if number of packet drops is known */
- guint64 drops; /* number of packet drops */
- const char *dfilter; /* display filter */
+ gint64 file_length; /**< file length in bytes */
+ int file_type; /**< wiretap file type */
+ int encap_type; /**< wiretap encapsulation type */
+ gboolean has_snap; /**< TRUE if maximum capture packet length is known */
+ int snap; /**< Maximum captured packet length */
+ gboolean drops_known; /**< TRUE if number of packet drops is known */
+ guint64 drops; /**< number of packet drops */
+ const char *dfilter; /**< display filter */
gboolean is_tempfile;
/* capture related, use summary_fill_in_capture() to get values */
GArray *ifaces;
@@ -77,7 +77,7 @@ summary_fill_in(capture_file *cf, summary_tally *st);
#ifdef HAVE_LIBPCAP
extern void
-summary_fill_in_capture(capture_options *capture_opts, summary_tally *st);
+summary_fill_in_capture(capture_file *cf, capture_options *capture_opts, summary_tally *st);
#endif
#endif /* summary.h */
diff --git a/ui/gtk/summary_dlg.c b/ui/gtk/summary_dlg.c
index 12a312053e..961f984441 100644
--- a/ui/gtk/summary_dlg.c
+++ b/ui/gtk/summary_dlg.c
@@ -167,7 +167,7 @@ summary_open_cb(GtkWidget *w _U_, gpointer d _U_)
/* initial computations */
summary_fill_in(&cfile, &summary);
#ifdef HAVE_LIBPCAP
- summary_fill_in_capture(&global_capture_opts, &summary);
+ summary_fill_in_capture(&cfile, &global_capture_opts, &summary);
#endif
seconds = summary.stop_time - summary.start_time;
disp_seconds = summary.filtered_stop - summary.filtered_start;