VLC 4.0.0-dev
|
Data Structures | |
struct | vlc_plugin_symbol |
Functions | |
module_t * | vlc_module_create (vlc_plugin_t *plugin) |
void | vlc_module_destroy (module_t *module) |
Destroys a module. | |
vlc_plugin_t * | vlc_plugin_create (void) |
void | vlc_plugin_destroy (vlc_plugin_t *plugin) |
Destroys a plug-in. | |
static struct vlc_param * | vlc_config_create (vlc_plugin_t *plugin, int type) |
static int | vlc_plugin_desc_cb (void *ctx, void *tgt, int propid,...) |
Plug-in descriptor callback. | |
vlc_plugin_t * | vlc_plugin_describe (vlc_plugin_cb entry) |
Runs a plug-in descriptor. | |
static int | vlc_plugin_symbol_compare (const void *a, const void *b) |
static int | vlc_plugin_gpa_cb (void *ctx, void *tgt, int propid,...) |
Plug-in symbols callback. | |
static void * | vlc_plugin_get_symbols (vlc_plugin_cb entry) |
Gets the symbols of a plugin. | |
static void | vlc_plugin_free_symbols (void *root) |
static int | vlc_plugin_get_symbol (void *root, const char *name, void **restrict addrp) |
int | vlc_plugin_resolve (vlc_plugin_t *plugin, vlc_plugin_cb entry) |
|
static |
References vlc_plugin_t::booleans, vlc_plugin_t::conf, CONFIG_ITEM, CONFIG_ITEM_BOOL, vlc_plugin_t::count, module_value_t::f, module_value_t::i, module_config_t::i_type, IsConfigFloatType, IsConfigIntegerType, vlc_param::item, module_config_t::max, module_config_t::min, vlc_param::owner, vlc_plugin_t::params, realloc_or_free(), vlc_plugin_t::size, vlc_param::str, and vlc_param::value.
Referenced by vlc_plugin_desc_cb().
module_t * vlc_module_create | ( | vlc_plugin_t * | plugin | ) |
References vlc_plugin_t::modules_count, and module_t::next.
Referenced by vlc_plugin_desc_cb().
void vlc_module_destroy | ( | module_t * | module | ) |
vlc_plugin_t * vlc_plugin_create | ( | void | ) |
References vlc_plugin_t::booleans, vlc_plugin_t::conf, vlc_plugin_t::count, vlc_plugin_t::modules_count, vlc_plugin_t::params, vlc_plugin_t::size, vlc_plugin_t::textdomain, and unlikely.
Referenced by vlc_plugin_describe().
|
static |
Plug-in descriptor callback.
This callback populates modules, configuration items and properties of a plug-in from the plug-in descriptor.
References CONFIG_ITEM, module_value_t::f, vlc_param::f, module_value_t::i, module_config_t::i, vlc_param::i, module_t::i_shortcuts, module_config_t::i_type, vlc_param::internal, IsConfigFloatType, IsConfigIntegerType, IsConfigStringType, vlc_param::item, module_config_t::list, module_config_t::list_count, module_config_t::list_text, module_config_t::max, module_config_t::min, MODULE_SHORTCUT_MAX, name, vlc_param::obsolete, module_config_t::orig, module_t::pp_shortcuts, module_value_t::psz, module_config_t::psz, module_t::psz_capability, module_t::psz_longname, module_config_t::psz_longtext, module_config_t::psz_name, module_t::psz_shortname, module_config_t::psz_text, module_config_t::psz_type, vlc_param::safe, vlc_param::shortname, vlc_plugin_t::textdomain, unlikely, vlc_param::unsaved, module_config_t::value, vlc_param::value, VLC_CONFIG_CAPABILITY, VLC_CONFIG_CREATE, vlc_config_create(), VLC_CONFIG_DESC, VLC_CONFIG_LIST, VLC_CONFIG_NAME, VLC_CONFIG_PRIVATE, VLC_CONFIG_RANGE, VLC_CONFIG_REMOVED, VLC_CONFIG_SAFE, VLC_CONFIG_SHORTCUT, VLC_CONFIG_VALUE, VLC_CONFIG_VOLATILE, VLC_MODULE_CAPABILITY, VLC_MODULE_CB_CLOSE, VLC_MODULE_CB_OPEN, VLC_MODULE_CREATE, vlc_module_create(), VLC_MODULE_DESCRIPTION, VLC_MODULE_HELP, VLC_MODULE_HELP_HTML, VLC_MODULE_NAME, VLC_MODULE_NO_UNLOAD, VLC_MODULE_SCORE, VLC_MODULE_SHORTCUT, VLC_MODULE_SHORTNAME, VLC_MODULE_TEXTDOMAIN, vlc_param_SetString(), and xmalloc().
Referenced by vlc_plugin_describe().
vlc_plugin_t * vlc_plugin_describe | ( | vlc_plugin_cb | entry | ) |
Runs a plug-in descriptor.
This loads the plug-in meta-data in memory.
References unlikely, vlc_plugin_create(), vlc_plugin_desc_cb(), and vlc_plugin_destroy().
Referenced by module_InitStatic().
void vlc_plugin_destroy | ( | vlc_plugin_t * | plugin | ) |
Destroys a plug-in.
References vlc_plugin_t::conf, config_Free(), vlc_plugin_t::params, vlc_plugin_t::size, and vlc_module_destroy().
Referenced by module_EndBank(), and vlc_plugin_describe().
|
static |
References tdestroy().
|
static |
References vlc_plugin_symbol::addr, name, tfind(), and vlc_plugin_symbol_compare().
Referenced by vlc_plugin_resolve().
|
static |
Gets the symbols of a plugin.
This function generates a list of symbol names and addresses for a given plugin descriptor. The result can be used with vlc_plugin_get_symbol() to resolve a symbol name to an address.
The result must be freed with vlc_plugin_free_symbols(). The result is only meaningful until the plugin is unloaded.
References tdestroy(), and vlc_plugin_gpa_cb().
Referenced by vlc_plugin_resolve().
|
static |
Plug-in symbols callback.
This callback generates a mapping of plugin symbol names to symbol addresses.
References vlc_plugin_symbol::addr, vlc_plugin_symbol::name, name, tsearch(), unlikely, VLC_MODULE_CB_CLOSE, VLC_MODULE_CB_OPEN, and vlc_plugin_symbol_compare().
Referenced by vlc_plugin_get_symbols().
int vlc_plugin_resolve | ( | vlc_plugin_t * | plugin, |
vlc_plugin_cb | entry | ||
) |
References vlc_plugin_get_symbol(), and vlc_plugin_get_symbols().
|
static |
References vlc_plugin_symbol::name.
Referenced by vlc_plugin_get_symbol(), and vlc_plugin_gpa_cb().