Introduce libsmpputil

As part of preparation for libosmo-netif migration let's move common SMPP code
into separate build-time library and use it for both smpp_mirror and OsmoMSC
renaming the files if necessary.

While at it we also fix id/password legth limits in smpp_mirror and drop unused
fields from ESME struct.

Related: OS#5568
Change-Id: I61910651bc7c188dc2fb67d96189a66a47e7e8fb
diff --git a/tests/stubs.c b/tests/stubs.c
index e6ef548..f29a201 100644
--- a/tests/stubs.c
+++ b/tests/stubs.c
@@ -43,3 +43,11 @@
 void osmo_stream_srv_link_set_port(struct osmo_stream_srv_link *link, uint16_t port) {}
 void osmo_stream_srv_link_set_addr(struct osmo_stream_srv_link *link, const char *addr) {}
 int sctp_recvmsg(int sd, void *msg, size_t len, void *from, void *fromlen, void *info, int *msg_flags) { return 0; }
+struct gsm_sms;
+struct msc_a;
+struct gsm_trans;
+struct osmo_esme;
+bool smpp_route_smpp_first() { return false; }
+void smpp_esme_put(struct osmo_esme *esme) { return; }
+int smpp_try_deliver(struct gsm_sms *sms, struct msc_a *msc_a) { return 0; }
+int sms_route_mt_sms(struct gsm_trans *trans, struct gsm_sms *gsms) { return 0; }