aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libbsc/bts_ipaccess_nanobts.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2012-07-02 19:51:55 +0200
committerHarald Welte <laforge@gnumonks.org>2012-07-02 20:13:08 +0200
commitf383aa11a5f87ca54b693196e6d4f6df6a41b57c (patch)
tree7a04eeb59d97b0506c6e6b7e242afac9b29a59d0 /openbsc/src/libbsc/bts_ipaccess_nanobts.c
parent0c1bd61bb3ef6dc7b3be3023f2c292b70e84626c (diff)
BSC: introduce new "sysmobts" BTS model
so far, osmo-bts/sysmobts used to be entered as "sysmobts" type in the configuration file. However, there are some differences in the protocol/behaviour and we should reflect that by a new BTS plugin (with lots of code reuse from the nanobts driver).
Diffstat (limited to 'openbsc/src/libbsc/bts_ipaccess_nanobts.c')
-rw-r--r--openbsc/src/libbsc/bts_ipaccess_nanobts.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/openbsc/src/libbsc/bts_ipaccess_nanobts.c b/openbsc/src/libbsc/bts_ipaccess_nanobts.c
index b2b648db4..bc246f1a2 100644
--- a/openbsc/src/libbsc/bts_ipaccess_nanobts.c
+++ b/openbsc/src/libbsc/bts_ipaccess_nanobts.c
@@ -41,7 +41,7 @@
static int bts_model_nanobts_start(struct gsm_network *net);
static void bts_model_nanobts_e1line_bind_ops(struct e1inp_line *line);
-static struct gsm_bts_model model_nanobts = {
+struct gsm_bts_model bts_model_nanobts = {
.type = GSM_BTS_TYPE_NANOBTS,
.name = "nanobts",
.start = bts_model_nanobts_start,
@@ -438,7 +438,7 @@ static int sw_activ_rep(struct msgb *mb)
}
/* Callback function to be called every time we receive a signal from NM */
-static int nm_sig_cb(unsigned int subsys, unsigned int signal,
+int bts_ipa_nm_sig_cb(unsigned int subsys, unsigned int signal,
void *handler_data, void *signal_data)
{
if (subsys != SS_NM)
@@ -460,13 +460,14 @@ static struct gsm_network *ipaccess_gsmnet;
static int bts_model_nanobts_start(struct gsm_network *net)
{
- model_nanobts.features.data = &model_nanobts._features_data[0];
- model_nanobts.features.data_len = sizeof(model_nanobts._features_data);
+ bts_model_nanobts.features.data = &bts_model_nanobts._features_data[0];
+ bts_model_nanobts.features.data_len =
+ sizeof(bts_model_nanobts._features_data);
- gsm_btsmodel_set_feature(&model_nanobts, BTS_FEAT_GPRS);
- gsm_btsmodel_set_feature(&model_nanobts, BTS_FEAT_EGPRS);
+ gsm_btsmodel_set_feature(&bts_model_nanobts, BTS_FEAT_GPRS);
+ gsm_btsmodel_set_feature(&bts_model_nanobts, BTS_FEAT_EGPRS);
- osmo_signal_register_handler(SS_NM, nm_sig_cb, NULL);
+ osmo_signal_register_handler(SS_NM, bts_ipa_nm_sig_cb, NULL);
ipaccess_gsmnet = net;
return 0;
@@ -474,7 +475,7 @@ static int bts_model_nanobts_start(struct gsm_network *net)
int bts_model_nanobts_init(void)
{
- return gsm_bts_model_register(&model_nanobts);
+ return gsm_bts_model_register(&bts_model_nanobts);
}
#define OML_UP 0x0001