aboutsummaryrefslogtreecommitdiffstats
path: root/src/rlc.h
diff options
context:
space:
mode:
authorAravind Sirsikar <arvind.sirsikar@radisys.com>2016-03-23 18:29:45 +0530
committerHarald Welte <laforge@gnumonks.org>2016-03-30 22:02:47 +0200
commit7a05b039c835868eff34308d861edfeb28d1763b (patch)
treeb0934c147826d4a9cbc5afe4034a58dd7190b7a2 /src/rlc.h
parente44383baa4a883beb49a4b0ec370ba3256389b94 (diff)
Add data structure for CPS calculation in DL
Define new data structure with respect to TS 44.060 10.4.8a.3.1, 10.4.8a.2.1, 10.4.8a.1.1 for puncturing scheme values and initialize the variable introduced
Diffstat (limited to 'src/rlc.h')
-rw-r--r--src/rlc.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/rlc.h b/src/rlc.h
index 3f10f8c..19dccbe 100644
--- a/src/rlc.h
+++ b/src/rlc.h
@@ -56,6 +56,27 @@ enum gprs_rlc_dl_bsn_state {
GPRS_RLC_DL_BSN_MAX,
};
+/*
+ * Valid puncturing scheme values
+ * TS 44.060 10.4.8a.3.1, 10.4.8a.2.1, 10.4.8a.1.1
+ */
+enum egprs_puncturing_values {
+ EGPRS_PS_1,
+ EGPRS_PS_2,
+ EGPRS_PS_3,
+ EGPRS_PS_INVALID,
+};
+
+/*
+ * EGPRS_MAX_PS_NUM_2 is valid for MCS 1,2,5,6.
+ * And EGPRS_MAX_PS_NUM_3 is valid for MCS 3,4,7,8,9
+ * TS 44.060 10.4.8a.3.1, 10.4.8a.2.1, 10.4.8a.1.1
+ */
+enum egprs_puncturing_types {
+ EGPRS_MAX_PS_NUM_2 = 2,
+ EGPRS_MAX_PS_NUM_3,
+ EGPRS_MAX_PS_NUM_INVALID,
+};
static inline uint16_t mod_sns_half()
{
@@ -100,6 +121,9 @@ struct gprs_rlc_data {
struct gprs_rlc_data_block_info block_info;
GprsCodingScheme cs;
+
+ /* puncturing scheme value to be used for next transmission*/
+ enum egprs_puncturing_values next_ps;
};
void gprs_rlc_data_info_init_dl(struct gprs_rlc_data_info *rlc,