Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

    https://gerrit.osmocom.org/2286

to look at the new patch set (#4).

Make BTS type and variant convertors shareable

* move value_string definition and corresponding functions for BTS type
  to shared header to make it re-usable by OsmoBTS
* use consistent function naming
* add similar functions for BTS variant

Change-Id: Ida94725a6fce968443541e3526f48f13758031fd
Related: OS#1614
---
M openbsc/include/openbsc/gsm_data_shared.h
M openbsc/src/libbsc/bsc_vty.c
M openbsc/src/libcommon/gsm_data.c
M openbsc/src/libcommon/gsm_data_shared.c
4 files changed, 45 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/86/2286/4

diff --git a/openbsc/include/openbsc/gsm_data_shared.h 
b/openbsc/include/openbsc/gsm_data_shared.h
index 242889a..6e977dd 100644
--- a/openbsc/include/openbsc/gsm_data_shared.h
+++ b/openbsc/include/openbsc/gsm_data_shared.h
@@ -859,6 +859,11 @@
 struct gsm_bts_trx *gsm_bts_trx_alloc(struct gsm_bts *bts);
 struct gsm_bts_trx *gsm_bts_trx_num(const struct gsm_bts *bts, int num);
 
+enum gsm_bts_type str2btstype(const char *arg);
+const char *btstype2str(enum gsm_bts_type type);
+
+enum gsm_bts_type str2btsvariant(const char *arg);
+const char *btsvariant2str(enum gsm_bts_type_variant v);
 
 const struct value_string gsm_pchant_names[13];
 const struct value_string gsm_pchant_descs[13];
diff --git a/openbsc/src/libbsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c
index c1882fc..702af4a 100644
--- a/openbsc/src/libbsc/bsc_vty.c
+++ b/openbsc/src/libbsc/bsc_vty.c
@@ -1615,7 +1615,7 @@
        struct gsm_bts *bts = vty->index;
        int rc;
 
-       rc = gsm_set_bts_type(bts, parse_btstype(argv[0]));
+       rc = gsm_set_bts_type(bts, str2btstype(argv[0]));
        if (rc < 0)
                return CMD_WARNING;
 
diff --git a/openbsc/src/libcommon/gsm_data.c b/openbsc/src/libcommon/gsm_data.c
index fd34793..8ec0be5 100644
--- a/openbsc/src/libcommon/gsm_data.c
+++ b/openbsc/src/libcommon/gsm_data.c
@@ -90,16 +90,6 @@
        return NULL;
 }
 
-const struct value_string bts_type_names[_NUM_GSM_BTS_TYPE+1] = {
-       { GSM_BTS_TYPE_UNKNOWN, "unknown" },
-       { GSM_BTS_TYPE_BS11,    "bs11" },
-       { GSM_BTS_TYPE_NANOBTS, "nanobts" },
-       { GSM_BTS_TYPE_RBS2000, "rbs2000" },
-       { GSM_BTS_TYPE_NOKIA_SITE, "nokia_site" },
-       { GSM_BTS_TYPE_OSMOBTS, "sysmobts" },
-       { 0,                    NULL }
-};
-
 const struct value_string bts_type_descs[_NUM_GSM_BTS_TYPE+1] = {
        { GSM_BTS_TYPE_UNKNOWN,         "Unknown BTS Type" },
        { GSM_BTS_TYPE_BS11,            "Siemens BTS (BS-11 or compatible)" },
@@ -109,16 +99,6 @@
        { GSM_BTS_TYPE_OSMOBTS,         "sysmocom sysmoBTS" },
        { 0,                            NULL }
 };
-
-enum gsm_bts_type parse_btstype(const char *arg)
-{
-       return get_string_value(bts_type_names, arg);
-}
-
-const char *btstype2str(enum gsm_bts_type type)
-{
-       return get_value_string(bts_type_names, type);
-}
 
 struct gsm_bts_trx *gsm_bts_trx_by_nr(struct gsm_bts *bts, int nr)
 {
diff --git a/openbsc/src/libcommon/gsm_data_shared.c 
b/openbsc/src/libcommon/gsm_data_shared.c
index 387af70..870458b 100644
--- a/openbsc/src/libcommon/gsm_data_shared.c
+++ b/openbsc/src/libcommon/gsm_data_shared.c
@@ -51,6 +51,45 @@
        gsm_abis_mo_reset(mo);
 }
 
+const struct value_string bts_variant_names[_NUM_BTS_VARIANT + 1] = {
+       { BTS_UNKNOWN,          "unknown" },
+       { BTS_OSMO_LITECELL15,  "Litecell15" },
+       { BTS_OSMO_OCTPHY,      "OctPHY" },
+       { BTS_OSMO_SYSMO,       "Sysmo" },
+       { BTS_OSMO_TRX,         "TRX" },
+       { 0, NULL }
+};
+
+enum gsm_bts_type str2btsvariant(const char *arg)
+{
+       return get_string_value(bts_variant_names, arg);
+}
+
+const char *btsvariant2str(enum gsm_bts_type_variant v)
+{
+       return get_value_string(bts_variant_names, v);
+}
+
+const struct value_string bts_type_names[_NUM_GSM_BTS_TYPE + 1] = {
+       { GSM_BTS_TYPE_UNKNOWN,         "unknown" },
+       { GSM_BTS_TYPE_BS11,            "bs11" },
+       { GSM_BTS_TYPE_NANOBTS,         "nanobts" },
+       { GSM_BTS_TYPE_RBS2000,         "rbs2000" },
+       { GSM_BTS_TYPE_NOKIA_SITE,      "nokia_site" },
+       { GSM_BTS_TYPE_OSMOBTS,         "sysmobts" },
+       { 0, NULL }
+};
+
+enum gsm_bts_type str2btstype(const char *arg)
+{
+       return get_string_value(bts_type_names, arg);
+}
+
+const char *btstype2str(enum gsm_bts_type type)
+{
+       return get_value_string(bts_type_names, type);
+}
+
 const struct value_string gsm_pchant_names[13] = {
        { GSM_PCHAN_NONE,       "NONE" },
        { GSM_PCHAN_CCCH,       "CCCH" },

-- 
To view, visit https://gerrit.osmocom.org/2286
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ida94725a6fce968443541e3526f48f13758031fd
Gerrit-PatchSet: 4
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Max <msur...@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder

Reply via email to