#include "lt__private.h"
#include "lt_system.h"
#include "lt_dlloader.h"
Defines | |
#define | LTDL_SEARCHPATH_VAR "LTDL_LIBRARY_PATH" |
#define | LT_ARCHIVE_EXT ".la" |
#define | LT_LIBEXT "a" |
#define | LT_SYMBOL_LENGTH 128 |
#define | LT_SYMBOL_OVERHEAD 5 |
#define | LT_DLIS_RESIDENT(handle) ((handle)->info.is_resident) |
#define | LT_DLIS_SYMGLOBAL(handle) ((handle)->info.is_symglobal) |
#define | LT_DLIS_SYMLOCAL(handle) ((handle)->info.is_symlocal) |
#define | get_vtable preopen_LTX_get_vtable |
#define | preloaded_symbols LT_CONC3(lt_, LTDLOPEN, _LTX_preloaded_symbols) |
#define | STR_DLNAME "dlname=" |
#define | STR_OLD_LIBRARY "old_library=" |
#define | STR_LIBDIR "libdir=" |
#define | STR_DL_DEPLIBS "dependency_libs=" |
#define | STR_LIBRARY_NAMES "library_names=" |
Typedefs | |
typedef int | foreach_callback_func (char *filename, void *data1, void *data2) |
typedef int | file_worker_func (const char *filename, void *data) |
Functions | |
void | lt__alloc_die_callback (void) |
LT_BEGIN_C_DECLS LT_SCOPE const lt_dlvtable * | get_vtable (lt_user_data data) |
LT_END_C_DECLS int | lt_dlinit (void) |
int | lt_dlexit (void) |
int | lt_dladvise_init (lt_dladvise *padvise) |
int | lt_dladvise_destroy (lt_dladvise *padvise) |
int | lt_dladvise_ext (lt_dladvise *padvise) |
int | lt_dladvise_resident (lt_dladvise *padvise) |
int | lt_dladvise_local (lt_dladvise *padvise) |
int | lt_dladvise_global (lt_dladvise *padvise) |
int | lt_dladvise_preload (lt_dladvise *padvise) |
lt_dlhandle | lt_dlopen (const char *filename) |
lt_dlhandle | lt_dlopenext (const char *filename) |
lt_dlhandle | lt_dlopenadvise (const char *filename, lt_dladvise advise) |
int | lt_dlforeachfile (const char *search_path, int(*func)(const char *filename, void *data), void *data) |
int | lt_dlclose (lt_dlhandle handle) |
void * | lt_dlsym (lt_dlhandle place, const char *symbol) |
const char * | lt_dlerror (void) |
int | lt_dladdsearchdir (const char *search_dir) |
int | lt_dlinsertsearchdir (const char *before, const char *search_dir) |
int | lt_dlsetsearchpath (const char *search_path) |
const char * | lt_dlgetsearchpath (void) |
int | lt_dlmakeresident (lt_dlhandle handle) |
int | lt_dlisresident (lt_dlhandle handle) |
lt_dlinterface_id | lt_dlinterface_register (const char *id_string, lt_dlhandle_interface *iface) |
void | lt_dlinterface_free (lt_dlinterface_id key) |
void * | lt_dlcaller_set_data (lt_dlinterface_id key, lt_dlhandle handle, void *data) |
void * | lt_dlcaller_get_data (lt_dlinterface_id key, lt_dlhandle handle) |
const lt_dlinfo * | lt_dlgetinfo (lt_dlhandle handle) |
lt_dlhandle | lt_dlhandle_iterate (lt_dlinterface_id iface, lt_dlhandle place) |
lt_dlhandle | lt_dlhandle_fetch (lt_dlinterface_id iface, const char *module_name) |
int | lt_dlhandle_map (lt_dlinterface_id iface, int(*func)(lt_dlhandle handle, void *data), void *data) |
#define get_vtable preopen_LTX_get_vtable |
#define LT_ARCHIVE_EXT ".la" |
#define LT_DLIS_RESIDENT | ( | handle | ) | ((handle)->info.is_resident) |
Referenced by lt_dlclose(), lt_dlexit(), and lt_dlisresident().
#define LT_DLIS_SYMGLOBAL | ( | handle | ) | ((handle)->info.is_symglobal) |
#define LT_DLIS_SYMLOCAL | ( | handle | ) | ((handle)->info.is_symlocal) |
#define LT_LIBEXT "a" |
#define LT_SYMBOL_LENGTH 128 |
Referenced by lt_dlsym().
#define LT_SYMBOL_OVERHEAD 5 |
Referenced by lt_dlsym().
#define LTDL_SEARCHPATH_VAR "LTDL_LIBRARY_PATH" |
Referenced by lt_dlforeachfile().
#define preloaded_symbols LT_CONC3(lt_, LTDLOPEN, _LTX_preloaded_symbols) |
#define STR_DL_DEPLIBS "dependency_libs=" |
#define STR_DLNAME "dlname=" |
#define STR_LIBDIR "libdir=" |
#define STR_LIBRARY_NAMES "library_names=" |
#define STR_OLD_LIBRARY "old_library=" |
typedef int file_worker_func(const char *filename, void *data) |
typedef int foreach_callback_func(char *filename, void *data1, void *data2) |
LT_BEGIN_C_DECLS LT_SCOPE const lt_dlvtable* get_vtable | ( | lt_user_data | data | ) |
void lt__alloc_die_callback | ( | void | ) |
References LT__SETERROR.
int lt_dladdsearchdir | ( | const char * | search_dir | ) |
int lt_dladvise_destroy | ( | lt_dladvise * | padvise | ) |
References FREE.
Referenced by lt_dlopenext().
int lt_dladvise_ext | ( | lt_dladvise * | padvise | ) |
Referenced by lt_dlopenext().
int lt_dladvise_global | ( | lt_dladvise * | padvise | ) |
int lt_dladvise_init | ( | lt_dladvise * | padvise | ) |
References lt__zalloc().
Referenced by lt_dlopenext().
int lt_dladvise_local | ( | lt_dladvise * | padvise | ) |
int lt_dladvise_preload | ( | lt_dladvise * | padvise | ) |
int lt_dladvise_resident | ( | lt_dladvise * | padvise | ) |
void* lt_dlcaller_get_data | ( | lt_dlinterface_id | key, | |
lt_dlhandle | handle | |||
) |
References lt_interface_data::data, lt__handle::interface_data, and lt_interface_data::key.
void* lt_dlcaller_set_data | ( | lt_dlinterface_id | key, | |
lt_dlhandle | handle, | |||
void * | data | |||
) |
References lt_interface_data::data, lt__handle::interface_data, lt_interface_data::key, and REALLOC.
int lt_dlclose | ( | lt_dlhandle | handle | ) |
const char* lt_dlerror | ( | void | ) |
References LT__GETERROR, and LT__SETERRORSTR.
Referenced by gnash::SharedLib::openLib(), and gnash::SharedLib::SharedLib().
int lt_dlexit | ( | void | ) |
int lt_dlforeachfile | ( | const char * | search_path, | |
int(*)(const char *filename, void *data) | func, | |||
void * | data | |||
) |
References LT_MODULE_PATH_VAR, and LTDL_SEARCHPATH_VAR.
const lt_dlinfo* lt_dlgetinfo | ( | lt_dlhandle | handle | ) |
References lt__handle::info, and LT__SETERROR.
const char* lt_dlgetsearchpath | ( | void | ) |
lt_dlhandle lt_dlhandle_fetch | ( | lt_dlinterface_id | iface, | |
const char * | module_name | |||
) |
References lt__handle::info, lt_dlhandle_iterate(), lt_dlinfo::name, and streq.
lt_dlhandle lt_dlhandle_iterate | ( | lt_dlinterface_id | iface, | |
lt_dlhandle | place | |||
) |
References lt__handle::next.
Referenced by lt_dlhandle_fetch(), and lt_dlloader_remove().
int lt_dlhandle_map | ( | lt_dlinterface_id | iface, | |
int(*)(lt_dlhandle handle, void *data) | func, | |||
void * | data | |||
) |
References lt__handle::next.
LT_END_C_DECLS int lt_dlinit | ( | void | ) |
References get_vtable, lt__alloc_die, lt_dlpreload(), lt_dlpreload_open(), and LT_STR.
Referenced by gnash::SharedLib::SharedLib().
int lt_dlinsertsearchdir | ( | const char * | before, | |
const char * | search_dir | |||
) |
References LT__SETERROR, and LT_STRLEN.
void lt_dlinterface_free | ( | lt_dlinterface_id | key | ) |
References FREE.
Referenced by lt_dlloader_remove().
lt_dlinterface_id lt_dlinterface_register | ( | const char * | id_string, | |
lt_dlhandle_interface * | iface | |||
) |
References FREE, lt__malloc(), and lt__strdup().
Referenced by get_vtable(), and lt_dlloader_remove().
int lt_dlisresident | ( | lt_dlhandle | handle | ) |
References LT__SETERROR, and LT_DLIS_RESIDENT.
Referenced by lt_dlloader_remove().
int lt_dlmakeresident | ( | lt_dlhandle | handle | ) |
References lt__handle::info, lt_dlinfo::is_resident, and LT__SETERROR.
Referenced by gnash::SharedLib::openLib().
lt_dlhandle lt_dlopen | ( | const char * | filename | ) |
References lt_dlopenadvise().
Referenced by lt_dlpreload_open().
lt_dlhandle lt_dlopenadvise | ( | const char * | filename, | |
lt_dladvise | advise | |||
) |
References lt__advise::is_symglobal, lt__advise::is_symlocal, LT__GETERROR, LT__SETERROR, LT__SETERRORSTR, and lt__advise::try_ext.
Referenced by lt_dlopen(), and lt_dlopenext().
lt_dlhandle lt_dlopenext | ( | const char * | filename | ) |
References lt_dladvise_destroy(), lt_dladvise_ext(), lt_dladvise_init(), and lt_dlopenadvise().
Referenced by gnash::SharedLib::openLib().
int lt_dlsetsearchpath | ( | const char * | search_path | ) |
References FREE, and LT_STRLEN.
Referenced by gnash::Extension::Extension(), cygnal::Handler::initModule(), and gnash::Extension::scanAndLoad().
void* lt_dlsym | ( | lt_dlhandle | place, | |
const char * | symbol | |||
) |
References lt_dlvtable::dlloader_data, lt_dlvtable::find_sym, FREE, lt__handle::info, LT__GETERROR, LT__SETERROR, LT__SETERRORSTR, LT_STRLEN, LT_SYMBOL_LENGTH, LT_SYMBOL_OVERHEAD, MALLOC, lt__handle::module, lt_dlinfo::name, lt_dlvtable::sym_prefix, and lt__handle::vtable.
Referenced by gnash::SharedLib::getDllSymbol(), and gnash::SharedLib::getInitEntry().