00001
00011 #if !defined(INC_OSKI_MODLOADER_H)
00012
00013 #define INC_OSKI_MODLOADER_H
00014
00015 #include <libltdl/ltdl.h>
00016
00018 typedef lt_dlhandle oski_modhandle_t;
00019
00023 int oski_InitModuleLoader (void);
00024
00028 void oski_CloseModuleLoader (void);
00029
00033 oski_modhandle_t oski_LoadModule (const char *name);
00034
00039 oski_modhandle_t oski_LoadModuleOptional (const char *name);
00040
00044 void oski_CallModuleInit (oski_modhandle_t module);
00045
00049 void oski_CloseModule (oski_modhandle_t module);
00050
00054 int oski_UnloadModule (oski_modhandle_t module);
00055
00059 void *oski_LookupModuleMethod (const oski_modhandle_t module,
00060 const char *method_name);
00061
00066 char *oski_MakeModuleDesc (const char *name, oski_id_t ind, oski_id_t val);
00067
00072 char *oski_MakeModuleName (const char *mod_type_name, const char *name,
00073 oski_id_t ind, oski_id_t val);
00074
00078 typedef oski_id_t (*oski_register_funcpt) (const char *, oski_id_t, oski_id_t);
00079
00083 int oski_RegisterSiteModules (const char* file, const char* mod_type_name,
00084 oski_register_funcpt func);
00085
00086 #endif
00087
00088