| VLC
    3.0.18
    | 

| Data Structures | |
| struct | vlc_modcap | 
| Typedefs | |
| typedef struct vlc_modcap | vlc_modcap_t | 
| Functions | |
| static int | vlc_modcap_cmp (const void *a, const void *b) | 
| static void | vlc_modcap_free (void *data) | 
| static int | vlc_module_cmp (const void *a, const void *b) | 
| static void | vlc_modcap_sort (const void *node, const VISIT which, const int depth) | 
| static int | vlc_module_store (module_t *mod) | 
| Adds a module to the bank.  More... | |
| static void | vlc_plugin_store (vlc_plugin_t *lib) | 
| Adds a plugin (and all its modules) to the bank.  More... | |
| static vlc_plugin_t * | module_InitStatic (vlc_plugin_cb entry) | 
| Registers a statically-linked plug-in.  More... | |
| static void | module_InitStaticModules (void) | 
| int | module_Map (vlc_object_t *obj, vlc_plugin_t *plugin) | 
| static void | module_Unmap (vlc_plugin_t *plugin) | 
| void | module_InitBank (void) | 
| Init bank.  More... | |
| void | module_EndBank (bool b_plugins) | 
| Unloads all unused plugin modules and empties the module bank in case of success.  More... | |
| size_t | module_LoadPlugins (vlc_object_t *obj) | 
| Loads module descriptions for all available plugins.  More... | |
| void | module_list_free (module_t **list) | 
| Frees the flat list of VLC modules.  More... | |
| module_t ** | module_list_get (size_t *n) | 
| Gets the flat list of VLC modules.  More... | |
| ssize_t | module_list_cap (module_t ***restrict list, const char *name) | 
| Builds a sorted list of all VLC modules with a given capability.  More... | |
| Variables | |
| struct { | |
| vlc_mutex_t lock | |
| block_t * caches | |
| void * caps_tree | |
| unsigned usage | |
| } | modules = { PTHREAD_MUTEX_INITIALIZER , NULL, NULL, 0 } | 
| vlc_plugin_t * | vlc_plugins = NULL | 
| List of all plug-ins.  More... | |
| vlc_plugin_cb | vlc_static_modules [] | 
| typedef struct vlc_modcap vlc_modcap_t | 
| void module_EndBank | ( | bool | b_plugins | ) | 
Unloads all unused plugin modules and empties the module bank in case of success.
References block_ChainRelease(), caches, caps_tree, config_UnsortConfig(), module_Unmap(), modules, vlc_plugin_t::next, tdestroy(), vlc_modcap_free(), vlc_mutex_lock(), vlc_mutex_unlock(), vlc_plugin_destroy(), and vlc_plugins.
Referenced by libvlc_InternalCleanup(), and libvlc_InternalInit().
| void module_InitBank | ( | void | ) | 
Init bank.
Creates a module bank structure which will be filled later on with all the modules found.
References config_SortConfig(), likely, module_InitStatic(), modules, vlc_entry__core(), vlc_mutex_lock(), and vlc_plugin_store().
Referenced by libvlc_InternalInit().
| 
 | static | 
Registers a statically-linked plug-in.
References unlikely, and vlc_plugin_describe().
Referenced by module_InitBank(), and module_InitStaticModules().
| 
 | static | 
References likely, module_InitStatic(), vlc_plugin_store(), and vlc_static_modules.
Referenced by module_LoadPlugins().
| ssize_t module_list_cap | ( | module_t ***restrict | list, | 
| const char * | name | ||
| ) | 
Builds a sorted list of all VLC modules with a given capability.
The list is sorted from the highest module score to the lowest.
| list | pointer to the table of modules [OUT] | 
| name | name of capability of modules to look for | 
References list, vlc_modcap::modc, modules, vlc_modcap::modv, name, tfind(), unlikely, vlc_alloc(), and vlc_modcap_cmp().
Referenced by vlc_module_load().
| void module_list_free | ( | module_t ** | list | ) | 
Frees the flat list of VLC modules.
| list | list obtained by module_list_get() | 
| length | number of items on the list | 
References list.
Referenced by ListModules(), module_find(), module_LoadPlugins(), and vlc_module_load().
| module_t** module_list_get | ( | size_t * | n | ) | 
Gets the flat list of VLC modules.
| n | [OUT] pointer to the number of modules | 
References vlc_plugin_t::next, module_t::next, unlikely, and vlc_plugins.
Referenced by ListModules(), module_find(), and module_LoadPlugins().
| size_t module_LoadPlugins | ( | vlc_object_t * | obj | ) | 
Loads module descriptions for all available plugins.
Fills the module bank structure with the plugin modules.
| p_this | vlc object structure | 
References config_SortConfig(), config_UnsortConfig(), count, list, module_InitStaticModules(), module_list_free(), module_list_get(), modules, msg_Dbg, twalk(), vlc_modcap_sort(), and vlc_mutex_unlock().
| int module_Map | ( | vlc_object_t * | obj, | 
| vlc_plugin_t * | plugin | ||
| ) | 
Referenced by config_GetIntChoices(), config_GetPszChoices(), and module_load().
| 
 | static | 
Referenced by module_EndBank().
| 
 | static | 
References vlc_modcap::name.
Referenced by module_list_cap(), and vlc_module_store().
| 
 | static | 
References vlc_modcap::modv, and vlc_modcap::name.
Referenced by module_EndBank(), and vlc_module_store().
| 
 | static | 
References leaf, postorder, and vlc_module_cmp().
Referenced by module_LoadPlugins().
| 
 | static | 
Referenced by vlc_modcap_sort().
| 
 | static | 
Adds a module to the bank.
References vlc_modcap::modc, module_get_capability(), modules, vlc_modcap::modv, vlc_modcap::name, name, strdup(), tsearch(), unlikely, vlc_modcap_cmp(), and vlc_modcap_free().
Referenced by vlc_plugin_store().
| 
 | static | 
Adds a plugin (and all its modules) to the bank.
References vlc_plugin_t::module, vlc_plugin_t::next, module_t::next, vlc_module_store(), and vlc_plugins.
Referenced by module_InitBank(), and module_InitStaticModules().
| block_t* caches | 
Referenced by module_EndBank().
| void* caps_tree | 
Referenced by module_EndBank().
| vlc_mutex_t lock | 
| struct { ... } modules | 
Referenced by module_EndBank(), module_InitBank(), module_list_cap(), module_LoadPlugins(), and vlc_module_store().
| unsigned usage | 
| vlc_plugin_t* vlc_plugins = NULL | 
List of all plug-ins.
Referenced by config_LoadCmdLine(), config_SaveConfigFile(), module_EndBank(), module_list_get(), and vlc_plugin_store().
| vlc_plugin_cb vlc_static_modules[] | 
Referenced by module_InitStaticModules().
 1.8.16
 1.8.16