TBF: make UL/DL state internal

* add functions/macros for setting TBF's UL/DL state
* add functions for checking TBF's UL/DL state
* move pre-free check into separate function

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

Change-Id: Idcbf5775d17b1247f2ed01788f9b0788ce66e871
Related: OS#1539
diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp
index 8925032..a87217f 100644
--- a/src/gprs_rlcmac_sched.cpp
+++ b/src/gprs_rlcmac_sched.cpp
@@ -54,11 +54,10 @@
 			*poll_tbf = ul_tbf;
 		if (ul_tbf->ul_ack_state == GPRS_RLCMAC_UL_ACK_SEND_ACK)
 			*ul_ack_tbf = ul_tbf;
-		if (ul_tbf->dl_ass_state == GPRS_RLCMAC_DL_ASS_SEND_ASS)
+		if (ul_tbf->dl_ass_state_is(GPRS_RLCMAC_DL_ASS_SEND_ASS))
 			*dl_ass_tbf = ul_tbf;
-		if (ul_tbf->ul_ass_state == GPRS_RLCMAC_UL_ASS_SEND_ASS
-			|| ul_tbf->ul_ass_state ==
-				GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ)
+		if (ul_tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS)
+		    || ul_tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ))
 			*ul_ass_tbf = ul_tbf;
 /* FIXME: Is this supposed to be fair? The last TBF for each wins? Maybe use llist_add_tail and skip once we have all
 states? */
@@ -73,10 +72,10 @@
 		if (dl_tbf->poll_state == GPRS_RLCMAC_POLL_SCHED
 		 && dl_tbf->poll_fn == poll_fn)
 			*poll_tbf = dl_tbf;
-		if (dl_tbf->dl_ass_state == GPRS_RLCMAC_DL_ASS_SEND_ASS)
+		if (dl_tbf->dl_ass_state_is(GPRS_RLCMAC_DL_ASS_SEND_ASS))
 			*dl_ass_tbf = dl_tbf;
-		if (dl_tbf->ul_ass_state == GPRS_RLCMAC_UL_ASS_SEND_ASS
-		 || dl_tbf->ul_ass_state == GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ)
+		if (dl_tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS)
+		    || dl_tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ))
 			*ul_ass_tbf = dl_tbf;
 	}
 
@@ -139,13 +138,11 @@
 		 * because they may kill the TBF when the CONTROL ACK is
 		 * received, thus preventing the others from being processed.
 		 */
-		if (tbf == ul_ass_tbf && tbf->ul_ass_state ==
-				GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ)
+		if (tbf == ul_ass_tbf && tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ))
 			msg = ul_ass_tbf->create_packet_access_reject();
 		else if (tbf == ul_ass_tbf && tbf->direction ==
 				GPRS_RLCMAC_DL_TBF)
-			if (tbf->ul_ass_state ==
-					GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ)
+			if (tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ))
 				msg = ul_ass_tbf->create_packet_access_reject();
 			else
 				msg = ul_ass_tbf->create_ul_ass(fn, ts);