X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=gsm_ms.cpp;h=1e33162df5ec9199d03f749143a4da681dd5b472;hp=b586f306907d013beb0b2072e773b863d443fe0a;hb=132d639333dd5e7a7832dcd9784181ee09a16f9e;hpb=53eb7f5176bf4b1f822f79cf5d13bf32707c7984 diff --git a/gsm_ms.cpp b/gsm_ms.cpp index b586f30..1e33162 100644 --- a/gsm_ms.cpp +++ b/gsm_ms.cpp @@ -17,6 +17,7 @@ extern "C" { #include #include +#include #include #include @@ -28,7 +29,8 @@ extern "C" { #include } -static const char *config_file = "/etc/osmocom/osmocom.cfg"; +//char *config_dir = NULL; + short vty_port = 4247; struct llist_head ms_list; @@ -825,15 +827,20 @@ int gsm_ms_exit(int rc) int gsm_ms_init(void) { + const char *home; + size_t len; + const char osmocomcfg[] = ".osmocom/bb/mobile.cfg"; + char *config_file = NULL; + INIT_LLIST_HEAD(&ms_list); - log_init(&log_info); + log_init(&log_info, NULL); stderr_target = log_target_create_stderr(); log_add_target(stderr_target); log_set_all_filter(stderr_target, 1); l23_ctx = talloc_named_const(NULL, 1, "layer2 context"); - log_parse_category_mask(stderr_target, "DCS:DPLMN:DRR:DMM:DSIM:DCC:DMNCC:DPAG:DSUM"); + log_parse_category_mask(stderr_target, "DNB:DCS:DPLMN:DRR:DMM:DSIM:DCC:DMNCC:DPAG:DSUM"); log_set_log_level(stderr_target, LOGL_INFO); #if 0 @@ -846,6 +853,17 @@ int gsm_ms_init(void) } #endif + home = getenv("HOME"); + if (home != NULL) { + len = strlen(home) + 1 + sizeof(osmocomcfg); + config_file = (char *)talloc_size(l23_ctx, len); + if (config_file != NULL) + snprintf(config_file, len, "%s/%s", home, osmocomcfg); + } + /* save the config file directory name */ + config_dir = talloc_strdup(l23_ctx, config_file); + config_dir = dirname(config_dir); + l23_app_init(message_ms, config_file, vty_port); return 0;