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.
diff --git a/openbsc/src/libmsc/smpp_smsc.h b/openbsc/src/libmsc/smpp_smsc.h
index 8cdd2e7..e93ae30 100644
--- a/openbsc/src/libmsc/smpp_smsc.h
+++ b/openbsc/src/libmsc/smpp_smsc.h
@@ -21,6 +21,8 @@
 	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 @@
 
 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);