3) In addition to merging the changes below, change trunk back to a regular
[asterisk/asterisk.git] / include / asterisk / _private.h
1 /*
2  * Prototypes for public functions only of internal interest,
3  * normally not used by modules.
4  * What goes here are typically *_init() routines.
5  */
6
7 /*! \file
8  *
9  * \brief
10  * Prototypes for public functions only of internal interest,
11  * 
12  */
13
14
15 #ifndef _ASTERISK__PRIVATE_H
16 #define _ASTERISK__PRIVATE_H
17
18 int load_modules(unsigned int);         /*!< Provided by loader.c */
19 int load_pbx(void);                     /*!< Provided by pbx.c */
20 int init_logger(void);                  /*!< Provided by logger.c */
21 void close_logger(void);                /*!< Provided by logger.c */
22 int init_framer(void);                  /*!< Provided by frame.c */
23 int ast_term_init(void);                /*!< Provided by term.c */
24 int astdb_init(void);                   /*!< Provided by db.c */
25 void ast_channels_init(void);           /*!< Provided by channel.c */
26 void ast_builtins_init(void);           /*!< Provided by cli.c */
27 int dnsmgr_init(void);                  /*!< Provided by dnsmgr.c */ 
28 void dnsmgr_start_refresh(void);        /*!< Provided by dnsmgr.c */
29 int dnsmgr_reload(void);                /*!< Provided by dnsmgr.c */
30 void threadstorage_init(void);          /*!< Provided by threadstorage.c */
31 void ast_event_init(void);              /*!< Provided by event.c */
32 int ast_device_state_engine_init(void); /*!< Provided by devicestate.c */
33 int astobj2_init(void);                 /*!< Provided by astobj2.c */
34 int ast_file_init(void);                /*!< Provided by file.c */
35 int ast_features_init(void);            /*!< Provided by features.c */
36 void ast_autoservice_init(void);    /*!< Provided by autoservice.c */
37
38 /*!
39  * \brief Reload asterisk modules.
40  * \param name the name of the module to reload
41  *
42  * This function reloads the specified module, or if no modules are specified,
43  * it will reload all loaded modules.
44  *
45  * \note Modules are reloaded using their reload() functions, not unloading
46  * them and loading them again.
47  * 
48  * \return 0 if the specified module was not found.
49  * \retval 1 if the module was found but cannot be reloaded.
50  * \retval -1 if a reload operation is already in progress.
51  * \retval 2 if the specfied module was found and reloaded.
52  */
53 int ast_module_reload(const char *name);
54
55 #endif /* _ASTERISK__PRIVATE_H */