vlib: improve test coverage
[vpp.git] / src / vlib / cli.h
index a81e964..df9ed72 100644 (file)
@@ -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);