aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libmsc/smpp_openbsc.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/src/libmsc/smpp_openbsc.c')
-rw-r--r--openbsc/src/libmsc/smpp_openbsc.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/openbsc/src/libmsc/smpp_openbsc.c b/openbsc/src/libmsc/smpp_openbsc.c
index e83fb75e9..585f93976 100644
--- a/openbsc/src/libmsc/smpp_openbsc.c
+++ b/openbsc/src/libmsc/smpp_openbsc.c
@@ -434,18 +434,16 @@ struct smsc *smsc_from_vty(struct vty *v)
}
/*! \brief Initialize the OpenBSC SMPP interface */
-int smpp_openbsc_init(struct gsm_network *net, uint16_t port)
+int smpp_openbsc_init(void *ctx, uint16_t port)
{
- struct smsc *smsc = talloc_zero(net, struct smsc);
+ struct smsc *smsc = talloc_zero(ctx, struct smsc);
int rc;
- smsc->priv = net;
-
rc = smpp_smsc_init(smsc, port);
if (rc < 0)
talloc_free(smsc);
- osmo_signal_register_handler(SS_SMS, smpp_sms_cb, net);
+ osmo_signal_register_handler(SS_SMS, smpp_sms_cb, smsc);
osmo_signal_register_handler(SS_SUBSCR, smpp_subscr_cb, smsc);
g_smsc = smsc;
@@ -454,3 +452,8 @@ int smpp_openbsc_init(struct gsm_network *net, uint16_t port)
return rc;
}
+
+void smpp_openbsc_set_net(struct gsm_network *net)
+{
+ g_smsc->priv = net;
+}