00001 /* 00002 * Prototypes for public functions only of internal interest, 00003 * normally not used by modules. 00004 * What goes here are typically *_init() routines. 00005 */ 00006 00007 /*! \file 00008 * 00009 * \brief 00010 * Prototypes for public functions only of internal interest, 00011 * 00012 */ 00013 00014 00015 #ifndef _ASTERISK__PRIVATE_H 00016 #define _ASTERISK__PRIVATE_H 00017 00018 int load_modules(unsigned int); /*!< Provided by loader.c */ 00019 int load_pbx(void); /*!< Provided by pbx.c */ 00020 int init_logger(void); /*!< Provided by logger.c */ 00021 void close_logger(void); /*!< Provided by logger.c */ 00022 int init_framer(void); /*!< Provided by frame.c */ 00023 int ast_term_init(void); /*!< Provided by term.c */ 00024 int astdb_init(void); /*!< Provided by db.c */ 00025 void ast_channels_init(void); /*!< Provided by channel.c */ 00026 void ast_builtins_init(void); /*!< Provided by cli.c */ 00027 int dnsmgr_init(void); /*!< Provided by dnsmgr.c */ 00028 void dnsmgr_start_refresh(void); /*!< Provided by dnsmgr.c */ 00029 int dnsmgr_reload(void); /*!< Provided by dnsmgr.c */ 00030 void threadstorage_init(void); /*!< Provided by threadstorage.c */ 00031 int ast_event_init(void); /*!< Provided by event.c */ 00032 int ast_device_state_engine_init(void); /*!< Provided by devicestate.c */ 00033 int astobj2_init(void); /*!< Provided by astobj2.c */ 00034 int ast_file_init(void); /*!< Provided by file.c */ 00035 int ast_features_init(void); /*!< Provided by features.c */ 00036 void ast_autoservice_init(void); /*!< Provided by autoservice.c */ 00037 int ast_http_init(void); /*!< Provided by http.c */ 00038 int ast_http_reload(void); /*!< Provided by http.c */ 00039 int ast_tps_init(void); /*!< Provided by taskprocessor.c */ 00040 int ast_timing_init(void); /*!< Provided by timing.c */ 00041 int ast_ssl_init(void); /*!< Porvided by ssl.c */ 00042 00043 /*! 00044 * \brief Reload asterisk modules. 00045 * \param name the name of the module to reload 00046 * 00047 * This function reloads the specified module, or if no modules are specified, 00048 * it will reload all loaded modules. 00049 * 00050 * \note Modules are reloaded using their reload() functions, not unloading 00051 * them and loading them again. 00052 * 00053 * \return 0 if the specified module was not found. 00054 * \retval 1 if the module was found but cannot be reloaded. 00055 * \retval -1 if a reload operation is already in progress. 00056 * \retval 2 if the specfied module was found and reloaded. 00057 */ 00058 int ast_module_reload(const char *name); 00059 00060 /*! 00061 * \brief Process reload requests received during startup. 00062 * 00063 * This function requests that the loader execute the pending reload requests 00064 * that were queued during server startup. 00065 * 00066 * \note This function will do nothing if the server has not completely started 00067 * up. Once called, the reload queue is emptied, and further invocations 00068 * will have no affect. 00069 */ 00070 void ast_process_pending_reloads(void); 00071 00072 #endif /* _ASTERISK__PRIVATE_H */