<p>Harald Welte <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/9654">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  Vadim Yanitskiy: Looks good to me, but someone else must approve
  Harald Welte: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">gsm 04.80: Add value_string for component type and op code<br><br>Change-Id: I2615a88db5224d65f37c7cc505e183ec8b196e8a<br>---<br>M include/osmocom/gsm/gsm0480.h<br>M src/gsm/gsm0480.c<br>M src/gsm/libosmogsm.map<br>3 files changed, 44 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/gsm/gsm0480.h b/include/osmocom/gsm/gsm0480.h</span><br><span>index fafa1f4..e928d83 100644</span><br><span>--- a/include/osmocom/gsm/gsm0480.h</span><br><span>+++ b/include/osmocom/gsm/gsm0480.h</span><br><span>@@ -7,6 +7,16 @@</span><br><span> #include <osmocom/gsm/protocol/gsm_04_08.h></span><br><span> #include <osmocom/gsm/protocol/gsm_04_80.h></span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+extern const struct value_string gsm0480_comp_type_names[];</span><br><span style="color: hsl(120, 100%, 40%);">+static inline const char *gsm0480_comp_type_name(uint8_t comp_type) {</span><br><span style="color: hsl(120, 100%, 40%);">+     return get_value_string(gsm0480_comp_type_names, comp_type);</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 gsm0480_op_code_names[];</span><br><span style="color: hsl(120, 100%, 40%);">+static inline const char *gsm0480_op_code_name(uint8_t op_code) {</span><br><span style="color: hsl(120, 100%, 40%);">+       return get_value_string(gsm0480_op_code_names, op_code);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /**</span><br><span>  * According to the GSM 04.80 (version 5.0.0) specification Annex A</span><br><span>  * "Expanded ASN.1 Module "SS-Protocol", the maximum size of a USSD</span><br><span>diff --git a/src/gsm/gsm0480.c b/src/gsm/gsm0480.c</span><br><span>index 300c0ed..165b309 100644</span><br><span>--- a/src/gsm/gsm0480.c</span><br><span>+++ b/src/gsm/gsm0480.c</span><br><span>@@ -3,6 +3,7 @@</span><br><span> /*</span><br><span>  * (C) 2010 by Holger Hans Peter Freyther <zecke@selfish.org></span><br><span>  * (C) 2009 by Mike Haben <michael.haben@btinternet.com></span><br><span style="color: hsl(120, 100%, 40%);">+ * (C) 2018 by Harald Welte <laforge@gnumonks.org></span><br><span>  *</span><br><span>  * All Rights Reserved</span><br><span>  *</span><br><span>@@ -35,6 +36,37 @@</span><br><span> #include <string.h></span><br><span> #include <errno.h></span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+const struct value_string gsm0480_comp_type_names[] = {</span><br><span style="color: hsl(120, 100%, 40%);">+        { GSM0480_CTYPE_INVOKE,                 "Invoke" },</span><br><span style="color: hsl(120, 100%, 40%);">+ { GSM0480_CTYPE_RETURN_RESULT,          "ReturnResult" },</span><br><span style="color: hsl(120, 100%, 40%);">+   { GSM0480_CTYPE_RETURN_ERROR,           "ReturnError" },</span><br><span style="color: hsl(120, 100%, 40%);">+    { GSM0480_CTYPE_REJECT,                 "Reject" },</span><br><span style="color: hsl(120, 100%, 40%);">+ { 0, NULL }</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%);">+const struct value_string gsm0480_op_code_names[] = {</span><br><span style="color: hsl(120, 100%, 40%);">+      { GSM0480_OP_CODE_REGISTER_SS,                  "RegisterSS" },</span><br><span style="color: hsl(120, 100%, 40%);">+     { GSM0480_OP_CODE_ERASE_SS,                     "EraseSS" },</span><br><span style="color: hsl(120, 100%, 40%);">+        { GSM0480_OP_CODE_ACTIVATE_SS,                  "ActivateSS" },</span><br><span style="color: hsl(120, 100%, 40%);">+     { GSM0480_OP_CODE_DEACTIVATE_SS,                "DeactivateSS" },</span><br><span style="color: hsl(120, 100%, 40%);">+   { GSM0480_OP_CODE_INTERROGATE_SS,               "IngerrogateSS" },</span><br><span style="color: hsl(120, 100%, 40%);">+  { GSM0480_OP_CODE_NOTIFY_SS,                    "NotifySS" },</span><br><span style="color: hsl(120, 100%, 40%);">+       { GSM0480_OP_CODE_REGISTER_PASSWORD,            "RegisterPassword" },</span><br><span style="color: hsl(120, 100%, 40%);">+       { GSM0480_OP_CODE_GET_PASSWORD,                 "GetPassword" },</span><br><span style="color: hsl(120, 100%, 40%);">+    { GSM0480_OP_CODE_PROCESS_USS_DATA,             "ProcessUSSD" },</span><br><span style="color: hsl(120, 100%, 40%);">+    { GSM0480_OP_CODE_FORWARD_CHECK_SS_IND,         "ForwardChecckSSind" },</span><br><span style="color: hsl(120, 100%, 40%);">+     { GSM0480_OP_CODE_PROCESS_USS_REQ,              "ProcessUssReq" },</span><br><span style="color: hsl(120, 100%, 40%);">+  { GSM0480_OP_CODE_USS_REQUEST,                  "UssRequest" },</span><br><span style="color: hsl(120, 100%, 40%);">+     { GSM0480_OP_CODE_USS_NOTIFY,                   "UssNotify" },</span><br><span style="color: hsl(120, 100%, 40%);">+      { GSM0480_OP_CODE_FORWARD_CUG_INFO,             "ForwardCugInfo" },</span><br><span style="color: hsl(120, 100%, 40%);">+ { GSM0480_OP_CODE_SPLIT_MPTY,                   "SplitMPTY" },</span><br><span style="color: hsl(120, 100%, 40%);">+      { GSM0480_OP_CODE_RETRIEVE_MPTY,                "RetrieveMPTY" },</span><br><span style="color: hsl(120, 100%, 40%);">+   { GSM0480_OP_CODE_HOLD_MPTY,                    "HoldMPTY" },</span><br><span style="color: hsl(120, 100%, 40%);">+       { GSM0480_OP_CODE_BUILD_MPTY,                   "BuildMPTY" },</span><br><span style="color: hsl(120, 100%, 40%);">+      { GSM0480_OP_CODE_FORWARD_CHARGE_ADVICE,        "ForwardChargeAdvice" },</span><br><span style="color: hsl(120, 100%, 40%);">+    { 0, NULL }</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> static inline unsigned char *msgb_wrap_with_TL(struct msgb *msgb, uint8_t tag)</span><br><span> {</span><br><span>     uint8_t *data = msgb_push(msgb, 2);</span><br><span>diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map</span><br><span>index 4d9811b..3dccb22 100644</span><br><span>--- a/src/gsm/libosmogsm.map</span><br><span>+++ b/src/gsm/libosmogsm.map</span><br><span>@@ -95,6 +95,8 @@</span><br><span> gsm0480_decode_ss_request;</span><br><span> gsm0480_wrap_facility;</span><br><span> gsm0480_wrap_invoke;</span><br><span style="color: hsl(120, 100%, 40%);">+gsm0480_comp_type_names;</span><br><span style="color: hsl(120, 100%, 40%);">+gsm0480_op_code_names;</span><br><span> </span><br><span> gsm0502_calc_paging_group;</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/9654">change 9654</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/9654"/><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: merged </div>
<div style="display:none"> Gerrit-Change-Id: I2615a88db5224d65f37c7cc505e183ec8b196e8a </div>
<div style="display:none"> Gerrit-Change-Number: 9654 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: Vadim Yanitskiy <axilirator@gmail.com> </div>