summaryrefslogtreecommitdiff
path: root/include/asterisk/module.h
diff options
context:
space:
mode:
authorGeorge Joseph <george.joseph@fairview5.com>2014-12-12 23:57:50 +0000
committerGeorge Joseph <george.joseph@fairview5.com>2014-12-12 23:57:50 +0000
commit6472568bc6956209ab7523d662abd83d799c836d (patch)
treedd756cbb8d6dcf032b6dceed6655c06e2fe0c6f5 /include/asterisk/module.h
parent308c1b41dd5e8d89c2950230c1babd826b006629 (diff)
loader: Move definition of ast_module_reload from _private.h to module.h
No functionality change. Just move the definition of ast_module_reload from _private.h to module.h so it can be public. Also removed the include of _private.h from manager.c since ast_module_load was the only reason for including it. Tested-by: George Joseph Review: https://reviewboard.asterisk.org/r/4251/ ........ Merged revisions 429542 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@429543 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk/module.h')
-rw-r--r--include/asterisk/module.h28
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.
*