change GSM48_CMSERV_* to enum type, add names

Prepare handling multiple CM Service Requests in osmo-msc: an enum is more
clear than an int and #defines for passing around and count CM Service types.

Change-Id: I9c2a7adc45ab7a1a7519168e965e7d805e1481ff
diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c
index 099b85d..795e98b 100644
--- a/src/gsm/gsm48.c
+++ b/src/gsm/gsm48.c
@@ -1145,4 +1145,15 @@
 	{}
 };
 
+const struct value_string osmo_cm_service_type_names[] = {
+	{ GSM48_CMSERV_MO_CALL_PACKET, "MO-Call" },
+	{ GSM48_CMSERV_EMERGENCY, "Emergency-Call" },
+	{ GSM48_CMSERV_SMS, "Short-Messaging-Service" },
+	{ GSM48_CMSERV_SUP_SERV, "Supplementary-Service" },
+	{ GSM48_CMSERV_VGCS, "Voice-Group-Call" },
+	{ GSM48_CMSERV_VBS, "Voice-Broadcast-Call" },
+	{ GSM48_CMSERV_LOC_SERV, "Location-Service" },
+	{}
+};
+
 /*! @} */
diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map
index 331c3f0..60ce5d1 100644
--- a/src/gsm/libosmogsm.map
+++ b/src/gsm/libosmogsm.map
@@ -574,6 +574,7 @@
 
 osmo_rat_type_names;
 osmo_lu_type_names;
+osmo_cm_service_type_names;
 
 local: *;
 };