diff --git a/src/host/layer23/include/osmocom/bb/common/l23_app.h b/src/host/layer23/include/osmocom/bb/common/l23_app.h index 8a2488439..46141e13a 100644 --- a/src/host/layer23/include/osmocom/bb/common/l23_app.h +++ b/src/host/layer23/include/osmocom/bb/common/l23_app.h @@ -1,6 +1,15 @@ #ifndef _L23_APP_H #define _L23_APP_H +/* Options supported by the l23 app */ +enum { + L23_OPT_SAP = 1, + L23_OPT_ARFCN = 2, + L23_OPT_TAP = 4, + L23_OPT_VTY = 8, + L23_OPT_DBG = 16, +}; + /* initialization, called once when starting the app, before entering * select loop */ extern int l23_app_init(struct osmocom_ms *ms); @@ -11,6 +20,8 @@ extern int (*l23_app_exit) (struct osmocom_ms *ms); struct l23_app_info { const char *copyright; const char *contribution; + + int (*cfg_supported)(); }; extern struct l23_app_info *l23_app_info(); diff --git a/src/host/layer23/src/common/main.c b/src/host/layer23/src/common/main.c index 2bcb2f431..1f9afafa4 100644 --- a/src/host/layer23/src/common/main.c +++ b/src/host/layer23/src/common/main.c @@ -74,17 +74,33 @@ static void print_usage(const char *app) static void print_help() { + int options = 0xff; + struct l23_app_info *app = l23_app_info(); + + if (app && app->cfg_supported != 0) + options = app->cfg_supported(); + printf(" Some help...\n"); printf(" -h --help this text\n"); printf(" -s --socket /tmp/osmocom_l2. Path to the unix " "domain socket (l2)\n"); - printf(" -S --sap /tmp/osmocom_sap. Path to the unix " - "domain socket (BTSAP)\n"); - printf(" -a --arfcn NR The ARFCN to be used for layer2.\n"); - printf(" -i --gsmtap-ip The destination IP used for GSMTAP.\n"); - printf(" -v --vty-port The VTY port number to telnet to. " - "(default %u)\n", vty_port); - printf(" -d --debug Change debug flags.\n"); + + if (options & L23_OPT_SAP) + printf(" -S --sap /tmp/osmocom_sap. Path to the " + "unix domain socket (BTSAP)\n"); + + if (options & L23_OPT_ARFCN) + printf(" -a --arfcn NR The ARFCN to be used for layer2.\n"); + + if (options & L23_OPT_TAP) + printf(" -i --gsmtap-ip The destination IP used for GSMTAP.\n"); + + if (options & L23_OPT_VTY) + printf(" -v --vty-port The VTY port number to telnet " + "to. (default %u)\n", vty_port); + + if (options & L23_OPT_DBG) + printf(" -d --debug Change debug flags.\n"); } static void handle_options(int argc, char **argv) diff --git a/src/host/layer23/src/misc/app_cell_log.c b/src/host/layer23/src/misc/app_cell_log.c index 1ab64f51a..a72588f7c 100644 --- a/src/host/layer23/src/misc/app_cell_log.c +++ b/src/host/layer23/src/misc/app_cell_log.c @@ -72,8 +72,14 @@ int l23_app_init(struct osmocom_ms *ms) return 0; } +static int l23_cfg_supported() +{ + return L23_OPT_TAP | L23_OPT_DBG; +} + static struct l23_app_info info = { .copyright = "Copyright (C) 2010 Andreas Eversberg\n", + .cfg_supported = l23_cfg_supported, }; struct l23_app_info *l23_app_info()