loader: Process dependencies for built-in modules.
[asterisk/asterisk.git] / main / pbx_private.h
1 /*
2  * Asterisk -- An open source telephony toolkit.
3  *
4  * Copyright (C) 2015 Fairview 5 Engineering, LLC
5  *
6  * George Joseph <george.joseph@fairview5.com>
7  *
8  * See http://www.asterisk.org for more information about
9  * the Asterisk project. Please do not directly contact
10  * any of the maintainers of this project for assistance;
11  * the project provides a web site, mailing lists and IRC
12  * channels for your use.
13  *
14  * This program is free software, distributed under the terms of
15  * the GNU General Public License Version 2. See the LICENSE file
16  * at the top of the source tree.
17  */
18
19 /*! \file
20  * \brief Private include file for pbx
21  */
22
23 #ifndef _PBX_PRIVATE_H
24 #define _PBX_PRIVATE_H
25
26 /*! pbx.c functions needed by pbx_builtins.c */
27 int raise_exception(struct ast_channel *chan, const char *reason, int priority);
28 void wait_for_hangup(struct ast_channel *chan, const void *data);
29 void set_ext_pri(struct ast_channel *c, const char *exten, int pri);
30
31 /*! pbx.c function needed by pbx_app.c */
32 void unreference_cached_app(struct ast_app *app);
33
34 /*! pbx_ignorepat.c */
35 struct ast_ignorepat;
36 AST_VECTOR(ast_ignorepats, struct ast_ignorepat *);
37
38 struct ast_ignorepat *ignorepat_alloc(const char *value, const char *registrar);
39 void ignorepat_free(struct ast_ignorepat *ip);
40
41 /*! pbx_includes.c */
42 struct ast_include;
43 AST_VECTOR(ast_includes, struct ast_include *);
44
45 /*! Allocate and initialize an ast_include. */
46 struct ast_include *include_alloc(const char *value, const char *registrar);
47 /*! Free an ast_include and associated data. */
48 void include_free(struct ast_include *inc);
49 int include_valid(const struct ast_include *inc);
50 const char *include_rname(const struct ast_include *inc);
51
52 /*! pbx_sw.c */
53 struct ast_sw;
54 AST_VECTOR(ast_sws, struct ast_sw *);
55 struct ast_sw *sw_alloc(const char *value, const char *data, int eval, const char *registrar);
56 void sw_free(struct ast_sw *sw);
57
58 /*! pbx_builtins.c functions needed by pbx.c */
59 int indicate_congestion(struct ast_channel *, const char *);
60 int indicate_busy(struct ast_channel *, const char *);
61
62 /*! pbx_switch.c functions needed by pbx.c */
63 struct ast_switch *pbx_findswitch(const char *sw);
64
65 /*! pbx_app.c functions needed by pbx.c */
66 const char *app_name(struct ast_app *app);
67
68 #define VAR_BUF_SIZE 4096
69
70 #endif /* _PBX_PRIVATE_H */