Remove dead code from features.c; refactor pickup code into pickup.c
[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 void clean_time_zones(void);                    /*!< Provided by localtime.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 ast_cli_perms_init(int reload);     /*!< Provided by cli.c */
28 int dnsmgr_init(void);                  /*!< Provided by dnsmgr.c */
29 void dnsmgr_start_refresh(void);        /*!< Provided by dnsmgr.c */
30 int dnsmgr_reload(void);                /*!< Provided by dnsmgr.c */
31 void threadstorage_init(void);          /*!< Provided by threadstorage.c */
32 int ast_event_init(void);               /*!< Provided by event.c */
33 int ast_device_state_engine_init(void); /*!< Provided by devicestate.c */
34 int astobj2_init(void);                 /*!< Provided by astobj2.c */
35 int ast_file_init(void);                /*!< Provided by file.c */
36 int ast_features_init(void);            /*!< Provided by features.c */
37 void ast_autoservice_init(void);        /*!< Provided by autoservice.c */
38 int ast_data_init(void);                /*!< Provided by data.c */
39 int ast_http_init(void);                /*!< Provided by http.c */
40 int ast_http_reload(void);              /*!< Provided by http.c */
41 int ast_tps_init(void);                 /*!< Provided by taskprocessor.c */
42 int ast_timing_init(void);              /*!< Provided by timing.c */
43 int ast_indications_init(void); /*!< Provided by indications.c */
44 int ast_indications_reload(void);/*!< Provided by indications.c */
45 void ast_stun_init(void);               /*!< Provided by stun.c */
46 int ast_cel_engine_init(void);          /*!< Provided by cel.c */
47 int ast_cel_engine_reload(void);        /*!< Provided by cel.c */
48 int ast_ssl_init(void);                 /*!< Provided by ssl.c */
49 int ast_test_init(void);            /*!< Provided by test.c */
50 int ast_msg_init(void);             /*!< Provided by message.c */
51 void ast_msg_shutdown(void);        /*!< Provided by message.c */
52 int aco_init(void);             /*!< Provided by config_options.c */
53
54 /*!
55  * \since 12
56  * \brief Possible return types for \ref ast_module_reload
57  */
58 enum ast_module_reload_result {
59         AST_MODULE_RELOAD_SUCCESS = 0,      /*!< The module was reloaded succesfully */
60         AST_MODULE_RELOAD_QUEUED,           /*!< The module reload request was queued */
61         AST_MODULE_RELOAD_NOT_FOUND,        /*!< The requested module was not found */
62         AST_MODULE_RELOAD_ERROR,            /*!< An error occurred while reloading the module */
63         AST_MODULE_RELOAD_IN_PROGRESS,      /*!< A module reload request is already in progress */
64         AST_MODULE_RELOAD_UNINITIALIZED,    /*!< The module has not been initialized */
65         AST_MODULE_RELOAD_NOT_IMPLEMENTED,  /*!< This module doesn't support reloading */
66 };
67
68 /*!
69  * \brief Initialize the bridging system.
70  * \since 12.0.0
71  *
72  * \retval 0 on success.
73  * \retval -1 on error.
74  */
75 int ast_bridging_init(void);
76
77 /*!
78  * \brief Initialize the local proxy channel.
79  * \since 12.0.0
80  *
81  * \retval 0 on success.
82  * \retval -1 on error.
83  */
84 int ast_local_init(void);
85
86 /*!
87  * \brief Reload asterisk modules.
88  * \param name the name of the module to reload
89  *
90  * This function reloads the specified module, or if no modules are specified,
91  * it will reload all loaded modules.
92  *
93  * \note Modules are reloaded using their reload() functions, not unloading
94  * them and loading them again.
95  *
96  * \retval The \ref ast_module_reload_result status of the module load request
97  */
98 enum ast_module_reload_result ast_module_reload(const char *name);
99
100 /*!
101  * \brief Process reload requests received during startup.
102  *
103  * This function requests that the loader execute the pending reload requests
104  * that were queued during server startup.
105  *
106  * \note This function will do nothing if the server has not completely started
107  *       up.  Once called, the reload queue is emptied, and further invocations
108  *       will have no affect.
109  */
110 void ast_process_pending_reloads(void);
111
112 /*! \brief Load XML documentation. Provided by xmldoc.c
113  *  \retval 1 on error.
114  *  \retval 0 on success.
115  */
116 int ast_xmldoc_load_documentation(void);
117
118 /*!
119  * \brief Reload genericplc configuration value from codecs.conf
120  *
121  * Implementation is in main/channel.c
122  */
123 int ast_plc_reload(void);
124
125 /*!
126  * \brief Init the ast_format attribute interface register container.
127  */
128 int ast_format_attr_init(void);
129
130 /*!
131  * \brief Init the Asterisk global format list after all format attribute modules have been loaded
132  */
133 int ast_format_list_init(void);
134
135 /*! \brief initializes the rtp engine arrays */
136 int ast_rtp_engine_init(void);
137
138 /*!
139  * \brief initializes the rtp engine arrays
140  * \since 12.0.0
141  */
142 int ast_parking_stasis_init(void);
143
144 /*! \brief initialize the sounds index */
145 int ast_sounds_index_init(void);
146 #endif /* _ASTERISK__PRIVATE_H */