36#include <libltdl/lt_system.h>
37#include <libltdl/lt_error.h>
38#include <libltdl/lt_dlloader.h>
44#define LT_STRLEN(s) (((s) && (s)[0]) ? strlen (s) : 0)
53LT_SCOPE
int lt_dlinit (
void);
54LT_SCOPE
int lt_dlexit (
void);
57LT_SCOPE
int lt_dladdsearchdir (
const char *search_dir);
58LT_SCOPE
int lt_dlinsertsearchdir (
const char *before,
59 const char *search_dir);
60LT_SCOPE
int lt_dlsetsearchpath (
const char *search_path);
61LT_SCOPE
const char *lt_dlgetsearchpath (
void);
62LT_SCOPE
int lt_dlforeachfile (
63 const char *search_path,
64 int (*func) (
const char *filename,
void *data),
68LT_SCOPE
int lt_dladvise_init (lt_dladvise *advise);
69LT_SCOPE
int lt_dladvise_destroy (lt_dladvise *advise);
70LT_SCOPE
int lt_dladvise_ext (lt_dladvise *advise);
71LT_SCOPE
int lt_dladvise_resident (lt_dladvise *advise);
72LT_SCOPE
int lt_dladvise_local (lt_dladvise *advise);
73LT_SCOPE
int lt_dladvise_global (lt_dladvise *advise);
74LT_SCOPE
int lt_dladvise_preload (lt_dladvise *advise);
77LT_SCOPE lt_dlhandle lt_dlopen (
const char *filename);
78LT_SCOPE lt_dlhandle lt_dlopenext (
const char *filename);
79LT_SCOPE lt_dlhandle lt_dlopenadvise (
const char *filename,
81LT_SCOPE
void * lt_dlsym (lt_dlhandle handle,
const char *name);
82LT_SCOPE
const char *lt_dlerror (
void);
83LT_SCOPE
int lt_dlclose (lt_dlhandle handle);
97typedef int lt_dlpreload_callback_func (lt_dlhandle handle);
99LT_SCOPE
int lt_dlpreload (
const lt_dlsymlist *preloaded);
100LT_SCOPE
int lt_dlpreload_default (
const lt_dlsymlist *preloaded);
101LT_SCOPE
int lt_dlpreload_open (
const char *originator,
102 lt_dlpreload_callback_func *func);
104#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols
106extern LT_DLSYM_CONST
lt_dlsymlist lt__PROGRAM__LTX_preloaded_symbols[];
108#define LTDL_SET_PRELOADED_SYMBOLS() \
109 lt_dlpreload_default(lt_preloaded_symbols)
118typedef void * lt_dlinterface_id;
119typedef int lt_dlhandle_interface (lt_dlhandle handle,
const char *id_string);
121LT_SCOPE lt_dlinterface_id lt_dlinterface_register (
const char *id_string,
122 lt_dlhandle_interface *iface);
123LT_SCOPE
void lt_dlinterface_free (lt_dlinterface_id key);
124LT_SCOPE
void * lt_dlcaller_set_data (lt_dlinterface_id key,
125 lt_dlhandle handle,
void *data);
126LT_SCOPE
void * lt_dlcaller_get_data (lt_dlinterface_id key,
136 unsigned int is_resident:1;
137 unsigned int is_symglobal:1;
139 unsigned int is_symlocal:1;
143LT_SCOPE
const lt_dlinfo *lt_dlgetinfo (lt_dlhandle handle);
145LT_SCOPE lt_dlhandle lt_dlhandle_iterate (lt_dlinterface_id iface,
147LT_SCOPE lt_dlhandle lt_dlhandle_fetch (lt_dlinterface_id iface,
148 const char *module_name);
149LT_SCOPE
int lt_dlhandle_map (lt_dlinterface_id iface,
150 int (*func) (lt_dlhandle handle,
void *data),
156LT_SCOPE
int lt_dlmakeresident (lt_dlhandle handle);
157LT_SCOPE
int lt_dlisresident (lt_dlhandle handle);
Definition lt__private.h:111