<p>Neels Hofmeyr has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/12521">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">change GSM48_CMSERV_* to enum type, add names<br><br>Prepare handling multiple CM Service Requests in osmo-msc: an enum is more<br>clear than an int and #defines for passing around and count CM Service types.<br><br>Change-Id: I9c2a7adc45ab7a1a7519168e965e7d805e1481ff<br>---<br>M include/osmocom/gsm/protocol/gsm_04_08.h<br>M src/gsm/gsm48.c<br>M src/gsm/libosmogsm.map<br>3 files changed, 26 insertions(+), 7 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/21/12521/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/gsm/protocol/gsm_04_08.h b/include/osmocom/gsm/protocol/gsm_04_08.h</span><br><span>index 791fbd4..86b5f6f 100644</span><br><span>--- a/include/osmocom/gsm/protocol/gsm_04_08.h</span><br><span>+++ b/include/osmocom/gsm/protocol/gsm_04_08.h</span><br><span>@@ -1631,13 +1631,20 @@</span><br><span> /* FIXME: Table 10.4 / 10.4a (GPRS) */</span><br><span> </span><br><span> /* Section 10.5.3.3 CM service type */</span><br><span style="color: hsl(0, 100%, 40%);">-#define GSM48_CMSERV_MO_CALL_PACKET    1</span><br><span style="color: hsl(0, 100%, 40%);">-#define GSM48_CMSERV_EMERGENCY         2</span><br><span style="color: hsl(0, 100%, 40%);">-#define GSM48_CMSERV_SMS               4</span><br><span style="color: hsl(0, 100%, 40%);">-#define GSM48_CMSERV_SUP_SERV          8</span><br><span style="color: hsl(0, 100%, 40%);">-#define GSM48_CMSERV_VGCS              9</span><br><span style="color: hsl(0, 100%, 40%);">-#define GSM48_CMSERV_VBS               10</span><br><span style="color: hsl(0, 100%, 40%);">-#define GSM48_CMSERV_LOC_SERV         11</span><br><span style="color: hsl(120, 100%, 40%);">+enum osmo_cm_service_type {</span><br><span style="color: hsl(120, 100%, 40%);">+       GSM48_CMSERV_MO_CALL_PACKET     = 1,</span><br><span style="color: hsl(120, 100%, 40%);">+  GSM48_CMSERV_EMERGENCY          = 2,</span><br><span style="color: hsl(120, 100%, 40%);">+  GSM48_CMSERV_SMS                = 4,</span><br><span style="color: hsl(120, 100%, 40%);">+  GSM48_CMSERV_SUP_SERV           = 8,</span><br><span style="color: hsl(120, 100%, 40%);">+  GSM48_CMSERV_VGCS               = 9,</span><br><span style="color: hsl(120, 100%, 40%);">+  GSM48_CMSERV_VBS                = 10,</span><br><span style="color: hsl(120, 100%, 40%);">+ GSM48_CMSERV_LOC_SERV           = 11,</span><br><span style="color: hsl(120, 100%, 40%);">+ GSM48_CMSERV_MAX_VAL            = GSM48_CMSERV_LOC_SERV</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+extern const struct value_string osmo_cm_service_type_names[];</span><br><span style="color: hsl(120, 100%, 40%);">+static inline const char *osmo_cm_service_type_name(enum osmo_cm_service_type val)</span><br><span style="color: hsl(120, 100%, 40%);">+{ return get_value_string(osmo_cm_service_type_names, val); }</span><br><span> </span><br><span> /* Section 10.5.2.26, Table 10.5.64 */</span><br><span> #define GSM48_PM_MASK         0x03</span><br><span>diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c</span><br><span>index 099b85d..795e98b 100644</span><br><span>--- a/src/gsm/gsm48.c</span><br><span>+++ b/src/gsm/gsm48.c</span><br><span>@@ -1145,4 +1145,15 @@</span><br><span>       {}</span><br><span> };</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+const struct value_string osmo_cm_service_type_names[] = {</span><br><span style="color: hsl(120, 100%, 40%);">+      { GSM48_CMSERV_MO_CALL_PACKET, "MO-Call" },</span><br><span style="color: hsl(120, 100%, 40%);">+ { GSM48_CMSERV_EMERGENCY, "Emergency-Call" },</span><br><span style="color: hsl(120, 100%, 40%);">+       { GSM48_CMSERV_SMS, "Short-Messaging-Service" },</span><br><span style="color: hsl(120, 100%, 40%);">+    { GSM48_CMSERV_SUP_SERV, "Supplementary-Service" },</span><br><span style="color: hsl(120, 100%, 40%);">+ { GSM48_CMSERV_VGCS, "Voice-Group-Call" },</span><br><span style="color: hsl(120, 100%, 40%);">+  { GSM48_CMSERV_VBS, "Voice-Broadcast-Call" },</span><br><span style="color: hsl(120, 100%, 40%);">+       { GSM48_CMSERV_LOC_SERV, "Location-Service" },</span><br><span style="color: hsl(120, 100%, 40%);">+      {}</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /*! @} */</span><br><span>diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map</span><br><span>index cdcbcc9..6f88ebe 100644</span><br><span>--- a/src/gsm/libosmogsm.map</span><br><span>+++ b/src/gsm/libosmogsm.map</span><br><span>@@ -556,6 +556,7 @@</span><br><span> </span><br><span> osmo_rat_type_names;</span><br><span> osmo_lu_type_names;</span><br><span style="color: hsl(120, 100%, 40%);">+osmo_cm_service_type_names;</span><br><span> </span><br><span> local: *;</span><br><span> };</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/12521">change 12521</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/12521"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmocore </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I9c2a7adc45ab7a1a7519168e965e7d805e1481ff </div>
<div style="display:none"> Gerrit-Change-Number: 12521 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Neels Hofmeyr <nhofmeyr@sysmocom.de> </div>