HACK: pinfo->private_data points to smb_info again
[wireshark-wip.git] / ui / gtk / tap_param_dlg.h
blobd0c3262b092f50057f202cf94f0bf3702b8197de
1 /* tap_param_dlg.h
2 * Header file for parameter dialog used by gui taps
3 * Copyright 2003 Lars Roland
5 * $Id$
7 * Wireshark - Network traffic analyzer
8 * By Gerald Combs <gerald@wireshark.org>
9 * Copyright 1998 Gerald Combs
11 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License
13 * as published by the Free Software Foundation; either version 2
14 * of the License, or (at your option) any later version.
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
26 #ifndef __TAP_PARAM_DLG_H__
27 #define __TAP_PARAM_DLG_H__
30 * You can easily add a parameter dialog for your gui tap by using
31 * the following infrastructure:
33 * Define a global structure of tap_param_dlg within your stat source file.
34 * Initiate it with:
35 * 1) a title string for the Dialog Window
36 * 2) the init string, which is the same as the string after "-z" option without
37 * the filter string and without the separating comma.
38 * 3) a pointer to the init function of the tap, which will be called when you click
39 * on the start button in the display filter dialog.
40 * 4) the index with "-1"
42 * Within register_tap_menu_yourtap(void), call register_param_stat()
43 * with a pointer to the tap_param_dlg structure, a string for the
44 * menu item (don't put "..." at the end, register_param_stat() will
45 * add it for you), and the REGISTER_STAT_GROUP_ value for the stat
46 * group to which your stat should belong.
48 * Usage:
50 * tap_param_dlg my_tap_param_dlg = {
51 * "My Title",
52 * "myproto,mytap",
53 * gtk_mytap_init,
54 * -1
55 * };
57 * register_tap_menu_mytap(void) {
58 * register_param_stat(&my_tap_param_dlg, "My Menu Item",
59 * REGISTER_STAT_GROUP_my_group);
60 * }
62 * See also: h225_ras_srt.c or h225_counter.c
66 #include <epan/params.h>
68 typedef enum {
69 PARAM_UINT,
70 PARAM_STRING,
71 PARAM_ENUM,
72 PARAM_FILTER
73 } param_type;
75 typedef struct _tap_param {
76 param_type type;
77 const char *title;
78 const enum_val_t *enum_vals;
79 } tap_param;
81 typedef struct _tap_param_dlg {
82 const char *win_title; /* title */
83 const char *init_string; /* the string to call the tap without a filter via "-z" option */
84 void (* tap_init_cb)(const char *,void*); /* callback to init function of the tap */
85 gint index; /* initiate this value always with "-1" */
86 size_t nparams; /* number of parameters */
87 tap_param *params; /* pointer to table of parameter info */
88 } tap_param_dlg;
91 * Register a stat that has a parameter dialog.
92 * We register it both as a command-line stat and a menu item stat.
94 void register_param_stat(tap_param_dlg *info, const char *name,
95 register_stat_group_t group);
97 void tap_param_dlg_cb(GtkAction *action, gpointer user_data);
99 /* This will update the titles of the dialog windows when we load a new capture file. */
100 void tap_param_dlg_update (void);
102 #endif /* __TAP_PARAM_DLG_H__ */