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>