summaryrefslogtreecommitdiffstats
path: root/src/host/layer23/include
diff options
context:
space:
mode:
authorAndreas.Eversberg2010-07-16 12:52:38 +0200
committerAndreas.Eversberg2010-07-16 12:52:38 +0200
commit6aa923f00342747ccfca5c4a431e6e18e6be7f0f (patch)
tree9ccab1b96879bcbe2ba531eb338890a86ca3fa11 /src/host/layer23/include
parentMerge commit '383134b5ac0b94393cd46e2f00aeb1fd6f1a540f' (diff)
downloadosmocom-6aa923f00342747ccfca5c4a431e6e18e6be7f0f.tar.gz
osmocom-6aa923f00342747ccfca5c4a431e6e18e6be7f0f.tar.xz
osmocom-6aa923f00342747ccfca5c4a431e6e18e6be7f0f.zip
[layer23] Added simple network monitor. Use "monitor network 1" to enable.
Diffstat (limited to 'src/host/layer23/include')
-rwxr-xr-xsrc/host/layer23/include/osmocom/gsm322.h2
-rw-r--r--src/host/layer23/include/osmocom/gsm48_rr.h6
-rw-r--r--src/host/layer23/include/osmocom/osmocom_data.h9
3 files changed, 17 insertions, 0 deletions
diff --git a/src/host/layer23/include/osmocom/gsm322.h b/src/host/layer23/include/osmocom/gsm322.h
index 9c44e0b..d1ab0be 100755
--- a/src/host/layer23/include/osmocom/gsm322.h
+++ b/src/host/layer23/include/osmocom/gsm322.h
@@ -196,4 +196,6 @@ extern const char *plmn_a_state_names[];
extern const char *plmn_m_state_names[];
extern const char *cs_state_names[];
+char *gsm_print_rxlev(uint8_t rxlev);
+
#endif /* _GSM322_H */
diff --git a/src/host/layer23/include/osmocom/gsm48_rr.h b/src/host/layer23/include/osmocom/gsm48_rr.h
index 16ba2fe..c268c24 100644
--- a/src/host/layer23/include/osmocom/gsm48_rr.h
+++ b/src/host/layer23/include/osmocom/gsm48_rr.h
@@ -152,6 +152,10 @@ struct gsm48_rrlayer {
/* BA range */
uint8_t ba_ranges;
uint32_t ba_range[16];
+
+ /* monitor */
+ uint8_t monitor;
+ struct timer_list t_monitor;
};
const char *get_rr_name(int value);
@@ -168,5 +172,7 @@ int gsm48_rr_tx_rand_acc(struct osmocom_ms *ms, struct msgb *msg);
int gsm48_rr_los(struct osmocom_ms *ms);
int gsm48_rr_rach_conf(struct osmocom_ms *ms, uint32_t fn);
extern const char *gsm48_rr_state_names[];
+int gsm48_rr_start_monitor(struct osmocom_ms *ms);
+int gsm48_rr_stop_monitor(struct osmocom_ms *ms);
#endif /* _GSM48_RR_H */
diff --git a/src/host/layer23/include/osmocom/osmocom_data.h b/src/host/layer23/include/osmocom/osmocom_data.h
index 1be19a3..6fdeef7 100644
--- a/src/host/layer23/include/osmocom/osmocom_data.h
+++ b/src/host/layer23/include/osmocom/osmocom_data.h
@@ -24,6 +24,13 @@ struct osmol2_entity {
osmol2_cb_t msg_handler;
};
+/* RX measurement statistics */
+struct rx_meas_stat {
+ uint32_t frames;
+ uint32_t berr;
+ uint32_t rxlev;
+};
+
/* One Mobilestation for osmocom */
struct osmocom_ms {
struct llist_head entity;
@@ -39,6 +46,8 @@ struct osmocom_ms {
struct osmol2_entity l2_entity;
+ struct rx_meas_stat meas;
+
struct gsm48_rrlayer rrlayer;
struct gsm322_plmn plmn;
struct gsm322_cellsel cellsel;