aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gsm_data.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2009-12-15 21:36:05 +0100
committerHarald Welte <laforge@gnumonks.org>2009-12-15 21:36:05 +0100
commitd12b0fdf51b76f906d5ee5f5b7f266fe791eb800 (patch)
treea490b56bb3f4482a86ccd5c009d5a5d54054106f /openbsc/src/gsm_data.c
parent0b12103965c824b0dae1ae10df00d87d4ef1ec7b (diff)
introduce cache of 6 last recently received measurement reports for each lchan
Diffstat (limited to 'openbsc/src/gsm_data.c')
-rw-r--r--openbsc/src/gsm_data.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/openbsc/src/gsm_data.c b/openbsc/src/gsm_data.c
index 91a854f46..94ed91ba5 100644
--- a/openbsc/src/gsm_data.c
+++ b/openbsc/src/gsm_data.c
@@ -415,3 +415,16 @@ const char *rrlp_mode_name(enum rrlp_mode mode)
return "none";
return rrlp_mode_names[mode];
}
+
+struct gsm_meas_rep *lchan_next_meas_rep(struct gsm_lchan *lchan)
+{
+ struct gsm_meas_rep *meas_rep;
+
+ meas_rep = &lchan->meas_rep[lchan->meas_rep_idx];
+ memset(meas_rep, 0, sizeof(*meas_rep));
+ meas_rep->lchan = lchan;
+ lchan->meas_rep_idx = (lchan->meas_rep_idx + 1)
+ % ARRAY_SIZE(lchan->meas_rep);
+
+ return meas_rep;
+}