This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
laforge gerrit-no-reply at lists.osmocom.orglaforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/20440 ) Change subject: vty/command: add CMD_ATTR_LIB_COMMAND and install() API wrappers ...................................................................... vty/command: add CMD_ATTR_LIB_COMMAND and install() API wrappers This new attribute would allow to distinguish commands provided by libraries from commands registered by the application itself, so vty_dump_element() would print proper description for the library specific attributes. All VTY commands defined by the libraries need to use the new API: - install_lib_element(), and - install_lib_element_ve, instead of the old functions (respectively): - install_element(), and - install_element_ve(). See https://lists.osmocom.org/pipermail/openbsc/2020-October/013278.html. Change-Id: I8baf31ace93c536421893c2aa4e3d9d298dcbcc6 Related: SYS#4937 --- M include/osmocom/vty/command.h M src/vty/command.c 2 files changed, 21 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/vty/command.h b/include/osmocom/vty/command.h index f558bb1..49f0bfe 100644 --- a/include/osmocom/vty/command.h +++ b/include/osmocom/vty/command.h @@ -139,6 +139,7 @@ CMD_ATTR_HIDDEN = (1 << 1), CMD_ATTR_IMMEDIATE = (1 << 2), CMD_ATTR_NODE_EXIT = (1 << 3), + CMD_ATTR_LIB_COMMAND = (1 << 4), }; /*! Structure of a command element */ @@ -397,7 +398,9 @@ void install_node(struct cmd_node *, int (*)(struct vty *)); void install_default(int node_type) OSMO_DEPRECATED("Now happens implicitly with install_node()"); void install_element(int node_type, struct cmd_element *); +void install_lib_element(int node_type, struct cmd_element *); void install_element_ve(struct cmd_element *cmd); +void install_lib_element_ve(struct cmd_element *cmd); void sort_node(void); void vty_install_default(int node_type) OSMO_DEPRECATED("Now happens implicitly with install_node()"); diff --git a/src/vty/command.c b/src/vty/command.c index b472f6d..398c716 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -627,6 +627,7 @@ { CMD_ATTR_HIDDEN, "This command is hidden" }, { CMD_ATTR_IMMEDIATE, "This command applies immediately" }, { CMD_ATTR_NODE_EXIT, "This command applies on VTY node exit" }, + /* CMD_ATTR_LIB_COMMAND is intentionally skipped */ { 0, NULL } }; @@ -860,6 +861,16 @@ cmd->cmdsize = cmd_cmdsize(cmd->strvec); } +/*! Install a library command into a node + * \param[in] ntype Node Type + * \param[in] cmd element to be installed + */ +void install_lib_element(int ntype, struct cmd_element *cmd) +{ + cmd->attr |= CMD_ATTR_LIB_COMMAND; + install_element(ntype, cmd); +} + /* Install a command into VIEW and ENABLE node */ void install_element_ve(struct cmd_element *cmd) { @@ -867,6 +878,13 @@ install_element(ENABLE_NODE, cmd); } +/* Install a library command into VIEW and ENABLE node */ +void install_lib_element_ve(struct cmd_element *cmd) +{ + cmd->attr |= CMD_ATTR_LIB_COMMAND; + install_element_ve(cmd); +} + #ifdef VTY_CRYPT_PW static unsigned char itoa64[] = "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/20440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8baf31ace93c536421893c2aa4e3d9d298dcbcc6 Gerrit-Change-Number: 20440 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy <vyanitskiy at sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter <pmaier at sysmocom.de> Gerrit-Reviewer: laforge <laforge at osmocom.org> Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201006/86370c4d/attachment.htm>