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/+/19667 ) Change subject: vty: add program specific attributes to VTY commands ...................................................................... vty: add program specific attributes to VTY commands Change-Id: I2c6c7b317b2b28ce70784c0cabd1b913e721be02 Related: SYS#4937 --- M TODO-RELEASE M include/osmocom/vty/command.h M include/osmocom/vty/vty.h 3 files changed, 34 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/TODO-RELEASE b/TODO-RELEASE index 3c2a15b..7699aff 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -8,3 +8,5 @@ # If any interfaces have been removed or changed since the last public release: c:r:0. #library what description / commit summary line libosmogsm new API gsm0808_create_sapi_reject_cause() with cause argument +libosmovty ABI change struct cmd_element: add a field for program specific attributes +libosmovty ABI change struct vty_app_info: optional program specific attributes description diff --git a/include/osmocom/vty/command.h b/include/osmocom/vty/command.h index da8d202..47d2e5f 100644 --- a/include/osmocom/vty/command.h +++ b/include/osmocom/vty/command.h @@ -149,7 +149,8 @@ unsigned int cmdsize; /*!< Command index count. */ char *config; /*!< Configuration string */ vector subconfig; /*!< Sub configuration string */ - unsigned char attr; /*!< Command attributes */ + unsigned char attr; /*!< Command attributes (global) */ + unsigned int usrattr; /*!< Command attributes (program specific) */ }; /*! Command description structure. */ @@ -200,6 +201,16 @@ .daemon = dnum, \ }; +#define DEFUN_CMD_ELEMENT_ATTR_USRATTR(funcname, cmdname, cmdstr, helpstr, attrs, usrattrs) \ + static struct cmd_element cmdname = \ + { \ + .string = cmdstr, \ + .func = funcname, \ + .doc = helpstr, \ + .attr = attrs, \ + .usrattr = usrattrs, \ + }; + #define DEFUN_CMD_FUNC_DECL(funcname) \ static int funcname (struct cmd_element *, struct vty *, int, const char *[]); \ @@ -240,6 +251,22 @@ #define DEFUN_DEPRECATED(funcname, cmdname, cmdstr, helpstr) \ DEFUN_ATTR (funcname, cmdname, cmdstr, helpstr, CMD_ATTR_DEPRECATED) +/*! Macro for defining a VTY node and function with global & program specific attributes. + * \param[in] funcname Name of the function implementing the node. + * \param[in] cmdname Name of the command node. + * \param[in] attr Global attributes (see CMD_ATTR_*). + * \param[in] usrattr Program specific attributes. + * \param[in] cmdstr String with syntax of node. + * \param[in] helpstr String with help message of node. + */ +#define DEFUN_ATTR_USRATTR(funcname, cmdname, attr, usrattr, cmdstr, helpstr) \ + DEFUN_CMD_FUNC_DECL(funcname) \ + DEFUN_CMD_ELEMENT_ATTR_USRATTR(funcname, cmdname, cmdstr, helpstr, attr, usrattr) \ + DEFUN_CMD_FUNC_TEXT(funcname) + +#define DEFUN_USRATTR(funcname, cmdname, usrattr, cmdstr, helpstr) \ + DEFUN_ATTR_USRATTR(funcname, cmdname, 0, usrattr, cmdstr, helpstr) + /* DEFUN_NOSH for commands that vtysh should ignore */ #define DEFUN_NOSH(funcname, cmdname, cmdstr, helpstr) \ DEFUN(funcname, cmdname, cmdstr, helpstr) diff --git a/include/osmocom/vty/vty.h b/include/osmocom/vty/vty.h index b63dc3b..fcef08e 100644 --- a/include/osmocom/vty/vty.h +++ b/include/osmocom/vty/vty.h @@ -192,6 +192,10 @@ " no longer called, ever, and can be left NULL."); /*! Check if the config is consistent before write */ int (*config_is_consistent)(struct vty *vty); + /*! Description of the application specific VTY attributes (optional). */ + const char * usr_attr_desc[32]; + /*! Flag letters of the application specific VTY attributes (optional). */ + char usr_attr_letters[32]; }; /* Prototypes. */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19667 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2c6c7b317b2b28ce70784c0cabd1b913e721be02 Gerrit-Change-Number: 19667 Gerrit-PatchSet: 10 Gerrit-Owner: fixeria <vyanitskiy at sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy at sysmocom.de> Gerrit-Reviewer: laforge <laforge at osmocom.org> Gerrit-Reviewer: neels <nhofmeyr at sysmocom.de> Gerrit-Reviewer: pespin <pespin at sysmocom.de> Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200920/e8a805c9/attachment.htm>