| Asterisk - The Open Source Telephony Project GIT-master-27fb039
    | 
Compile symbolic Asterisk Extension Logic into Asterisk extensions, version 2. More...
#include "asterisk.h"#include <ctype.h>#include <regex.h>#include <sys/stat.h>#include "asterisk/pbx.h"#include "asterisk/config.h"#include "asterisk/module.h"#include "asterisk/logger.h"#include "asterisk/cli.h"#include "asterisk/app.h"#include "asterisk/callerid.h"#include "asterisk/hashtab.h"#include "asterisk/ael_structs.h"#include "asterisk/pval.h"
Go to the source code of this file.
| Macros | |
| #define | DEBUG_CONTEXTS (1 << 3) | 
| #define | DEBUG_MACROS (1 << 2) | 
| #define | DEBUG_READ (1 << 0) | 
| #define | DEBUG_TOKENS (1 << 1) | 
| Functions | |
| static void | __reg_module (void) | 
| static void | __unreg_module (void) | 
| void | add_extensions (struct ael_extension *exten) | 
| static int | aelsub_exec (struct ast_channel *chan, const char *vdata) | 
| int | ast_compile_ael2 (struct ast_context **local_contexts, struct ast_hashtab *local_table, struct pval *root) | 
| void | ast_expr_clear_extra_error_info (void) | 
| void | ast_expr_register_extra_error_info (char *errmsg) | 
| struct ast_module * | AST_MODULE_SELF_SYM (void) | 
| int | check_app_args (pval *appcall, pval *arglist, struct argapp *app) | 
| void | check_pval (pval *item, struct argapp *apps, int in_globals) | 
| void | check_pval_item (pval *item, struct argapp *apps, int in_globals) | 
| void | check_switch_expr (pval *item, struct argapp *apps) | 
| void | destroy_extensions (struct ael_extension *exten) | 
| void | destroy_pval (pval *item) | 
| void | destroy_pval_item (pval *item) | 
| struct pval * | find_context (char *name) | 
| static char * | handle_cli_ael_reload (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) | 
| static char * | handle_cli_ael_set_debug (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) | 
| int | is_empty (char *arg) | 
| int | is_float (char *arg) | 
| int | is_int (char *arg) | 
| static int | load_module (void) | 
| struct ael_extension * | new_exten (void) | 
| struct ael_priority * | new_prio (void) | 
| static int | pbx_load_module (void) | 
| static int | reload (void) | 
| void | set_priorities (struct ael_extension *exten) | 
| static int | unload_module (void) | 
| Variables | |
| static struct ast_module_info | __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_DEFAULT , .description = "Asterisk Extension Language Compiler" , .key = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .support_level = AST_MODULE_SUPPORT_EXTENDED, .load = load_module, .unload = unload_module, .reload = reload, .requires = "res_ael_share", } | 
| static int | aeldebug = 0 | 
| static char * | aelsub = "AELSub" | 
| static const struct ast_module_info * | ast_module_info = &__mod_info | 
| static struct ast_cli_entry | cli_ael [] | 
| static char * | config = "extensions.ael" | 
| static char * | registrar = "pbx_ael" | 
Compile symbolic Asterisk Extension Logic into Asterisk extensions, version 2.
Definition in file pbx_ael.c.
| 
 | static | 
Definition at line 312 of file pbx_ael.c.
| void add_extensions | ( | struct ael_extension * | exten | ) | 
Definition at line 4213 of file pval.c.
Referenced by ast_compile_ael2().
| 
 | static | 
Definition at line 127 of file pbx_ael.c.
References args, AST_APP_ARG, AST_DECLARE_APP_ARGS, AST_STANDARD_RAW_ARGS, ast_strdupa, buf, name, pbx_exec(), and pbx_findapp().
Referenced by load_module().
| int ast_compile_ael2 | ( | struct ast_context ** | local_contexts, | 
| struct ast_hashtab * | local_table, | ||
| struct pval * | root | ||
| ) | 
Definition at line 4413 of file pval.c.
Referenced by pbx_load_module().
| void ast_expr_clear_extra_error_info | ( | void | ) | 
Definition at line 2469 of file ast_expr2f.c.
| void ast_expr_register_extra_error_info | ( | char * | errmsg | ) | 
Definition at line 2463 of file ast_expr2f.c.
| struct ast_module * AST_MODULE_SELF_SYM | ( | void | ) | 
Definition at line 2130 of file pval.c.
Referenced by check_pval_item().
Definition at line 2865 of file pval.c.
Referenced by ael2_semantic_check(), and check_pval_item().
Definition at line 2357 of file pval.c.
Referenced by check_pval().
Definition at line 2184 of file pval.c.
Referenced by check_pval_item().
| void destroy_extensions | ( | struct ael_extension * | exten | ) | 
Definition at line 2978 of file pval.c.
Referenced by ast_compile_ael2().
| void destroy_pval | ( | pval * | item | ) | 
Definition at line 4940 of file pval.c.
Referenced by destroy_pval_item(), pbx_load_module(), pvalIfTimeSetCondition(), and pvalIncludesAddIncludeWithTimeConstraints().
| void destroy_pval_item | ( | pval * | item | ) | 
Definition at line 4672 of file pval.c.
Referenced by destroy_pval().
| struct pval * find_context | ( | char * | name | ) | 
Definition at line 1953 of file pval.c.
Referenced by check_goto(), check_includes(), check_pval_item(), find_first_label_in_current_context(), find_label_in_current_context(), find_pval_goto_item(), and get_goto_target().
| 
 | static | 
Definition at line 231 of file pbx_ael.c.
References a, ast_module_reload(), AST_MODULE_RELOAD_SUCCESS, CLI_FAILURE, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, CLI_SUCCESS, ast_cli_entry::command, NULL, pbx_load_module(), and ast_cli_entry::usage.
| 
 | static | 
Definition at line 199 of file pbx_ael.c.
References a, aeldebug, ast_cli_entry::args, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, CLI_SUCCESS, ast_cli_entry::command, DEBUG_CONTEXTS, DEBUG_READ, DEBUG_TOKENS, NULL, and ast_cli_entry::usage.
| int is_empty | ( | char * | arg | ) | 
| int is_float | ( | char * | arg | ) | 
| int is_int | ( | char * | arg | ) | 
| 
 | static | 
Definition at line 271 of file pbx_ael.c.
References aelsub, aelsub_exec(), ARRAY_LEN, ast_cli_register_multiple, ast_cli_unregister_multiple(), AST_MODULE_LOAD_SUCCESS, ast_register_application_xml, ast_unregister_application(), cli_ael, and pbx_load_module().
| struct ael_extension * new_exten | ( | void | ) | 
Definition at line 2930 of file pval.c.
Referenced by ast_compile_ael2(), and gen_prios().
| struct ael_priority * new_prio | ( | void | ) | 
Definition at line 2924 of file pval.c.
Referenced by ast_compile_ael2(), and gen_prios().
| 
 | static | 
Definition at line 147 of file pbx_ael.c.
References ael2_parse(), ael2_semantic_check(), ast_alloca, ast_compile_ael2(), ast_config_AST_CONFIG_DIR, ast_context_verify_includes(), ast_debug, ast_hashtab_compare_contexts(), ast_hashtab_create, ast_hashtab_hash_contexts(), ast_hashtab_newsize_java(), ast_hashtab_resize_java(), ast_log, ast_merge_contexts_and_delete(), AST_MODULE_LOAD_DECLINE, AST_MODULE_LOAD_SUCCESS, ast_walk_contexts(), config, destroy_pval(), errs, local_contexts, local_table, LOG_ERROR, LOG_NOTICE, NULL, R_OK, and registrar.
Referenced by handle_cli_ael_reload(), load_module(), and reload().
| 
 | static | 
Definition at line 290 of file pbx_ael.c.
References pbx_load_module().
| void set_priorities | ( | struct ael_extension * | exten | ) | 
Definition at line 4187 of file pval.c.
Referenced by ast_compile_ael2().
| 
 | static | 
Definition at line 261 of file pbx_ael.c.
References aelsub, ARRAY_LEN, ast_cli_unregister_multiple(), ast_context_destroy(), ast_unregister_application(), cli_ael, NULL, and registrar.
| 
 | static | 
| 
 | static | 
Definition at line 120 of file pbx_ael.c.
Referenced by handle_cli_ael_set_debug().
| 
 | static | 
Definition at line 125 of file pbx_ael.c.
Referenced by load_module(), and unload_module().
| 
 | static | 
| 
 | static | 
Definition at line 256 of file pbx_ael.c.
Referenced by load_module(), and unload_module().
| 
 | static | 
Definition at line 80 of file pbx_ael.c.
Referenced by pbx_load_module().
| 
 | static | 
Definition at line 81 of file pbx_ael.c.
Referenced by __ast_context_create(), __ast_context_destroy(), __ast_context_destroy(), ast_add_extension(), ast_add_extension2(), ast_add_extension2(), ast_add_extension2(), ast_add_extension2_lockopt(), ast_add_extension2_nolock(), ast_add_extension_nolock(), ast_context_add_ignorepat(), ast_context_add_ignorepat2(), ast_context_add_ignorepat2(), ast_context_add_ignorepat2(), ast_context_add_include(), ast_context_add_include2(), ast_context_add_include2(), ast_context_add_switch(), ast_context_add_switch2(), ast_context_add_switch2(), ast_context_add_switch2(), ast_context_create(), ast_context_destroy(), ast_context_destroy_by_name(), ast_context_find_or_create(), ast_context_find_or_create(), ast_context_find_or_create(), ast_context_remove_extension(), ast_context_remove_extension2(), ast_context_remove_extension_callerid(), ast_context_remove_extension_callerid2(), ast_context_remove_ignorepat(), ast_context_remove_ignorepat2(), ast_context_remove_include(), ast_context_remove_include2(), ast_context_remove_switch(), ast_context_remove_switch2(), ast_merge_contexts_and_delete(), ast_merge_contexts_and_delete(), AST_TEST_DEFINE(), context_merge(), context_merge_incls_swits_igps_other_registrars(), ignorepat_alloc(), include_alloc(), localized_add_extension2(), localized_context_add_ignorepat2(), localized_context_add_include2(), localized_context_add_switch2(), localized_context_destroy(), localized_context_find_or_create(), localized_merge_contexts_and_delete(), parking_add_extension(), parking_lot_cfg_create_extensions(), parking_lot_cfg_remove_extensions(), pbx_load_module(), sw_alloc(), and unload_module().