Asterisk - The Open Source Telephony Project GIT-master-3dae2cf
|
#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 *const char * | optional_modules |
Comma-separated list of optionally required modules. More... | |
int(* | reload )(void) |
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 377 of file module.h.
Referenced by inspect_module().
const char* description |
User friendly description of the module.
Definition at line 366 of file module.h.
Referenced by ast_update_module_list(), ast_update_module_list_condition(), ast_update_module_list_data(), inspect_module(), Api::load(), ResourceApi::load(), Model::load(), Parameter::load(), Property::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 420 of file module.h.
Referenced by module_post_register().
const char* key |
This holds the ASTERISK_GPL_KEY, signifying 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 373 of file module.h.
Referenced by inspect_module().
enum ast_module_load_result(* load) (void) |
Register stuff etc. Optional.
Definition at line 356 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 384 of file module.h.
Referenced by start_resource_attempt().
const char* name |
Name of the module for loader reference and CLI commands
Definition at line 364 of file module.h.
Referenced by ast_module_name(), PathSegment::get_child(), Parameter::load(), Property::load(), SwaggerType::load(), module_reffed_deps_add(), module_reffed_deps_add_dep_enhancers(), and start_resource().
const char* const char* optional_modules |
Comma-separated list of optionally required modules.
Modules which must always be started first, in comma-separated string format.
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 397 of file module.h.
Referenced by module_post_register().
int(* reload) (void) |
Config etc. Optional.
Definition at line 360 of file module.h.
Referenced by module_matches_helper_type().
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 356 of file module.h.
Referenced by allocate_subscription_tree(), ast_ari_events_event_websocket_ws_established_cb(), ast_iax2_new(), 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(), mixmonitor_exec(), mixmonitor_thread(), moh_alloc(), moh_files_alloc(), publication_destroy_fn(), res_sdp_crypto_dtor(), sdp_crypto_alloc(), sip_create_publication(), smdi_interface_destroy(), smdi_load(), speech_aeap_engine_create(), speech_aeap_engine_destroy(), and subscription_tree_destructor().
enum ast_module_support_level support_level |
The support level for the given module
Definition at line 430 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 362 of file module.h.
Referenced by auto_unload_resource(), and modules_shutdown().