Added Manual IP address resolve functions.
[obnox/wireshark/wip.git] / gtk / main.h
index eae8a1dd344e662807e0ff7e84451bd5cf126b6f..153a83bb554cc66fd71f7786e8e16f1151b9aa90 100644 (file)
@@ -3,8 +3,8 @@
  *
  * $Id$
  *
- * Ethereal - Network traffic analyzer
- * By Gerald Combs <gerald@ethereal.com>
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
  * Copyright 1998 Gerald Combs
  *
  * This program is free software; you can redistribute it and/or
 #ifndef __MAIN_H__
 #define __MAIN_H__
 
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
 #include "globals.h"
 
 /** @defgroup main_window_group Main window
   digraph main_dependencies {
       node [shape=record, fontname=Helvetica, fontsize=10];
       main [ label="main window" URL="\ref main.h"];
-      menu [ label="menubar" URL="\ref menu.h"];
+      menu [ label="menubar" URL="\ref menus.h"];
       toolbar [ label="toolbar" URL="\ref toolbar.h"];
-      packet_list [ label="packet list pane" URL="\ref packet_list.h"];
-      proto_draw [ label="packet details & bytes panes" URL="\ref proto_draw.h"];
+      packet_list [ label="packet list pane" URL="\ref main_packet_list.h"];
+      proto_draw [ label="packet details & bytes panes" URL="\ref main_proto_draw.h"];
       recent [ label="recent user settings" URL="\ref recent.h"];
       main -> menu [ arrowhead="open", style="solid" ];
       main -> toolbar [ arrowhead="open", style="solid" ];
@@ -62,14 +58,14 @@ extern GString *comp_info_str;
 /** Global runtime version string */
 extern GString *runtime_info_str;
 
-/** Global capture options type. */
-typedef struct capture_options_tag * p_capture_options_t;
-/** Pointer to global capture options. */
-extern p_capture_options_t capture_opts;
+extern GtkWidget* airpcap_tb;
 
 extern void protect_thread_critical_region(void);
 extern void unprotect_thread_critical_region(void);
 
+void
+airpcap_toolbar_encryption_cb(GtkWidget *entry, gpointer user_data);
+
 /** User requested "Zoom In" by menu or toolbar.
  *
  * @param widget parent widget (unused)
@@ -105,7 +101,6 @@ extern void selected_ptree_info_cb(GtkWidget *widget, gpointer data);
  */
 extern void selected_ptree_ref_cb(GtkWidget *widget, gpointer data);
 
-
 /** "Apply as Filter" / "Prepare a Filter" action type. */
 typedef enum {
     MATCH_SELECTED_REPLACE, /**< "Selected" */
@@ -122,7 +117,10 @@ typedef enum {
 /** "bitwise or" this with MATCH_SELECTED_E value for instant apply instead of prepare only */
 #define MATCH_SELECTED_APPLY_NOW    0x100
 
-/** User requested one of "Apply as Filter" or "Prepare a Filter" functions 
+/** "bitwise or" this with MATCH_SELECTED_E value for copy to clipboard instead of prepare only */
+#define MATCH_SELECTED_COPY_ONLY    0x200
+
+/** User requested one of "Apply as Filter" or "Prepare a Filter" functions
  *  by menu or context menu of protocol tree.
  *
  * @param widget parent widget
@@ -131,6 +129,32 @@ typedef enum {
  */
 extern void match_selected_ptree_cb(GtkWidget *widget, gpointer data, MATCH_SELECTED_E action);
 
+/** "Copy ..." action type. */
+typedef enum {
+    COPY_SELECTED_DESCRIPTION,  /**< "Copy Description" */
+    COPY_SELECTED_FIELDNAME,    /**< "Copy Fieldname" */
+    COPY_SELECTED_VALUE         /**< "Copy Value" */
+} COPY_SELECTED_E;
+
+/** User highlited item in details window and then right clicked and selected the copy option
+ *
+ * @param widget parent widget
+ * @param data parent widget
+ * @param action the function to use
+ */
+extern void copy_selected_plist_cb(GtkWidget *w _U_, gpointer data, COPY_SELECTED_E action);
+
+/** User requested the colorize function
+ *  by menu or context menu of protocol tree.
+ *
+ * @param widget parent widget
+ * @param data parent widget
+ * @param filt_nr  1-10: use filter for color 1-10
+ *                    0: open new colorization rule dialog
+ *                  255: clear filters for color 1-10
+ */
+extern void colorize_selected_ptree_cb(GtkWidget *w, gpointer data, guint8 filt_nr);
+
 /** User requested one of "Apply as Filter" or "Prepare a Filter" functions
  *  by context menu of packet list.
  *
@@ -196,6 +220,13 @@ extern void export_pdml_cmd_cb(GtkWidget *widget, gpointer data);
  */
 extern void export_csv_cmd_cb(GtkWidget *widget, gpointer data);
 
+/** User requested "Export as C Arrays" by menu.
+ *
+ * @param widget parent widget (unused)
+ * @param data unused
+ */
+extern void export_carrays_cmd_cb(GtkWidget *widget, gpointer data);
+
 /** User requested "Expand Tree" by menu.
  *
  * @param widget parent widget (unused)
@@ -210,6 +241,13 @@ extern void expand_tree_cb(GtkWidget *widget, gpointer data);
  */
 extern void expand_all_cb(GtkWidget *widget, gpointer data);
 
+/** User requested "Apply as a custom column" by menu.
+ *
+ * @param widget parent widget (unused)
+ * @param data unused
+ */
+extern void apply_as_custom_column_cb(GtkWidget *widget, gpointer data);
+
 /** User requested "Collapse All" by menu.
  *
  * @param widget parent widget (unused)
@@ -239,6 +277,22 @@ typedef enum {
  */
 extern void reftime_frame_cb(GtkWidget *widget, gpointer data, REFTIME_ACTION_E action);
 
+/** User requested the "Find Next Mark" function by menu.
+ *
+ * @param widget parent widget (unused)
+ * @param data unused
+ * @param action unused
+ */
+extern void find_next_mark_cb(GtkWidget *widget, gpointer data, int action);
+
+/** User requested the "Find Previous Mark" function by menu.
+ *
+ * @param widget parent widget (unused)
+ * @param data unused
+ * @param action unused
+ */
+extern void find_prev_mark_cb(GtkWidget *widget, gpointer data, int action);
+
 /** Add a display filter coming from the user's recent file to the dfilter combo box.
  *
  * @param dftext the filter string
@@ -248,7 +302,7 @@ extern gboolean dfilter_combo_add_recent(gchar *dftext);
 /** Empty out the combobox entry field */
 extern void dfilter_combo_add_empty(void);
 
-/** Write all non empty display filters (until maximum count) 
+/** Write all non empty display filters (until maximum count)
  *  of the combo box GList to the user's recent file.
  *
  * @param rf the recent file
@@ -267,7 +321,7 @@ extern void main_widgets_rearrange(void);
 /** Show or hide the main window widgets, user changed it's preferences. */
 extern void main_widgets_show_or_hide(void);
 
-/** Apply a new filter string. 
+/** Apply a new filter string.
  *  Call cf_filter_packets() and add this filter string to the recent filter list.
  *
  * @param cf the capture file
@@ -278,23 +332,28 @@ extern void main_widgets_show_or_hide(void);
 extern gboolean main_filter_packets(capture_file *cf, const gchar *dftext,
     gboolean force);
 
-/** Init the drag-n-drop functionality.
- *
- * @param w the target widget for this dnd operations
- */
-extern void dnd_init(GtkWidget *w);
-
-/** Open a new file coming from drag and drop.
- * @param cf_names_freeme the selection data reported from GTK
- */
-extern void dnd_open_file_cmd(gchar *cf_names_freeme);
-
-/** Update the packets statusbar to the current values. */
-extern void packets_bar_update(void);
-
 #ifdef _WIN32
 /** Win32 only: Create a console. Beware: cannot be closed again. */
 extern void create_console(void);
 #endif
 
+#if defined(_WIN32) || ! defined USE_THREADS
+/** Restart the tap update display timer with new configured interval */
+extern void reset_tap_update_timer(void);
+#endif
+
+/** Fill in capture options with values from the preferences */
+extern void prefs_to_capture_opts(void);
+
+/** Change configuration profile */
+extern void change_configuration_profile(const gchar *profile_name);
+
+/** redissect packets and update UI */
+extern void redissect_packets(void);
+
+/** Fetch all IP addresses from selected row */
+extern GList *get_ip_address_list_from_packet_list_row(gpointer data);
+
+extern GtkWidget *pkt_scrollw;
+
 #endif /* __MAIN_H__ */