<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21130">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">move f_gprs_tlli_{type,random} to Osmocom_Gb_Types<br><br>Those functions don't depend on any L3 specific data structurs, and<br>it is not a good idea to burden every user with having to impot all<br>of a 2G/3G Layer3 just to generate some hexstring identifiers.<br><br>Change-Id: I6fc41ed94e97e0ec44dc4ea56d110bdd9ac77a72<br>---<br>M library/L3_Common.ttcn<br>M library/Osmocom_Gb_Types.ttcn<br>2 files changed, 40 insertions(+), 39 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/library/L3_Common.ttcn b/library/L3_Common.ttcn</span><br><span>index 981c6ba..a2c27bf 100644</span><br><span>--- a/library/L3_Common.ttcn</span><br><span>+++ b/library/L3_Common.ttcn</span><br><span>@@ -47,45 +47,6 @@</span><br><span>    return vec;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-/* 3GPP TS 23.003 2.6 */</span><br><span style="color: hsl(0, 100%, 40%);">-type enumerated TlliType {</span><br><span style="color: hsl(0, 100%, 40%);">-  TLLI_LOCAL,</span><br><span style="color: hsl(0, 100%, 40%);">-     TLLI_FOREIGN,</span><br><span style="color: hsl(0, 100%, 40%);">-   TLLI_RANDOM,</span><br><span style="color: hsl(0, 100%, 40%);">-    TLLI_AUXILIARY,</span><br><span style="color: hsl(0, 100%, 40%);">- TLLI_RESERVED,</span><br><span style="color: hsl(0, 100%, 40%);">-  TLLI_G_RNTI,</span><br><span style="color: hsl(0, 100%, 40%);">-    TLLI_RAND_G_RNTI</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-/* 3GPP TS 23.003 2.6 */</span><br><span style="color: hsl(0, 100%, 40%);">-function f_gprs_tlli_type(OCT4 tlli) return TlliType {</span><br><span style="color: hsl(0, 100%, 40%);">- var bitstring tllib := oct2bit(tlli);</span><br><span style="color: hsl(0, 100%, 40%);">-   if (substr(tllib, 0, 2) == '11'B) {</span><br><span style="color: hsl(0, 100%, 40%);">-             return TLLI_LOCAL;</span><br><span style="color: hsl(0, 100%, 40%);">-      } else if (substr(tllib, 0, 2) == '10'B) {</span><br><span style="color: hsl(0, 100%, 40%);">-              return TLLI_FOREIGN;</span><br><span style="color: hsl(0, 100%, 40%);">-    } else if (substr(tllib, 0, 5) == '01111'B) {</span><br><span style="color: hsl(0, 100%, 40%);">-           return TLLI_RANDOM;</span><br><span style="color: hsl(0, 100%, 40%);">-     } else if (substr(tllib, 0, 4) == '0110'B) {</span><br><span style="color: hsl(0, 100%, 40%);">-            return TLLI_RESERVED;</span><br><span style="color: hsl(0, 100%, 40%);">-   } else if (substr(tllib, 0, 3) == '010'B) {</span><br><span style="color: hsl(0, 100%, 40%);">-             return TLLI_RESERVED;</span><br><span style="color: hsl(0, 100%, 40%);">-   } else if (substr(tllib, 0, 4) == '0000'B) {</span><br><span style="color: hsl(0, 100%, 40%);">-            return TLLI_G_RNTI;</span><br><span style="color: hsl(0, 100%, 40%);">-     } else if (substr(tllib, 0, 4) == '0001'B) {</span><br><span style="color: hsl(0, 100%, 40%);">-            return TLLI_RAND_G_RNTI;</span><br><span style="color: hsl(0, 100%, 40%);">-        } else {</span><br><span style="color: hsl(0, 100%, 40%);">-                setverdict(fail, "Unknonw TLLI Type ", tllib);</span><br><span style="color: hsl(0, 100%, 40%);">-                mtc.stop;</span><br><span style="color: hsl(0, 100%, 40%);">-       }</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-function f_gprs_tlli_random() return OCT4 {</span><br><span style="color: hsl(0, 100%, 40%);">-   var OCT4 tlli := f_rnd_octstring(4);</span><br><span style="color: hsl(0, 100%, 40%);">-    return tlli or4b 'c0000000'O;</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> function f_RAI(HEX0_3n mcc, HEX0_3n mnc, OCT2 lac, OCT1 rac) return RoutingAreaIdentificationV {</span><br><span>   if (lengthof(mnc) == 2) {</span><br><span>            mnc := mnc & 'F'H;</span><br><span>diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn</span><br><span>index 5ffca7a..ee1437c 100644</span><br><span>--- a/library/Osmocom_Gb_Types.ttcn</span><br><span>+++ b/library/Osmocom_Gb_Types.ttcn</span><br><span>@@ -1785,5 +1785,45 @@</span><br><span>     return oct2int(valueof(bvci_raw.unstructured_value));</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* 3GPP TS 23.003 2.6 */</span><br><span style="color: hsl(120, 100%, 40%);">+type enumerated TlliType {</span><br><span style="color: hsl(120, 100%, 40%);">+  TLLI_LOCAL,</span><br><span style="color: hsl(120, 100%, 40%);">+   TLLI_FOREIGN,</span><br><span style="color: hsl(120, 100%, 40%);">+ TLLI_RANDOM,</span><br><span style="color: hsl(120, 100%, 40%);">+  TLLI_AUXILIARY,</span><br><span style="color: hsl(120, 100%, 40%);">+       TLLI_RESERVED,</span><br><span style="color: hsl(120, 100%, 40%);">+        TLLI_G_RNTI,</span><br><span style="color: hsl(120, 100%, 40%);">+  TLLI_RAND_G_RNTI</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%);">+/* 3GPP TS 23.003 2.6 */</span><br><span style="color: hsl(120, 100%, 40%);">+function f_gprs_tlli_type(OCT4 tlli) return TlliType {</span><br><span style="color: hsl(120, 100%, 40%);">+       var bitstring tllib := oct2bit(tlli);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (substr(tllib, 0, 2) == '11'B) {</span><br><span style="color: hsl(120, 100%, 40%);">+           return TLLI_LOCAL;</span><br><span style="color: hsl(120, 100%, 40%);">+    } else if (substr(tllib, 0, 2) == '10'B) {</span><br><span style="color: hsl(120, 100%, 40%);">+            return TLLI_FOREIGN;</span><br><span style="color: hsl(120, 100%, 40%);">+  } else if (substr(tllib, 0, 5) == '01111'B) {</span><br><span style="color: hsl(120, 100%, 40%);">+         return TLLI_RANDOM;</span><br><span style="color: hsl(120, 100%, 40%);">+   } else if (substr(tllib, 0, 4) == '0110'B) {</span><br><span style="color: hsl(120, 100%, 40%);">+          return TLLI_RESERVED;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if (substr(tllib, 0, 3) == '010'B) {</span><br><span style="color: hsl(120, 100%, 40%);">+           return TLLI_RESERVED;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if (substr(tllib, 0, 4) == '0000'B) {</span><br><span style="color: hsl(120, 100%, 40%);">+          return TLLI_G_RNTI;</span><br><span style="color: hsl(120, 100%, 40%);">+   } else if (substr(tllib, 0, 4) == '0001'B) {</span><br><span style="color: hsl(120, 100%, 40%);">+          return TLLI_RAND_G_RNTI;</span><br><span style="color: hsl(120, 100%, 40%);">+      } else {</span><br><span style="color: hsl(120, 100%, 40%);">+              setverdict(fail, "Unknonw TLLI Type ", tllib);</span><br><span style="color: hsl(120, 100%, 40%);">+              mtc.stop;</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 style="color: hsl(120, 100%, 40%);">+function f_gprs_tlli_random() return OCT4 {</span><br><span style="color: hsl(120, 100%, 40%);">+   var OCT4 tlli := f_rnd_octstring(4);</span><br><span style="color: hsl(120, 100%, 40%);">+  return tlli or4b 'c0000000'O;</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> } with { encode "RAW" };</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21130">change 21130</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/c/osmo-ttcn3-hacks/+/21130"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I6fc41ed94e97e0ec44dc4ea56d110bdd9ac77a72 </div>
<div style="display:none"> Gerrit-Change-Number: 21130 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>