If we have pcap_open, call it instead of pcap_open_live, otherwise we might
[obnox/wireshark/wip.git] / capture.h
index c362dae5e5fdfb1fa33ade970124783d20105f07..79084bd8334210d96af30cc6a2a36c07b58f3535 100644 (file)
--- a/capture.h
+++ b/capture.h
@@ -33,7 +33,7 @@
 
 #include "capture_opts.h"
 
-/** 
+/**
  * Start a capture session.
  *
  * @param capture_opts the numerous capture options
@@ -81,5 +81,38 @@ extern void capture_input_cfilter_error_message(capture_options *capture_opts, c
  */
 extern void capture_input_closed(capture_options *capture_opts);
 
+#ifdef HAVE_LIBPCAP
+/**
+ * Fetch the interface list from a child process.
+ */
+extern GList *capture_interface_list(int *err, char **err_str);
+
+/**
+ * Fetch the linktype list for the specified interface from a child process.
+ */
+extern GList *capture_pcap_linktype_list(const char *devname, char **err_str);
+
+
+struct if_stat_cache_s;
+typedef struct if_stat_cache_s if_stat_cache_t;
+
+/**
+ * Start gathering capture statistics for the interfaces specified.
+ * @param A GList of if_info_t items
+ * @return A pointer to the statistics state data.
+ */
+extern if_stat_cache_t * capture_stat_start(GList *if_list);
+
+/**
+ * Fetch capture statistics, similar to pcap_stats().
+ */
+struct pcap_stat; /* Stub in case we don't or haven't yet included pcap.h */
+extern gboolean capture_stats(if_stat_cache_t *sc, char *ifname, struct pcap_stat *ps);
+
+/**
+ * Stop gathering capture statistics.
+ */
+void capture_stat_stop(if_stat_cache_t *sc);
+#endif /* HAVE_LIBPCAP */
 
 #endif /* capture.h */