vty/command: add 'hidden only' VTY reference generation mode
Change-Id: I511ce26350cd04bb0f66d130b5286cab84f16df2
Related: SYS#4910
diff --git a/src/vty/command.c b/src/vty/command.c
index c233aa6..b38be34 100644
--- a/src/vty/command.c
+++ b/src/vty/command.c
@@ -897,12 +897,14 @@
const struct value_string vty_ref_gen_mode_names[] = {
{ VTY_REF_GEN_MODE_DEFAULT, "default" },
{ VTY_REF_GEN_MODE_EXPERT, "expert" },
+ { VTY_REF_GEN_MODE_HIDDEN, "hidden" },
{ 0, NULL }
};
const struct value_string vty_ref_gen_mode_desc[] = {
{ VTY_REF_GEN_MODE_DEFAULT, "all commands except deprecated and hidden" },
{ VTY_REF_GEN_MODE_EXPERT, "all commands including hidden, excluding deprecated" },
+ { VTY_REF_GEN_MODE_HIDDEN, "hidden commands only" },
{ 0, NULL }
};
@@ -914,12 +916,18 @@
int vty_dump_xml_ref_mode(FILE *stream, enum vty_ref_gen_mode mode)
{
unsigned char gflag_mask;
+ bool match = false;
switch (mode) {
case VTY_REF_GEN_MODE_EXPERT:
/* All commands except deprecated */
gflag_mask = CMD_ATTR_DEPRECATED;
break;
+ case VTY_REF_GEN_MODE_HIDDEN:
+ /* Only hidden commands */
+ gflag_mask = CMD_ATTR_HIDDEN;
+ match = true;
+ break;
case VTY_REF_GEN_MODE_DEFAULT:
default:
/* All commands except deprecated and hidden */
@@ -927,7 +935,7 @@
break;
}
- return vty_dump_nodes(print_func_stream, stream, "\n", gflag_mask, false);
+ return vty_dump_nodes(print_func_stream, stream, "\n", gflag_mask, match);
}
/*! Print the XML reference of all VTY nodes to the given stream.