diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2013-01-09 17:25:11 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2013-07-31 16:46:33 +0200 |
commit | b418d3213f36a256bd0efb27e9d61b606d19089c (patch) | |
tree | d699952289e835ff2dfcab31c3ec1ef0e1befee6 | |
parent | 05de373c3e7900aa550aab8fec54279282d4f283 (diff) |
nitb: Add a config to save the configuration
-rw-r--r-- | openbsc/src/libmsc/ctrl_commands.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/openbsc/src/libmsc/ctrl_commands.c b/openbsc/src/libmsc/ctrl_commands.c index d04a95314..35431903f 100644 --- a/openbsc/src/libmsc/ctrl_commands.c +++ b/openbsc/src/libmsc/ctrl_commands.c @@ -22,12 +22,39 @@ #include <openbsc/control_cmd.h> #include <openbsc/gsm_data.h> +#include <osmocom/vty/misc.h> + CTRL_CMD_DEFINE_RANGE(bts_mnc, "mnc", struct gsm_bts, network_code, 0, 999); CTRL_CMD_DEFINE_RANGE(bts_mcc, "mcc", struct gsm_bts, country_code, 1, 999); CTRL_CMD_DEFINE_STRING(bts_short_name, "short-name", struct gsm_bts, name_short); CTRL_CMD_DEFINE_STRING(bts_long_name, "long-name", struct gsm_bts, name_long); +static int verify_net_save_config(struct ctrl_cmd *cmd, const char *v, void *d) +{ + return 0; +} + +static int set_net_save_config(struct ctrl_cmd *cmd, void *data) +{ + int rc = osmo_vty_save_config_file(); + cmd->reply = talloc_asprintf(cmd, "%d", rc); + if (!cmd->reply) { + cmd->reply = "OOM"; + return CTRL_CMD_ERROR; + } + + return CTRL_CMD_REPLY; +} + +static int get_net_save_config(struct ctrl_cmd *cmd, void *data) +{ + cmd->reply = "Write only attribute"; + return CTRL_CMD_ERROR; +} + +CTRL_CMD_DEFINE(net_save_config, "save-configuration"); + int bsc_ctrl_cmds_install(void) { int rc = 0; @@ -36,5 +63,7 @@ int bsc_ctrl_cmds_install(void) rc |= ctrl_cmd_install(CTRL_NODE_BTS, &cmd_bts_short_name); rc |= ctrl_cmd_install(CTRL_NODE_BTS, &cmd_bts_long_name); + rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_net_save_config); + return rc; } |