Dynamic Loading of Modules

Dynamic Loading of Modules

Synopsis

#include <gmodule.h>

                    GModule;
gboolean            g_module_supported                  (void);
gchar*              g_module_build_path                 (const gchar *directory,
                                                         const gchar *module_name);
GModule*            g_module_open                       (const gchar *file_name,
                                                         GModuleFlags flags);
enum                GModuleFlags;
gboolean            g_module_symbol                     (GModule *module,
                                                         const gchar *symbol_name,
                                                         gpointer *symbol);
const gchar*        g_module_name                       (GModule *module);
void                g_module_make_resident              (GModule *module);
gboolean            g_module_close                      (GModule *module);
const gchar*        g_module_error                      (void);

const gchar *       (*GModuleCheckInit)                 (GModule *module);
void                (*GModuleUnload)                    (GModule *module);
#define             G_MODULE_SUFFIX
#define             G_MODULE_EXPORT
#define             G_MODULE_IMPORT

Description

Details

GModule

typedef struct _GModule GModule;


g_module_supported ()

gboolean            g_module_supported                  (void);

Returns :


g_module_build_path ()

gchar*              g_module_build_path                 (const gchar *directory,
                                                         const gchar *module_name);

directory :

module_name :

Returns :


g_module_open ()

GModule*            g_module_open                       (const gchar *file_name,
                                                         GModuleFlags flags);

file_name :

flags :

Returns :


enum GModuleFlags

typedef enum
{
  G_MODULE_BIND_LAZY = 1 << 0,
  G_MODULE_BIND_LOCAL = 1 << 1,
  G_MODULE_BIND_MASK = 0x03
} GModuleFlags;


g_module_symbol ()

gboolean            g_module_symbol                     (GModule *module,
                                                         const gchar *symbol_name,
                                                         gpointer *symbol);

module :

symbol_name :

symbol :

Returns :


g_module_name ()

const gchar*        g_module_name                       (GModule *module);

module :

Returns :


g_module_make_resident ()

void                g_module_make_resident              (GModule *module);

module :


g_module_close ()

gboolean            g_module_close                      (GModule *module);

module :

Returns :


g_module_error ()

const gchar*        g_module_error                      (void);

Returns :


GModuleCheckInit ()

const gchar *       (*GModuleCheckInit)                 (GModule *module);

module :

Returns :


GModuleUnload ()

void                (*GModuleUnload)                    (GModule *module);

module :


G_MODULE_SUFFIX

#define G_MODULE_SUFFIX "so"


G_MODULE_EXPORT

#define             G_MODULE_EXPORT


G_MODULE_IMPORT

#define G_MODULE_IMPORT		extern