Neels Hofmeyr has uploaded this change for review. ( 
https://gerrit.osmocom.org/12521


Change subject: change GSM48_CMSERV_* to enum type, add names
......................................................................

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
---
M include/osmocom/gsm/protocol/gsm_04_08.h
M src/gsm/gsm48.c
M src/gsm/libosmogsm.map
3 files changed, 26 insertions(+), 7 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/21/12521/1

diff --git a/include/osmocom/gsm/protocol/gsm_04_08.h 
b/include/osmocom/gsm/protocol/gsm_04_08.h
index 791fbd4..86b5f6f 100644
--- a/include/osmocom/gsm/protocol/gsm_04_08.h
+++ b/include/osmocom/gsm/protocol/gsm_04_08.h
@@ -1631,13 +1631,20 @@
 /* FIXME: Table 10.4 / 10.4a (GPRS) */

 /* Section 10.5.3.3 CM service type */
-#define GSM48_CMSERV_MO_CALL_PACKET    1
-#define GSM48_CMSERV_EMERGENCY         2
-#define GSM48_CMSERV_SMS               4
-#define GSM48_CMSERV_SUP_SERV          8
-#define GSM48_CMSERV_VGCS              9
-#define GSM48_CMSERV_VBS               10
-#define GSM48_CMSERV_LOC_SERV          11
+enum osmo_cm_service_type {
+       GSM48_CMSERV_MO_CALL_PACKET     = 1,
+       GSM48_CMSERV_EMERGENCY          = 2,
+       GSM48_CMSERV_SMS                = 4,
+       GSM48_CMSERV_SUP_SERV           = 8,
+       GSM48_CMSERV_VGCS               = 9,
+       GSM48_CMSERV_VBS                = 10,
+       GSM48_CMSERV_LOC_SERV           = 11,
+       GSM48_CMSERV_MAX_VAL            = GSM48_CMSERV_LOC_SERV
+};
+
+extern const struct value_string osmo_cm_service_type_names[];
+static inline const char *osmo_cm_service_type_name(enum osmo_cm_service_type 
val)
+{ return get_value_string(osmo_cm_service_type_names, val); }

 /* Section 10.5.2.26, Table 10.5.64 */
 #define GSM48_PM_MASK          0x03
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 cdcbcc9..6f88ebe 100644
--- a/src/gsm/libosmogsm.map
+++ b/src/gsm/libosmogsm.map
@@ -556,6 +556,7 @@

 osmo_rat_type_names;
 osmo_lu_type_names;
+osmo_cm_service_type_names;

 local: *;
 };

--
To view, visit https://gerrit.osmocom.org/12521
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9c2a7adc45ab7a1a7519168e965e7d805e1481ff
Gerrit-Change-Number: 12521
Gerrit-PatchSet: 1
Gerrit-Owner: Neels Hofmeyr <nhofm...@sysmocom.de>

Reply via email to