31 #if !defined(LT_DLLOADER_H)
32 #define LT_DLLOADER_H 1
34 #include <libltdl/lt_system.h>
38 typedef void * lt_dlloader;
39 typedef void * lt_module;
40 typedef void * lt_user_data;
44 typedef lt_module lt_module_open (lt_user_data data,
47 typedef int lt_module_close (lt_user_data data,
49 typedef void * lt_find_sym (lt_user_data data, lt_module module,
50 const char *symbolname);
51 typedef int lt_dlloader_init (lt_user_data data);
52 typedef int lt_dlloader_exit (lt_user_data data);
56 LT_DLLOADER_PREPEND = 0, LT_DLLOADER_APPEND
57 } lt_dlloader_priority;
63 const char * sym_prefix;
64 lt_module_open * module_open;
65 lt_module_close * module_close;
66 lt_find_sym * find_sym;
67 lt_dlloader_init * dlloader_init;
68 lt_dlloader_exit * dlloader_exit;
69 lt_user_data dlloader_data;
70 lt_dlloader_priority priority;
73 LT_SCOPE
int lt_dlloader_add (
const lt_dlvtable *vtable);
74 LT_SCOPE lt_dlloader lt_dlloader_next (
const lt_dlloader loader);
76 LT_SCOPE
lt_dlvtable * lt_dlloader_remove (
const char *name);
77 LT_SCOPE
const lt_dlvtable *lt_dlloader_find (
const char *name);
78 LT_SCOPE
const lt_dlvtable *lt_dlloader_get (lt_dlloader loader);
82 typedef const lt_dlvtable *lt_get_vtable (lt_user_data data);
84 #ifdef LT_DEBUG_LOADERS
85 LT_SCOPE
void lt_dlloader_dump (
void);
Definition: lt_dlloader.h:61
Definition: lt__private.h:122