33#include <libltdl/lt_system.h>
34#include <libltdl/lt_error.h>
35#include <libltdl/lt_dlloader.h>
37#if defined _WIN32 && !defined __CYGWIN__
45#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)
117typedef void * lt_dlinterface_id;
118typedef int lt_dlhandle_interface (lt_dlhandle handle,
const char *id_string);
120LT_SCOPE lt_dlinterface_id lt_dlinterface_register (
const char *id_string,
121 lt_dlhandle_interface *iface);
122LT_SCOPE
void lt_dlinterface_free (lt_dlinterface_id key);
123LT_SCOPE
void * lt_dlcaller_set_data (lt_dlinterface_id key,
124 lt_dlhandle handle,
void *data);
125LT_SCOPE
void * lt_dlcaller_get_data (lt_dlinterface_id key,
135 unsigned int is_resident:1;
136 unsigned int is_symglobal:1;
138 unsigned int is_symlocal:1;
142LT_SCOPE
const lt_dlinfo *lt_dlgetinfo (lt_dlhandle handle);
144LT_SCOPE lt_dlhandle lt_dlhandle_iterate (lt_dlinterface_id iface,
146LT_SCOPE lt_dlhandle lt_dlhandle_fetch (lt_dlinterface_id iface,
147 const char *module_name);
148LT_SCOPE
int lt_dlhandle_map (lt_dlinterface_id iface,
149 int (*func) (lt_dlhandle handle,
void *data),
155LT_SCOPE
int lt_dlmakeresident (lt_dlhandle handle);
156LT_SCOPE
int lt_dlisresident (lt_dlhandle handle);
Definition lt__private.h:108