gprs_bssgp_rim: add value strings for enum bssgp_ran_inf_app_id

Change-Id: I581d1176f82d6657d6136c32daa9c76dffb802a6
Related: SYS#5103
diff --git a/include/osmocom/gprs/gprs_bssgp_rim.h b/include/osmocom/gprs/gprs_bssgp_rim.h
index 5e5966e..48bf047 100644
--- a/include/osmocom/gprs/gprs_bssgp_rim.h
+++ b/include/osmocom/gprs/gprs_bssgp_rim.h
@@ -123,6 +123,12 @@
 	BSSGP_RAN_INF_APP_ID_UTRA_SI = 5,
 };
 
+extern const struct value_string bssgp_ran_inf_app_id_strs[];
+
+/*! Obtain a human-readable string for RIM Application Identity code */
+static inline const char *bssgp_ran_inf_app_id_str(enum bssgp_ran_inf_app_id val)
+{ return get_value_string(bssgp_ran_inf_app_id_strs, val); }
+
 /* 3GPP TS 48.018, table 11.3.62a.1.b: RAN-INFORMATION-REQUEST RIM Container Contents */
 struct bssgp_ran_inf_req_rim_cont {
 	enum bssgp_ran_inf_app_id app_id;
diff --git a/src/gb/gprs_bssgp_rim.c b/src/gb/gprs_bssgp_rim.c
index 67e0116..5ef8375 100644
--- a/src/gb/gprs_bssgp_rim.c
+++ b/src/gb/gprs_bssgp_rim.c
@@ -385,6 +385,16 @@
 	return buf_ptr;
 }
 
+/* 3GPP TS 48.018, table 11.3.61.b: RIM Application Identity coding */
+const struct value_string bssgp_ran_inf_app_id_strs[] = {
+	{ BSSGP_RAN_INF_APP_ID_NACC,	"Network Assisted Cell Change (NACC)" },
+	{ BSSGP_RAN_INF_APP_ID_SI3,	"System Information 3 (SI3)" },
+	{ BSSGP_RAN_INF_APP_ID_MBMS,	"MBMS data channel" },
+	{ BSSGP_RAN_INF_APP_ID_SON,	"SON Transfer" },
+	{ BSSGP_RAN_INF_APP_ID_UTRA_SI,	"UTRA System Information (UTRA SI)" },
+	{ 0, NULL }
+};
+
 /*! Decode a RAN Information Request RIM Container (3GPP TS 48.018, table 11.3.62a.1.b).
  *  \param[out] user provided memory for decoded data struct.
  *  \param[in] buf user provided memory with the encoded value data of the IE.
diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map
index dc9df3a..23d52a2 100644
--- a/src/gb/libosmogb.map
+++ b/src/gb/libosmogb.map
@@ -33,6 +33,7 @@
 bssgp_parse_cell_id;
 bssgp_parse_rim_pdu;
 bssgp_parse_rim_ri;
+bssgp_ran_inf_app_id_strs;
 bssgp_set_bssgp_callback;
 bssgp_tx_bvc_block;
 bssgp_tx_bvc_reset;