X-Git-Url: http://git.samba.org/?p=metze%2Fwireshark%2Fwip.git;a=blobdiff_plain;f=ui%2Fgtk%2Fcapture_dlg.h;h=9efd48d5feb0229a77cfaba4b36e36bf3d9e37bb;hp=70478a3cfdc46266be61ecfcb20f73e0a9ed6178;hb=bd855826a9b15000f8ebf5451b42360abbc4684f;hpb=dacb4133e82536f4b46c4f15604a8501bf089ede diff --git a/ui/gtk/capture_dlg.h b/ui/gtk/capture_dlg.h index 70478a3cfd..9efd48d5fe 100644 --- a/ui/gtk/capture_dlg.h +++ b/ui/gtk/capture_dlg.h @@ -1,5 +1,6 @@ /* capture_dlg.h - * Definitions for packet capture windows + * Definitions for the "Capture Options" dialog and dialog windows popped + * up from it * * $Id$ * @@ -19,86 +20,20 @@ * * 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. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __CAPTURE_DLG_H__ #define __CAPTURE_DLG_H__ -/* extern GtkWidget* airpcap_tb; */ +/* extern GtkWidget* wireless_tb; */ /** @file * "Capture Options" dialog box. * @ingroup dialog_group */ #include "capture_opts.h" - -#ifdef HAVE_PCAP_REMOTE -struct remote_host { - gchar *remote_host; /**< Host name or network address for remote capturing */ - gchar *remote_port; /**< TCP port of remote RPCAP server */ - gint auth_type; /**< Authentication type */ - gchar *auth_username; /**< Remote authentication parameters */ - gchar *auth_password; /**< Remote authentication parameters */ - gboolean datatx_udp; - gboolean nocap_rpcap; - gboolean nocap_local; -}; - -typedef struct remote_options_tag { - capture_source src_type; - struct remote_host remote_host_opts; -#ifdef HAVE_PCAP_SETSAMPLING - capture_sampling sampling_method; - int sampling_param; -#endif -} remote_options; -#endif /* HAVE_PCAP_REMOTE */ - -typedef struct row_options_tag { - gchar *name; - gchar *display_name; - gchar *addresses; - gint no_addresses; - gchar *cfilter; - GList *links; - gint active_dlt; - gboolean pmode; -#ifdef HAVE_PCAP_CREATE - gboolean monitor_mode_enabled; - gboolean monitor_mode_supported; -#endif - gboolean has_snaplen; - guint snaplen; -#if defined(_WIN32) || defined(HAVE_PCAP_CREATE) - gint buffer; -#endif -#ifdef HAVE_PCAP_REMOTE - remote_options remote_opts; -#endif -} interface_row; - -typedef struct link_row_tag { - gchar *name; - gint dlt; -} link_row; - -enum -{ - CAPTURE = 0, - INTERFACE, - LINK, - PMODE, - SNAPLEN, -#if defined(HAVE_PCAP_CREATE) - BUFFER, - MONITOR, -#elif defined(_WIN32) && !defined(HAVE_PCAP_CREATE) - BUFFER, -#endif - FILTER, - NUM_COLUMNS -}; +#include /** Initialize background capture filter syntax checking */ @@ -132,9 +67,6 @@ void capture_stop_cb(GtkWidget *widget, gpointer data); */ void capture_restart_cb(GtkWidget *widget, gpointer data); -/* capture start confirmed by "Save unsaved capture", so do it now */ -void capture_start_confirmed(void); - /** User requested the "Capture Airpcap" dialog box by menu or toolbar. * * @param widget parent widget (unused) @@ -143,49 +75,55 @@ void capture_start_confirmed(void); void capture_air_cb(GtkWidget *widget, gpointer data); -/* - * We remember the capture settings for each interface when a capture - * is started on it; the next time we select that interface we start - * out with those settings. +#ifdef HAVE_PCAP_REMOTE +struct remote_host { + gchar *remote_host; /**< Host name or network address for remote capturing */ + gchar *remote_port; /**< TCP port of remote RPCAP server */ + gint auth_type; /**< Authentication type */ + gchar *auth_username; /**< Remote authentication parameters */ + gchar *auth_password; /**< Remote authentication parameters */ +}; + +#define RECENT_KEY_REMOTE_HOST "recent.remote_host" + +/** Write all remote hosts to the recent file * - * XXX - we currently only do that for monitor mode and the link-layer - * type; arguably we should do it for the snapshot length, and perhaps - * promiscuous mode. + * @param rf recent file */ -typedef struct { - gboolean monitor_mode; - int linktype; -} cap_settings_t; +void +capture_remote_combo_recent_write_all(FILE *rf); -/** Get capture settings for interface +/** Add a new remote host from the recent file * - * @param if_name interface name + * @param s string with hostname,port,auth_type + * @return TRUE if correctly added */ -cap_settings_t -capture_get_cap_settings (gchar *if_name); - -GtkTreeModel* -create_and_fill_model (GtkTreeView *view); - gboolean -query_tooltip_tree_view_cb (GtkWidget *widget, - gint x, - gint y, - gboolean keyboard_tip, - GtkTooltip *tooltip, - gpointer data); - -void -activate_monitor (GtkTreeViewColumn *tree_column, GtkCellRenderer *renderer, - GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data); +capture_remote_combo_add_recent(gchar *s); +#endif gboolean -dlg_window_present(void); +capture_dlg_window_present(void); void -enable_selected_interface(gchar *name, gboolean enable); +enable_selected_interface(gchar *name, gboolean selected); void options_interface_cb(GtkTreeView *view, GtkTreePath *path, GtkTreeViewColumn *column _U_, gpointer userdata); +void +capture_dlg_refresh_if(void); + +/* + * Refresh everything visible that shows an interface list that + * includes local interfaces. + */ +extern void refresh_local_interface_lists(void); + +/* + * Refresh everything visible that shows an interface list that + * includes non-local interfaces. + */ +extern void refresh_non_local_interface_lists(void); + #endif /* capture_dlg.h */