aboutsummaryrefslogtreecommitdiffstats
path: root/src/tbf.h
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-11-13 19:51:55 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-11-13 19:51:55 +0100
commit9241fd0957d44d2b60b74afd9022b01a1ea110ba (patch)
tree89e09b04248c289a91d1bfa285c1d69334e24d8c /src/tbf.h
parente9429b5d3ecb3176eaee45352d9b7d1d57fed1c5 (diff)
rlc: Begin to move the rlc block handling into a separate object
The secret of gprs_rlc will be the manipulation of the blocks for the current window. We might add the window handling in this class as well.
Diffstat (limited to 'src/tbf.h')
-rw-r--r--src/tbf.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/tbf.h b/src/tbf.h
index 9518670..1ea8c63 100644
--- a/src/tbf.h
+++ b/src/tbf.h
@@ -85,6 +85,15 @@ enum gprs_rlcmac_tbf_direction {
#define GPRS_RLCMAC_FLAG_TO_DL_ASS 7
#define GPRS_RLCMAC_FLAG_TO_MASK 0xf0 /* timeout bits */
+/*
+ * I hold the currently transferred blocks and will provide
+ * the routines to manipulate these arrays.
+ */
+struct gprs_rlc {
+ uint8_t block[RLC_MAX_SNS/2][RLC_MAX_LEN]; /* block history */
+ uint8_t block_len[RLC_MAX_SNS/2]; /* block len of history */
+};
+
struct gprs_rlcmac_tbf {
static void free_all(struct gprs_rlcmac_trx *trx);
@@ -187,8 +196,8 @@ struct gprs_rlcmac_tbf {
uint8_t final_ack_sent; /* set if we sent final ack */
} ul;
} dir;
- uint8_t rlc_block[RLC_MAX_SNS/2][RLC_MAX_LEN]; /* block history */
- uint8_t rlc_block_len[RLC_MAX_SNS/2]; /* block len of history */
+
+ gprs_rlc m_rlc;
uint8_t n3105; /* N3105 counter */