diff options
author | Guy Harris <guy@alum.mit.edu> | 2011-06-05 23:04:11 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2011-06-05 23:04:11 +0000 |
commit | dd05bb48b208cbf3f816810d200fc2c2cab1768b (patch) | |
tree | 77ea6ab063a7b3ed7094654fef255ee7419c8a64 /gtk/tap_param_dlg.h | |
parent | 3a1097a0aea8d80427fb93af8974f9df44ac6b28 (diff) |
Rename the tap_dfilter_dlg.[ch] files to reflect that they can do more
than just filters.
svn path=/trunk/; revision=37560
Diffstat (limited to 'gtk/tap_param_dlg.h')
-rw-r--r-- | gtk/tap_param_dlg.h | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/gtk/tap_param_dlg.h b/gtk/tap_param_dlg.h new file mode 100644 index 0000000000..1270995ebf --- /dev/null +++ b/gtk/tap_param_dlg.h @@ -0,0 +1,100 @@ +/* tap_param_dlg.h + * Header file for parameter dialog used by gui taps + * Copyright 2003 Lars Roland + * + * $Id$ + * + * 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 + * 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. + */ + +#ifndef __TAP_DFILTER_DLG_H__ +#define __TAP_DFILTER_DLG_H__ + +/* + * You can easily add a parameter dialog for your gui tap by using + * the following infrastructure: + * + * Define a global structure of tap_param_dlg within your stat source file. + * Initiate it with: + * 1) a title string for the Dialog Window + * 2) the init string, which is the same as the string after "-z" option without + * the filter string and without the separating comma. + * 3) a pointer to the init function of the tap, which will be called when you click + * on the start button in the display filter dialog. + * 4) the index with "-1" + * + * Within register_tap_menu_yourtap(void), call register_dfilter_stat() + * with a pointer to the tap_param_dlg structure, a string for the + * menu item (don't put "..." at the end, register_dfilter_stat() will + * add it for you), and the REGISTER_STAT_GROUP_ value for the stat + * group to which your stat should belong. + * + * Usage: + * + * tap_param_dlg my_tap_param_dlg = { + * "My Title", + * "myproto,mytap", + * gtk_mytap_init, + * -1 + * }; + * + * register_tap_menu_mytap(void) { + * register_dfilter_stat(&my_tap_param_dlg, "My Menu Item", + * REGISTER_STAT_GROUP_my_group); + * } + * + * See also: h225_ras_srt.c or h225_counter.c + * + */ + +#include <epan/params.h> + +typedef enum { + PARAM_UINT, + PARAM_STRING, + PARAM_ENUM, + PARAM_FILTER +} param_type; + +typedef struct _tap_param { + param_type type; + const char *title; + enum_val_t *enum_vals; +} tap_param; + +typedef struct _tap_param_dlg { + const char *win_title; /* title */ + const char *init_string; /* the string to call the tap without a filter via "-z" option */ + void (* tap_init_cb)(const char *,void*); /* callback to init function of the tap */ + gint index; /* initiate this value always with "-1" */ + size_t nparams; /* number of parameters */ + tap_param *params; /* pointer to table of parameter info */ +} tap_param_dlg; + +/* + * Register a stat that has a display filter dialog. + * We register it both as a command-line stat and a menu item stat. + */ +void register_dfilter_stat(tap_param_dlg *info, const char *name, + register_stat_group_t group); + +/* This will update the titles of the dialog windows when we load a new capture file. */ +void tap_param_dlg_update (void); + +#endif /* __TAP_DFILTER_DLG_H__ */ |