dissolve libcommon: drop gsm_data.c, move code to libmsc
classmark_is_r99() is only used in gsm_04_08.c, move there as static.
rrlp_mode_* is only used in msc_vty.c, move there as static.
Move ran_type_names[] to msc_ifaces.c.
Change-Id: I5381c72af6841829fbc65940fd7d6f4d5cf583df
diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c
index 563b835..cceadcb 100644
--- a/src/libmsc/gsm_04_08.c
+++ b/src/libmsc/gsm_04_08.c
@@ -84,6 +84,16 @@
static uint32_t new_callref = 0x80000001;
+static bool classmark_is_r99(struct gsm_classmark *cm)
+{
+ int rev_lev = 0;
+ if (cm->classmark1_set)
+ rev_lev = cm->classmark1.rev_lev;
+ else if (cm->classmark2_len > 0)
+ rev_lev = (cm->classmark2[0] >> 5) & 0x3;
+ return rev_lev >= 2;
+}
+
/* Determine if the given CLASSMARK (1/2/3) value permits a given A5/n cipher */
static bool classmark_supports_a5(const struct gsm_classmark *cm, uint8_t a5)
{
diff --git a/src/libmsc/msc_ifaces.c b/src/libmsc/msc_ifaces.c
index 437d75c..b2606b6 100644
--- a/src/libmsc/msc_ifaces.c
+++ b/src/libmsc/msc_ifaces.c
@@ -39,6 +39,13 @@
#include <osmocom/msc/iu_dummy.h>
#endif /* BUILD_IU */
+const struct value_string ran_type_names[] = {
+ OSMO_VALUE_STRING(RAN_UNKNOWN),
+ OSMO_VALUE_STRING(RAN_GERAN_A),
+ OSMO_VALUE_STRING(RAN_UTRAN_IU),
+ { 0, NULL }
+};
+
static int msc_tx(struct gsm_subscriber_connection *conn, struct msgb *msg)
{
if (!msg)
diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c
index 6e7e8d9..b96f6cd 100644
--- a/src/libmsc/msc_vty.c
+++ b/src/libmsc/msc_vty.c
@@ -161,6 +161,24 @@
return CMD_SUCCESS;
}
+static const struct value_string rrlp_mode_names[] = {
+ { RRLP_MODE_NONE, "none" },
+ { RRLP_MODE_MS_BASED, "ms-based" },
+ { RRLP_MODE_MS_PREF, "ms-preferred" },
+ { RRLP_MODE_ASS_PREF, "ass-preferred" },
+ { 0, NULL }
+};
+
+static enum rrlp_mode rrlp_mode_parse(const char *arg)
+{
+ return get_string_value(rrlp_mode_names, arg);
+}
+
+static const char *rrlp_mode_name(enum rrlp_mode mode)
+{
+ return get_value_string(rrlp_mode_names, mode);
+}
+
DEFUN(cfg_net_rrlp_mode, cfg_net_rrlp_mode_cmd,
"rrlp mode (none|ms-based|ms-preferred|ass-preferred)",
"Radio Resource Location Protocol\n"