aboutsummaryrefslogtreecommitdiffstats
path: root/src/coding_scheme.h
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2019-03-13 17:14:13 +0100
committerMax <msuraev@sysmocom.de>2019-03-19 18:27:06 +0100
commit51754b6f35d639e65385e9fdde70323037e37641 (patch)
treed0abba8e28de0267c7db6937c5a2f4e94821d956 /src/coding_scheme.h
parentd5ffeb5e63eb223852a577b8f9a3c89bf0809fb3 (diff)
MCS: move HeaderType enum outside of class definition
Move functions which compute number of blocks or bits depending on header type and corresponding enum outside of GprsCodingScheme class. This will allows us to use standard libosmocore value_sting functions in upcoming patches for IA Rest Octet encoding/decoding. Change-Id: Id0873f85e1f16a72e17e7fbc4ad76b194917067f
Diffstat (limited to 'src/coding_scheme.h')
-rw-r--r--src/coding_scheme.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/coding_scheme.h b/src/coding_scheme.h
index 3705ea42..b0b85e34 100644
--- a/src/coding_scheme.h
+++ b/src/coding_scheme.h
@@ -27,3 +27,20 @@ enum CodingScheme {
MCS1, MCS2, MCS3, MCS4, MCS5, MCS6, MCS7, MCS8, MCS9,
NUM_SCHEMES
};
+
+enum HeaderType {
+ HEADER_INVALID,
+ HEADER_GPRS_CONTROL,
+ HEADER_GPRS_DATA,
+ HEADER_EGPRS_DATA_TYPE_1,
+ HEADER_EGPRS_DATA_TYPE_2,
+ HEADER_EGPRS_DATA_TYPE_3,
+ NUM_HEADER_TYPES
+};
+
+enum HeaderType headerTypeData(enum CodingScheme mcs);
+
+uint8_t num_data_blocks(enum HeaderType ht);
+uint8_t num_data_header_bits_UL(enum HeaderType ht);
+uint8_t num_data_header_bits_DL(enum HeaderType ht);
+uint8_t num_data_block_header_bits(enum HeaderType ht);