32 #if !defined LT_DLLOADER_H
33 #define LT_DLLOADER_H 1
35 #include <libltdl/lt_system.h>
39 typedef void * lt_dlloader;
40 typedef void * lt_module;
41 typedef void * lt_user_data;
45 typedef lt_module lt_module_open (lt_user_data data,
48 typedef int lt_module_close (lt_user_data data,
50 typedef void * lt_find_sym (lt_user_data data, lt_module module,
51 const char *symbolname);
52 typedef int lt_dlloader_init (lt_user_data data);
53 typedef int lt_dlloader_exit (lt_user_data data);
57 LT_DLLOADER_PREPEND = 0, LT_DLLOADER_APPEND
58 } lt_dlloader_priority;
64 const char * sym_prefix;
65 lt_module_open * module_open;
66 lt_module_close * module_close;
67 lt_find_sym * find_sym;
68 lt_dlloader_init * dlloader_init;
69 lt_dlloader_exit * dlloader_exit;
70 lt_user_data dlloader_data;
71 lt_dlloader_priority priority;
74 LT_SCOPE
int lt_dlloader_add (
const lt_dlvtable *vtable);
75 LT_SCOPE lt_dlloader lt_dlloader_next (
const lt_dlloader loader);
77 LT_SCOPE
lt_dlvtable * lt_dlloader_remove (
const char *name);
78 LT_SCOPE
const lt_dlvtable *lt_dlloader_find (
const char *name);
79 LT_SCOPE
const lt_dlvtable *lt_dlloader_get (lt_dlloader loader);
83 typedef const lt_dlvtable *lt_get_vtable (lt_user_data data);
85 #ifdef LT_DEBUG_LOADERS
86 LT_SCOPE
void lt_dlloader_dump (
void);
Definition: lt_dlloader.h:62
Definition: lt__private.h:122