diff options
Diffstat (limited to 'include/asterisk/module.h')
-rw-r--r-- | include/asterisk/module.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/include/asterisk/module.h b/include/asterisk/module.h index 7f9cecf2d..d6e1d9039 100644 --- a/include/asterisk/module.h +++ b/include/asterisk/module.h @@ -73,6 +73,20 @@ enum ast_module_load_result { AST_MODULE_LOAD_FAILURE = -1, /*!< Module could not be loaded properly */ }; +/*! + * \since 12 + * \brief Possible return types for \ref ast_module_reload + */ +enum ast_module_reload_result { + AST_MODULE_RELOAD_SUCCESS = 0, /*!< The module was reloaded succesfully */ + AST_MODULE_RELOAD_QUEUED, /*!< The module reload request was queued */ + AST_MODULE_RELOAD_NOT_FOUND, /*!< The requested module was not found */ + AST_MODULE_RELOAD_ERROR, /*!< An error occurred while reloading the module */ + AST_MODULE_RELOAD_IN_PROGRESS, /*!< A module reload request is already in progress */ + AST_MODULE_RELOAD_UNINITIALIZED, /*!< The module has not been initialized */ + AST_MODULE_RELOAD_NOT_IMPLEMENTED, /*!< This module doesn't support reloading */ +}; + enum ast_module_support_level { AST_MODULE_SUPPORT_UNKNOWN, AST_MODULE_SUPPORT_CORE, @@ -107,6 +121,20 @@ enum ast_module_load_result ast_load_resource(const char *resource_name); */ int ast_unload_resource(const char *resource_name, enum ast_module_unload_mode); +/*! + * \brief Reload asterisk modules. + * \param name the name of the module to reload + * + * This function reloads the specified module, or if no modules are specified, + * it will reload all loaded modules. + * + * \note Modules are reloaded using their reload() functions, not unloading + * them and loading them again. + * + * \retval The \ref ast_module_reload_result status of the module load request + */ +enum ast_module_reload_result ast_module_reload(const char *name); + /*! * \brief Notify when usecount has been changed. * |