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