1d5f0b6fd9cc2508550938fd35bd6078aea8b1ee
[metze/wireshark/wip.git] / wsutil / plugins.h
1 /* plugins.h
2  * definitions for plugins structures
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 __PLUGINS_H__
24 #define __PLUGINS_H__
25
26 #ifdef __cplusplus
27 extern "C" {
28 #endif /* __cplusplus */
29
30 #include <glib.h>
31 #include <gmodule.h>
32
33 #include "ws_symbol_export.h"
34
35 typedef gboolean (*plugin_callback)(GModule *handle);
36
37 WS_DLL_PUBLIC void scan_plugins(void);
38 WS_DLL_PUBLIC void add_plugin_type(const char *type, plugin_callback callback);
39 typedef void (*plugin_description_callback)(const char *, const char *,
40                                             const char *, const char *,
41                                             void *);
42 WS_DLL_PUBLIC void plugins_get_descriptions(plugin_description_callback callback, void *user_data);
43 WS_DLL_PUBLIC void plugins_dump_all(void);
44
45 #ifdef __cplusplus
46 }
47 #endif /* __cplusplus */
48
49 #endif /* __PLUGINS_H__ */
50
51 /*
52  * Editor modelines
53  *
54  * Local Variables:
55  * c-basic-offset: 4
56  * tab-width: 8
57  * indent-tabs-mode: nil
58  * End:
59  *
60  * ex: set shiftwidth=4 tabstop=8 expandtab:
61  * :indentSize=4:tabSize=8:noTabs=true:
62  */