X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlib%2Fcli.h;h=df9ed7212bcc8d3e33e9b3df5a625042337de829;hb=e5d34919b;hp=a81e964bf97b5efdf52e26f958bf6f60b2ec383f;hpb=6e36351faf5b69a0bfb8235b3b06f8b2c24e5547;p=vpp.git diff --git a/src/vlib/cli.h b/src/vlib/cli.h index a81e964bf97..df9ed7212bc 100644 --- a/src/vlib/cli.h +++ b/src/vlib/cli.h @@ -126,6 +126,8 @@ typedef struct vlib_cli_command_t /* List of CLI commands, built by constructors */ struct vlib_cli_command_t *next_cli_command; + /* Hit counter */ + u32 hit_counter; } vlib_cli_command_t; typedef void (vlib_cli_output_function_t) (uword arg, @@ -138,17 +140,12 @@ typedef struct /* Hash table mapping normalized path to index into all_commands. */ uword *command_index_by_path; - /* Vector of all known parse rules. */ - vlib_cli_parse_rule_t *parse_rules; - - /* Hash table mapping parse rule name to index into parse_rule vector. */ - uword *parse_rule_index_by_name; - - /* Data parsed for rules. */ - void **parse_rule_data; - /* registration list added by constructors */ vlib_cli_command_t *cli_command_registrations; + + /* index vector, to sort commands, etc. */ + u32 *sort_vector; + } vlib_cli_main_t; #ifndef CLIB_MARCH_VARIANT @@ -186,10 +183,10 @@ static __clib_unused vlib_cli_command_t __clib_unused_##x void vlib_cli_output (struct vlib_main_t *vm, char *fmt, ...); /* Process CLI input. */ -void vlib_cli_input (struct vlib_main_t *vm, - unformat_input_t * input, - vlib_cli_output_function_t * function, - uword function_arg); +int vlib_cli_input (struct vlib_main_t *vm, + unformat_input_t * input, + vlib_cli_output_function_t * function, + uword function_arg); clib_error_t *vlib_cli_register (struct vlib_main_t *vm, vlib_cli_command_t * c);