33#include <libltdl/lt_system.h>
34#include <libltdl/lt_error.h>
35#include <libltdl/lt_dlloader.h>
41#define LT_STRLEN(s) (((s) && (s)[0]) ? strlen (s) : 0)
49LT_SCOPE
int lt_dlinit (
void);
50LT_SCOPE
int lt_dlexit (
void);
53LT_SCOPE
int lt_dladdsearchdir (
const char *search_dir);
54LT_SCOPE
int lt_dlinsertsearchdir (
const char *before,
55 const char *search_dir);
56LT_SCOPE
int lt_dlsetsearchpath (
const char *search_path);
57LT_SCOPE
const char *lt_dlgetsearchpath (
void);
58LT_SCOPE
int lt_dlforeachfile (
59 const char *search_path,
60 int (*func) (
const char *filename,
void *data),
64LT_SCOPE
int lt_dladvise_init (lt_dladvise *advise);
65LT_SCOPE
int lt_dladvise_destroy (lt_dladvise *advise);
66LT_SCOPE
int lt_dladvise_ext (lt_dladvise *advise);
67LT_SCOPE
int lt_dladvise_resident (lt_dladvise *advise);
68LT_SCOPE
int lt_dladvise_local (lt_dladvise *advise);
69LT_SCOPE
int lt_dladvise_global (lt_dladvise *advise);
70LT_SCOPE
int lt_dladvise_preload (lt_dladvise *advise);
73LT_SCOPE lt_dlhandle lt_dlopen (
const char *filename);
74LT_SCOPE lt_dlhandle lt_dlopenext (
const char *filename);
75LT_SCOPE lt_dlhandle lt_dlopenadvise (
const char *filename,
77LT_SCOPE
void * lt_dlsym (lt_dlhandle handle,
const char *name);
78LT_SCOPE
const char *lt_dlerror (
void);
79LT_SCOPE
int lt_dlclose (lt_dlhandle handle);
93typedef int lt_dlpreload_callback_func (lt_dlhandle handle);
95LT_SCOPE
int lt_dlpreload (
const lt_dlsymlist *preloaded);
96LT_SCOPE
int lt_dlpreload_default (
const lt_dlsymlist *preloaded);
97LT_SCOPE
int lt_dlpreload_open (
const char *originator,
98 lt_dlpreload_callback_func *func);
100#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols
102extern LT_DLSYM_CONST
lt_dlsymlist lt__PROGRAM__LTX_preloaded_symbols[];
104#define LTDL_SET_PRELOADED_SYMBOLS() \
105 lt_dlpreload_default(lt_preloaded_symbols)
113typedef void * lt_dlinterface_id;
114typedef int lt_dlhandle_interface (lt_dlhandle handle,
const char *id_string);
116LT_SCOPE lt_dlinterface_id lt_dlinterface_register (
const char *id_string,
117 lt_dlhandle_interface *iface);
118LT_SCOPE
void lt_dlinterface_free (lt_dlinterface_id key);
119LT_SCOPE
void * lt_dlcaller_set_data (lt_dlinterface_id key,
120 lt_dlhandle handle,
void *data);
121LT_SCOPE
void * lt_dlcaller_get_data (lt_dlinterface_id key,
131 unsigned int is_resident:1;
132 unsigned int is_symglobal:1;
134 unsigned int is_symlocal:1;
138LT_SCOPE
const lt_dlinfo *lt_dlgetinfo (lt_dlhandle handle);
140LT_SCOPE lt_dlhandle lt_dlhandle_iterate (lt_dlinterface_id iface,
142LT_SCOPE lt_dlhandle lt_dlhandle_fetch (lt_dlinterface_id iface,
143 const char *module_name);
144LT_SCOPE
int lt_dlhandle_map (lt_dlinterface_id iface,
145 int (*func) (lt_dlhandle handle,
void *data),
151LT_SCOPE
int lt_dlmakeresident (lt_dlhandle handle);
152LT_SCOPE
int lt_dlisresident (lt_dlhandle handle);
Definition lt__private.h:108