Don't pass the result of tvb_get_ptr() into a %s format string: the string may
[obnox/wireshark/wip.git] / epan / expert.h
1 /* expert.h
2  * Collecting of Expert information.
3  *
4  * For further info, see: http://wiki.wireshark.org/Development/ExpertInfo
5  *
6  * $Id$
7  *
8  * Wireshark - Network traffic analyzer
9  * By Gerald Combs <gerald@wireshark.org>
10  * Copyright 1998 Gerald Combs
11  *
12  * This program is free software; you can redistribute it and/or
13  * modify it under the terms of the GNU General Public License
14  * as published by the Free Software Foundation; either version 2
15  * of the License, or (at your option) any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20  * GNU General Public License for more details.
21  *
22  * You should have received a copy of the GNU General Public License
23  * along with this program; if not, write to the Free Software
24  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
25  */
26
27 #ifndef __EXPERT_H__
28 #define __EXPERT_H__
29
30 #include <epan/proto.h>
31 #include "value_string.h"
32
33
34 /** only for internal and display use. */
35 typedef struct expert_info_s {
36         guint32 packet_num;
37         int group;
38         int severity;
39         const gchar *protocol;
40         gchar *summary;
41         proto_item *pitem;
42 } expert_info_t;
43
44 WS_VAR_IMPORT const value_string expert_severity_vals[];
45 WS_VAR_IMPORT const value_string expert_group_vals[];
46
47 extern void
48 expert_init(void);
49
50 extern void
51 expert_cleanup(void);
52
53 extern int
54 expert_get_highest_severity(void);
55
56 /** Add an expert info.
57  Add an expert info tree to a protocol item, with classification and message.
58  @param pinfo packet info of the currently processed packet
59  @param pi current protocol item (or NULL)
60  @param group the expert group (like PI_CHECKSUM - see: proto.h)
61  @param severity the expert severity (like PI_WARN - see: proto.h)
62  @param format printf like format string with further infos
63  */
64 extern void
65 expert_add_info_format(packet_info *pinfo, proto_item *pi, int group,
66         int severity, const char *format, ...)
67         G_GNUC_PRINTF(5, 6);
68
69 #endif /* __EXPERT_H__ */