1 #ifndef _ASTERISK_PVAL_H
2 #define _ASTERISK_PVAL_H
61 struct pval *statements;
69 struct pval *statements;
72 struct pval *goto_target;
78 struct pval *else_statements;
79 struct pval *macro_statements;
82 int goto_target_in_case;
89 struct pval *for_statements;
120 int option_matches_j(
struct argdesc *should,
pval *is,
struct argapp *app);
121 int option_matches(
struct argdesc *should,
pval *is,
struct argapp *app);
122 int ael_is_funcname(
char *
name);
125 int do_pbx_load_module(
void);
126 int count_labels_in_current_context(
char *label);
127 int check_app_args(
pval *appcall,
pval *arglist,
struct argapp *app);
129 void check_pval_item(
pval *item,
struct argapp *
apps,
int in_globals);
131 void ast_expr_register_extra_error_info(
char *errmsg);
132 void ast_expr_clear_extra_error_info(
void);
134 struct pval *find_macro(
char *name);
137 struct pval *find_macro(
char *name);
147 void destroy_pval(
pval *item);
148 void destroy_pval_item(
pval *item);
149 int is_float(
char *arg );
150 int is_int(
char *arg );
151 int is_empty(
char *arg);
156 pval *pvalCreateNode( pvaltype type );
157 pvaltype pvalObjectGetType(
pval *p );
159 void pvalWordSetString(
pval *p,
char *str);
160 char *pvalWordGetString(
pval *p );
162 void pvalMacroSetName(
pval *p,
char *name);
163 char *pvalMacroGetName(
pval *p );
164 void pvalMacroSetArglist(
pval *p,
pval *arglist );
165 void pvalMacroAddArg(
pval *p,
pval *arg );
167 void pvalMacroAddStatement(
pval *p,
pval *statement );
168 pval *pvalMacroWalkStatements(
pval *p,
pval **next_statement );
170 void pvalContextSetName(
pval *p,
char *name);
171 char *pvalContextGetName(
pval *p );
172 void pvalContextSetAbstract(
pval *p );
173 void pvalContextUnsetAbstract(
pval *p );
174 int pvalContextGetAbstract(
pval *p );
175 void pvalContextAddStatement(
pval *p,
pval *statement);
176 pval *pvalContextWalkStatements(
pval *p,
pval **statements );
178 void pvalMacroCallSetMacroName(
pval *p,
char *name );
179 char* pvalMacroCallGetMacroName(
pval *p );
180 void pvalMacroCallSetArglist(
pval *p,
pval *arglist );
181 void pvalMacroCallAddArg(
pval *p,
pval *arg );
184 void pvalAppCallSetAppName(
pval *p,
char *name );
185 char* pvalAppCallGetAppName(
pval *p );
186 void pvalAppCallSetArglist(
pval *p,
pval *arglist );
187 void pvalAppCallAddArg(
pval *p,
pval *arg );
190 void pvalCasePatSetVal(
pval *p,
char *
val );
191 char* pvalCasePatGetVal(
pval *p );
192 void pvalCasePatDefAddStatement(
pval *p,
pval *statement );
193 pval *pvalCasePatDefWalkStatements(
pval *p,
pval **statement );
195 void pvalCatchSetExtName(
pval *p,
char *name );
196 char* pvalCatchGetExtName(
pval *p );
197 void pvalCatchSetStatement(
pval *p,
pval *statement );
198 pval *pvalCatchGetStatement(
pval *p );
200 void pvalSwitchesAddSwitch(
pval *p,
char *name );
201 char* pvalSwitchesWalkNames(
pval *p,
pval **next_item );
202 void pvalESwitchesAddSwitch(
pval *p,
char *name );
203 char* pvalESwitchesWalkNames(
pval *p,
pval **next_item );
205 void pvalIncludesAddInclude(
pval *p,
const char *include );
207 void pvalIncludesAddIncludeWithTimeConstraints(
pval *p,
const char *include,
char *hour_range,
char *dom_range,
char *dow_range,
char *month_range );
208 void pvalIncludeGetTimeConstraints(
pval *p,
char **hour_range,
char **dom_range,
char **dow_range,
char **month_range );
209 char* pvalIncludesWalk(
pval *p,
pval **next_item );
211 void pvalStatementBlockAddStatement(
pval *p,
pval *statement);
212 pval *pvalStatementBlockWalkStatements(
pval *p,
pval **next_statement);
214 void pvalVarDecSetVarname(
pval *p,
char *name );
215 void pvalVarDecSetValue(
pval *p,
char *value );
216 char* pvalVarDecGetVarname(
pval *p );
217 char* pvalVarDecGetValue(
pval *p );
219 void pvalGotoSetTarget(
pval *p,
char *context,
char *exten,
char *label );
220 void pvalGotoGetTarget(
pval *p,
char **context,
char **exten,
char **label );
222 void pvalLabelSetName(
pval *p,
char *name );
223 char* pvalLabelGetName(
pval *p );
225 void pvalForSetInit(
pval *p,
char *init );
226 void pvalForSetTest(
pval *p,
char *
test );
227 void pvalForSetInc(
pval *p,
char *inc );
228 void pvalForSetStatement(
pval *p,
pval *statement );
229 char* pvalForGetInit(
pval *p );
230 char* pvalForGetTest(
pval *p );
231 char* pvalForGetInc(
pval *p );
232 pval* pvalForGetStatement(
pval *p );
235 void pvalIfSetCondition(
pval *p,
char *expr );
236 char* pvalIfGetCondition(
pval *p );
237 void pvalIfTimeSetCondition(
pval *p,
char *hour_range,
char *dow_range,
char *dom_range,
char *mon_range );
238 void pvalIfTimeGetCondition(
pval *p,
char **hour_range,
char **dow_range,
char **dom_range,
char **month_range );
239 void pvalRandomSetCondition(
pval *p,
char *percent );
240 char* pvalRandomGetCondition(
pval *p );
241 void pvalConditionalSetThenStatement(
pval *p,
pval *statement );
242 void pvalConditionalSetElseStatement(
pval *p,
pval *statement );
243 pval* pvalConditionalGetThenStatement(
pval *p );
244 pval* pvalConditionalGetElseStatement(
pval *p );
246 void pvalSwitchSetTestexpr(
pval *p,
char *expr );
247 char* pvalSwitchGetTestexpr(
pval *p );
248 void pvalSwitchAddCase(
pval *p,
pval *Case );
251 void pvalExtenSetName(
pval *p,
char *name );
252 char *pvalExtenGetName(
pval *p );
253 void pvalExtenSetRegexten(
pval *p );
254 void pvalExtenUnSetRegexten(
pval *p );
255 int pvalExtenGetRegexten(
pval *p );
256 void pvalExtenSetHints(
pval *p,
char *
hints );
257 char* pvalExtenGetHints(
pval *p );
258 void pvalExtenSetStatement(
pval *p,
pval *statement );
259 pval* pvalExtenGetStatement(
pval *p );
261 void pvalIgnorePatSetPattern(
pval *p,
char *pat );
262 char* pvalIgnorePatGetPattern(
pval *p );
264 void pvalGlobalsAddStatement(
pval *p,
pval *statement );
265 pval* pvalGlobalsWalkStatements(
pval *p,
pval **next_statement );
267 void pvalTopLevAddObject(
pval *p,
pval *contextOrObj );
268 pval* pvalTopLevWalkObjects(
pval *p,
pval **next_obj );
270 int pvalCheckType(
pval *p,
char *funcname, pvaltype type );
Main Channel structure associated with a channel.
Registered applications container.
static struct ast_context * find_context(const char *context)
lookup for a context with a given name,
ast_context: An extension context
int ast_expr(char *expr, char *buf, int length, struct ast_channel *chan)
Evaluate the given expression.