Asterisk - The Open Source Telephony Project
18.5.0
|
#include <module.h>
Data Fields | |
const char | buildopt_sum [33] |
const char * | description |
const char * | enhances |
Modules that we provide enhanced functionality for. More... | |
unsigned int | flags |
const char * | key |
enum ast_module_load_result(* | load )(void) |
unsigned char | load_pri |
const char * | name |
const char * | optional_modules |
Comma-separated list of optionally required modules. More... | |
int(* | reload )(void) |
const char * | requires |
void * | reserved1 |
void * | reserved2 |
void * | reserved3 |
void * | reserved4 |
struct ast_module * | self |
enum ast_module_support_level | support_level |
int(* | unload )(void) |
const char buildopt_sum[33] |
The value of AST_BUILDOPT_SUM when this module was compiled
Definition at line 363 of file module.h.
Referenced by inspect_module().
const char* description |
User friendly description of the module.
Definition at line 352 of file module.h.
Referenced by ast_module_reload(), ast_update_module_list(), ast_update_module_list_condition(), ast_update_module_list_data(), inspect_module(), Parameter::load(), Api::load(), Property::load(), Model::load(), ResourceApi::load(), load_module(), odbc_load_module(), start_resource(), and unload_module().
const char* enhances |
Modules that we provide enhanced functionality for.
This is similar to a "requires" but specifies that we add functionality to the other modules. Any module that requires something we "enhances" will also require us, but only if we are dlopen'ed.
Example:
This forces the following startup order among the 3 modules: 1) res_fax starts. 2) res_fax_spandsp starts, holds a reference to res_fax. 3) res_mymod starts, holds a reference to res_fax and res_fax_spandsp.
If res_fax_spandsp were not being loaded res_mymod would load with res_fax only. If res_fax_spandsp were later loaded res_mymod would get a reference to it.
Definition at line 406 of file module.h.
Referenced by module_post_register().
const char* key |
This holds the ASTERISK_GPL_KEY, signifiying that you agree to the terms of the Asterisk license as stated in the ASTERISK_GPL_KEY. Your module will not load if it does not return the EXACT key string.
Definition at line 359 of file module.h.
Referenced by inspect_module().
enum ast_module_load_result(* load) (void) |
Register stuff etc. Optional.
Definition at line 344 of file module.h.
Referenced by ApiDeclaration::load_file(), ResourceListing::load_file(), and start_resource().
unsigned char load_pri |
This value represents the order in which a module's load() function is initialized. The lower this value, the higher the priority. The value is only checked if the AST_MODFLAG_LOAD_ORDER flag is set. If the AST_MODFLAG_LOAD_ORDER flag is not set, this value will never be read and the module will be given the lowest possible priority on load.
Definition at line 370 of file module.h.
Referenced by module_vector_cmp(), and start_resource_attempt().
const char* name |
Name of the module for loader reference and CLI commands
Definition at line 350 of file module.h.
Referenced by ast_module_name(), ast_module_register(), ast_module_unregister(), PathSegment::get_child(), Parameter::load(), SwaggerType::load(), Property::load(), module_reffed_deps_add(), module_reffed_deps_add_dep_enhancers(), and start_resource().
const char* optional_modules |
Comma-separated list of optionally required modules.
The listed modules are optional, but load order is enforced. For example app_voicemail optionally requires res_adsi. This means that app_voicemail will happily load without res_adsi, but if both are being loaded the module loader will force res_adsi to start first.
Definition at line 383 of file module.h.
Referenced by module_post_register().
int(* reload) (void) |
Config etc. Optional.
Definition at line 346 of file module.h.
Referenced by ast_module_reload(), and module_matches_helper_type().
const char* requires |
Modules which must always be started first, in comma-separated string format.
Definition at line 373 of file module.h.
Referenced by module_post_register().
void* reserved1 |
struct ast_module* self |
The 'self' pointer for a module; it will be set by the loader before it calls the module's load_module() entrypoint, and used by various other macros that need to identify the module.
Definition at line 342 of file module.h.
Referenced by action_dahdishowchannels(), allocate_subscription_tree(), alsa_hangup(), alsa_new(), ast_ari_events_event_websocket_ws_established_cb(), ast_iax2_new(), ast_module_register(), ast_srtp_create(), ast_srtp_destroy(), AST_TEST_DEFINE(), ast_websocket_uri_cb(), bridge_builtin_set_limits(), bridge_features_limits_dtor(), dahdi_destroy_channel_range(), dahdi_hangup(), dahdi_new(), get_lock(), iax2_predestroy(), instance_created_observer(), instance_destroying_observer(), load_module(), local_ast_moh_cleanup(), lock_free(), mgcp_hangup(), mgcp_new(), mixmonitor_exec(), mixmonitor_thread(), moh_alloc(), moh_files_alloc(), my_on_hook(), oss_hangup(), oss_new(), phone_check_exception(), phone_hangup(), phone_new(), publication_destroy_fn(), res_sdp_crypto_dtor(), sdp_crypto_alloc(), sip_cc_monitor_destructor(), sip_create_publication(), sip_handle_cc(), sip_hangup(), sip_new(), skinny_hangup(), skinny_new(), smdi_interface_destroy(), smdi_load(), and subscription_tree_destructor().
enum ast_module_support_level support_level |
The support level for the given module
Definition at line 416 of file module.h.
Referenced by ast_update_module_list(), ast_update_module_list_condition(), ast_update_module_list_data(), and load_modules().
int(* unload) (void) |
Unload. called with the module locked
Definition at line 348 of file module.h.
Referenced by ast_unload_resource(), and modules_shutdown().