2009-10-07 Marek Safar <marek.safar@gmail.com>
[mono.git] / eglib / src / 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 /*
14  * Modules
15  */
16 typedef enum {
17         G_MODULE_BIND_LAZY = 0x01,
18         G_MODULE_BIND_LOCAL = 0x02,
19         G_MODULE_BIND_MASK = 0x03
20 } GModuleFlags;
21 typedef struct _GModule GModule;
22
23 GModule *g_module_open (const gchar *file, GModuleFlags flags);
24 gboolean g_module_symbol (GModule *module, const gchar *symbol_name,
25                           gpointer *symbol);
26 const gchar *g_module_error (void);
27 gboolean g_module_close (GModule *module);
28 gchar *  g_module_build_path (const gchar *directory, const gchar *module_name);
29
30 extern char *gmodule_libprefix;
31 extern char *gmodule_libsuffix;
32
33 #endif