<p>Max <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/13064">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  Harald Welte: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">MCS: move Coding Scheme enum outside of class definition<br><br>Move generic MCS enum to C header file to simplify further modifications<br>to GprsCodingScheme class in follow-up patches. This also allows us<br>to use standard libosmocore value_sting functions in upcoming patches<br>for IA Rest Octet encoding/decoding.<br><br>Related: OS#3014<br>Change-Id: I993b49d9a82b8c7ad677d52d11003794aeabe117<br>---<br>M debian/copyright<br>M src/Makefile.am<br>A src/coding_scheme.h<br>M src/gprs_coding_scheme.cpp<br>M src/gprs_coding_scheme.h<br>M src/gprs_ms.cpp<br>M src/gprs_ms.h<br>M src/rlc.cpp<br>M src/tbf_dl.cpp<br>M src/tbf_ul.cpp<br>M tests/edge/EdgeTest.cpp<br>M tests/tbf/TbfTest.cpp<br>12 files changed, 248 insertions(+), 230 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/debian/copyright b/debian/copyright</span><br><span>index 853cd6e..5bb2110 100644</span><br><span>--- a/debian/copyright</span><br><span>+++ b/debian/copyright</span><br><span>@@ -15,6 +15,7 @@</span><br><span>            src/gprs_ms.h</span><br><span>            src/gprs_coding_scheme.cpp</span><br><span>            src/gprs_coding_scheme.h</span><br><span style="color: hsl(120, 100%, 40%);">+           src/coding_scheme.h</span><br><span>            src/cxx_linuxlist.h</span><br><span>            src/pcu_vty_functions.cpp</span><br><span>            src/pcu_vty_functions.h</span><br><span>diff --git a/src/Makefile.am b/src/Makefile.am</span><br><span>index 50e0eda..eb4a2bb 100644</span><br><span>--- a/src/Makefile.am</span><br><span>+++ b/src/Makefile.am</span><br><span>@@ -97,6 +97,7 @@</span><br><span>   cxx_linuxlist.h \</span><br><span>    gprs_codel.h \</span><br><span>       gprs_coding_scheme.h \</span><br><span style="color: hsl(120, 100%, 40%);">+        coding_scheme.h \</span><br><span>    egprs_rlc_compression.h</span><br><span> </span><br><span> osmo_pcu_SOURCES = pcu_main.cpp</span><br><span>diff --git a/src/coding_scheme.h b/src/coding_scheme.h</span><br><span>new file mode 100644</span><br><span>index 0000000..3705ea4</span><br><span>--- /dev/null</span><br><span>+++ b/src/coding_scheme.h</span><br><span>@@ -0,0 +1,29 @@</span><br><span style="color: hsl(120, 100%, 40%);">+/* coding_scheme.h</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * Copyright (C) 2015-2019 by sysmocom s.f.m.c. GmbH</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * This program is free software; you can redistribute it and/or</span><br><span style="color: hsl(120, 100%, 40%);">+ * modify it under the terms of the GNU General Public License</span><br><span style="color: hsl(120, 100%, 40%);">+ * as published by the Free Software Foundation; either version 2</span><br><span style="color: hsl(120, 100%, 40%);">+ * of the License, or (at your option) any later version.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * This program is distributed in the hope that it will be useful,</span><br><span style="color: hsl(120, 100%, 40%);">+ * but WITHOUT ANY WARRANTY; without even the implied warranty of</span><br><span style="color: hsl(120, 100%, 40%);">+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span><br><span style="color: hsl(120, 100%, 40%);">+ * GNU General Public License for more details.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * You should have received a copy of the GNU General Public License</span><br><span style="color: hsl(120, 100%, 40%);">+ * along with this program; if not, write to the Free Software</span><br><span style="color: hsl(120, 100%, 40%);">+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.</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%);">+#pragma once</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+enum CodingScheme {</span><br><span style="color: hsl(120, 100%, 40%);">+  UNKNOWN,</span><br><span style="color: hsl(120, 100%, 40%);">+      /* GPRS Coding Schemes: */</span><br><span style="color: hsl(120, 100%, 40%);">+    CS1, CS2, CS3, CS4,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* EDGE/EGPRS Modulation and Coding Schemes: */</span><br><span style="color: hsl(120, 100%, 40%);">+       MCS1, MCS2, MCS3, MCS4, MCS5, MCS6, MCS7, MCS8, MCS9,</span><br><span style="color: hsl(120, 100%, 40%);">+ NUM_SCHEMES</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span>diff --git a/src/gprs_coding_scheme.cpp b/src/gprs_coding_scheme.cpp</span><br><span>index bbac6e7..990e278 100644</span><br><span>--- a/src/gprs_coding_scheme.cpp</span><br><span>+++ b/src/gprs_coding_scheme.cpp</span><br><span>@@ -27,7 +27,7 @@</span><br><span>  * 1st level is Original MCS( index 0 corresponds to MCS1 and so on)</span><br><span>  * 2nd level is MS MCS (index 0 corresponds to MCS1 and so on)</span><br><span>  */</span><br><span style="color: hsl(0, 100%, 40%);">-enum GprsCodingScheme::Scheme GprsCodingScheme::egprs_mcs_retx_tbl[MAX_NUM_ARQ]</span><br><span style="color: hsl(120, 100%, 40%);">+enum CodingScheme GprsCodingScheme::egprs_mcs_retx_tbl[MAX_NUM_ARQ]</span><br><span>                        [MAX_NUM_MCS][MAX_NUM_MCS] = {</span><br><span>               {</span><br><span>                    {MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1, MCS1},</span><br><span>@@ -71,7 +71,7 @@</span><br><span>  const char *name;</span><br><span>    GprsCodingScheme::HeaderType data_hdr;</span><br><span>       enum Family family;</span><br><span style="color: hsl(0, 100%, 40%);">-} mcs_info[GprsCodingScheme::NUM_SCHEMES] = {</span><br><span style="color: hsl(120, 100%, 40%);">+} mcs_info[NUM_SCHEMES] = {</span><br><span>        {{0, 0},   {0, 0},    0,  0, "UNKNOWN",</span><br><span>            GprsCodingScheme::HEADER_INVALID, FAMILY_INVALID},</span><br><span>   {{23, 0},  {23, 0},  20,  0, "CS-1",</span><br><span>@@ -233,7 +233,7 @@</span><br><span>                 /* This should not happen. TODO: Use assert? */</span><br><span>              return;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     Scheme new_cs(Scheme(m_scheme + 1));</span><br><span style="color: hsl(120, 100%, 40%);">+  CodingScheme new_cs(CodingScheme(m_scheme + 1));</span><br><span>     if (!GprsCodingScheme(new_cs).isCompatible(mode))</span><br><span>            /* Clipping, do not change the value */</span><br><span>              return;</span><br><span>@@ -247,7 +247,7 @@</span><br><span>                /* This should not happen. TODO: Use assert? */</span><br><span>              return;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     Scheme new_cs(Scheme(m_scheme - 1));</span><br><span style="color: hsl(120, 100%, 40%);">+  CodingScheme new_cs(CodingScheme(m_scheme - 1));</span><br><span>     if (!GprsCodingScheme(new_cs).isCompatible(mode))</span><br><span>            /* Clipping, do not change the value */</span><br><span>              return;</span><br><span>@@ -266,7 +266,7 @@</span><br><span>        if (!isValid())</span><br><span>              return;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     m_scheme = Scheme(m_scheme + 1);</span><br><span style="color: hsl(120, 100%, 40%);">+      m_scheme = CodingScheme(m_scheme + 1);</span><br><span> }</span><br><span> </span><br><span> void GprsCodingScheme::dec()</span><br><span>@@ -280,7 +280,7 @@</span><br><span>        if (!isValid())</span><br><span>              return;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     m_scheme = Scheme(m_scheme - 1);</span><br><span style="color: hsl(120, 100%, 40%);">+      m_scheme = CodingScheme(m_scheme - 1);</span><br><span> }</span><br><span> </span><br><span> const char *GprsCodingScheme::modeName(Mode mode)</span><br><span>diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h</span><br><span>index 31f0940..045d34a 100644</span><br><span>--- a/src/gprs_coding_scheme.h</span><br><span>+++ b/src/gprs_coding_scheme.h</span><br><span>@@ -25,6 +25,7 @@</span><br><span> </span><br><span> extern "C" {</span><br><span>  #include <osmocom/core/utils.h></span><br><span style="color: hsl(120, 100%, 40%);">+ #include "coding_scheme.h"</span><br><span> }</span><br><span> </span><br><span> class GprsCodingScheme {</span><br><span>@@ -35,14 +36,6 @@</span><br><span> #define EGPRS_ARQ1            0x0</span><br><span> #define EGPRS_ARQ2            0x1</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    enum Scheme {</span><br><span style="color: hsl(0, 100%, 40%);">-           UNKNOWN,</span><br><span style="color: hsl(0, 100%, 40%);">-                CS1, CS2, CS3, CS4,</span><br><span style="color: hsl(0, 100%, 40%);">-             MCS1, MCS2, MCS3, MCS4,</span><br><span style="color: hsl(0, 100%, 40%);">-         MCS5, MCS6, MCS7, MCS8, MCS9,</span><br><span style="color: hsl(0, 100%, 40%);">-           NUM_SCHEMES</span><br><span style="color: hsl(0, 100%, 40%);">-     };</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>   enum Mode {</span><br><span>          GPRS,</span><br><span>                EGPRS_GMSK,</span><br><span>@@ -59,14 +52,14 @@</span><br><span>            NUM_HEADER_TYPES</span><br><span>     };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  GprsCodingScheme(Scheme s = UNKNOWN);</span><br><span style="color: hsl(120, 100%, 40%);">+ GprsCodingScheme(CodingScheme s = UNKNOWN);</span><br><span> </span><br><span>      operator bool() const {return m_scheme != UNKNOWN;}</span><br><span style="color: hsl(0, 100%, 40%);">-     operator Scheme() const {return m_scheme;}</span><br><span style="color: hsl(120, 100%, 40%);">+    operator CodingScheme() const {return m_scheme;}</span><br><span>     uint8_t to_num() const;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     GprsCodingScheme& operator =(Scheme s);</span><br><span style="color: hsl(0, 100%, 40%);">-     bool operator == (Scheme s) const;</span><br><span style="color: hsl(120, 100%, 40%);">+    GprsCodingScheme& operator =(CodingScheme s);</span><br><span style="color: hsl(120, 100%, 40%);">+     bool operator == (CodingScheme s) const;</span><br><span>     GprsCodingScheme& operator =(GprsCodingScheme o);</span><br><span> </span><br><span>    bool isValid()   const {return UNKNOWN <= m_scheme && m_scheme <= MCS9;}</span><br><span>@@ -106,16 +99,16 @@</span><br><span>        static GprsCodingScheme getEgprsByNum(unsigned num);</span><br><span> </span><br><span>     static const char *modeName(Mode mode);</span><br><span style="color: hsl(0, 100%, 40%);">- static Scheme get_retx_mcs(const GprsCodingScheme mcs,</span><br><span style="color: hsl(120, 100%, 40%);">+        static CodingScheme get_retx_mcs(const GprsCodingScheme mcs,</span><br><span>                                 const GprsCodingScheme retx_mcs,</span><br><span>                             const unsigned arq_type);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   static enum Scheme egprs_mcs_retx_tbl[MAX_NUM_ARQ]</span><br><span style="color: hsl(120, 100%, 40%);">+    static enum CodingScheme egprs_mcs_retx_tbl[MAX_NUM_ARQ]</span><br><span>                     [MAX_NUM_MCS][MAX_NUM_MCS];</span><br><span> private:</span><br><span>      GprsCodingScheme(int s); /* fail on use */</span><br><span>   GprsCodingScheme& operator =(int s); /* fail on use */</span><br><span style="color: hsl(0, 100%, 40%);">-      enum Scheme m_scheme;</span><br><span style="color: hsl(120, 100%, 40%);">+ enum CodingScheme m_scheme;</span><br><span> };</span><br><span> </span><br><span> inline uint8_t GprsCodingScheme::to_num() const</span><br><span>@@ -145,14 +138,14 @@</span><br><span>     return (isGprs() && o.isGprs()) || (isEgprs() && o.isEgprs());</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-inline GprsCodingScheme::GprsCodingScheme(Scheme s)</span><br><span style="color: hsl(120, 100%, 40%);">+inline GprsCodingScheme::GprsCodingScheme(CodingScheme s)</span><br><span>        : m_scheme(s)</span><br><span> {</span><br><span>   if (!isValid())</span><br><span>              m_scheme = UNKNOWN;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-inline GprsCodingScheme& GprsCodingScheme::operator =(Scheme s)</span><br><span style="color: hsl(120, 100%, 40%);">+inline GprsCodingScheme& GprsCodingScheme::operator =(CodingScheme s)</span><br><span> {</span><br><span>      m_scheme = s;</span><br><span> </span><br><span>@@ -173,7 +166,7 @@</span><br><span>      if (num < 1 || num > 4)</span><br><span>                return GprsCodingScheme();</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  return GprsCodingScheme(Scheme(CS1 + (num - 1)));</span><br><span style="color: hsl(120, 100%, 40%);">+     return GprsCodingScheme(CodingScheme(CS1 + (num - 1)));</span><br><span> }</span><br><span> </span><br><span> inline GprsCodingScheme GprsCodingScheme::getEgprsByNum(unsigned num)</span><br><span>@@ -181,16 +174,11 @@</span><br><span>    if (num < 1 || num > 9)</span><br><span>                return GprsCodingScheme();</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  return GprsCodingScheme(Scheme(MCS1 + (num - 1)));</span><br><span style="color: hsl(120, 100%, 40%);">+    return GprsCodingScheme(CodingScheme(MCS1 + (num - 1)));</span><br><span> }</span><br><span> </span><br><span> /* The coding schemes form a partial ordering */</span><br><span style="color: hsl(0, 100%, 40%);">-inline bool operator ==(GprsCodingScheme a, GprsCodingScheme b)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-   return GprsCodingScheme::Scheme(a) == GprsCodingScheme::Scheme(b);</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%);">-inline bool GprsCodingScheme::operator == (Scheme scheme) const</span><br><span style="color: hsl(120, 100%, 40%);">+inline bool GprsCodingScheme::operator == (CodingScheme scheme) const</span><br><span> {</span><br><span>       return this->m_scheme == scheme;</span><br><span> }</span><br><span>@@ -202,11 +190,10 @@</span><br><span> </span><br><span> inline bool operator <(GprsCodingScheme a, GprsCodingScheme b)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-  return a.isCompatible(b) &&</span><br><span style="color: hsl(0, 100%, 40%);">-             GprsCodingScheme::Scheme(a) < GprsCodingScheme::Scheme(b);</span><br><span style="color: hsl(120, 100%, 40%);">+ return a.isCompatible(b) && a.to_num() < b.to_num();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-inline GprsCodingScheme::Scheme GprsCodingScheme::get_retx_mcs(</span><br><span style="color: hsl(120, 100%, 40%);">+inline CodingScheme GprsCodingScheme::get_retx_mcs(</span><br><span>                                 const GprsCodingScheme mcs,</span><br><span>                          const GprsCodingScheme demanded_mcs,</span><br><span>                                 const unsigned arq_type)</span><br><span>diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp</span><br><span>index 8855053..77a8f2e 100644</span><br><span>--- a/src/gprs_ms.cpp</span><br><span>+++ b/src/gprs_ms.cpp</span><br><span>@@ -225,13 +225,13 @@</span><br><span>                    m_current_cs_ul = GprsCodingScheme::getGprsByNum(</span><br><span>                            m_bts->bts_data()->initial_cs_ul);</span><br><span>                     if (!m_current_cs_ul.isValid())</span><br><span style="color: hsl(0, 100%, 40%);">-                         m_current_cs_ul = GprsCodingScheme::CS1;</span><br><span style="color: hsl(120, 100%, 40%);">+                              m_current_cs_ul = CS1;</span><br><span>               }</span><br><span>            if (!m_current_cs_dl.isGprs()) {</span><br><span>                     m_current_cs_dl = GprsCodingScheme::getGprsByNum(</span><br><span>                            m_bts->bts_data()->initial_cs_dl);</span><br><span>                     if (!m_current_cs_dl.isValid())</span><br><span style="color: hsl(0, 100%, 40%);">-                         m_current_cs_dl = GprsCodingScheme::CS1;</span><br><span style="color: hsl(120, 100%, 40%);">+                              m_current_cs_dl = CS1;</span><br><span>               }</span><br><span>            break;</span><br><span> </span><br><span>@@ -241,13 +241,13 @@</span><br><span>                   m_current_cs_ul = GprsCodingScheme::getEgprsByNum(</span><br><span>                           m_bts->bts_data()->initial_mcs_ul);</span><br><span>                    if (!m_current_cs_ul.isValid())</span><br><span style="color: hsl(0, 100%, 40%);">-                         m_current_cs_ul = GprsCodingScheme::MCS1;</span><br><span style="color: hsl(120, 100%, 40%);">+                             m_current_cs_ul = MCS1;</span><br><span>              }</span><br><span>            if (!m_current_cs_dl.isEgprs()) {</span><br><span>                    m_current_cs_dl = GprsCodingScheme::getEgprsByNum(</span><br><span>                           m_bts->bts_data()->initial_mcs_dl);</span><br><span>                    if (!m_current_cs_dl.isValid())</span><br><span style="color: hsl(0, 100%, 40%);">-                         m_current_cs_dl = GprsCodingScheme::MCS1;</span><br><span style="color: hsl(120, 100%, 40%);">+                             m_current_cs_dl = MCS1;</span><br><span>              }</span><br><span>            break;</span><br><span>       }</span><br><span>@@ -565,7 +565,7 @@</span><br><span> </span><br><span>  if (m_current_cs_ul.isGprs()) {</span><br><span>              if (!bts_data->max_cs_ul)</span><br><span style="color: hsl(0, 100%, 40%);">-                    return GprsCodingScheme(GprsCodingScheme::CS4);</span><br><span style="color: hsl(120, 100%, 40%);">+                       return GprsCodingScheme(CS4);</span><br><span> </span><br><span>            return GprsCodingScheme::getGprsByNum(bts_data->max_cs_ul);</span><br><span>       }</span><br><span>@@ -578,10 +578,10 @@</span><br><span>    else if (bts_data->max_cs_ul)</span><br><span>             return GprsCodingScheme::getEgprsByNum(bts_data->max_cs_ul);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     return GprsCodingScheme(GprsCodingScheme::MCS4);</span><br><span style="color: hsl(120, 100%, 40%);">+      return GprsCodingScheme(MCS4);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void GprsMs::set_current_cs_dl(GprsCodingScheme::Scheme scheme)</span><br><span style="color: hsl(120, 100%, 40%);">+void GprsMs::set_current_cs_dl(CodingScheme scheme)</span><br><span> {</span><br><span>     m_current_cs_dl = scheme;</span><br><span> }</span><br><span>@@ -595,7 +595,7 @@</span><br><span> </span><br><span>     if (m_current_cs_dl.isGprs()) {</span><br><span>              if (!bts_data->max_cs_dl)</span><br><span style="color: hsl(0, 100%, 40%);">-                    return GprsCodingScheme(GprsCodingScheme::CS4);</span><br><span style="color: hsl(120, 100%, 40%);">+                       return GprsCodingScheme(CS4);</span><br><span> </span><br><span>            return GprsCodingScheme::getGprsByNum(bts_data->max_cs_dl);</span><br><span>       }</span><br><span>@@ -608,7 +608,7 @@</span><br><span>      else if (bts_data->max_cs_dl)</span><br><span>             return GprsCodingScheme::getEgprsByNum(bts_data->max_cs_dl);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     return GprsCodingScheme(GprsCodingScheme::MCS4);</span><br><span style="color: hsl(120, 100%, 40%);">+      return GprsCodingScheme(MCS4);</span><br><span> }</span><br><span> </span><br><span> void GprsMs::update_cs_ul(const pcu_l1_meas *meas)</span><br><span>@@ -746,7 +746,7 @@</span><br><span>  cs.dec(mode());</span><br><span> </span><br><span>  /* CS-2 doesn't gain throughput with small packets, further reduce to CS-1 */</span><br><span style="color: hsl(0, 100%, 40%);">-       if (cs == GprsCodingScheme(GprsCodingScheme::CS2))</span><br><span style="color: hsl(120, 100%, 40%);">+    if (cs == GprsCodingScheme(CS2))</span><br><span>             cs.dec(mode());</span><br><span> </span><br><span>  return cs;</span><br><span>diff --git a/src/gprs_ms.h b/src/gprs_ms.h</span><br><span>index 857f0c9..0a9efb8 100644</span><br><span>--- a/src/gprs_ms.h</span><br><span>+++ b/src/gprs_ms.h</span><br><span>@@ -86,7 +86,7 @@</span><br><span>      uint8_t egprs_ms_class() const;</span><br><span>      void set_ms_class(uint8_t ms_class);</span><br><span>         void set_egprs_ms_class(uint8_t ms_class);</span><br><span style="color: hsl(0, 100%, 40%);">-      void set_current_cs_dl(GprsCodingScheme::Scheme scheme);</span><br><span style="color: hsl(120, 100%, 40%);">+      void set_current_cs_dl(CodingScheme scheme);</span><br><span> </span><br><span>     GprsCodingScheme current_cs_ul() const;</span><br><span>      GprsCodingScheme current_cs_dl() const;</span><br><span>diff --git a/src/rlc.cpp b/src/rlc.cpp</span><br><span>index ee88bd9..323fde4 100644</span><br><span>--- a/src/rlc.cpp</span><br><span>+++ b/src/rlc.cpp</span><br><span>@@ -391,27 +391,27 @@</span><br><span>     enum egprs_puncturing_values punct2, bool with_padding)</span><br><span> {</span><br><span>         /* validate that punct and punct2 are as expected */</span><br><span style="color: hsl(0, 100%, 40%);">-    switch (GprsCodingScheme::Scheme(cs)) {</span><br><span style="color: hsl(0, 100%, 40%);">- case GprsCodingScheme::MCS9:</span><br><span style="color: hsl(0, 100%, 40%);">-    case GprsCodingScheme::MCS8:</span><br><span style="color: hsl(0, 100%, 40%);">-    case GprsCodingScheme::MCS7:</span><br><span style="color: hsl(120, 100%, 40%);">+  switch (CodingScheme(cs)) {</span><br><span style="color: hsl(120, 100%, 40%);">+   case MCS9:</span><br><span style="color: hsl(120, 100%, 40%);">+    case MCS8:</span><br><span style="color: hsl(120, 100%, 40%);">+    case MCS7:</span><br><span>           if (punct2 == EGPRS_PS_INVALID) {</span><br><span>                    LOGP(DRLCMACDL, LOGL_ERROR,</span><br><span>                       "Invalid punct2 value for coding scheme %d: %d\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                            GprsCodingScheme::Scheme(cs), punct2);</span><br><span style="color: hsl(120, 100%, 40%);">+                        CodingScheme(cs), punct2);</span><br><span>                      return -1;</span><br><span>           }</span><br><span>            /* fall through */</span><br><span style="color: hsl(0, 100%, 40%);">-      case GprsCodingScheme::MCS6:</span><br><span style="color: hsl(0, 100%, 40%);">-    case GprsCodingScheme::MCS5:</span><br><span style="color: hsl(0, 100%, 40%);">-    case GprsCodingScheme::MCS4:</span><br><span style="color: hsl(0, 100%, 40%);">-    case GprsCodingScheme::MCS3:</span><br><span style="color: hsl(0, 100%, 40%);">-    case GprsCodingScheme::MCS2:</span><br><span style="color: hsl(0, 100%, 40%);">-    case GprsCodingScheme::MCS1:</span><br><span style="color: hsl(120, 100%, 40%);">+  case MCS6:</span><br><span style="color: hsl(120, 100%, 40%);">+    case MCS5:</span><br><span style="color: hsl(120, 100%, 40%);">+    case MCS4:</span><br><span style="color: hsl(120, 100%, 40%);">+    case MCS3:</span><br><span style="color: hsl(120, 100%, 40%);">+    case MCS2:</span><br><span style="color: hsl(120, 100%, 40%);">+    case MCS1:</span><br><span>           if (punct == EGPRS_PS_INVALID) {</span><br><span>                     LOGP(DRLCMACDL, LOGL_ERROR,</span><br><span>                       "Invalid punct value for coding scheme %d: %d\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                             GprsCodingScheme::Scheme(cs), punct);</span><br><span style="color: hsl(120, 100%, 40%);">+                         CodingScheme(cs), punct);</span><br><span>                       return -1;</span><br><span>           }</span><br><span>            break;</span><br><span>@@ -420,26 +420,26 @@</span><br><span>       }</span><br><span> </span><br><span>        /* See 3GPP TS 44.060 10.4.8a.3.1, 10.4.8a.2.1, 10.4.8a.1.1 */</span><br><span style="color: hsl(0, 100%, 40%);">-  switch (GprsCodingScheme::Scheme(cs)) {</span><br><span style="color: hsl(0, 100%, 40%);">- case GprsCodingScheme::MCS1: return 0b1011 +</span><br><span style="color: hsl(120, 100%, 40%);">+  switch (CodingScheme(cs)) {</span><br><span style="color: hsl(120, 100%, 40%);">+   case MCS1: return 0b1011 +</span><br><span>           punct % EGPRS_MAX_PS_NUM_2;</span><br><span style="color: hsl(0, 100%, 40%);">-     case GprsCodingScheme::MCS2: return 0b1001 +</span><br><span style="color: hsl(120, 100%, 40%);">+  case MCS2: return 0b1001 +</span><br><span>           punct % EGPRS_MAX_PS_NUM_2;</span><br><span style="color: hsl(0, 100%, 40%);">-     case GprsCodingScheme::MCS3: return (with_padding ? 0b0110 : 0b0011) +</span><br><span style="color: hsl(120, 100%, 40%);">+        case MCS3: return (with_padding ? 0b0110 : 0b0011) +</span><br><span>                 punct % EGPRS_MAX_PS_NUM_3;</span><br><span style="color: hsl(0, 100%, 40%);">-     case GprsCodingScheme::MCS4: return 0b0000 +</span><br><span style="color: hsl(120, 100%, 40%);">+  case MCS4: return 0b0000 +</span><br><span>           punct % EGPRS_MAX_PS_NUM_3;</span><br><span style="color: hsl(0, 100%, 40%);">-     case GprsCodingScheme::MCS5: return  0b100 +</span><br><span style="color: hsl(120, 100%, 40%);">+  case MCS5: return  0b100 +</span><br><span>           punct % EGPRS_MAX_PS_NUM_2;</span><br><span style="color: hsl(0, 100%, 40%);">-     case GprsCodingScheme::MCS6: return (with_padding ? 0b010 : 0b000) +</span><br><span style="color: hsl(120, 100%, 40%);">+  case MCS6: return (with_padding ? 0b010 : 0b000) +</span><br><span>           punct % EGPRS_MAX_PS_NUM_2;</span><br><span style="color: hsl(0, 100%, 40%);">-     case GprsCodingScheme::MCS7: return 0b10100 +</span><br><span style="color: hsl(120, 100%, 40%);">+ case MCS7: return 0b10100 +</span><br><span>          3 * (punct % EGPRS_MAX_PS_NUM_3) +</span><br><span>           punct2 % EGPRS_MAX_PS_NUM_3;</span><br><span style="color: hsl(0, 100%, 40%);">-    case GprsCodingScheme::MCS8: return 0b01011 +</span><br><span style="color: hsl(120, 100%, 40%);">+ case MCS8: return 0b01011 +</span><br><span>          3 * (punct % EGPRS_MAX_PS_NUM_3) +</span><br><span>           punct2 % EGPRS_MAX_PS_NUM_3;</span><br><span style="color: hsl(0, 100%, 40%);">-    case GprsCodingScheme::MCS9: return 0b00000 +</span><br><span style="color: hsl(120, 100%, 40%);">+ case MCS9: return 0b00000 +</span><br><span>          4 * (punct % EGPRS_MAX_PS_NUM_3) +</span><br><span>           punct2 % EGPRS_MAX_PS_NUM_3;</span><br><span>         default: ;</span><br><span>@@ -454,24 +454,24 @@</span><br><span>   *punct2 = -1;</span><br><span>        *with_padding = 0;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  switch (GprsCodingScheme::Scheme(cs)) {</span><br><span style="color: hsl(0, 100%, 40%);">- case GprsCodingScheme::MCS1:</span><br><span style="color: hsl(120, 100%, 40%);">+  switch (CodingScheme(cs)) {</span><br><span style="color: hsl(120, 100%, 40%);">+   case MCS1:</span><br><span>           cps -= 0b1011; *punct = cps % 2; break;</span><br><span style="color: hsl(0, 100%, 40%);">- case GprsCodingScheme::MCS2:</span><br><span style="color: hsl(120, 100%, 40%);">+  case MCS2:</span><br><span>           cps -= 0b1001; *punct = cps % 2; break;</span><br><span style="color: hsl(0, 100%, 40%);">- case GprsCodingScheme::MCS3:</span><br><span style="color: hsl(120, 100%, 40%);">+  case MCS3:</span><br><span>           cps -= 0b0011; *punct = cps % 3; *with_padding = cps >= 3; break;</span><br><span style="color: hsl(0, 100%, 40%);">-    case GprsCodingScheme::MCS4:</span><br><span style="color: hsl(120, 100%, 40%);">+  case MCS4:</span><br><span>           cps -= 0b0000; *punct = cps % 3; break;</span><br><span style="color: hsl(0, 100%, 40%);">- case GprsCodingScheme::MCS5:</span><br><span style="color: hsl(120, 100%, 40%);">+  case MCS5:</span><br><span>           cps -= 0b100; *punct = cps % 2; break;</span><br><span style="color: hsl(0, 100%, 40%);">-  case GprsCodingScheme::MCS6:</span><br><span style="color: hsl(120, 100%, 40%);">+  case MCS6:</span><br><span>           cps -= 0b000; *punct = cps % 2; *with_padding = cps >= 2; break;</span><br><span style="color: hsl(0, 100%, 40%);">-     case GprsCodingScheme::MCS7:</span><br><span style="color: hsl(120, 100%, 40%);">+  case MCS7:</span><br><span>           cps -= 0b10100; *punct = cps / 3; *punct2 = cps % 3; break;</span><br><span style="color: hsl(0, 100%, 40%);">-     case GprsCodingScheme::MCS8:</span><br><span style="color: hsl(120, 100%, 40%);">+  case MCS8:</span><br><span>           cps -= 0b01011; *punct = cps / 3; *punct2 = cps % 3; break;</span><br><span style="color: hsl(0, 100%, 40%);">-     case GprsCodingScheme::MCS9:</span><br><span style="color: hsl(120, 100%, 40%);">+  case MCS9:</span><br><span>           cps -= 0b00000; *punct = cps / 4; *punct2 = cps % 3; break;</span><br><span>  default: ;</span><br><span>   }</span><br><span>@@ -501,23 +501,23 @@</span><br><span>            return punct;</span><br><span> </span><br><span>    /* TS  44.060 9.3.2.1.1 */</span><br><span style="color: hsl(0, 100%, 40%);">-      if ((GprsCodingScheme::Scheme(cs) == GprsCodingScheme::MCS9) &&</span><br><span style="color: hsl(0, 100%, 40%);">- (GprsCodingScheme::Scheme(cs_current) == GprsCodingScheme::MCS6)) {</span><br><span style="color: hsl(120, 100%, 40%);">+   if ((CodingScheme(cs) == MCS9) &&</span><br><span style="color: hsl(120, 100%, 40%);">+     (CodingScheme(cs_current) == MCS6)) {</span><br><span>                if ((punct == EGPRS_PS_1) || (punct == EGPRS_PS_3))</span><br><span>                  return EGPRS_PS_1;</span><br><span>           else if (punct == EGPRS_PS_2)</span><br><span>                        return EGPRS_PS_2;</span><br><span style="color: hsl(0, 100%, 40%);">-      } else if ((GprsCodingScheme::Scheme(cs) == GprsCodingScheme::MCS6) &&</span><br><span style="color: hsl(0, 100%, 40%);">-  (GprsCodingScheme::Scheme(cs_current) == GprsCodingScheme::MCS9)) {</span><br><span style="color: hsl(120, 100%, 40%);">+   } else if ((CodingScheme(cs) == MCS6) &&</span><br><span style="color: hsl(120, 100%, 40%);">+      (CodingScheme(cs_current) == MCS9)) {</span><br><span>                if (punct == EGPRS_PS_1)</span><br><span>                     return EGPRS_PS_3;</span><br><span>           else if (punct == EGPRS_PS_2)</span><br><span>                        return EGPRS_PS_2;</span><br><span style="color: hsl(0, 100%, 40%);">-      } else if ((GprsCodingScheme::Scheme(cs) == GprsCodingScheme::MCS7) &&</span><br><span style="color: hsl(0, 100%, 40%);">-  (GprsCodingScheme::Scheme(cs_current) == GprsCodingScheme::MCS5))</span><br><span style="color: hsl(120, 100%, 40%);">+     } else if ((CodingScheme(cs) == MCS7) &&</span><br><span style="color: hsl(120, 100%, 40%);">+      (CodingScheme(cs_current) == MCS5))</span><br><span>          return EGPRS_PS_1;</span><br><span style="color: hsl(0, 100%, 40%);">-      else if ((GprsCodingScheme::Scheme(cs) == GprsCodingScheme::MCS5) &&</span><br><span style="color: hsl(0, 100%, 40%);">-    (GprsCodingScheme::Scheme(cs_current) == GprsCodingScheme::MCS7))</span><br><span style="color: hsl(120, 100%, 40%);">+     else if ((CodingScheme(cs) == MCS5) &&</span><br><span style="color: hsl(120, 100%, 40%);">+        (CodingScheme(cs_current) == MCS7))</span><br><span>          return EGPRS_PS_2;</span><br><span>   else if (cs != cs_current)</span><br><span>           return EGPRS_PS_1;</span><br><span>@@ -540,19 +540,19 @@</span><br><span> void gprs_update_punct_scheme(enum egprs_puncturing_values *punct,</span><br><span>     const GprsCodingScheme &cs)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-    switch (GprsCodingScheme::Scheme(cs)) {</span><br><span style="color: hsl(0, 100%, 40%);">- case GprsCodingScheme::MCS1 :</span><br><span style="color: hsl(0, 100%, 40%);">-   case GprsCodingScheme::MCS2 :</span><br><span style="color: hsl(0, 100%, 40%);">-   case GprsCodingScheme::MCS5 :</span><br><span style="color: hsl(0, 100%, 40%);">-   case GprsCodingScheme::MCS6 :</span><br><span style="color: hsl(120, 100%, 40%);">+ switch (CodingScheme(cs)) {</span><br><span style="color: hsl(120, 100%, 40%);">+   case MCS1 :</span><br><span style="color: hsl(120, 100%, 40%);">+   case MCS2 :</span><br><span style="color: hsl(120, 100%, 40%);">+   case MCS5 :</span><br><span style="color: hsl(120, 100%, 40%);">+   case MCS6 :</span><br><span>          *punct = ((enum egprs_puncturing_values)((*punct + 1) %</span><br><span>                      EGPRS_MAX_PS_NUM_2));</span><br><span>                break;</span><br><span style="color: hsl(0, 100%, 40%);">-  case GprsCodingScheme::MCS3 :</span><br><span style="color: hsl(0, 100%, 40%);">-   case GprsCodingScheme::MCS4 :</span><br><span style="color: hsl(0, 100%, 40%);">-   case GprsCodingScheme::MCS7 :</span><br><span style="color: hsl(0, 100%, 40%);">-   case GprsCodingScheme::MCS8 :</span><br><span style="color: hsl(0, 100%, 40%);">-   case GprsCodingScheme::MCS9 :</span><br><span style="color: hsl(120, 100%, 40%);">+ case MCS3 :</span><br><span style="color: hsl(120, 100%, 40%);">+   case MCS4 :</span><br><span style="color: hsl(120, 100%, 40%);">+   case MCS7 :</span><br><span style="color: hsl(120, 100%, 40%);">+   case MCS8 :</span><br><span style="color: hsl(120, 100%, 40%);">+   case MCS9 :</span><br><span>          *punct = ((enum egprs_puncturing_values)((*punct + 1) %</span><br><span>                      EGPRS_MAX_PS_NUM_3));</span><br><span>                break;</span><br><span>diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp</span><br><span>index 0ef3032..7b0052f 100644</span><br><span>--- a/src/tbf_dl.cpp</span><br><span>+++ b/src/tbf_dl.cpp</span><br><span>@@ -395,9 +395,9 @@</span><br><span>                     * transistion is handled.</span><br><span>                    * Refer commit be881c028fc4da00c4046ecd9296727975c206a3</span><br><span>                      */</span><br><span style="color: hsl(0, 100%, 40%);">-                     if (m_rlc.block(bsn)->cs_init == GprsCodingScheme::MCS8)</span><br><span style="color: hsl(120, 100%, 40%);">+                   if (m_rlc.block(bsn)->cs_init == MCS8)</span><br><span>                            m_rlc.block(bsn)->cs_current_trans =</span><br><span style="color: hsl(0, 100%, 40%);">-                                 GprsCodingScheme::MCS8;</span><br><span style="color: hsl(120, 100%, 40%);">+                                       MCS8;</span><br><span>                } else</span><br><span>                       m_rlc.block(bsn)->cs_current_trans =</span><br><span>                                      m_rlc.block(bsn)->cs_last;</span><br><span>@@ -701,9 +701,9 @@</span><br><span>   * if the intial mcs is 8 and retransmission mcs is either 6 or 3</span><br><span>     * we have to include the padding of 6 octets in first segment</span><br><span>        */</span><br><span style="color: hsl(0, 100%, 40%);">-     if ((GprsCodingScheme::Scheme(cs_init) == GprsCodingScheme::MCS8) &&</span><br><span style="color: hsl(0, 100%, 40%);">-            (GprsCodingScheme::Scheme(cs) == GprsCodingScheme::MCS6 ||</span><br><span style="color: hsl(0, 100%, 40%);">-              GprsCodingScheme::Scheme(cs) == GprsCodingScheme::MCS3)) {</span><br><span style="color: hsl(120, 100%, 40%);">+    if ((CodingScheme(cs_init) == MCS8) &&</span><br><span style="color: hsl(120, 100%, 40%);">+                (CodingScheme(cs) == MCS6 ||</span><br><span style="color: hsl(120, 100%, 40%);">+          CodingScheme(cs) == MCS3)) {</span><br><span>                 if (spb_status == EGPRS_RESEG_DL_DEFAULT ||</span><br><span>                  spb_status == EGPRS_RESEG_SECOND_SEG_SENT)</span><br><span>                   need_padding  = true;</span><br><span>@@ -715,7 +715,7 @@</span><br><span>           * Refer commit be881c028fc4da00c4046ecd9296727975c206a3</span><br><span>              * dated 2016-02-07 23:45:40 (UTC)</span><br><span>            */</span><br><span style="color: hsl(0, 100%, 40%);">-             if (cs != GprsCodingScheme(GprsCodingScheme::MCS8))</span><br><span style="color: hsl(120, 100%, 40%);">+           if (cs != GprsCodingScheme(MCS8))</span><br><span>                    cs.decToSingleBlock(&need_padding);</span><br><span>      }</span><br><span> </span><br><span>@@ -1261,19 +1261,19 @@</span><br><span>      if (cs_current_trans.headerTypeData() ==</span><br><span>                     GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_3) {</span><br><span>                if (*block_status_dl == EGPRS_RESEG_FIRST_SEG_SENT) {</span><br><span style="color: hsl(0, 100%, 40%);">-                   switch (GprsCodingScheme::Scheme(cs_init)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                    case GprsCodingScheme::MCS6 :</span><br><span style="color: hsl(0, 100%, 40%);">-                   case GprsCodingScheme::MCS9 :</span><br><span style="color: hsl(120, 100%, 40%);">+                 switch (CodingScheme(cs_init)) {</span><br><span style="color: hsl(120, 100%, 40%);">+                      case MCS6 :</span><br><span style="color: hsl(120, 100%, 40%);">+                   case MCS9 :</span><br><span>                          *block_data = &rlc_data->block[37];</span><br><span>                           break;</span><br><span style="color: hsl(0, 100%, 40%);">-                  case GprsCodingScheme::MCS7 :</span><br><span style="color: hsl(0, 100%, 40%);">-                   case GprsCodingScheme::MCS5 :</span><br><span style="color: hsl(120, 100%, 40%);">+                 case MCS7 :</span><br><span style="color: hsl(120, 100%, 40%);">+                   case MCS5 :</span><br><span>                          *block_data = &rlc_data->block[28];</span><br><span>                           break;</span><br><span style="color: hsl(0, 100%, 40%);">-                  case GprsCodingScheme::MCS8 :</span><br><span style="color: hsl(120, 100%, 40%);">+                 case MCS8 :</span><br><span>                          *block_data = &rlc_data->block[31];</span><br><span>                           break;</span><br><span style="color: hsl(0, 100%, 40%);">-                  case GprsCodingScheme::MCS4 :</span><br><span style="color: hsl(120, 100%, 40%);">+                 case MCS4 :</span><br><span>                          *block_data = &rlc_data->block[22];</span><br><span>                           break;</span><br><span>                       default:</span><br><span>@@ -1291,10 +1291,10 @@</span><br><span>                   (cs_init.headerTypeData() ==</span><br><span>                                 GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_2)) {</span><br><span>                       return EGPRS_RESEG_FIRST_SEG_SENT;</span><br><span style="color: hsl(0, 100%, 40%);">-              } else if ((GprsCodingScheme::Scheme(cs_init) ==</span><br><span style="color: hsl(0, 100%, 40%);">-                                        GprsCodingScheme::MCS4) &&</span><br><span style="color: hsl(0, 100%, 40%);">-                              (GprsCodingScheme::Scheme(cs_current_trans) ==</span><br><span style="color: hsl(0, 100%, 40%);">-                                  GprsCodingScheme::MCS1)) {</span><br><span style="color: hsl(120, 100%, 40%);">+            } else if ((CodingScheme(cs_init) ==</span><br><span style="color: hsl(120, 100%, 40%);">+                                  MCS4) &&</span><br><span style="color: hsl(120, 100%, 40%);">+                              (CodingScheme(cs_current_trans) ==</span><br><span style="color: hsl(120, 100%, 40%);">+                                    MCS1)) {</span><br><span>                     return EGPRS_RESEG_FIRST_SEG_SENT;</span><br><span>           }</span><br><span>    }</span><br><span>@@ -1343,10 +1343,10 @@</span><br><span>                          GprsCodingScheme::HEADER_EGPRS_DATA_TYPE_2)) {</span><br><span>                       bts->spb_downlink_first_segment();</span><br><span>                        return EGPRS_RLCMAC_DL_FIRST_SEG;</span><br><span style="color: hsl(0, 100%, 40%);">-               } else if ((GprsCodingScheme::Scheme(cs_init) ==</span><br><span style="color: hsl(0, 100%, 40%);">-                                        GprsCodingScheme::MCS4) &&</span><br><span style="color: hsl(0, 100%, 40%);">-                              (GprsCodingScheme::Scheme(cs_current_trans) ==</span><br><span style="color: hsl(0, 100%, 40%);">-                                  GprsCodingScheme::MCS1)) {</span><br><span style="color: hsl(120, 100%, 40%);">+            } else if ((CodingScheme(cs_init) ==</span><br><span style="color: hsl(120, 100%, 40%);">+                                  MCS4) &&</span><br><span style="color: hsl(120, 100%, 40%);">+                              (CodingScheme(cs_current_trans) ==</span><br><span style="color: hsl(120, 100%, 40%);">+                                    MCS1)) {</span><br><span>                     bts->spb_downlink_first_segment();</span><br><span>                        return EGPRS_RLCMAC_DL_FIRST_SEG;</span><br><span>            }</span><br><span>@@ -1367,61 +1367,61 @@</span><br><span> {</span><br><span>     uint8_t coding_scheme = 0;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  coding_scheme = GprsCodingScheme::Scheme(cs);</span><br><span style="color: hsl(120, 100%, 40%);">+ coding_scheme = CodingScheme(cs);</span><br><span>    if (cs.isGprs()) {</span><br><span>           switch (coding_scheme) {</span><br><span style="color: hsl(0, 100%, 40%);">-                case GprsCodingScheme::CS1 :</span><br><span style="color: hsl(120, 100%, 40%);">+          case CS1 :</span><br><span>                   bts->gprs_dl_cs1();</span><br><span>                       rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS1]);</span><br><span>                      break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::CS2 :</span><br><span style="color: hsl(120, 100%, 40%);">+          case CS2 :</span><br><span>                   bts->gprs_dl_cs2();</span><br><span>                       rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS2]);</span><br><span>                      break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::CS3 :</span><br><span style="color: hsl(120, 100%, 40%);">+          case CS3 :</span><br><span>                   bts->gprs_dl_cs3();</span><br><span>                       rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS3]);</span><br><span>                      break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::CS4 :</span><br><span style="color: hsl(120, 100%, 40%);">+          case CS4 :</span><br><span>                   bts->gprs_dl_cs4();</span><br><span>                       rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS4]);</span><br><span>                      break;</span><br><span>               }</span><br><span>    } else {</span><br><span>             switch (coding_scheme) {</span><br><span style="color: hsl(0, 100%, 40%);">-                case GprsCodingScheme::MCS1 :</span><br><span style="color: hsl(120, 100%, 40%);">+         case MCS1 :</span><br><span>                  bts->egprs_dl_mcs1();</span><br><span>                     rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS1]);</span><br><span>                   break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::MCS2 :</span><br><span style="color: hsl(120, 100%, 40%);">+         case MCS2 :</span><br><span>                  bts->egprs_dl_mcs2();</span><br><span>                     rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS2]);</span><br><span>                   break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::MCS3 :</span><br><span style="color: hsl(120, 100%, 40%);">+         case MCS3 :</span><br><span>                  bts->egprs_dl_mcs3();</span><br><span>                     rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS3]);</span><br><span>                   break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::MCS4 :</span><br><span style="color: hsl(120, 100%, 40%);">+         case MCS4 :</span><br><span>                  bts->egprs_dl_mcs4();</span><br><span>                     rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS4]);</span><br><span>                   break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::MCS5 :</span><br><span style="color: hsl(120, 100%, 40%);">+         case MCS5 :</span><br><span>                  bts->egprs_dl_mcs5();</span><br><span>                     rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS5]);</span><br><span>                   break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::MCS6 :</span><br><span style="color: hsl(120, 100%, 40%);">+         case MCS6 :</span><br><span>                  bts->egprs_dl_mcs6();</span><br><span>                     rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS6]);</span><br><span>                   break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::MCS7 :</span><br><span style="color: hsl(120, 100%, 40%);">+         case MCS7 :</span><br><span>                  bts->egprs_dl_mcs7();</span><br><span>                     rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS7]);</span><br><span>                   break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::MCS8 :</span><br><span style="color: hsl(120, 100%, 40%);">+         case MCS8 :</span><br><span>                  bts->egprs_dl_mcs8();</span><br><span>                     rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS8]);</span><br><span>                   break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::MCS9 :</span><br><span style="color: hsl(120, 100%, 40%);">+         case MCS9 :</span><br><span>                  bts->egprs_dl_mcs9();</span><br><span>                     rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS9]);</span><br><span>                   break;</span><br><span>diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp</span><br><span>index 7937f8b..bc36733 100644</span><br><span>--- a/src/tbf_ul.cpp</span><br><span>+++ b/src/tbf_ul.cpp</span><br><span>@@ -501,18 +501,18 @@</span><br><span>   * upgrade the MCS to the type 2</span><br><span>      */</span><br><span>  if (assemble_status == EGPRS_RESEG_DEFAULT) {</span><br><span style="color: hsl(0, 100%, 40%);">-           switch (GprsCodingScheme::Scheme(rlc->cs)) {</span><br><span style="color: hsl(0, 100%, 40%);">-         case GprsCodingScheme::MCS3 :</span><br><span style="color: hsl(0, 100%, 40%);">-                   block->cs_last = GprsCodingScheme::MCS6;</span><br><span style="color: hsl(120, 100%, 40%);">+           switch (CodingScheme(rlc->cs)) {</span><br><span style="color: hsl(120, 100%, 40%);">+           case MCS3 :</span><br><span style="color: hsl(120, 100%, 40%);">+                   block->cs_last = MCS6;</span><br><span>                    LOGPTBFUL(this, LOGL_DEBUG, "Upgrading to MCS6\n");</span><br><span>                        break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::MCS2 :</span><br><span style="color: hsl(0, 100%, 40%);">-                   block->cs_last = GprsCodingScheme::MCS5;</span><br><span style="color: hsl(120, 100%, 40%);">+           case MCS2 :</span><br><span style="color: hsl(120, 100%, 40%);">+                   block->cs_last = MCS5;</span><br><span>                    LOGPTBFUL(this, LOGL_DEBUG, "Upgrading to MCS5\n");</span><br><span>                        break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::MCS1 :</span><br><span style="color: hsl(120, 100%, 40%);">+         case MCS1 :</span><br><span>                  LOGPTBFUL(this, LOGL_DEBUG, "Upgrading to MCS4\n");</span><br><span style="color: hsl(0, 100%, 40%);">-                   block->cs_last = GprsCodingScheme::MCS4;</span><br><span style="color: hsl(120, 100%, 40%);">+                   block->cs_last = MCS4;</span><br><span>                    break;</span><br><span>               default:</span><br><span>                     LOGPTBFUL(this, LOGL_ERROR,</span><br><span>@@ -528,61 +528,61 @@</span><br><span> {</span><br><span>     uint8_t coding_scheme = 0;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  coding_scheme = GprsCodingScheme::Scheme(cs);</span><br><span style="color: hsl(120, 100%, 40%);">+ coding_scheme = CodingScheme(cs);</span><br><span>    if (cs.isGprs()) {</span><br><span>           switch (coding_scheme) {</span><br><span style="color: hsl(0, 100%, 40%);">-                case GprsCodingScheme::CS1 :</span><br><span style="color: hsl(120, 100%, 40%);">+          case CS1 :</span><br><span>                   bts->gprs_ul_cs1();</span><br><span>                       rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS1]);</span><br><span>                      break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::CS2 :</span><br><span style="color: hsl(120, 100%, 40%);">+          case CS2 :</span><br><span>                   bts->gprs_ul_cs2();</span><br><span>                       rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS2]);</span><br><span>                      break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::CS3 :</span><br><span style="color: hsl(120, 100%, 40%);">+          case CS3 :</span><br><span>                   bts->gprs_ul_cs3();</span><br><span>                       rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS3]);</span><br><span>                      break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::CS4 :</span><br><span style="color: hsl(120, 100%, 40%);">+          case CS4 :</span><br><span>                   bts->gprs_ul_cs4();</span><br><span>                       rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS4]);</span><br><span>                      break;</span><br><span>               }</span><br><span>    } else {</span><br><span>             switch (coding_scheme) {</span><br><span style="color: hsl(0, 100%, 40%);">-                case GprsCodingScheme::MCS1 :</span><br><span style="color: hsl(120, 100%, 40%);">+         case MCS1 :</span><br><span>                  bts->egprs_ul_mcs1();</span><br><span>                     rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS1]);</span><br><span>                   break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::MCS2 :</span><br><span style="color: hsl(120, 100%, 40%);">+         case MCS2 :</span><br><span>                  bts->egprs_ul_mcs2();</span><br><span>                     rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS2]);</span><br><span>                   break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::MCS3 :</span><br><span style="color: hsl(120, 100%, 40%);">+         case MCS3 :</span><br><span>                  bts->egprs_ul_mcs3();</span><br><span>                     rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS3]);</span><br><span>                   break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::MCS4 :</span><br><span style="color: hsl(120, 100%, 40%);">+         case MCS4 :</span><br><span>                  bts->egprs_ul_mcs4();</span><br><span>                     rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS4]);</span><br><span>                   break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::MCS5 :</span><br><span style="color: hsl(120, 100%, 40%);">+         case MCS5 :</span><br><span>                  bts->egprs_ul_mcs5();</span><br><span>                     rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS5]);</span><br><span>                   break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::MCS6 :</span><br><span style="color: hsl(120, 100%, 40%);">+         case MCS6 :</span><br><span>                  bts->egprs_ul_mcs6();</span><br><span>                     rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS6]);</span><br><span>                   break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::MCS7 :</span><br><span style="color: hsl(120, 100%, 40%);">+         case MCS7 :</span><br><span>                  bts->egprs_ul_mcs7();</span><br><span>                     rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS7]);</span><br><span>                   break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::MCS8 :</span><br><span style="color: hsl(120, 100%, 40%);">+         case MCS8 :</span><br><span>                  bts->egprs_ul_mcs8();</span><br><span>                     rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS8]);</span><br><span>                   break;</span><br><span style="color: hsl(0, 100%, 40%);">-          case GprsCodingScheme::MCS9 :</span><br><span style="color: hsl(120, 100%, 40%);">+         case MCS9 :</span><br><span>                  bts->egprs_ul_mcs9();</span><br><span>                     rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS9]);</span><br><span>                   break;</span><br><span>diff --git a/tests/edge/EdgeTest.cpp b/tests/edge/EdgeTest.cpp</span><br><span>index 0cb123e..9db90ca 100644</span><br><span>--- a/tests/edge/EdgeTest.cpp</span><br><span>+++ b/tests/edge/EdgeTest.cpp</span><br><span>@@ -121,33 +121,33 @@</span><br><span>      unsigned i;</span><br><span>  uint8_t last_size_UL;</span><br><span>        uint8_t last_size_DL;</span><br><span style="color: hsl(0, 100%, 40%);">-   GprsCodingScheme::Scheme gprs_schemes[] = {</span><br><span style="color: hsl(0, 100%, 40%);">-             GprsCodingScheme::CS1,</span><br><span style="color: hsl(0, 100%, 40%);">-          GprsCodingScheme::CS2,</span><br><span style="color: hsl(0, 100%, 40%);">-          GprsCodingScheme::CS3,</span><br><span style="color: hsl(0, 100%, 40%);">-          GprsCodingScheme::CS4</span><br><span style="color: hsl(120, 100%, 40%);">+ CodingScheme gprs_schemes[] = {</span><br><span style="color: hsl(120, 100%, 40%);">+               CS1,</span><br><span style="color: hsl(120, 100%, 40%);">+          CS2,</span><br><span style="color: hsl(120, 100%, 40%);">+          CS3,</span><br><span style="color: hsl(120, 100%, 40%);">+          CS4</span><br><span>  };</span><br><span>   struct {</span><br><span style="color: hsl(0, 100%, 40%);">-                GprsCodingScheme::Scheme s;</span><br><span style="color: hsl(120, 100%, 40%);">+           CodingScheme s;</span><br><span>              bool is_gmsk;</span><br><span>        } egprs_schemes[] = {</span><br><span style="color: hsl(0, 100%, 40%);">-           {GprsCodingScheme::MCS1, true},</span><br><span style="color: hsl(0, 100%, 40%);">-         {GprsCodingScheme::MCS2, true},</span><br><span style="color: hsl(0, 100%, 40%);">-         {GprsCodingScheme::MCS3, true},</span><br><span style="color: hsl(0, 100%, 40%);">-         {GprsCodingScheme::MCS4, true},</span><br><span style="color: hsl(0, 100%, 40%);">-         {GprsCodingScheme::MCS5, false},</span><br><span style="color: hsl(0, 100%, 40%);">-                {GprsCodingScheme::MCS6, false},</span><br><span style="color: hsl(0, 100%, 40%);">-                {GprsCodingScheme::MCS7, false},</span><br><span style="color: hsl(0, 100%, 40%);">-                {GprsCodingScheme::MCS8, false},</span><br><span style="color: hsl(0, 100%, 40%);">-                {GprsCodingScheme::MCS9, false},</span><br><span style="color: hsl(120, 100%, 40%);">+              { MCS1, true},</span><br><span style="color: hsl(120, 100%, 40%);">+                { MCS2, true},</span><br><span style="color: hsl(120, 100%, 40%);">+                { MCS3, true},</span><br><span style="color: hsl(120, 100%, 40%);">+                { MCS4, true},</span><br><span style="color: hsl(120, 100%, 40%);">+                { MCS5, false},</span><br><span style="color: hsl(120, 100%, 40%);">+               { MCS6, false},</span><br><span style="color: hsl(120, 100%, 40%);">+               { MCS7, false},</span><br><span style="color: hsl(120, 100%, 40%);">+               { MCS8, false},</span><br><span style="color: hsl(120, 100%, 40%);">+               { MCS9, false},</span><br><span>      };</span><br><span> </span><br><span>       printf("=== start %s ===\n", __func__);</span><br><span> </span><br><span>        GprsCodingScheme cs;</span><br><span>         OSMO_ASSERT(!cs);</span><br><span style="color: hsl(0, 100%, 40%);">-       OSMO_ASSERT(GprsCodingScheme::Scheme(cs) == GprsCodingScheme::UNKNOWN);</span><br><span style="color: hsl(0, 100%, 40%);">- OSMO_ASSERT(cs == GprsCodingScheme(GprsCodingScheme::UNKNOWN));</span><br><span style="color: hsl(120, 100%, 40%);">+       OSMO_ASSERT(CodingScheme(cs) == UNKNOWN);</span><br><span style="color: hsl(120, 100%, 40%);">+     OSMO_ASSERT(cs == GprsCodingScheme(UNKNOWN));</span><br><span>        OSMO_ASSERT(!cs.isCompatible(GprsCodingScheme::GPRS));</span><br><span>       OSMO_ASSERT(!cs.isCompatible(GprsCodingScheme::EGPRS_GMSK));</span><br><span>         OSMO_ASSERT(!cs.isCompatible(GprsCodingScheme::EGPRS));</span><br><span>@@ -160,7 +160,7 @@</span><br><span>                OSMO_ASSERT(current_cs.isGprs());</span><br><span>            OSMO_ASSERT(!current_cs.isEgprs());</span><br><span>          OSMO_ASSERT(!current_cs.isEgprsGmsk());</span><br><span style="color: hsl(0, 100%, 40%);">-         OSMO_ASSERT(GprsCodingScheme::Scheme(current_cs) == gprs_schemes[i]);</span><br><span style="color: hsl(120, 100%, 40%);">+         OSMO_ASSERT(CodingScheme(current_cs) == gprs_schemes[i]);</span><br><span>            OSMO_ASSERT(current_cs == GprsCodingScheme(gprs_schemes[i]));</span><br><span> </span><br><span>            OSMO_ASSERT(check_strong_monotonicity(&current_cs, last_size_UL, last_size_DL));</span><br><span>@@ -183,7 +183,7 @@</span><br><span>           OSMO_ASSERT(!current_cs.isGprs());</span><br><span>           OSMO_ASSERT(current_cs.isEgprs());</span><br><span>           OSMO_ASSERT(!!current_cs.isEgprsGmsk() == !!egprs_schemes[i].is_gmsk);</span><br><span style="color: hsl(0, 100%, 40%);">-          OSMO_ASSERT(GprsCodingScheme::Scheme(current_cs) == egprs_schemes[i].s);</span><br><span style="color: hsl(120, 100%, 40%);">+              OSMO_ASSERT(CodingScheme(current_cs) == egprs_schemes[i].s);</span><br><span>                 OSMO_ASSERT(current_cs == GprsCodingScheme(egprs_schemes[i].s));</span><br><span> </span><br><span>                 OSMO_ASSERT(check_strong_monotonicity(&current_cs, last_size_UL, last_size_DL));</span><br><span>@@ -213,7 +213,7 @@</span><br><span>   printf("=== start %s ===\n", __func__);</span><br><span> </span><br><span>        /* TS 44.060, B.1 */</span><br><span style="color: hsl(0, 100%, 40%);">-    cs = GprsCodingScheme::CS4;</span><br><span style="color: hsl(120, 100%, 40%);">+   cs = CS4;</span><br><span>    rdbi.data_len = cs.maxDataBlockBytes();</span><br><span>      rdbi.e = 0;</span><br><span>  rdbi.ti = 0;</span><br><span>@@ -237,7 +237,7 @@</span><br><span>   OSMO_ASSERT(!chunks[2].is_complete);</span><br><span> </span><br><span>     /* TS 44.060, B.2 */</span><br><span style="color: hsl(0, 100%, 40%);">-    cs = GprsCodingScheme::CS1;</span><br><span style="color: hsl(120, 100%, 40%);">+   cs = CS1;</span><br><span>    rdbi.data_len = cs.maxDataBlockBytes();</span><br><span>      rdbi.e = 0;</span><br><span>  rdbi.ti = 0;</span><br><span>@@ -271,7 +271,7 @@</span><br><span>   OSMO_ASSERT(!chunks[1].is_complete);</span><br><span> </span><br><span>     /* TS 44.060, B.3 */</span><br><span style="color: hsl(0, 100%, 40%);">-    cs = GprsCodingScheme::CS1;</span><br><span style="color: hsl(120, 100%, 40%);">+   cs = CS1;</span><br><span>    rdbi.data_len = cs.maxDataBlockBytes();</span><br><span>      rdbi.e = 0;</span><br><span>  rdbi.ti = 0;</span><br><span>@@ -292,7 +292,7 @@</span><br><span>   OSMO_ASSERT(chunks[1].is_complete);</span><br><span> </span><br><span>      /* TS 44.060, B.4 */</span><br><span style="color: hsl(0, 100%, 40%);">-    cs = GprsCodingScheme::CS1;</span><br><span style="color: hsl(120, 100%, 40%);">+   cs = CS1;</span><br><span>    rdbi.data_len = cs.maxDataBlockBytes();</span><br><span>      rdbi.e = 1;</span><br><span>  rdbi.ti = 0;</span><br><span>@@ -308,7 +308,7 @@</span><br><span>   OSMO_ASSERT(!chunks[0].is_complete);</span><br><span> </span><br><span>     /* TS 44.060, B.6 */</span><br><span style="color: hsl(0, 100%, 40%);">-    cs = GprsCodingScheme::CS1;</span><br><span style="color: hsl(120, 100%, 40%);">+   cs = CS1;</span><br><span>    rdbi.data_len = cs.maxDataBlockBytes();</span><br><span>      rdbi.e = 1;</span><br><span>  rdbi.ti = 0;</span><br><span>@@ -324,7 +324,7 @@</span><br><span>   OSMO_ASSERT(chunks[0].is_complete);</span><br><span> </span><br><span>      /* TS 44.060, B.8.1 */</span><br><span style="color: hsl(0, 100%, 40%);">-  cs = GprsCodingScheme::MCS4;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS4;</span><br><span>   rdbi.data_len = cs.maxDataBlockBytes();</span><br><span>      rdbi.e = 0;</span><br><span>  rdbi.ti = 0;</span><br><span>@@ -353,7 +353,7 @@</span><br><span>    * includes the FBI/E header bits into the N2 octet count which</span><br><span>       * is not consistent with Section 10.3a.1 & 10.3a.2. */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- cs = GprsCodingScheme::MCS2;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS2;</span><br><span>   rdbi.data_len = cs.maxDataBlockBytes();</span><br><span>      rdbi.e = 0;</span><br><span>  rdbi.ti = 0;</span><br><span>@@ -417,7 +417,7 @@</span><br><span> </span><br><span>       /* Note that the spec confuses the byte numbering here, too (see above) */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  cs = GprsCodingScheme::MCS2;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS2;</span><br><span>   rdbi.data_len = cs.maxDataBlockBytes();</span><br><span>      rdbi.e = 1;</span><br><span>  rdbi.ti = 0;</span><br><span>@@ -433,7 +433,7 @@</span><br><span>   OSMO_ASSERT(chunks[0].is_complete);</span><br><span> </span><br><span>      /* CS-1, TLLI, last block, single chunk until the end of the block */</span><br><span style="color: hsl(0, 100%, 40%);">-   cs = GprsCodingScheme::CS1;</span><br><span style="color: hsl(120, 100%, 40%);">+   cs = CS1;</span><br><span>    rdbi.data_len = cs.maxDataBlockBytes();</span><br><span>      rdbi.e = 1;</span><br><span>  rdbi.ti = 1;</span><br><span>@@ -454,7 +454,7 @@</span><br><span>   OSMO_ASSERT(chunks[0].is_complete);</span><br><span> </span><br><span>      /* Like TS 44.060, B.2, first RLC block but with TLLI */</span><br><span style="color: hsl(0, 100%, 40%);">-        cs = GprsCodingScheme::CS1;</span><br><span style="color: hsl(120, 100%, 40%);">+   cs = CS1;</span><br><span>    rdbi.data_len = cs.maxDataBlockBytes();</span><br><span>      rdbi.e = 0;</span><br><span>  rdbi.ti = 1;</span><br><span>@@ -476,7 +476,7 @@</span><br><span>   OSMO_ASSERT(!chunks[0].is_complete);</span><br><span> </span><br><span>     /* Like TS 44.060, B.8.1 but with TLLI */</span><br><span style="color: hsl(0, 100%, 40%);">-       cs = GprsCodingScheme::MCS4;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS4;</span><br><span>   rdbi.data_len = cs.maxDataBlockBytes();</span><br><span>      rdbi.e = 0;</span><br><span>  rdbi.ti = 1;</span><br><span>@@ -543,7 +543,7 @@</span><br><span>   llc.init();</span><br><span> </span><br><span>      /* TS 44.060, B.1 */</span><br><span style="color: hsl(0, 100%, 40%);">-    cs = GprsCodingScheme::CS4;</span><br><span style="color: hsl(120, 100%, 40%);">+   cs = CS4;</span><br><span>    gprs_rlc_data_block_info_init(&rdbi, cs, false, 0);</span><br><span>      num_chunks = 0;</span><br><span>      write_offset = 0;</span><br><span>@@ -594,7 +594,7 @@</span><br><span>      OSMO_ASSERT(data[2] == 0);</span><br><span> </span><br><span>       /* TS 44.060, B.2 */</span><br><span style="color: hsl(0, 100%, 40%);">-    cs = GprsCodingScheme::CS1;</span><br><span style="color: hsl(120, 100%, 40%);">+   cs = CS1;</span><br><span> </span><br><span>        /* Block 1 */</span><br><span>        gprs_rlc_data_block_info_init(&rdbi, cs, false, 0);</span><br><span>@@ -654,7 +654,7 @@</span><br><span>        OSMO_ASSERT(data[1] == 0);</span><br><span> </span><br><span>       /* TS 44.060, B.3 */</span><br><span style="color: hsl(0, 100%, 40%);">-    cs = GprsCodingScheme::CS1;</span><br><span style="color: hsl(120, 100%, 40%);">+   cs = CS1;</span><br><span> </span><br><span>        /* Block 1 */</span><br><span>        gprs_rlc_data_block_info_init(&rdbi, cs, false, 0);</span><br><span>@@ -693,7 +693,7 @@</span><br><span>        OSMO_ASSERT(data[2] == 0);</span><br><span> </span><br><span>       /* TS 44.060, B.4 */</span><br><span style="color: hsl(0, 100%, 40%);">-    cs = GprsCodingScheme::CS1;</span><br><span style="color: hsl(120, 100%, 40%);">+   cs = CS1;</span><br><span> </span><br><span>        /* Block 1 */</span><br><span>        gprs_rlc_data_block_info_init(&rdbi, cs, false, 0);</span><br><span>@@ -718,7 +718,7 @@</span><br><span>        OSMO_ASSERT(data[0] == 0);</span><br><span> </span><br><span>       /* TS 44.060, B.5 */</span><br><span style="color: hsl(0, 100%, 40%);">-    cs = GprsCodingScheme::CS1;</span><br><span style="color: hsl(120, 100%, 40%);">+   cs = CS1;</span><br><span> </span><br><span>        /* Block 1 */</span><br><span>        gprs_rlc_data_block_info_init(&rdbi, cs, false, 0);</span><br><span>@@ -743,7 +743,7 @@</span><br><span>        OSMO_ASSERT(data[0] == 0);</span><br><span> </span><br><span>       /* TS 44.060, B.7 */</span><br><span style="color: hsl(0, 100%, 40%);">-    cs = GprsCodingScheme::CS1;</span><br><span style="color: hsl(120, 100%, 40%);">+   cs = CS1;</span><br><span> </span><br><span>        /* Block 1 */</span><br><span>        gprs_rlc_data_block_info_init(&rdbi, cs, false, 0);</span><br><span>@@ -801,7 +801,7 @@</span><br><span>        OSMO_ASSERT(data[1] == 0);</span><br><span> </span><br><span>       /* TS 44.060, B.8.1 */</span><br><span style="color: hsl(0, 100%, 40%);">-  cs = GprsCodingScheme::MCS4;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS4;</span><br><span> </span><br><span>       /* Block 1 */</span><br><span>        gprs_rlc_data_block_info_init(&rdbi, cs, false, 0);</span><br><span>@@ -859,7 +859,7 @@</span><br><span>         * includes the FBI/E header bits into the N2 octet count which</span><br><span>       * is not consistent with Section 10.3a.1 & 10.3a.2. */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- cs = GprsCodingScheme::MCS2;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS2;</span><br><span> </span><br><span>       /* Block 1 */</span><br><span>        gprs_rlc_data_block_info_init(&rdbi, cs, false, 0);</span><br><span>@@ -991,7 +991,7 @@</span><br><span> </span><br><span>    /* Note that the spec confuses the byte numbering here, too (see above) */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  cs = GprsCodingScheme::MCS2;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS2;</span><br><span> </span><br><span>       /* Block 1 */</span><br><span>        gprs_rlc_data_block_info_init(&rdbi, cs, false, 0);</span><br><span>@@ -1017,7 +1017,7 @@</span><br><span> </span><br><span>  /* Final block with an LLC of size data_len-1 */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    cs = GprsCodingScheme::MCS2;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS2;</span><br><span> </span><br><span>       /* Block 1 */</span><br><span>        gprs_rlc_data_block_info_init(&rdbi, cs, false, 0);</span><br><span>@@ -1045,7 +1045,7 @@</span><br><span> </span><br><span>  /* Final block with an LLC of size data_len-2 */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    cs = GprsCodingScheme::MCS2;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS2;</span><br><span> </span><br><span>       /* Block 1 */</span><br><span>        gprs_rlc_data_block_info_init(&rdbi, cs, false, 0);</span><br><span>@@ -1081,13 +1081,13 @@</span><br><span>    uint8_t saved_block[256];</span><br><span>    uint8_t test_block[256];</span><br><span>     uint8_t out_block[256];</span><br><span style="color: hsl(0, 100%, 40%);">- GprsCodingScheme::Scheme scheme;</span><br><span style="color: hsl(120, 100%, 40%);">+      CodingScheme scheme;</span><br><span>         int pattern;</span><br><span>         volatile unsigned int block_idx, i;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- for (scheme = GprsCodingScheme::CS1;</span><br><span style="color: hsl(0, 100%, 40%);">-            scheme < GprsCodingScheme::NUM_SCHEMES;</span><br><span style="color: hsl(0, 100%, 40%);">-              scheme = GprsCodingScheme::Scheme(scheme + 1))</span><br><span style="color: hsl(120, 100%, 40%);">+        for (scheme = CS1;</span><br><span style="color: hsl(120, 100%, 40%);">+            scheme < NUM_SCHEMES;</span><br><span style="color: hsl(120, 100%, 40%);">+              scheme = CodingScheme(scheme + 1))</span><br><span>   {</span><br><span>            GprsCodingScheme cs(scheme);</span><br><span> </span><br><span>@@ -1148,13 +1148,13 @@</span><br><span> </span><br><span>       printf("=== start %s ===\n", __func__);</span><br><span>    gprs_rlc_data_info_init_dl(&rlc,</span><br><span style="color: hsl(0, 100%, 40%);">-                    GprsCodingScheme(GprsCodingScheme::CS1), false, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+                   GprsCodingScheme(CS1), false, 0);</span><br><span>    OSMO_ASSERT(rlc.num_data_blocks == 1);</span><br><span>       OSMO_ASSERT(rlc.data_offs_bits[0] == 24);</span><br><span>    OSMO_ASSERT(rlc.block_info[0].data_len == 20);</span><br><span> </span><br><span>   gprs_rlc_data_info_init_dl(&rlc,</span><br><span style="color: hsl(0, 100%, 40%);">-                    GprsCodingScheme(GprsCodingScheme::MCS1), false, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+                  GprsCodingScheme(MCS1), false, 0);</span><br><span>   OSMO_ASSERT(rlc.num_data_blocks == 1);</span><br><span>       OSMO_ASSERT(rlc.data_offs_bits[0] == 33);</span><br><span>    OSMO_ASSERT(rlc.block_info[0].data_len == 22);</span><br><span>@@ -1193,7 +1193,7 @@</span><br><span>       int rc, offs;</span><br><span> </span><br><span>    /*without padding*/</span><br><span style="color: hsl(0, 100%, 40%);">-     cs = GprsCodingScheme::MCS5;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS5;</span><br><span>   egprs2 = (struct gprs_rlc_ul_header_egprs_2 *) data;</span><br><span>         egprs2->r = 1;</span><br><span>    egprs2->si = 1;</span><br><span>@@ -1218,7 +1218,7 @@</span><br><span>   OSMO_ASSERT(rlc.block_info[0].bsn == 0);</span><br><span> </span><br><span>         /* with padding case */</span><br><span style="color: hsl(0, 100%, 40%);">- cs = GprsCodingScheme::MCS6;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS6;</span><br><span>   egprs2 = (struct gprs_rlc_ul_header_egprs_2 *) data;</span><br><span>         egprs2->r = 1;</span><br><span>    egprs2->si = 1;</span><br><span>@@ -1298,7 +1298,7 @@</span><br><span>   tfi = 1;</span><br><span> </span><br><span>         /* MCS 7 */</span><br><span style="color: hsl(0, 100%, 40%);">-     cs = GprsCodingScheme::MCS7;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS7;</span><br><span>   egprs1 = (struct gprs_rlc_ul_header_egprs_1 *) data;</span><br><span>         egprs1->si = 1;</span><br><span>   egprs1->r = 1;</span><br><span>@@ -1326,7 +1326,7 @@</span><br><span>    OSMO_ASSERT(rlc.tfi == 1);</span><br><span> </span><br><span>       /* MCS 8 */</span><br><span style="color: hsl(0, 100%, 40%);">-     cs = GprsCodingScheme::MCS8;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS8;</span><br><span>   egprs1 = (struct gprs_rlc_ul_header_egprs_1 *) data;</span><br><span>         egprs1->si = 1;</span><br><span>   egprs1->r = 1;</span><br><span>@@ -1354,7 +1354,7 @@</span><br><span>    OSMO_ASSERT(rlc.tfi == 1);</span><br><span> </span><br><span>       /* MCS 9 */</span><br><span style="color: hsl(0, 100%, 40%);">-     cs = GprsCodingScheme::MCS9;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS9;</span><br><span>   egprs1 = (struct gprs_rlc_ul_header_egprs_1 *) data;</span><br><span>         egprs1->si = 1;</span><br><span>   egprs1->r = 1;</span><br><span>diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp</span><br><span>index d78a4ab..0d473a1 100644</span><br><span>--- a/tests/tbf/TbfTest.cpp</span><br><span>+++ b/tests/tbf/TbfTest.cpp</span><br><span>@@ -720,7 +720,7 @@</span><br><span>      * TS 44.060, B.8.1</span><br><span>   * first seg received first, later second seg</span><br><span>         */</span><br><span style="color: hsl(0, 100%, 40%);">-     cs = GprsCodingScheme::MCS3;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS3;</span><br><span>   egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg;</span><br><span>     egprs3->si = 0;</span><br><span>   egprs3->r = 1;</span><br><span>@@ -872,7 +872,7 @@</span><br><span>       * TS 44.060, B.8.1</span><br><span>   * first seg received first, later second seg</span><br><span>         */</span><br><span style="color: hsl(0, 100%, 40%);">-     cs = GprsCodingScheme::MCS3;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS3;</span><br><span>   egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg;</span><br><span>     egprs3->si = 1;</span><br><span>   egprs3->r = 1;</span><br><span>@@ -917,7 +917,7 @@</span><br><span>      OSMO_ASSERT(block->spb_status.block_status_ul ==</span><br><span>                          EGPRS_RESEG_DEFAULT);</span><br><span>        OSMO_ASSERT(block->cs_last ==</span><br><span style="color: hsl(0, 100%, 40%);">-                        GprsCodingScheme::MCS6);</span><br><span style="color: hsl(120, 100%, 40%);">+                      MCS6);</span><br><span>       /* Assembled MCS is MCS6. so the size is 74 */</span><br><span>       OSMO_ASSERT(block->len == 74);</span><br><span> </span><br><span>@@ -927,7 +927,7 @@</span><br><span>   */</span><br><span>  memset(data_msg, 0, sizeof(data_msg));</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      cs = GprsCodingScheme::MCS3;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS3;</span><br><span>   egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg;</span><br><span>     egprs3->si = 1;</span><br><span>   egprs3->r = 1;</span><br><span>@@ -972,7 +972,7 @@</span><br><span>      OSMO_ASSERT(block->spb_status.block_status_ul ==</span><br><span>                          EGPRS_RESEG_DEFAULT);</span><br><span>        OSMO_ASSERT(block->cs_last ==</span><br><span style="color: hsl(0, 100%, 40%);">-                        GprsCodingScheme::MCS6);</span><br><span style="color: hsl(120, 100%, 40%);">+                      MCS6);</span><br><span>       /* Assembled MCS is MCS6. so the size is 74 */</span><br><span>       OSMO_ASSERT(block->len == 74);</span><br><span> </span><br><span>@@ -980,7 +980,7 @@</span><br><span>   * TS 44.060, B.8.1</span><br><span>   * Error scenario with spb as 1</span><br><span>       */</span><br><span style="color: hsl(0, 100%, 40%);">-     cs = GprsCodingScheme::MCS3;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS3;</span><br><span>   egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg;</span><br><span>     egprs3->si = 1;</span><br><span>   egprs3->r = 1;</span><br><span>@@ -1017,7 +1017,7 @@</span><br><span>    for (i = 0; i < 42; i++)</span><br><span>          data_msg[i] = i;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    cs = GprsCodingScheme::MCS3;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS3;</span><br><span>   egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg;</span><br><span>     egprs3->si = 1;</span><br><span>   egprs3->r = 1;</span><br><span>@@ -1041,7 +1041,7 @@</span><br><span>    OSMO_ASSERT(block->spb_status.block_status_ul ==</span><br><span>                          EGPRS_RESEG_FIRST_SEG_RXD);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- cs = GprsCodingScheme::MCS3;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS3;</span><br><span>   egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg;</span><br><span>     egprs3->si = 1;</span><br><span>   egprs3->r = 1;</span><br><span>@@ -1067,9 +1067,9 @@</span><br><span>    /* Assembled MCS is MCS6. so the size is 74 */</span><br><span>       OSMO_ASSERT(block->len == 74);</span><br><span>    OSMO_ASSERT(block->cs_last ==</span><br><span style="color: hsl(0, 100%, 40%);">-                        GprsCodingScheme::MCS6);</span><br><span style="color: hsl(120, 100%, 40%);">+                      MCS6);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      cs = GprsCodingScheme::MCS3;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS3;</span><br><span>   egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg;</span><br><span>     egprs3->si = 1;</span><br><span>   egprs3->r = 1;</span><br><span>@@ -1093,7 +1093,7 @@</span><br><span>    OSMO_ASSERT(block->spb_status.block_status_ul ==</span><br><span>                          EGPRS_RESEG_FIRST_SEG_RXD);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- cs = GprsCodingScheme::MCS3;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS3;</span><br><span>   egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg;</span><br><span>     egprs3->si = 1;</span><br><span>   egprs3->r = 1;</span><br><span>@@ -1117,7 +1117,7 @@</span><br><span>    OSMO_ASSERT(block->spb_status.block_status_ul ==</span><br><span>                          EGPRS_RESEG_FIRST_SEG_RXD);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- cs = GprsCodingScheme::MCS3;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS3;</span><br><span>   egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg;</span><br><span>     egprs3->si = 1;</span><br><span>   egprs3->r = 1;</span><br><span>@@ -1141,11 +1141,11 @@</span><br><span>  OSMO_ASSERT(block->spb_status.block_status_ul ==</span><br><span>                          EGPRS_RESEG_DEFAULT);</span><br><span>        OSMO_ASSERT(block->cs_last ==</span><br><span style="color: hsl(0, 100%, 40%);">-                        GprsCodingScheme::MCS6);</span><br><span style="color: hsl(120, 100%, 40%);">+                      MCS6);</span><br><span>       /* Assembled MCS is MCS6. so the size is 74 */</span><br><span>       OSMO_ASSERT(block->len == 74);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   cs = GprsCodingScheme::MCS3;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS3;</span><br><span>   egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg;</span><br><span>     egprs3->si = 1;</span><br><span>   egprs3->r = 1;</span><br><span>@@ -1169,7 +1169,7 @@</span><br><span>    OSMO_ASSERT(block->spb_status.block_status_ul ==</span><br><span>                          EGPRS_RESEG_SECOND_SEG_RXD);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        cs = GprsCodingScheme::MCS3;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS3;</span><br><span>   egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg;</span><br><span>     egprs3->si = 1;</span><br><span>   egprs3->r = 1;</span><br><span>@@ -1194,7 +1194,7 @@</span><br><span>    OSMO_ASSERT(block->spb_status.block_status_ul ==</span><br><span>                          EGPRS_RESEG_DEFAULT);</span><br><span>        OSMO_ASSERT(block->cs_last ==</span><br><span style="color: hsl(0, 100%, 40%);">-                        GprsCodingScheme::MCS6);</span><br><span style="color: hsl(120, 100%, 40%);">+                      MCS6);</span><br><span>       /* Assembled MCS is MCS6. so the size is 74 */</span><br><span>       OSMO_ASSERT(block->len == 74);</span><br><span> </span><br><span>@@ -2407,7 +2407,7 @@</span><br><span>        OSMO_ASSERT(ms->ta() == qta/4);</span><br><span>   OSMO_ASSERT(ms->ul_tbf() == ul_tbf);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     cs = GprsCodingScheme::MCS4;</span><br><span style="color: hsl(120, 100%, 40%);">+  cs = MCS4;</span><br><span>   egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg;</span><br><span>     egprs3->si = 0;</span><br><span>   egprs3->r = 1;</span><br><span>@@ -2793,8 +2793,8 @@</span><br><span>    OSMO_ASSERT(bsn1 == 0);</span><br><span> </span><br><span>  dl_tbf->ms()->set_current_cs_dl</span><br><span style="color: hsl(0, 100%, 40%);">-           (static_cast < GprsCodingScheme::Scheme ></span><br><span style="color: hsl(0, 100%, 40%);">-                 (GprsCodingScheme::CS4 + demanded_mcs));</span><br><span style="color: hsl(120, 100%, 40%);">+              (static_cast < CodingScheme ></span><br><span style="color: hsl(120, 100%, 40%);">+                   (CS4 + demanded_mcs));</span><br><span> </span><br><span>   fn = fn_add_blocks(fn, 1);</span><br><span> </span><br><span>@@ -2825,8 +2825,8 @@</span><br><span> </span><br><span>   /* Handle (MCS3, MCS3) -> MCS6 case */</span><br><span>    dl_tbf->ms()->set_current_cs_dl</span><br><span style="color: hsl(0, 100%, 40%);">-           (static_cast < GprsCodingScheme::Scheme ></span><br><span style="color: hsl(0, 100%, 40%);">-                 (GprsCodingScheme::CS4 + mcs));</span><br><span style="color: hsl(120, 100%, 40%);">+               (static_cast < CodingScheme ></span><br><span style="color: hsl(120, 100%, 40%);">+                   (CS4 + mcs));</span><br><span> </span><br><span>    NACK(dl_tbf, 0);</span><br><span> </span><br><span>@@ -2874,8 +2874,8 @@</span><br><span>         NACK(dl_tbf, 0);</span><br><span> </span><br><span>         dl_tbf->ms()->set_current_cs_dl</span><br><span style="color: hsl(0, 100%, 40%);">-           (static_cast < GprsCodingScheme::Scheme ></span><br><span style="color: hsl(0, 100%, 40%);">-                 (GprsCodingScheme::CS4 + demanded_mcs));</span><br><span style="color: hsl(120, 100%, 40%);">+              (static_cast < CodingScheme ></span><br><span style="color: hsl(120, 100%, 40%);">+                   (CS4 + demanded_mcs));</span><br><span> </span><br><span>   fn = fn_add_blocks(fn, 1);</span><br><span> </span><br><span>@@ -2961,8 +2961,8 @@</span><br><span> </span><br><span>           /* Set the demanded MCS to demanded_mcs */</span><br><span>           dl_tbf->ms()->set_current_cs_dl</span><br><span style="color: hsl(0, 100%, 40%);">-                   (static_cast < GprsCodingScheme::Scheme ></span><br><span style="color: hsl(0, 100%, 40%);">-                         (GprsCodingScheme::CS4 + demanded_mcs));</span><br><span style="color: hsl(120, 100%, 40%);">+                      (static_cast < CodingScheme ></span><br><span style="color: hsl(120, 100%, 40%);">+                           (CS4 + demanded_mcs));</span><br><span> </span><br><span>           fn = fn_add_blocks(fn, 1);</span><br><span>           /* Retransmit the first RLC data block with demanded_mcs */</span><br><span>@@ -2988,8 +2988,8 @@</span><br><span>          NACK(dl_tbf, 1);</span><br><span> </span><br><span>                 dl_tbf->ms()->set_current_cs_dl</span><br><span style="color: hsl(0, 100%, 40%);">-                   (static_cast < GprsCodingScheme::Scheme ></span><br><span style="color: hsl(0, 100%, 40%);">-                         (GprsCodingScheme::CS4 + demanded_mcs));</span><br><span style="color: hsl(120, 100%, 40%);">+                      (static_cast < CodingScheme ></span><br><span style="color: hsl(120, 100%, 40%);">+                           (CS4 + demanded_mcs));</span><br><span> </span><br><span>           fn = fn_add_blocks(fn, 1);</span><br><span>           /* Send first, second RLC data blocks with demanded_mcs */</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/13064">change 13064</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/13064"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-pcu </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I993b49d9a82b8c7ad677d52d11003794aeabe117 </div>
<div style="display:none"> Gerrit-Change-Number: 13064 </div>
<div style="display:none"> Gerrit-PatchSet: 5 </div>
<div style="display:none"> Gerrit-Owner: Max <msuraev@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder (1000002) </div>
<div style="display:none"> Gerrit-Reviewer: Max <msuraev@sysmocom.de> </div>