aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2017-07-24 13:06:45 +0200
committerHarald Welte <laforge@gnumonks.org>2017-08-09 10:47:17 +0000
commit69031ab255f3682174c7740b6957da03753a3a74 (patch)
treed33710527912a6214ab0df7d8e563a6c8b2b970f
parentfdb690c8030b2357f980f86805da3a88a5bc07c5 (diff)
vty: add 'default' keyword to timer config
-rw-r--r--openbsc/src/libbsc/bsc_vty.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/openbsc/src/libbsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c
index 49ff5353e..31eb14393 100644
--- a/openbsc/src/libbsc/bsc_vty.c
+++ b/openbsc/src/libbsc/bsc_vty.c
@@ -1541,15 +1541,26 @@ DEFUN(cfg_net_pag_any_tch,
return CMD_SUCCESS;
}
+#define DEFAULT_TIMER(number) GSM_T##number##_DEFAULT
+/* Add another expansion so that DEFAULT_TIMER() becomes its value */
+#define EXPAND_AND_STRINGIFY(x) OSMO_STRINGIFY(x)
+
#define DECLARE_TIMER(number, doc) \
DEFUN(cfg_net_T##number, \
cfg_net_T##number##_cmd, \
- "timer t" #number " <1-65535>", \
+ "timer t" #number " (default|<1-65535>)", \
"Configure GSM Timers\n" \
- doc "Timer Value in seconds\n") \
+ doc \
+ "Set to default timer value" \
+ " (" EXPAND_AND_STRINGIFY(DEFAULT_TIMER(number)) " seconds)\n" \
+ "Timer Value in seconds\n") \
{ \
struct gsm_network *gsmnet = gsmnet_from_vty(vty); \
- int value = atoi(argv[0]); \
+ int value; \
+ if (strcmp(argv[0], "default") == 0) \
+ value = DEFAULT_TIMER(number); \
+ else \
+ value = atoi(argv[0]); \
\
gsmnet->T##number = value; \
return CMD_SUCCESS; \