Fix up indentation.
[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 typedef enum {
38     REPORT_LOAD_FAILURE,
39     DONT_REPORT_LOAD_FAILURE
40 } plugin_load_failure_mode;
41 WS_DLL_PUBLIC void scan_plugins(plugin_load_failure_mode mode);
42 WS_DLL_PUBLIC void add_plugin_type(const char *type, plugin_callback callback);
43 typedef void (*plugin_description_callback)(const char *, const char *,
44                                             const char *, const char *,
45                                             void *);
46 WS_DLL_PUBLIC void plugins_get_descriptions(plugin_description_callback callback, void *user_data);
47 WS_DLL_PUBLIC void plugins_dump_all(void);
48 WS_DLL_PUBLIC void plugins_cleanup(void);
49
50 #ifdef __cplusplus
51 }
52 #endif /* __cplusplus */
53
54 #endif /* __PLUGINS_H__ */
55
56 /*
57  * Editor modelines
58  *
59  * Local Variables:
60  * c-basic-offset: 4
61  * tab-width: 8
62  * indent-tabs-mode: nil
63  * End:
64  *
65  * ex: set shiftwidth=4 tabstop=8 expandtab:
66  * :indentSize=4:tabSize=8:noTabs=true:
67  */