19 #ifndef included_macros_h 20 #define included_macros_h uword * the_value_table_hash
void clib_macro_init(clib_macro_main_t *mm)
void clib_macro_add_builtin(clib_macro_main_t *mm, char *name, void *eval_fn)
void clib_macro_free(clib_macro_main_t *mm)
format_function_t format_clib_macro_main
i8 * clib_macro_eval(clib_macro_main_t *mm, i8 *s, i32 complain, u16 level, u16 max_level)
i8 * clib_macro_eval_dollar(clib_macro_main_t *mm, i8 *s, i32 complain)
uword * the_builtin_eval_hash
int clib_macro_unset(clib_macro_main_t *mm, char *name)
i8 * clib_macro_get_value(clib_macro_main_t *mm, char *name)
int clib_macro_set_value(clib_macro_main_t *mm, char *name, char *value)
CLIB vectors are ubiquitous dynamically resized arrays with by user defined "headers".