If we don't have any of the pcap_datalink_XXX_to_YYY routines,
[obnox/wireshark/wip.git] / capture_info.c
index ea236eccd3989d557703cd4ec224d437fd8b8dcd..1e0c7cae4a5912f630a82a9294958980ffc1500b 100644 (file)
@@ -57,6 +57,7 @@
 #include <epan/dissectors/packet-ipfc.h>
 #include <epan/dissectors/packet-arcnet.h>
 #include <epan/dissectors/packet-enc.h>
+#include <epan/dissectors/packet-i2c.h>
 
 static void capture_info_packet(
 packet_counts *counts, gint wtap_linktype, const guchar *pd, guint32 caplen, union wtap_pseudo_header *pseudo_header);
@@ -74,7 +75,7 @@ info_data_t info_data;
 
 
 /* open the info */
-void capture_info_open(const char *iface)
+void capture_info_open(capture_options *capture_opts)
 {
     info_data.counts.total      = 0;
     info_data.counts.sctp       = 0;
@@ -88,11 +89,13 @@ void capture_info_open(const char *iface)
     info_data.counts.vines      = 0;
     info_data.counts.other      = 0;
     info_data.counts.arp        = 0;
+    info_data.counts.i2c_event  = 0;
+    info_data.counts.i2c_data   = 0;
 
     info_data.wtap = NULL;
     info_data.ui.counts = &info_data.counts;
 
-    capture_info_ui_create(&info_data.ui, iface);
+    capture_info_ui_create(&info_data.ui, capture_opts);
 }
 
 
@@ -334,6 +337,9 @@ capture_info_packet(packet_counts *counts, gint wtap_linktype, const guchar *pd,
     case WTAP_ENCAP_PPI:
       capture_ppi(pd, caplen, counts);
       break;
+    case WTAP_ENCAP_I2C:
+      capture_i2c(pseudo_header, counts);
+      break;
     /* XXX - some ATM drivers on FreeBSD might prepend a 4-byte ATM
        pseudo-header to DLT_ATM_RFC1483, with LLC header following;
        we might have to implement that at some point. */