Add dissector for Generic Network Virtualization Encapsulation (Geneve).
[metze/wireshark/wip.git] / stat_menu.h
1 /* stat_menu.h
2  * Menu definitions for use by stats
3  *
4  * Wireshark - Network traffic analyzer
5  * By Gerald Combs <gerald@wireshark.org>
6  * Copyright 1998 Gerald Combs
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License
10  * as published by the Free Software Foundation; either version 2
11  * of the License, or (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
21  */
22
23 #ifndef __STATMENU_H__
24 #define __STATMENU_H__
25
26 #ifdef __cplusplus
27 extern "C" {
28 #endif /* __cplusplus */
29
30 /** @file
31  * Add a new menu item for a stat.
32  */
33
34 /*
35  * XXX - defines stuff usable regardless of the GUI toolkit.  Right now,
36  * that's only the menu group, which is used by tap_param_dlg.h.
37  *
38  * XXX - stats should be able to register additional menu groups, although
39  * the question then would be "in what order should they appear in the menu?"
40  *
41  * NOTE: the enum below is parsed by epan/wslua/make-init-lua.pl in order
42  * to generate usable values for Lua scripts to use, so they can add to
43  * the menus in the GUI. The perl script's regex is such that the following
44  * prefixes must only appear once in this list:
45  * REGISTER_ANALYZE_GROUP_CONVERSATION
46  * REGISTER_STAT_GROUP_CONVERSATION
47  * REGISTER_STAT_GROUP_RESPONSE
48  * REGISTER_STAT_GROUP_ENDPOINT
49  * In other words, because there is a REGISTER_STAT_GROUP_RESPONSE_TIME, you cannot
50  * add a REGISTER_STAT_GROUP_RESPONSE nor a REGISTER_STAT_GROUP_RESPONSE_FOOBAR
51  * because they use the same "REGISTER_STAT_GROUP_RESPONSE" prefix.
52  * Also, do NOT change the names in the enum - you can add, but not remove.
53  * If you do, legacy scripts will break. (which is why the perl script regex isn't better)
54  */
55
56 /** The menu group this stat should be registered in. */
57 typedef enum {
58     REGISTER_ANALYZE_GROUP_UNSORTED,            /* unsorted analyze stuff */
59     REGISTER_ANALYZE_GROUP_CONVERSATION_FILTER, /* conversation filters */
60     REGISTER_STAT_GROUP_UNSORTED,               /* unsorted statistic function */
61     REGISTER_STAT_GROUP_GENERIC,                /* generic statistic function, not specific to a protocol */
62     REGISTER_STAT_GROUP_CONVERSATION_LIST,      /* member of the conversation list */
63     REGISTER_STAT_GROUP_ENDPOINT_LIST,          /* member of the endpoint list */
64     REGISTER_STAT_GROUP_RESPONSE_TIME,          /* member of the service response time list */
65     REGISTER_STAT_GROUP_TELEPHONY,              /* telephony specific */
66     REGISTER_STAT_GROUP_TELEPHONY_GSM,          /* GSM (and UMTS?) */
67     REGISTER_STAT_GROUP_TELEPHONY_LTE,          /* name says it all */
68     REGISTER_STAT_GROUP_TELEPHONY_SCTP,         /* name says it all */
69     REGISTER_TOOLS_GROUP_UNSORTED               /* unsorted tools */
70 } register_stat_group_t;
71
72 #ifdef __cplusplus
73 }
74 #endif /* __cplusplus */
75
76 #endif /* __STATMENU_H__ */