aboutsummaryrefslogtreecommitdiffstats
path: root/libosmocore/include/osmocore/rxlev_stat.h
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-03-22 22:25:13 +0800
committerHarald Welte <laforge@gnumonks.org>2010-03-22 22:25:13 +0800
commit351ec2a1784fbdb2ce688f50a9134532f3bf0723 (patch)
treed599030f3ffb4e563b73f5ede9a8e80fc1bc048f /libosmocore/include/osmocore/rxlev_stat.h
parente164d29e7f6c86d1f6f047bbf58159e46a11425f (diff)
parent045cc22baeb7f12dcb0022b79a1984d86e922870 (diff)
Add 'libosmocore/' from commit '045cc22baeb7f12dcb0022b79a1984d86e922870'openbsc/0.9.0
git-subtree-dir: libosmocore git-subtree-mainline: e164d29e7f6c86d1f6f047bbf58159e46a11425f git-subtree-split: 045cc22baeb7f12dcb0022b79a1984d86e922870
Diffstat (limited to 'libosmocore/include/osmocore/rxlev_stat.h')
-rw-r--r--libosmocore/include/osmocore/rxlev_stat.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/libosmocore/include/osmocore/rxlev_stat.h b/libosmocore/include/osmocore/rxlev_stat.h
new file mode 100644
index 000000000..415509dc2
--- /dev/null
+++ b/libosmocore/include/osmocore/rxlev_stat.h
@@ -0,0 +1,22 @@
+#ifndef _OSMOCORE_RXLEV_STATS_H
+#define _OSMOCORE_RXLEV_STATS_H
+
+#define NUM_RXLEVS 32
+#define NUM_ARFCNS 1024
+
+struct rxlev_stats {
+ /* the maximum number of ARFCN's is 1024, and there are 32 RxLevels,
+ * so in we keep one 1024bit-bitvec for each RxLev */
+ uint8_t rxlev_buckets[NUM_RXLEVS][NUM_ARFCNS/8];
+};
+
+void rxlev_stat_input(struct rxlev_stats *st, uint16_t arfcn, uint8_t rxlev);
+
+/* get the next ARFCN that has the specified Rxlev */
+int16_t rxlev_stat_get_next(const struct rxlev_stats *st, uint8_t rxlev, int16_t arfcn);
+
+void rxlev_stat_reset(struct rxlev_stats *st);
+
+void rxlev_stat_dump(const struct rxlev_stats *st);
+
+#endif /* _OSMOCORE_RXLEV_STATS_H */