aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-06-15 20:14:08 +0800
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-06-15 20:31:35 +0800
commit1398f13a64116157eba74e74a587d1799380623a (patch)
treebb136806c895812d4c4e34f66510b1a9fd718a17 /openbsc
parent69d801e23a72b4b450b94a9d592d28d8fc8a8b76 (diff)
nat: Attempt to update the VTY usage to the latest version
* Install the show commands to be available in the enable mode as well * Provide a copyright header..
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/src/nat/bsc_nat.c29
-rw-r--r--openbsc/src/nat/bsc_nat_vty.c24
2 files changed, 34 insertions, 19 deletions
diff --git a/openbsc/src/nat/bsc_nat.c b/openbsc/src/nat/bsc_nat.c
index 303cd7836..2e8a00dc5 100644
--- a/openbsc/src/nat/bsc_nat.c
+++ b/openbsc/src/nat/bsc_nat.c
@@ -41,15 +41,20 @@
#include <openbsc/bsc_nat.h>
#include <openbsc/ipaccess.h>
#include <openbsc/abis_nm.h>
-#include <openbsc/telnet_interface.h>
+#include <openbsc/vty.h>
#include <osmocore/gsm0808.h>
#include <osmocore/talloc.h>
#include <osmocore/protocol/gsm_08_08.h>
+#include <osmocom/vty/telnet_interface.h>
+#include <osmocom/vty/vty.h>
+
#include <sccp/sccp.h>
+#include "../../bscconfig.h"
+
#define SCCP_CLOSE_TIME 20
#define SCCP_CLOSE_TIME_TIMEOUT 19
@@ -60,6 +65,11 @@ static struct bsc_fd bsc_listen;
static const char *msc_ip = NULL;
static struct timer_list sccp_close;
+const char *openbsc_copyright =
+ "Copyright (C) 2010 Holger Hans Peter Freyther and On-Waves\n"
+ "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>\n"
+ "This is free software: you are free to change and redistribute it.\n"
+ "There is NO WARRANTY, to the extent permitted by law.\n";
static struct bsc_nat *nat;
static void bsc_send_data(struct bsc_connection *bsc, const u_int8_t *data, unsigned int length, int);
@@ -1066,6 +1076,14 @@ static void talloc_init_ctx()
tall_ctr_ctx = talloc_named_const(tall_bsc_ctx, 0, "counter");
}
+extern enum node_type bsc_vty_go_parent(struct vty *vty);
+
+static struct vty_app_info vty_info = {
+ .name = "BSC NAT",
+ .version = PACKAGE_VERSION,
+ .go_parent_cb = bsc_vty_go_parent,
+};
+
int main(int argc, char** argv)
{
talloc_init_ctx();
@@ -1088,13 +1106,18 @@ int main(int argc, char** argv)
return -5;
}
+ vty_info.copyright = openbsc_copyright;
+ vty_init(&vty_info);
+ logging_vty_add_cmds();
+ bsc_nat_vty_init(nat);
+
+
/* parse options */
local_addr.s_addr = INADDR_ANY;
handle_options(argc, argv);
/* init vty and parse */
- bsc_nat_vty_init(nat);
- telnet_init(NULL, 4244);
+ telnet_init(tall_bsc_ctx, NULL, 4244);
if (mgcp_parse_config(config_file, nat->mgcp_cfg) < 0) {
fprintf(stderr, "Failed to parse the config file: '%s'\n", config_file);
return -3;
diff --git a/openbsc/src/nat/bsc_nat_vty.c b/openbsc/src/nat/bsc_nat_vty.c
index a7478920f..ea168a407 100644
--- a/openbsc/src/nat/bsc_nat_vty.c
+++ b/openbsc/src/nat/bsc_nat_vty.c
@@ -19,10 +19,7 @@
*
*/
-#include <vty/command.h>
-#include <vty/buffer.h>
-#include <vty/vty.h>
-
+#include <openbsc/vty.h>
#include <openbsc/bsc_nat.h>
#include <openbsc/bsc_msc.h>
#include <openbsc/gsm_04_08.h>
@@ -512,19 +509,14 @@ int bsc_nat_vty_init(struct bsc_nat *nat)
{
_nat = nat;
- cmd_init(1);
- vty_init();
-
/* show commands */
- install_element(VIEW_NODE, &show_sccp_cmd);
- install_element(VIEW_NODE, &show_bsc_cmd);
- install_element(VIEW_NODE, &show_bsc_cfg_cmd);
- install_element(VIEW_NODE, &show_stats_cmd);
- install_element(VIEW_NODE, &close_bsc_cmd);
- install_element(VIEW_NODE, &show_msc_cmd);
- install_element(VIEW_NODE, &test_regex_cmd);
-
- openbsc_vty_add_cmds();
+ install_element_ve(&show_sccp_cmd);
+ install_element_ve(&show_bsc_cmd);
+ install_element_ve(&show_bsc_cfg_cmd);
+ install_element_ve(&show_stats_cmd);
+ install_element_ve(&close_bsc_cmd);
+ install_element_ve(&show_msc_cmd);
+ install_element_ve(&test_regex_cmd);
/* nat group */
install_element(CONFIG_NODE, &cfg_nat_cmd);