1 #ifndef _MAGIC_EVAL_H
2 #define _MAGIC_EVAL_H
3 
4 #include <magic_def.h>
5 
6 typedef long (*magic_eval_func_t) (long arg);
7 
8 PUBLIC void magic_eval_init(void);
9 
10 /* Eval frontends. */
11 PUBLIC int magic_eval_int(char *expr, long *result);
12 PUBLIC int magic_eval_bool(char *expr, char *result);
13 PUBLIC int magic_eval_float(char *expr, double *result);
14 
15 /* Printing. */
16 #define MAGIC_EVAL_PRINT_FUNC_RESULTS   0x01
17 #define MAGIC_EVAL_PRINT_VAR_VALUES     0x02
18 #define MAGIC_EVAL_PRINT_STYLE_DEFAULT  0
19 #define MAGIC_EVAL_PRINT_STYLE_ALL      (MAGIC_EVAL_PRINT_FUNC_RESULTS|MAGIC_EVAL_PRINT_VAR_VALUES)
20 
21 PUBLIC int magic_eval_get_print_style(void);
22 PUBLIC void magic_eval_set_print_style(int style);
23 
24 #endif
25 
26