Fix shutdown crash caused by modules being left open.
[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 modules_shutdown(void);             /*!< Provided by loader.c */
20 int load_pbx(void);                     /*!< Provided by pbx.c */
21 int load_pbx_builtins(void);    /*!< Provided by pbx_builtins.c */
22 int load_pbx_functions_cli(void);       /*!< Provided by pbx_functions.c */
23 int load_pbx_variables(void);   /*!< Provided by pbx_variables.c */
24 int load_pbx_switch(void);              /*!< Provided by pbx_switch.c */
25 int load_pbx_app(void);         /*!< Provided by pbx_app.c */
26 int load_pbx_hangup_handler(void);      /*!< Provided by pbx_hangup_handler.c */
27 int init_logger(void);                  /*!< Provided by logger.c */
28 void close_logger(void);                /*!< Provided by logger.c */
29 void logger_queue_start(void);          /*!< Provided by logger.c */
30 void clean_time_zones(void);                    /*!< Provided by localtime.c */
31 int ast_term_init(void);                /*!< Provided by term.c */
32 int astdb_init(void);                   /*!< Provided by db.c */
33 int ast_channels_init(void);            /*!< Provided by channel.c */
34 void ast_builtins_init(void);           /*!< Provided by cli.c */
35 int ast_cli_perms_init(int reload);     /*!< Provided by cli.c */
36 int dnsmgr_init(void);                  /*!< Provided by dnsmgr.c */
37 void dnsmgr_start_refresh(void);        /*!< Provided by dnsmgr.c */
38 int dnsmgr_reload(void);                /*!< Provided by dnsmgr.c */
39 int ast_dns_system_resolver_init(void); /*!< Provided by dns_system_resolver.c */
40 void threadstorage_init(void);          /*!< Provided by threadstorage.c */
41 int ast_device_state_engine_init(void); /*!< Provided by devicestate.c */
42 int astobj2_init(void);                 /*!< Provided by astobj2.c */
43 int ast_named_locks_init(void);         /*!< Provided by named_locks.c */
44 int ast_file_init(void);                /*!< Provided by file.c */
45 int ast_features_init(void);            /*!< Provided by features.c */
46 void ast_autoservice_init(void);        /*!< Provided by autoservice.c */
47 int ast_data_init(void);                /*!< Provided by data.c */
48 int ast_http_init(void);                /*!< Provided by http.c */
49 int ast_http_reload(void);              /*!< Provided by http.c */
50 int ast_tps_init(void);                 /*!< Provided by taskprocessor.c */
51 int ast_timing_init(void);              /*!< Provided by timing.c */
52 int ast_indications_init(void); /*!< Provided by indications.c */
53 int ast_indications_reload(void);/*!< Provided by indications.c */
54 void ast_stun_init(void);               /*!< Provided by stun.c */
55 int ast_cel_engine_init(void);          /*!< Provided by cel.c */
56 int ast_cel_engine_reload(void);        /*!< Provided by cel.c */
57 int ast_ssl_init(void);                 /*!< Provided by ssl.c */
58 int ast_pj_init(void);                 /*!< Provided by libasteriskpj.c */
59 int ast_test_init(void);            /*!< Provided by test.c */
60 int ast_msg_init(void);             /*!< Provided by message.c */
61 void ast_msg_shutdown(void);        /*!< Provided by message.c */
62 int aco_init(void);             /*!< Provided by config_options.c */
63
64 /*!
65  * \brief Initialize the bridging system.
66  * \since 12.0.0
67  *
68  * \retval 0 on success.
69  * \retval -1 on error.
70  */
71 int ast_bridging_init(void);
72
73 /*!
74  * \brief Initialize the local proxy channel.
75  * \since 12.0.0
76  *
77  * \retval 0 on success.
78  * \retval -1 on error.
79  */
80 int ast_local_init(void);
81
82 /*!
83  * \brief Process reload requests received during startup.
84  *
85  * This function requests that the loader execute the pending reload requests
86  * that were queued during server startup.
87  *
88  * \note This function will do nothing if the server has not completely started
89  *       up.  Once called, the reload queue is emptied, and further invocations
90  *       will have no affect.
91  */
92 void ast_process_pending_reloads(void);
93
94 /*! \brief Load XML documentation. Provided by xmldoc.c
95  *  \retval 1 on error.
96  *  \retval 0 on success.
97  */
98 int ast_xmldoc_load_documentation(void);
99
100 /*!
101  * \brief Reload genericplc configuration value from codecs.conf
102  *
103  * Implementation is in main/channel.c
104  */
105 int ast_plc_reload(void);
106
107 /*! \brief initializes the rtp engine arrays */
108 int ast_rtp_engine_init(void);
109
110 /*!
111  * \brief initializes the rtp engine arrays
112  * \since 12.0.0
113  */
114 int ast_parking_stasis_init(void);
115
116 /*! \brief initialize the sounds index */
117 int ast_sounds_index_init(void);
118
119 /*!
120  * \brief Endpoint support initialization.
121  * \return 0 on success.
122  * \return Non-zero on error.
123  */
124 int ast_endpoint_init(void);
125
126 #endif /* _ASTERISK__PRIVATE_H */