Have the used interfaces show up if number of interfaces > 0.
authorAnders Broman <anders.broman@ericsson.com>
Thu, 23 Feb 2012 15:40:31 +0000 (15:40 -0000)
committerAnders Broman <anders.broman@ericsson.com>
Thu, 23 Feb 2012 15:40:31 +0000 (15:40 -0000)
(pcapng file).

svn path=/trunk/; revision=41163

summary.c
summary.h
ui/gtk/summary_dlg.c

index 21b91c29f60b1ca4fef18f80c86174a585a997f3..0fe058c7e6bac157b2325c094610a4c6dbd52fda 100644 (file)
--- 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
index da1c4f3aa57b8031c7055d278d102c0f5a03beba..acba531b6f2d58470dfc4c8f58ef528150b2e048 100644 (file)
--- 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 */
index 12a312053e0267544d02817c4dbff38eaae6d409..961f9844412b4eb788e729cad0473d297d6e76ab 100644 (file)
@@ -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;