vty: Add reserved nodes to enum node_type
Currently every time a node is added to enum node_type, this
constitutes an ABI change, since _LAST_OSMOVTY_NODE will get
incremented accordingly. In this case, every project that adds new
node type based on that value will have to be recompiled.
This commit adds 4 spare node type values, which can be replaced
one-by-one by new real types until they are exhausted to avoid
this kind of ABI change.
Sponsored-by: On-Waves ehf
diff --git a/TODO-RELEASE b/TODO-RELEASE
index 93198e4..4d22f95 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -1,2 +1,3 @@
#library what description / commit summary line
libosmovty abi-change stats/vty: Add stats configuration (enum node_type has changed)
+libosmovty abi-change vty: Add reserved nodes to enum node_type
diff --git a/include/osmocom/vty/command.h b/include/osmocom/vty/command.h
index 890f0d6..2ef4109 100644
--- a/include/osmocom/vty/command.h
+++ b/include/osmocom/vty/command.h
@@ -84,6 +84,15 @@
L_NS_NODE, /*!< \brief NS node in libosmo-gb. */
L_BSSGP_NODE, /*!< \brief BSSGP node in libosmo-gb. */
+ /*
+ * When adding new nodes to the libosmocore project, these nodes can be
+ * used to avoid ABI changes for unrelated projects.
+ */
+ RESERVED1_NODE, /*!< \brief Reserved for later extensions */
+ RESERVED2_NODE, /*!< \brief Reserved for later extensions */
+ RESERVED3_NODE, /*!< \brief Reserved for later extensions */
+ RESERVED4_NODE, /*!< \brief Reserved for later extensions */
+
_LAST_OSMOVTY_NODE
};