Addditional classmark check against A5/4 support

Submitted by Max on June 17, 2014, 10:07 a.m.

Details

Message ID 1402999646-23848-1-git-send-email-Max.Suraev@fairwaves.co
State New
Headers show

Commit Message

Max June 17, 2014, 10:07 a.m.
Signed-off-by: Max Suraev <Max.Suraev@fairwaves.co>
---
 include/osmocom/gsm/gsm_utils.h | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

Comments

Max June 17, 2014, 10:14 a.m.
You've convinced me - there's no point in generalizing in here :)

Patch hide | download patch | download mbox

diff --git a/include/osmocom/gsm/gsm_utils.h b/include/osmocom/gsm/gsm_utils.h
index 6eab7ac..5f9164b 100644
--- a/include/osmocom/gsm/gsm_utils.h
+++ b/include/osmocom/gsm/gsm_utils.h
@@ -117,7 +117,7 @@  int rxlev2dbm(uint8_t rxlev);
 uint8_t dbm2rxlev(int dbm);
 
 /* According to GSM 04.08 Chapter 10.5.1.6 */
-static inline int ms_cm2_a5n_support(uint8_t *cm2, int n) {
+static inline int ms_cm2_a5n_support(uint8_t *cm2, unsigned n) {
 	switch (n) {
 		case 0: return 1;
 		case 1: return (cm2[0] & (1<<3)) ? 0 : 1;
@@ -128,6 +128,18 @@  static inline int ms_cm2_a5n_support(uint8_t *cm2, int n) {
 	}
 }
 
+/* According to GSM 04.08 Chapter 10.5.1.7 */
+static inline int ms_cm3_a5n_support(uint8_t *cm3, unsigned n) {
+	switch (n) {
+		case 4: return (cm3[0] & (1<<0)) ? 1 : 0;
+		case 5: return (cm3[0] & (1<<1)) ? 1 : 0;
+		case 6: return (cm3[0] & (1<<2)) ? 1 : 0;
+	        case 7: return (cm3[0] & (1<<3)) ? 1 : 0;
+		default:
+			return 0;
+	}
+}
+
 /* According to GSM 04.08 Chapter 10.5.2.29 */
 static inline int rach_max_trans_val2raw(int val) { return (val >> 1) & 3; }
 static inline int rach_max_trans_raw2val(int raw) {