Go to the source code of this file.
Data Structures | |
struct | argapp |
struct | pval |
Typedefs | |
typedef struct pval | pval |
Enumerations | |
enum | pvaltype { PV_WORD, PV_MACRO, PV_CONTEXT, PV_MACRO_CALL, PV_APPLICATION_CALL, PV_CASE, PV_PATTERN, PV_DEFAULT, PV_CATCH, PV_SWITCHES, PV_ESWITCHES, PV_INCLUDES, PV_STATEMENTBLOCK, PV_VARDEC, PV_GOTO, PV_LABEL, PV_FOR, PV_WHILE, PV_BREAK, PV_RETURN, PV_CONTINUE, PV_IF, PV_IFTIME, PV_RANDOM, PV_SWITCH, PV_EXTENSION, PV_IGNOREPAT, PV_GLOBALS, PV_LOCALVARDEC } |
enum pvaltype |
Definition at line 6 of file pval.h.
void add_extensions | ( | struct ael_extension * | exten | ) |
Definition at line 4251 of file pval.c.
Referenced by ast_compile_ael2().
int ast_compile_ael2 | ( | struct ast_context ** | local_contexts, |
struct ast_hashtab * | local_table, | ||
struct pval * | root | ||
) |
Definition at line 4451 of file pval.c.
Referenced by pbx_load_module().
int ast_expr | ( | char * | expr, |
char * | buf, | ||
int | length, | ||
struct ast_channel * | chan | ||
) |
Evaluate the given expression.
expr | An expression |
buf | Result buffer |
length | Size of the result buffer, in bytes |
chan | Channel to use for evaluating included dialplan functions, if any |
Definition at line 2396 of file ast_expr2f.c.
References ast_copy_string(), AST_EXPR_number, ast_yy_scan_string(), ast_yylex_destroy(), ast_yylex_init(), ast_yyparse(), FP___PRINTF, free, val::i, val::s, parse_io::scanner, parse_io::string, val::type, val::u, and parse_io::val.
void ast_expr_clear_extra_error_info | ( | void | ) |
void ast_expr_register_extra_error_info | ( | char * | errmsg | ) |
Definition at line 2469 of file ast_expr2f.c.
Referenced by check_pval_item().
Definition at line 2137 of file pval.c.
Referenced by check_pval_item().
Definition at line 2872 of file pval.c.
Referenced by ael2_semantic_check(), and check_pval_item().
Definition at line 2364 of file pval.c.
Referenced by check_pval().
Definition at line 2191 of file pval.c.
Referenced by check_pval_item().
int count_labels_in_current_context | ( | char * | label | ) |
void destroy_extensions | ( | struct ael_extension * | exten | ) |
Definition at line 2985 of file pval.c.
Referenced by ast_compile_ael2().
void destroy_pval_item | ( | pval * | item | ) |
Definition at line 4711 of file pval.c.
Referenced by destroy_pval().
int do_pbx_load_module | ( | void | ) |
struct pval * find_context | ( | char * | name | ) |
Definition at line 1960 of file pval.c.
Referenced by ast_add_extension_nolock(), check_goto(), check_includes(), check_pval_item(), find_first_label_in_current_context(), find_label_in_current_context(), find_pval_goto_item(), get_goto_target(), and pbx_find_extension().
struct pval * find_macro | ( | char * | name | ) |
int is_empty | ( | char * | arg | ) |
int is_float | ( | char * | arg | ) |
int is_int | ( | char * | arg | ) |
void linkprio | ( | struct ael_extension * | exten, |
struct ael_priority * | prio, | ||
struct ael_extension * | mother_exten | ||
) |
Definition at line 2943 of file pval.c.
References ael_priority::appargs, ael_priority::exten, exten, free, ael_extension::has_switch, malloc, ael_priority::next, ael_extension::plist, and ael_extension::plist_last.
Referenced by ast_compile_ael2(), and gen_prios().
struct ael_extension* new_exten | ( | void | ) |
Definition at line 2937 of file pval.c.
Referenced by ast_compile_ael2(), and gen_prios().
struct ael_priority* new_prio | ( | void | ) |
Definition at line 2931 of file pval.c.
Referenced by ast_compile_ael2(), and gen_prios().
Definition at line 5304 of file pval.c.
References pval::arglist, linku1(), PV_APPLICATION_CALL, pvalCheckType(), and pval::u2.
char* pvalAppCallGetAppName | ( | pval * | p | ) |
Definition at line 5290 of file pval.c.
References PV_APPLICATION_CALL, pvalCheckType(), pval::str, and pval::u1.
void pvalAppCallSetAppName | ( | pval * | p, |
char * | name | ||
) |
Definition at line 5283 of file pval.c.
References name, PV_APPLICATION_CALL, pvalCheckType(), pval::str, and pval::u1.
Definition at line 5297 of file pval.c.
References pval::arglist, PV_APPLICATION_CALL, pvalCheckType(), and pval::u2.
Definition at line 5314 of file pval.c.
References pval::arglist, args, pval::next, PV_APPLICATION_CALL, pvalCheckType(), and pval::u2.
Definition at line 5339 of file pval.c.
References pval::arglist, linku1(), pval::statements, and pval::u2.
Definition at line 5347 of file pval.c.
References pval::next, pval::statements, and pval::u2.
char* pvalCasePatGetVal | ( | pval * | p | ) |
void pvalCasePatSetVal | ( | pval * | p, |
char * | val | ||
) |
Definition at line 5327 of file pval.c.
References PV_APPLICATION_CALL, pvalCheckType(), pval::str, and pval::u1.
char* pvalCatchGetExtName | ( | pval * | p | ) |
Definition at line 5379 of file pval.c.
References PV_CATCH, pvalCheckType(), pval::statements, and pval::u2.
void pvalCatchSetExtName | ( | pval * | p, |
char * | name | ||
) |
Definition at line 5372 of file pval.c.
References PV_CATCH, pvalCheckType(), pval::statements, and pval::u2.
Definition at line 5070 of file pval.c.
References ast_log(), LOG_ERROR, and pval::type.
Referenced by pvalAppCallAddArg(), pvalAppCallGetAppName(), pvalAppCallSetAppName(), pvalAppCallSetArglist(), pvalAppCallWalkArgs(), pvalCasePatSetVal(), pvalCatchGetExtName(), pvalCatchGetStatement(), pvalCatchSetExtName(), pvalCatchSetStatement(), pvalContextAddStatement(), pvalContextGetAbstract(), pvalContextGetName(), pvalContextSetAbstract(), pvalContextSetName(), pvalContextUnsetAbstract(), pvalContextWalkStatements(), pvalESwitchesAddSwitch(), pvalESwitchesWalkNames(), pvalExtenGetHints(), pvalExtenGetName(), pvalExtenGetRegexten(), pvalExtenGetStatement(), pvalExtenSetHints(), pvalExtenSetName(), pvalExtenSetRegexten(), pvalExtenSetStatement(), pvalExtenUnSetRegexten(), pvalForGetInc(), pvalForGetInit(), pvalForGetStatement(), pvalForGetTest(), pvalForSetInc(), pvalForSetInit(), pvalForSetStatement(), pvalForSetTest(), pvalGlobalsWalkStatements(), pvalGotoGetTarget(), pvalGotoSetTarget(), pvalIfGetCondition(), pvalIfSetCondition(), pvalIfTimeGetCondition(), pvalIfTimeSetCondition(), pvalIgnorePatGetPattern(), pvalIgnorePatSetPattern(), pvalIncludeGetTimeConstraints(), pvalIncludesAddInclude(), pvalIncludesAddIncludeWithTimeConstraints(), pvalIncludesWalk(), pvalLabelGetName(), pvalLabelSetName(), pvalMacroAddArg(), pvalMacroAddStatement(), pvalMacroCallAddArg(), pvalMacroCallGetMacroName(), pvalMacroCallSetArglist(), pvalMacroCallSetMacroName(), pvalMacroCallWalkArgs(), pvalMacroGetName(), pvalMacroSetArglist(), pvalMacroSetName(), pvalMacroWalkArgs(), pvalMacroWalkStatements(), pvalRandomGetCondition(), pvalRandomSetCondition(), pvalStatementBlockAddStatement(), pvalStatementBlockWalkStatements(), pvalSwitchAddCase(), pvalSwitchesAddSwitch(), pvalSwitchesWalkNames(), pvalSwitchGetTestexpr(), pvalSwitchSetTestexpr(), pvalSwitchWalkCases(), pvalVarDecGetValue(), pvalVarDecGetVarname(), pvalVarDecSetValue(), pvalVarDecSetVarname(), pvalWordGetString(), and pvalWordSetString().
Definition at line 5755 of file pval.c.
References pval::else_statements, and pval::u3.
Definition at line 5750 of file pval.c.
References pval::statements, and pval::u2.
Definition at line 5745 of file pval.c.
References pval::else_statements, and pval::u3.
Definition at line 5740 of file pval.c.
References pval::statements, and pval::u2.
Definition at line 5216 of file pval.c.
References linku1(), PV_CONTEXT, pvalCheckType(), pval::statements, and pval::u2.
int pvalContextGetAbstract | ( | pval * | p | ) |
Definition at line 5207 of file pval.c.
References pval::abstract, PV_CONTEXT, pvalCheckType(), and pval::u3.
char* pvalContextGetName | ( | pval * | p | ) |
Definition at line 5186 of file pval.c.
References PV_CONTEXT, pvalCheckType(), pval::str, and pval::u1.
void pvalContextSetAbstract | ( | pval * | p | ) |
Definition at line 5193 of file pval.c.
References pval::abstract, PV_CONTEXT, pvalCheckType(), and pval::u3.
void pvalContextSetName | ( | pval * | p, |
char * | name | ||
) |
Definition at line 5179 of file pval.c.
References name, PV_CONTEXT, pvalCheckType(), pval::str, and pval::u1.
void pvalContextUnsetAbstract | ( | pval * | p | ) |
Definition at line 5200 of file pval.c.
References pval::abstract, PV_CONTEXT, pvalCheckType(), and pval::u3.
Definition at line 5226 of file pval.c.
References pval::next, PV_CONTEXT, pvalCheckType(), pval::statements, and pval::u2.
Definition at line 5081 of file pval.c.
References calloc, pval::type, and type.
Referenced by pvalESwitchesAddSwitch(), pvalGotoSetTarget(), pvalIfTimeSetCondition(), pvalIncludesAddInclude(), pvalIncludesAddIncludeWithTimeConstraints(), and pvalSwitchesAddSwitch().
void pvalESwitchesAddSwitch | ( | pval * | p, |
char * | name | ||
) |
Definition at line 5409 of file pval.c.
References linku1(), pval::list, name, PV_ESWITCHES, PV_WORD, pvalCheckType(), pvalCreateNode(), pval::str, and pval::u1.
Definition at line 5419 of file pval.c.
References pval::list, pval::next, PV_ESWITCHES, pvalCheckType(), pval::str, and pval::u1.
char* pvalExtenGetHints | ( | pval * | p | ) |
Definition at line 5841 of file pval.c.
References pval::hints, PV_EXTENSION, pvalCheckType(), and pval::u3.
char* pvalExtenGetName | ( | pval * | p | ) |
Definition at line 5806 of file pval.c.
References PV_EXTENSION, pvalCheckType(), pval::str, and pval::u1.
int pvalExtenGetRegexten | ( | pval * | p | ) |
Definition at line 5827 of file pval.c.
References PV_EXTENSION, pvalCheckType(), pval::regexten, and pval::u4.
Definition at line 5855 of file pval.c.
References PV_EXTENSION, pvalCheckType(), pval::statements, and pval::u2.
void pvalExtenSetHints | ( | pval * | p, |
char * | hints | ||
) |
Definition at line 5834 of file pval.c.
References pval::hints, hints, PV_EXTENSION, pvalCheckType(), and pval::u3.
void pvalExtenSetName | ( | pval * | p, |
char * | name | ||
) |
Definition at line 5799 of file pval.c.
References name, PV_EXTENSION, pvalCheckType(), pval::str, and pval::u1.
void pvalExtenSetRegexten | ( | pval * | p | ) |
Definition at line 5813 of file pval.c.
References PV_EXTENSION, pvalCheckType(), pval::regexten, and pval::u4.
Definition at line 5848 of file pval.c.
References PV_EXTENSION, pvalCheckType(), pval::statements, and pval::u2.
void pvalExtenUnSetRegexten | ( | pval * | p | ) |
Definition at line 5820 of file pval.c.
References PV_EXTENSION, pvalCheckType(), pval::regexten, and pval::u4.
char* pvalForGetInc | ( | pval * | p | ) |
Definition at line 5667 of file pval.c.
References pval::for_inc, PV_FOR, pvalCheckType(), and pval::u3.
char* pvalForGetInit | ( | pval * | p | ) |
Definition at line 5653 of file pval.c.
References pval::for_init, PV_FOR, pvalCheckType(), and pval::u1.
Definition at line 5674 of file pval.c.
References pval::for_statements, PV_FOR, pvalCheckType(), and pval::u4.
char* pvalForGetTest | ( | pval * | p | ) |
Definition at line 5660 of file pval.c.
References pval::for_test, PV_FOR, pvalCheckType(), and pval::u2.
void pvalForSetInc | ( | pval * | p, |
char * | inc | ||
) |
Definition at line 5639 of file pval.c.
References pval::for_inc, PV_FOR, pvalCheckType(), and pval::u3.
void pvalForSetInit | ( | pval * | p, |
char * | init | ||
) |
Definition at line 5625 of file pval.c.
References pval::for_init, PV_FOR, pvalCheckType(), and pval::u1.
Definition at line 5646 of file pval.c.
References pval::for_statements, PV_FOR, pvalCheckType(), and pval::u4.
void pvalForSetTest | ( | pval * | p, |
char * | test | ||
) |
Definition at line 5632 of file pval.c.
References pval::for_test, PV_FOR, pvalCheckType(), and pval::u2.
Definition at line 5878 of file pval.c.
References ast_log(), linku1(), LOG_ERROR, PV_GLOBALS, pval::statements, pval::type, and pval::u1.
Definition at line 5891 of file pval.c.
References pval::next, PV_GLOBALS, and pvalCheckType().
void pvalGotoGetTarget | ( | pval * | p, |
char ** | context, | ||
char ** | exten, | ||
char ** | label | ||
) |
Definition at line 5583 of file pval.c.
References pval::list, pval::next, PV_GOTO, pvalCheckType(), pval::str, and pval::u1.
void pvalGotoSetTarget | ( | pval * | p, |
char * | context, | ||
char * | exten, | ||
char * | label | ||
) |
Definition at line 5547 of file pval.c.
References context, ext, exten, pval::list, pval::next, PV_GOTO, PV_WORD, pvalCheckType(), pvalCreateNode(), pval::str, and pval::u1.
char* pvalIfGetCondition | ( | pval * | p | ) |
void pvalIfSetCondition | ( | pval * | p, |
char * | expr | ||
) |
void pvalIfTimeGetCondition | ( | pval * | p, |
char ** | hour_range, | ||
char ** | dow_range, | ||
char ** | dom_range, | ||
char ** | month_range | ||
) |
Definition at line 5716 of file pval.c.
References pval::list, pval::next, PV_IFTIME, pvalCheckType(), pval::str, and pval::u1.
void pvalIfTimeSetCondition | ( | pval * | p, |
char * | hour_range, | ||
char * | dow_range, | ||
char * | dom_range, | ||
char * | mon_range | ||
) |
Definition at line 5697 of file pval.c.
References pval::list, pval::next, PV_IFTIME, PV_WORD, pvalCheckType(), pvalCreateNode(), pvalWordSetString(), and pval::u1.
char* pvalIgnorePatGetPattern | ( | pval * | p | ) |
Definition at line 5870 of file pval.c.
References PV_IGNOREPAT, pvalCheckType(), pval::str, and pval::u1.
void pvalIgnorePatSetPattern | ( | pval * | p, |
char * | pat | ||
) |
Definition at line 5863 of file pval.c.
References PV_IGNOREPAT, pvalCheckType(), pval::str, and pval::u1.
void pvalIncludeGetTimeConstraints | ( | pval * | p, |
char ** | hour_range, | ||
char ** | dom_range, | ||
char ** | dow_range, | ||
char ** | month_range | ||
) |
Definition at line 5470 of file pval.c.
References pval::arglist, pval::next, PV_WORD, pvalCheckType(), pval::str, pval::u1, and pval::u2.
void pvalIncludesAddInclude | ( | pval * | p, |
const char * | include | ||
) |
Definition at line 5432 of file pval.c.
References linku1(), pval::list, PV_INCLUDES, PV_WORD, pvalCheckType(), pvalCreateNode(), pval::str, and pval::u1.
void pvalIncludesAddIncludeWithTimeConstraints | ( | pval * | p, |
const char * | include, | ||
char * | hour_range, | ||
char * | dom_range, | ||
char * | dow_range, | ||
char * | month_range | ||
) |
Definition at line 5443 of file pval.c.
References pval::arglist, linku1(), pval::list, pval::next, PV_INCLUDES, PV_WORD, pvalCheckType(), pvalCreateNode(), pval::str, pval::u1, and pval::u2.
Definition at line 5487 of file pval.c.
References pval::list, pval::next, PV_INCLUDES, pvalCheckType(), pval::str, and pval::u1.
char* pvalLabelGetName | ( | pval * | p | ) |
void pvalLabelSetName | ( | pval * | p, |
char * | name | ||
) |
Definition at line 5130 of file pval.c.
References pval::arglist, linku1(), PV_MACRO, pvalCheckType(), and pval::u2.
Definition at line 5153 of file pval.c.
References linku1(), pval::macro_statements, PV_MACRO, pvalCheckType(), and pval::u3.
Definition at line 5260 of file pval.c.
References pval::arglist, linku1(), PV_MACRO_CALL, pvalCheckType(), and pval::u2.
char* pvalMacroCallGetMacroName | ( | pval * | p | ) |
Definition at line 5246 of file pval.c.
References PV_MACRO_CALL, pvalCheckType(), pval::str, and pval::u1.
Definition at line 5253 of file pval.c.
References pval::arglist, PV_MACRO_CALL, pvalCheckType(), and pval::u2.
void pvalMacroCallSetMacroName | ( | pval * | p, |
char * | name | ||
) |
Definition at line 5239 of file pval.c.
References name, PV_MACRO_CALL, pvalCheckType(), pval::str, and pval::u1.
Definition at line 5270 of file pval.c.
References pval::arglist, args, pval::next, PV_MACRO_CALL, pvalCheckType(), and pval::u2.
char* pvalMacroGetName | ( | pval * | p | ) |
Definition at line 5123 of file pval.c.
References pval::arglist, PV_MACRO, pvalCheckType(), and pval::u2.
void pvalMacroSetName | ( | pval * | p, |
char * | name | ||
) |
Definition at line 5141 of file pval.c.
References pval::arglist, pval::next, PV_MACRO, pvalCheckType(), and pval::u2.
Definition at line 5165 of file pval.c.
References pval::macro_statements, pval::next, PV_MACRO, pvalCheckType(), and pval::u3.
Definition at line 5088 of file pval.c.
References pval::type.
char* pvalRandomGetCondition | ( | pval * | p | ) |
void pvalRandomSetCondition | ( | pval * | p, |
char * | percent | ||
) |
Definition at line 5500 of file pval.c.
References linku1(), pval::list, PV_STATEMENTBLOCK, pvalCheckType(), and pval::u1.
Definition at line 5507 of file pval.c.
References pval::list, pval::next, PV_STATEMENTBLOCK, pvalCheckType(), and pval::u1.
Definition at line 5774 of file pval.c.
References linku1(), PV_CASE, PV_SWITCH, pvalCheckType(), pval::statements, and pval::u2.
void pvalSwitchesAddSwitch | ( | pval * | p, |
char * | name | ||
) |
Definition at line 5387 of file pval.c.
References linku1(), pval::list, name, PV_SWITCHES, PV_WORD, pvalCheckType(), pvalCreateNode(), pval::str, and pval::u1.
Definition at line 5397 of file pval.c.
References pval::list, pval::next, PV_SWITCHES, pvalCheckType(), pval::str, and pval::u1.
char* pvalSwitchGetTestexpr | ( | pval * | p | ) |
void pvalSwitchSetTestexpr | ( | pval * | p, |
char * | expr | ||
) |
Definition at line 5786 of file pval.c.
References pval::next, PV_SWITCH, pvalCheckType(), pval::statements, and pval::u2.
Definition at line 5905 of file pval.c.
References ast_log(), linku1(), and LOG_ERROR.
char* pvalVarDecGetValue | ( | pval * | p | ) |
char* pvalVarDecGetVarname | ( | pval * | p | ) |
void pvalVarDecSetValue | ( | pval * | p, |
char * | value | ||
) |
void pvalVarDecSetVarname | ( | pval * | p, |
char * | name | ||
) |
char* pvalWordGetString | ( | pval * | p | ) |
void pvalWordSetString | ( | pval * | p, |
char * | str | ||
) |
Definition at line 5094 of file pval.c.
References PV_WORD, pvalCheckType(), pval::str, str, and pval::u1.
Referenced by pvalIfTimeSetCondition().
void set_priorities | ( | struct ael_extension * | exten | ) |
Definition at line 4225 of file pval.c.
Referenced by ast_compile_ael2().