aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libmsc/smpp_smsc.h
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2012-11-08 20:11:05 +0100
committerHarald Welte <laforge@gnumonks.org>2012-11-16 22:00:09 +0100
commite94db496984b072e8bddacd93e3bd25f4e67dadf (patch)
tree45f48907c858d389ebd0e6350a139600081a3626 /openbsc/src/libmsc/smpp_smsc.h
parentd4bdee79e96906323811ea5832e402855985df88 (diff)
SMPP: Introduce ESME reference coounting
In case a ESME disappears after SUBMIT-SM but before the MT-SMS is delivered (transaction mode), we have to make sure the esme structure still exists.
Diffstat (limited to 'openbsc/src/libmsc/smpp_smsc.h')
-rw-r--r--openbsc/src/libmsc/smpp_smsc.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/openbsc/src/libmsc/smpp_smsc.h b/openbsc/src/libmsc/smpp_smsc.h
index 8cdd2e7db..e93ae30c2 100644
--- a/openbsc/src/libmsc/smpp_smsc.h
+++ b/openbsc/src/libmsc/smpp_smsc.h
@@ -21,6 +21,8 @@ struct osmo_esme {
struct llist_head list;
struct smsc *smsc;
+ int use;
+
struct osmo_wqueue wqueue;
struct sockaddr_storage sa;
socklen_t sa_len;
@@ -46,6 +48,9 @@ struct smsc {
int smpp_smsc_init(struct smsc *smsc, uint16_t port);
+void smpp_esme_get(struct osmo_esme *esme);
+void smpp_esme_put(struct osmo_esme *esme);
+
int smpp_tx_submit_r(struct osmo_esme *esme, uint32_t sequence_nr,
uint32_t command_status, char *msg_id);