move 'struct value_string' and 'get_value_string()' to gsm_data
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h
index c3ea45d..3040525 100644
--- a/openbsc/include/openbsc/gsm_data.h
+++ b/openbsc/include/openbsc/gsm_data.h
@@ -3,6 +3,13 @@
 
 #include <sys/types.h>
 
+struct value_string {
+	unsigned int value;
+	const char *str;
+};
+
+const char *get_value_string(const struct value_string *vs, u_int32_t val);
+
 enum gsm_band {
 	GSM_BAND_400,
 	GSM_BAND_850,
diff --git a/openbsc/src/gsm_04_11.c b/openbsc/src/gsm_04_11.c
index f941d90..75ddf9d 100644
--- a/openbsc/src/gsm_04_11.c
+++ b/openbsc/src/gsm_04_11.c
@@ -56,11 +56,6 @@
 void *tall_gsms_ctx;
 static u_int32_t new_callref = 0x40000001;
 
-struct value_string {
-	u_int32_t value;
-	const char *str;
-};
-
 static const struct value_string cp_cause_strs[] = {
 	{ GSM411_CP_CAUSE_NET_FAIL,	"Network Failure" },
 	{ GSM411_CP_CAUSE_CONGESTION,	"Congestion" },
@@ -104,19 +99,6 @@
 	{ 0, NULL }
 };
 
-const char *get_value_string(const struct value_string *vs, u_int32_t val)
-{
-	int i;
-
-	for (i = 0;; i++) {
-		if (vs[i].value == 0 && vs[i].str == NULL)
-			break;
-		if (vs[i].value == val)
-			return vs[i].str;
-	}
-	return "unknown";
-}
-
 struct gsm_sms *sms_alloc(void)
 {
 	return talloc_zero(tall_gsms_ctx, struct gsm_sms);
diff --git a/openbsc/src/gsm_data.c b/openbsc/src/gsm_data.c
index 59947fd..69a9096 100644
--- a/openbsc/src/gsm_data.c
+++ b/openbsc/src/gsm_data.c
@@ -30,6 +30,19 @@
 
 void *tall_bsc_ctx;
 
+const char *get_value_string(const struct value_string *vs, u_int32_t val)
+{
+	int i;
+
+	for (i = 0;; i++) {
+		if (vs[i].value == 0 && vs[i].str == NULL)
+			break;
+		if (vs[i].value == val)
+			return vs[i].str;
+	}
+	return "unknown";
+}
+
 void set_ts_e1link(struct gsm_bts_trx_ts *ts, u_int8_t e1_nr,
 		   u_int8_t e1_ts, u_int8_t e1_ts_ss)
 {