split capture.h into capture.h, capture_loop.h and capture_opts.h and place the parts...
authorulfl <ulfl@f5534014-38df-0310-8fa8-9805f1628bb7>
Sat, 3 Dec 2005 19:32:54 +0000 (19:32 +0000)
committerulfl <ulfl@f5534014-38df-0310-8fa8-9805f1628bb7>
Sat, 3 Dec 2005 19:32:54 +0000 (19:32 +0000)
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@16664 f5534014-38df-0310-8fa8-9805f1628bb7

capture.h
capture_loop.c
capture_loop.h [new file with mode: 0644]
capture_opts.c
capture_opts.h [new file with mode: 0644]
capture_sync.h
dumpcap.c
gtk/capture_info_dlg.c
gtk/main.c

index 14e27345f832371c4df06b7b5037458abc896996..671fe281e048cc90c4203c3f49acad29545a4ab9 100644 (file)
--- a/capture.h
+++ b/capture.h
  *  Capture related things.
  */
 
-/** Name we give to the child process when doing a "-S" capture. */
-#define        CHILD_NAME      "ethereal-capture"
-
-
-/* Current state of capture engine. XXX - differentiate states */
-typedef enum {
-       CAPTURE_STOPPED,                /**< stopped */
-    CAPTURE_PREPARING,      /**< preparing, but still no response from capture child */
-       CAPTURE_RUNNING             /**< capture child signalled ok, capture is running now */
-} capture_state;
-
-
-/** Capture options coming from user interface */
-typedef struct capture_options_tag {
-    /* general */
-    void     *cf;           /**< handle to cfile (note: untyped handle) */
-    gchar    *cfilter;      /**< Capture filter string */
-    gchar    *iface;        /**< the network interface to capture from */
-
-#ifdef _WIN32
-    int      buffer_size;   /**< the capture buffer size (MB) */
-#endif
-    gboolean has_snaplen;   /**< TRUE if maximum capture packet length
-                                 is specified */
-    int      snaplen;       /**< Maximum captured packet length */
-    gboolean promisc_mode;  /**< Capture in promiscuous mode */
-    int      linktype;      /**< Data link type to use, or -1 for
-                                 "use default" */
-    gchar    *save_file;    /**< the capture file name */
-
-    /* GUI related */
-    gboolean real_time_mode;    /**< Update list of packets in real time */
-    gboolean show_info;         /**< show the info dialog */
-    gboolean quit_after_cap;    /** Makes a "capture only mode". Implies -k */
-    gboolean restart;           /**< restart after closing is done */
-
-    /* multiple files (and ringbuffer) */
-    gboolean multi_files_on;    /**< TRUE if ring buffer in use */
-
-    gboolean has_file_duration;        /**< TRUE if ring duration specified */
-    gint32 file_duration;       /* Switch file after n seconds */
-    gboolean has_ring_num_files;/**< TRUE if ring num_files specified */
-    guint32 ring_num_files;     /**< Number of multiple buffer files */
-
-    /* autostop conditions */
-    gboolean has_autostop_files;/**< TRUE if maximum number of capture files
-                                          are specified */
-    gint32 autostop_files;      /**< Maximum number of capture files */
-
-    gboolean has_autostop_packets;     /**< TRUE if maximum packet count is
-                                          specified */
-    int autostop_packets;               /**< Maximum packet count */
-    gboolean has_autostop_filesize;     /**< TRUE if maximum capture file size
-                                             is specified */
-    gint32 autostop_filesize;           /**< Maximum capture file size */
-    gboolean has_autostop_duration;     /**< TRUE if maximum capture duration
-                                             is specified */
-    gint32 autostop_duration;           /**< Maximum capture duration */
-
-    /* internally used (don't touch from outside) */
-    int fork_child;                /**< If not -1, in parent, process ID of child */
-#ifdef _WIN32
-    int signal_pipe_fd;         /**< the pipe to signal the child */
-#endif
-    capture_state state;        /**< current state of the capture engine */
-} capture_options;
-
-
-/* initialize the capture_options with some reasonable values */
-extern void
-capture_opts_init(capture_options *capture_opts, void *cfile);
-
-extern void
-capture_opts_add_opt(capture_options *capture_opts, int opt, const char *optarg, gboolean *start_capture);
-
-/* log content of capture_opts */
-extern void
-capture_opts_log(const char *log_domain, GLogLevelFlags log_level, capture_options *capture_opts);
-
-
+#include "capture_opts.h"
 
 /** 
  * Start a capture session.
@@ -155,41 +76,4 @@ extern void capture_input_error_message(capture_options *capture_opts, char *err
 extern void capture_input_closed(capture_options *capture_opts);
 
 
-
-/** Do the low-level work of a capture (start the capture child).
- *  Returns TRUE if it succeeds, FALSE otherwise. */
-extern int  capture_loop_start(capture_options *capture_opts, gboolean *stats_known, struct pcap_stat *stats);
-
-/** Stop a low-level capture (stops the capture child). */
-extern void capture_loop_stop(void);
-
-
-
-/** Current Capture info. */
-typedef struct {
-    /* handles */
-    gpointer        callback_data;  /**< capture callback handle */
-    gpointer        ui;             /**< user interfaces own handle */
-
-    /* capture info */
-    packet_counts   *counts;        /**< protocol specific counters */
-    time_t          running_time;   /**< running time since last update */
-    gint            new_packets;    /**< packets since last update */
-} capture_info;
-
-
-/** Create the capture info dialog */
-extern void capture_info_create(
-capture_info    *cinfo,
-gchar           *iface);
-
-/** Update the capture info counters in the dialog */
-extern void capture_info_update(
-capture_info    *cinfo);
-
-/** Destroy the capture info dialog again */
-extern void capture_info_destroy(
-capture_info    *cinfo);
-
-
 #endif /* capture.h */
index 77e6ad2f869be9867f20b3b1ab7d2111353aa56d..2e6beefad9e4050b03a9fec0a4e7964790f1aaa3 100644 (file)
@@ -68,6 +68,7 @@
 
 #include <epan/packet.h>
 #include "capture.h"
+#include "capture_loop.h"
 #include "capture_sync.h"
 #include "pcap-util.h"
 
diff --git a/capture_loop.h b/capture_loop.h
new file mode 100644 (file)
index 0000000..9b57499
--- /dev/null
@@ -0,0 +1,71 @@
+/* capture_loop.h
+ * Do the low-level work of a capture
+ *
+ * $Id$
+ *
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@ethereal.com>
+ * Copyright 1998 Gerald Combs
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+
+
+/** @file
+ *  
+ *  Do the low-level work of a capture.
+ *
+ */
+
+#ifndef __CAPTURE_LOOP_H__
+#define __CAPTURE_LOOP_H__
+
+/** Do the low-level work of a capture.
+ *  Returns TRUE if it succeeds, FALSE otherwise. */
+extern int  capture_loop_start(capture_options *capture_opts, gboolean *stats_known, struct pcap_stat *stats);
+
+/** Stop a low-level capture (stops the capture child). */
+extern void capture_loop_stop(void);
+
+
+
+/** Current Capture info. */
+typedef struct {
+    /* handles */
+    gpointer        callback_data;  /**< capture callback handle */
+    gpointer        ui;             /**< user interfaces own handle */
+
+    /* capture info */
+    packet_counts   *counts;        /**< protocol specific counters */
+    time_t          running_time;   /**< running time since last update */
+    gint            new_packets;    /**< packets since last update */
+} capture_info;
+
+
+/** Create the capture info dialog */
+extern void capture_info_create(
+capture_info    *cinfo,
+gchar           *iface);
+
+/** Update the capture info counters in the dialog */
+extern void capture_info_update(
+capture_info    *cinfo);
+
+/** Destroy the capture info dialog again */
+extern void capture_info_destroy(
+capture_info    *cinfo);
+
+
+#endif /* capture_loop.h */
index df66d6b3a34c5470db11169d5ed1cccbe8510945..38da616b642c79d3e1ee810673d41f2eeb049891 100644 (file)
@@ -38,6 +38,7 @@
 #include <epan/packet.h>
 
 #include "capture.h"
+#include "capture_opts.h"
 #include "ringbuffer.h"
 #include "clopts_common.h"
 #include "cmdarg_err.h"
diff --git a/capture_opts.h b/capture_opts.h
new file mode 100644 (file)
index 0000000..2708f80
--- /dev/null
@@ -0,0 +1,112 @@
+/* capture_opts.h
+ * Capture options (all parameters needed to do the actual capture)
+ *
+ * $Id$
+ *
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@ethereal.com>
+ * Copyright 1998 Gerald Combs
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+
+
+/** @file
+ *  
+ *  Capture options (all parameters needed to do the actual capture)
+ *
+ */
+
+#ifndef __CAPTURE_OPTS_H__
+#define __CAPTURE_OPTS_H__
+
+
+/* Current state of capture engine. XXX - differentiate states */
+typedef enum {
+       CAPTURE_STOPPED,                /**< stopped */
+    CAPTURE_PREPARING,      /**< preparing, but still no response from capture child */
+       CAPTURE_RUNNING             /**< capture child signalled ok, capture is running now */
+} capture_state;
+
+
+/** Capture options coming from user interface */
+typedef struct capture_options_tag {
+    /* general */
+    void     *cf;           /**< handle to cfile (note: untyped handle) */
+    gchar    *cfilter;      /**< Capture filter string */
+    gchar    *iface;        /**< the network interface to capture from */
+
+#ifdef _WIN32
+    int      buffer_size;   /**< the capture buffer size (MB) */
+#endif
+    gboolean has_snaplen;   /**< TRUE if maximum capture packet length
+                                 is specified */
+    int      snaplen;       /**< Maximum captured packet length */
+    gboolean promisc_mode;  /**< Capture in promiscuous mode */
+    int      linktype;      /**< Data link type to use, or -1 for
+                                 "use default" */
+    gchar    *save_file;    /**< the capture file name */
+
+    /* GUI related */
+    gboolean real_time_mode;    /**< Update list of packets in real time */
+    gboolean show_info;         /**< show the info dialog */
+    gboolean quit_after_cap;    /** Makes a "capture only mode". Implies -k */
+    gboolean restart;           /**< restart after closing is done */
+
+    /* multiple files (and ringbuffer) */
+    gboolean multi_files_on;    /**< TRUE if ring buffer in use */
+
+    gboolean has_file_duration;        /**< TRUE if ring duration specified */
+    gint32 file_duration;       /* Switch file after n seconds */
+    gboolean has_ring_num_files;/**< TRUE if ring num_files specified */
+    guint32 ring_num_files;     /**< Number of multiple buffer files */
+
+    /* autostop conditions */
+    gboolean has_autostop_files;/**< TRUE if maximum number of capture files
+                                          are specified */
+    gint32 autostop_files;      /**< Maximum number of capture files */
+
+    gboolean has_autostop_packets;     /**< TRUE if maximum packet count is
+                                          specified */
+    int autostop_packets;               /**< Maximum packet count */
+    gboolean has_autostop_filesize;     /**< TRUE if maximum capture file size
+                                             is specified */
+    gint32 autostop_filesize;           /**< Maximum capture file size */
+    gboolean has_autostop_duration;     /**< TRUE if maximum capture duration
+                                             is specified */
+    gint32 autostop_duration;           /**< Maximum capture duration */
+
+    /* internally used (don't touch from outside) */
+    int fork_child;                /**< If not -1, in parent, process ID of child */
+#ifdef _WIN32
+    int signal_pipe_fd;         /**< the pipe to signal the child */
+#endif
+    capture_state state;        /**< current state of the capture engine */
+} capture_options;
+
+
+/* initialize the capture_options with some reasonable values */
+extern void
+capture_opts_init(capture_options *capture_opts, void *cfile);
+
+extern void
+capture_opts_add_opt(capture_options *capture_opts, int opt, const char *optarg, gboolean *start_capture);
+
+/* log content of capture_opts */
+extern void
+capture_opts_log(const char *log_domain, GLogLevelFlags log_level, capture_options *capture_opts);
+
+
+#endif /* capture_opts.h */
index 614747ee5e1f0d4b2766c23bba8082a1c5ea829b..d734641d41abea19797453a80cd8a798ae5451e8 100644 (file)
 #ifndef __CAPTURE_SYNC_H__
 #define __CAPTURE_SYNC_H__
 
+/** Name we give to the child process when doing a "-S" capture. */
+#define        CHILD_NAME      "ethereal-capture"
+
+
 /** 
  * Start a new capture session.
  *  Create a capture child which is doing the real capture work.
index 63476bc9e1fa936aa4e97cabb49d81e47db65c69..a31d06bb055c0c99216dfe74723c48e7682fb07c 100644 (file)
--- a/dumpcap.c
+++ b/dumpcap.c
@@ -53,6 +53,7 @@
 #include "pcap-util.h"
 
 #include "capture.h"
+#include "capture_loop.h"
 
 #ifdef _WIN32
 #include "capture-wpcap.h"
index 1d182a33f6d88d03fa6684c75dcec21c7e73cf57..6ab480fd838d1d40e7f61577a7319ff013bd178e 100644 (file)
@@ -38,6 +38,7 @@
 
 #include <epan/packet.h>
 #include "capture.h"
+#include "capture_loop.h"
 #include "globals.h"
 #include "capture_ui_utils.h"
 #include "dlg_utils.h"
index a9173e939f1c1b97b2bc36ebb5cff303f80e7995..9a764d093748ae8585738942ac16159dfd42772f 100644 (file)
@@ -91,6 +91,8 @@
 #include <pcap.h>
 #include "pcap-util.h"
 #include "capture.h"
+#include "capture_loop.h"
+#include "capture_sync.h"
 #endif
 
 #ifdef _WIN32