Asterisk - The Open Source Telephony Project
GIT-master-a24979a
|
#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_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(), 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, 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 359 of file module.h.
Referenced by inspect_module().
enum ast_module_load_result(* load) (void) |
Register stuff etc. Optional.
Definition at line 342 of file module.h.
Referenced by ApiDeclaration::load_file(), and ResourceListing::load_file().
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.
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(), PathSegment::get_child(), Parameter::load(), Property::load(), SwaggerType::load(), module_reffed_deps_add(), and module_reffed_deps_add_dep_enhancers().
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 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 allocate_subscription_tree(), alsa_hangup(), alsa_new(), 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(), mgcp_hangup(), mgcp_new(), mixmonitor_exec(), mixmonitor_thread(), moh_alloc(), moh_files_alloc(), publication_destroy_fn(), res_sdp_crypto_dtor(), sdp_crypto_alloc(), sip_cc_monitor_destructor(), sip_create_publication(), sip_hangup(), sip_new(), skinny_hangup(), skinny_new(), 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 413 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().