From bd029688cd5c2af9cae769fe31dfea74ef127318 Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Wed, 11 Mar 2015 16:38:20 +0000 Subject: res_pjsip: Move internal init/destroy prototypes to private header file. Done as a separate commit from a finding in https://reviewboard.asterisk.org/r/4467/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@432787 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/res_pjsip/config_domain_aliases.c | 1 + res/res_pjsip/include/res_pjsip_private.h | 164 +++++++++++++++++++++++++++++- 2 files changed, 160 insertions(+), 5 deletions(-) (limited to 'res') diff --git a/res/res_pjsip/config_domain_aliases.c b/res/res_pjsip/config_domain_aliases.c index 232adacd8..8feff0571 100644 --- a/res/res_pjsip/config_domain_aliases.c +++ b/res/res_pjsip/config_domain_aliases.c @@ -21,6 +21,7 @@ #include "pjsip.h" #include "pjlib.h" #include "asterisk/res_pjsip.h" +#include "include/res_pjsip_private.h" #include "asterisk/logger.h" #include "asterisk/sorcery.h" diff --git a/res/res_pjsip/include/res_pjsip_private.h b/res/res_pjsip/include/res_pjsip_private.h index b3d66dbb5..11d288771 100644 --- a/res/res_pjsip/include/res_pjsip_private.h +++ b/res/res_pjsip/include/res_pjsip_private.h @@ -1,5 +1,5 @@ /* - * res_pjsip.h + * res_pjsip_private.h * * Created on: Jan 25, 2013 * Author: mjordan @@ -8,6 +8,12 @@ #ifndef RES_PJSIP_PRIVATE_H_ #define RES_PJSIP_PRIVATE_H_ +/*! + * \todo XXX Functions prototyped in this file that begin with "ast_sip_" + * need to be renamed so res_pjsip.so does not export the names outside + * of the module. + */ + #include "asterisk/module.h" #include "asterisk/compat.h" @@ -15,21 +21,154 @@ struct ao2_container; struct ast_threadpool_options; /*! + * \internal * \brief Initialize the configuration for res_pjsip */ int ast_res_pjsip_initialize_configuration(const struct ast_module_info *ast_module_info); /*! + * \internal * \brief Annihilate the configuration objects */ void ast_res_pjsip_destroy_configuration(void); /*! + * \internal * \brief Reload the configuration */ int ast_res_pjsip_reload_configuration(void); /*! + * \internal + * \brief Initialize transport support on a sorcery instance + * + * \retval -1 failure + * \retval 0 success + */ +int ast_sip_initialize_sorcery_transport(void); + +/*! + * \internal + * \brief Destroy transport support on a sorcery instance + * + * \retval -1 failure + * \retval 0 success + */ +int ast_sip_destroy_sorcery_transport(void); + +/*! + * \internal + * \brief Initialize qualify support on a sorcery instance + * + * \retval -1 failure + * \retval 0 success + */ +int ast_sip_initialize_sorcery_qualify(void); + +/*! + * \internal + * \brief Initialize location support on a sorcery instance + * + * \retval -1 failure + * \retval 0 success + */ +int ast_sip_initialize_sorcery_location(void); + +/*! + * \internal + * \brief Destroy location support on a sorcery instance + * + * \retval -1 failure + * \retval 0 success + */ +int ast_sip_destroy_sorcery_location(void); + +/*! + * \internal + * \brief Initialize domain aliases support on a sorcery instance + * + * \retval -1 failure + * \retval 0 success + */ +int ast_sip_initialize_sorcery_domain_alias(void); + +/*! + * \internal + * \brief Initialize authentication support on a sorcery instance + * + * \retval -1 failure + * \retval 0 success + */ +int ast_sip_initialize_sorcery_auth(void); + +/*! + * \internal + * \brief Destroy authentication support on a sorcery instance + * + * \retval -1 failure + * \retval 0 success + */ +int ast_sip_destroy_sorcery_auth(void); + +/*! + * \internal + * \brief Initialize the distributor module + * + * The distributor module is responsible for taking an incoming + * SIP message and placing it into the threadpool. Once in the threadpool, + * the distributor will perform endpoint lookups and authentication, and + * then distribute the message up the stack to any further modules. + * + * \retval -1 Failure + * \retval 0 Success + */ +int ast_sip_initialize_distributor(void); + +/*! + * \internal + * \brief Destruct the distributor module. + * + * Unregisters pjsip modules and cleans up any allocated resources. + */ +void ast_sip_destroy_distributor(void); + +/*! + * \internal + * \brief Initialize global type on a sorcery instance + * + * \retval -1 failure + * \retval 0 success + */ +int ast_sip_initialize_sorcery_global(void); + +/*! + * \internal + * \brief Destroy global type on a sorcery instance + * \since 13.3.0 + * + * \retval -1 failure + * \retval 0 success + */ +int ast_sip_destroy_sorcery_global(void); + +/*! + * \internal + * \brief Initialize global headers support + * + * \return Nothing + */ +void ast_sip_initialize_global_headers(void); + +/*! + * \internal + * \brief Destroy global headers support + * + * \return Nothing + */ +void ast_sip_destroy_global_headers(void); + +/*! + * \internal * \brief Initialize OPTIONS request handling. * * XXX This currently includes qualifying peers. It shouldn't. @@ -44,6 +183,7 @@ int ast_res_pjsip_reload_configuration(void); int ast_res_pjsip_init_options_handling(int reload); /*! + * \internal * \brief Initialize transport storage for contacts. * * \retval 0 on success @@ -52,6 +192,7 @@ int ast_res_pjsip_init_options_handling(int reload); int ast_res_pjsip_init_contact_transports(void); /*! + * \internal * \brief Initialize outbound authentication support * * \retval 0 Success @@ -60,6 +201,7 @@ int ast_res_pjsip_init_contact_transports(void); int internal_sip_initialize_outbound_authentication(void); /*! + * \internal * \brief Destroy outbound authentication support * * \retval 0 Success @@ -68,6 +210,7 @@ int internal_sip_initialize_outbound_authentication(void); void internal_sip_destroy_outbound_authentication(void); /*! + * \internal * \brief Initialize system configuration * * \retval 0 Success @@ -76,16 +219,19 @@ void internal_sip_destroy_outbound_authentication(void); int ast_sip_initialize_system(void); /*! + * \internal * \brief Destroy system configuration */ void ast_sip_destroy_system(void); /*! + * \internal * \brief Initialize nameserver configuration */ void ast_sip_initialize_dns(void); /*! + * \internal * \brief Initialize global configuration * * \retval 0 Success @@ -94,16 +240,19 @@ void ast_sip_initialize_dns(void); int ast_sip_initialize_global(void); /*! + * \internal * \brief Clean up res_pjsip options handling */ void ast_res_pjsip_cleanup_options_handling(void); /*! + * \internal * \brief Get threadpool options */ void sip_get_threadpool_options(struct ast_threadpool_options *threadpool_options); /*! + * \internal * \brief Retrieve the name of the default outbound endpoint. * * \note This returns a memory allocated copy of the name that @@ -115,28 +264,33 @@ void sip_get_threadpool_options(struct ast_threadpool_options *threadpool_option char *ast_sip_global_default_outbound_endpoint(void); /*! + * \internal * \brief Functions for initializing and destroying the CLI. */ int ast_sip_initialize_cli(void); void ast_sip_destroy_cli(void); /*! - * \internal \brief Used by res_pjsip.so to register a service without adding a self reference + * \internal + * \brief Used by res_pjsip.so to register a service without adding a self reference */ int internal_sip_register_service(pjsip_module *module); /*! - * \internal \brief Used by res_pjsip.so to unregister a service without removing a self reference + * \internal + * \brief Used by res_pjsip.so to unregister a service without removing a self reference */ int internal_sip_unregister_service(pjsip_module *module); /*! - * \internal \brief Used by res_pjsip.so to register an endpoint formatter without adding a self reference + * \internal + * \brief Used by res_pjsip.so to register an endpoint formatter without adding a self reference */ void internal_sip_register_endpoint_formatter(struct ast_sip_endpoint_formatter *obj); /*! - * \internal \brief Used by res_pjsip.so to unregister a endpoint formatter without removing a self reference + * \internal + * \brief Used by res_pjsip.so to unregister a endpoint formatter without removing a self reference */ int internal_sip_unregister_endpoint_formatter(struct ast_sip_endpoint_formatter *obj); -- cgit v1.2.3