TBF: make UL ack state internal

* add functions/macros for setting TBF's UL ack state
* add functions for checking TBF's UL ack state

N. B: this should not be confused with TBF-UL state.

Change-Id: I144483447d4b0b93e775da0e926ee45eb8ab39f3
Related: OS#1539
diff --git a/src/tbf.cpp b/src/tbf.cpp
index 0cb54bc..b99c521 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -60,6 +60,13 @@
  	{ 0, NULL }
 };
 
+const struct value_string gprs_rlcmac_tbf_ul_ack_state_names[] = {
+	OSMO_VALUE_STRING(GPRS_RLCMAC_UL_ACK_NONE),
+	OSMO_VALUE_STRING(GPRS_RLCMAC_UL_ACK_SEND_ACK), /* send acknowledge on next RTS */
+	OSMO_VALUE_STRING(GPRS_RLCMAC_UL_ACK_WAIT_ACK), /* wait for PACKET CONTROL ACK */
+	{ 0, NULL }
+};
+
 static const struct value_string tbf_timers_names[] = {
 	OSMO_VALUE_STRING(T0),
 	OSMO_VALUE_STRING(T3169),
@@ -165,7 +172,6 @@
 	first_ts(0),
 	first_common_ts(0),
 	control_ts(0xff),
-	ul_ack_state(GPRS_RLCMAC_UL_ACK_NONE),
 	poll_state(GPRS_RLCMAC_POLL_NONE),
 	poll_fn(0),
 	poll_ts(0),
@@ -185,6 +191,7 @@
 	state(GPRS_RLCMAC_NULL),
 	dl_ass_state(GPRS_RLCMAC_DL_ASS_NONE),
 	ul_ass_state(GPRS_RLCMAC_UL_ASS_NONE),
+	ul_ack_state(GPRS_RLCMAC_UL_ACK_NONE),
 	m_list(this),
 	m_ms_list(this),
 	m_egprs_enabled(false)