aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-08-26 15:38:42 +0800
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-08-26 16:55:37 +0800
commit7a2c86b67d6df9bc0ff132211f4fc6608f44131b (patch)
treedecbc1beeb5249c00e90fbe779bb26479cc5fadb /openbsc
parent2c869efcd3e01d7c111526a3efc140fae5b843af (diff)
vty: Provide a is_config_node for the VTY and use it for the bsc
Right now only bsc_hack and osmo_bsc need to have a custom config handling as they use the subscr/oml nodes.
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/configure.in2
-rw-r--r--openbsc/include/openbsc/vty.h2
-rw-r--r--openbsc/src/bsc/osmo_bsc_main.c3
-rw-r--r--openbsc/src/bsc_hack.c4
-rw-r--r--openbsc/src/common_vty.c12
5 files changed, 19 insertions, 4 deletions
diff --git a/openbsc/configure.in b/openbsc/configure.in
index 0167725a..6adee335 100644
--- a/openbsc/configure.in
+++ b/openbsc/configure.in
@@ -44,7 +44,7 @@ AC_ARG_ENABLE([osmo-bsc], [AS_HELP_STRING([--enable-osmo-bsc], [Build the Osmo B
AM_CONDITIONAL(BUILD_BSC, test "x$osmo_ac_build_bsc" = "xyes")
PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 0.1.18)
-PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 0.1.9)
+PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 0.1.19)
dnl checks for header files
AC_HEADER_STDC
diff --git a/openbsc/include/openbsc/vty.h b/openbsc/include/openbsc/vty.h
index 2b9fccc3..8c75c581 100644
--- a/openbsc/include/openbsc/vty.h
+++ b/openbsc/include/openbsc/vty.h
@@ -33,4 +33,6 @@ enum bsc_vty_node {
NAT_BSC_NODE,
};
+extern int bsc_vty_is_config_node(struct vty *vty, int node);
+
#endif
diff --git a/openbsc/src/bsc/osmo_bsc_main.c b/openbsc/src/bsc/osmo_bsc_main.c
index 7ddf91d2..e84450fa 100644
--- a/openbsc/src/bsc/osmo_bsc_main.c
+++ b/openbsc/src/bsc/osmo_bsc_main.c
@@ -22,8 +22,8 @@
#include <openbsc/debug.h>
#include <openbsc/gsm_data.h>
#include <openbsc/osmo_bsc_rf.h>
+#include <openbsc/vty.h>
-#include <osmocom/vty/command.h>
#include <osmocore/talloc.h>
#include <osmocore/process.h>
@@ -137,6 +137,7 @@ static struct vty_app_info vty_info = {
.name = "OpenBSC Osmo BSC",
.version = PACKAGE_VERSION,
.go_parent_cb = bsc_vty_go_parent,
+ .is_config_node = bsc_vty_is_config_node,
};
diff --git a/openbsc/src/bsc_hack.c b/openbsc/src/bsc_hack.c
index 4e8309b0..61b79477 100644
--- a/openbsc/src/bsc_hack.c
+++ b/openbsc/src/bsc_hack.c
@@ -38,8 +38,7 @@
#include <osmocore/talloc.h>
#include <openbsc/signal.h>
#include <openbsc/osmo_msc.h>
-
-#include <osmocom/vty/command.h>
+#include <openbsc/vty.h>
#include "../bscconfig.h"
@@ -212,6 +211,7 @@ static struct vty_app_info vty_info = {
.name = "OpenBSC",
.version = PACKAGE_VERSION,
.go_parent_cb = bsc_vty_go_parent,
+ .is_config_node = bsc_vty_is_config_node,
};
int main(int argc, char **argv)
diff --git a/openbsc/src/common_vty.c b/openbsc/src/common_vty.c
index 3c257a87..9d221467 100644
--- a/openbsc/src/common_vty.c
+++ b/openbsc/src/common_vty.c
@@ -185,3 +185,15 @@ gDEFUN(ournode_end,
return CMD_SUCCESS;
}
+int bsc_vty_is_config_node(struct vty *vty, int node)
+{
+ switch (node) {
+ /* add items that are not config */
+ case OML_NODE:
+ case SUBSCR_NODE:
+ return 0;
+
+ default:
+ return 1;
+ }
+}