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