VTY: Allow to compile vty.h and command.h headers with C++
diff --git a/include/osmocom/vty/command.h b/include/osmocom/vty/command.h
index c8cea7c..caafdeb 100644
--- a/include/osmocom/vty/command.h
+++ b/include/osmocom/vty/command.h
@@ -26,7 +26,6 @@
 #include <stdio.h>
 #include <sys/types.h>
 #include "vector.h"
-#include "vty.h"
 
 /*! \defgroup command VTY Command
  *  @{
@@ -88,6 +87,8 @@
 	_LAST_OSMOVTY_NODE
 };
 
+#include "vty.h"
+
 /*! \brief Node which has some commands and prompt string and
  * configuration function pointer . */
 struct cmd_node {
diff --git a/include/osmocom/vty/vty.h b/include/osmocom/vty/vty.h
index 1518894..e656abf 100644
--- a/include/osmocom/vty/vty.h
+++ b/include/osmocom/vty/vty.h
@@ -40,6 +40,13 @@
 #endif				/* VTYSH */
 };
 
+enum vty_type {
+	VTY_TERM,
+	VTY_FILE,
+	VTY_SHELL,
+	VTY_SHELL_SERV
+};
+
 /*! Internal representation of a single VTY */
 struct vty {
 	/*! \brief underlying file (if any) */
@@ -52,7 +59,7 @@
 	int fd;
 
 	/*! \brief Is this vty connect to file or not */
-	enum { VTY_TERM, VTY_FILE, VTY_SHELL, VTY_SHELL_SERV } type;
+	enum vty_type type;
 
 	/*! \brief Node status of this vty */
 	int node;
@@ -134,7 +141,7 @@
 /* Small macro to determine newline is newline only or linefeed needed. */
 #define VTY_NEWLINE  ((vty->type == VTY_TERM) ? "\r\n" : "\n")
 
-static inline char *vty_newline(struct vty *vty)
+static inline const char *vty_newline(struct vty *vty)
 {
 	return VTY_NEWLINE;
 }