tbf: Move the current CS field to GprsMs

Currently the current CS value is stored in the cs field of
gprs_rlcmac_tbf and initialised when it is used the first time.

This commit adds separate fields for UL and DL CS values to the
GprsMs class and provides corresponding getter methods for GprsMs and
gprs_rlcmac_tbf.

Ticket: #1739
Sponsored-by: On-Waves ehf
diff --git a/src/gprs_ms.h b/src/gprs_ms.h
index 7c71bd1..0185836 100644
--- a/src/gprs_ms.h
+++ b/src/gprs_ms.h
@@ -72,6 +72,9 @@
 	uint8_t ms_class() const;
 	void set_ms_class(uint8_t ms_class);
 
+	uint8_t current_cs_ul() const;
+	uint8_t current_cs_dl() const;
+
 	gprs_llc_queue *llc_queue();
 	const gprs_llc_queue *llc_queue() const;
 
@@ -114,6 +117,10 @@
 	char m_imsi[16];
 	uint8_t m_ta;
 	uint8_t m_ms_class;
+	/* current coding scheme */
+	uint8_t m_current_cs_ul;
+	uint8_t m_current_cs_dl;
+
 	gprs_llc_queue m_llc_queue;
 
 	bool m_is_idle;
@@ -151,6 +158,16 @@
 	return m_ms_class;
 }
 
+inline uint8_t GprsMs::current_cs_dl() const
+{
+	return m_current_cs_dl;
+}
+
+inline uint8_t GprsMs::current_cs_ul() const
+{
+	return m_current_cs_ul;
+}
+
 inline void GprsMs::set_timeout(unsigned secs)
 {
 	m_delay = secs;