bssgp: Add callbacks for certain BSSGP events

Add a callback called when Unblock Ack is received. This can be
used by a supervisor or the emulation test.
This commit is contained in:
Holger Hans Peter Freyther 2013-08-22 08:40:33 +02:00 committed by Ivan Kluchnikov
parent e8d9a5fa54
commit c0f1644c88
2 changed files with 8 additions and 0 deletions

View File

@ -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:

View File

@ -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,