Fix eglib targets and filters.
[mono.git] / mono / eglib / gmodule.h
1 #ifndef __GLIB_GMODULE_H
2 #define __GLIB_GMODULE_H
3
4 #include <glib.h>
5
6 #define G_MODULE_IMPORT extern
7 #ifdef G_OS_WIN32
8 #define G_MODULE_EXPORT __declspec(dllexport)
9 #else
10 #define G_MODULE_EXPORT
11 #endif
12
13 G_BEGIN_DECLS
14
15 /*
16  * Modules
17  */
18 typedef enum {
19         G_MODULE_BIND_LAZY = 0x01,
20         G_MODULE_BIND_LOCAL = 0x02,
21         G_MODULE_BIND_MASK = 0x03
22 } GModuleFlags;
23 typedef struct _GModule GModule;
24
25 GModule *g_module_open (const gchar *file, GModuleFlags flags);
26 gboolean g_module_symbol (GModule *module, const gchar *symbol_name,
27                           gpointer *symbol);
28 const gchar *g_module_error (void);
29 gboolean g_module_close (GModule *module);
30 gchar *  g_module_build_path (const gchar *directory, const gchar *module_name);
31
32 extern char *gmodule_libprefix;
33 extern char *gmodule_libsuffix;
34
35 G_END_DECLS
36
37 #endif