[PATCH 05/10] bssgp: Add callbacks for certain BSSGP events

Holger Freyther hfreyther at sysmocom.de
Thu Aug 22 07:16:59 UTC 2013


From: Holger Hans Peter Freyther <holger at moiji-mobile.com>

Add a callback called when Unblock Ack is received. This can be
used by a supervisor or the emulation test.
---
 src/gprs_bssgp_pcu.cpp | 2 ++
 src/gprs_bssgp_pcu.h   | 6 ++++++
 2 files changed, 8 insertions(+)

diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp
index c332786..cc66290 100644
--- a/src/gprs_bssgp_pcu.cpp
+++ b/src/gprs_bssgp_pcu.cpp
@@ -386,6 +386,8 @@ static int gprs_bssgp_pcu_rx_sign(struct msgb *msg, struct tlv_parsed *tp, struc
 	case BSSGP_PDUT_BVC_UNBLOCK_ACK:
 		LOGP(DBSSGP, LOGL_DEBUG, "rx BSSGP_PDUT_BVC_UNBLOCK_ACK\n");
 		the_pcu.bvc_unblocked = 1;
+		if (the_pcu.on_unblock_ack)
+			the_pcu.on_unblock_ack(&the_pcu);
 		bvc_timeout(NULL);
 		break;
 	case BSSGP_PDUT_SGSN_INVOKE_TRACE:
diff --git a/src/gprs_bssgp_pcu.h b/src/gprs_bssgp_pcu.h
index 2d96032..413c056 100644
--- a/src/gprs_bssgp_pcu.h
+++ b/src/gprs_bssgp_pcu.h
@@ -1,6 +1,7 @@
 /* gprs_bssgp_pcu.h
  *
  * Copyright (C) 2012 Ivan Klyuchnikov
+ * Copyright (C) 2013 by Holger Hans Peter Freyther
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -55,6 +56,11 @@ struct gprs_bssgp_pcu {
 	int bvc_reset;
 	int bvc_unblocked;
 	int exit_on_destroy;
+
+	/** callbacks below */
+
+	/* The BSSGP has been unblocked */
+	void (*on_unblock_ack)(struct gprs_bssgp_pcu *pcu);
 };
 
 struct gprs_bssgp_pcu *gprs_bssgp_create_and_connect(struct gprs_rlcmac_bts *bts,
-- 
1.8.3.2





More information about the osmocom-net-gprs mailing list