libmsc/gsm_04_11.c: forward MO SMS messages over GSUP

Change-Id: I7d651fde3d608d02f275a74043dc42262aabb1b8
Depends-on: (core) Ic37f3b2114b8095cfce22977e67133b9103942e3
Depends-on: (core) Ibe325c64ae2d6c626b232533bb4cbc65fc2b5d71
Depends-on: (OsmoHLR) I0589ff27933e9bca2bcf93b8259004935778db8f
Related Change-Id: (TTCN) I7abc95b8e416f7308d54e11be11c08586d18e6c5
Related Change-Id: (TTCN) Id14bbd8bd51558cdacefea0fe042769cd69ed5c8
Related: OS#3587
diff --git a/include/osmocom/msc/Makefile.am b/include/osmocom/msc/Makefile.am
index d98bc9c..13ac166 100644
--- a/include/osmocom/msc/Makefile.am
+++ b/include/osmocom/msc/Makefile.am
@@ -5,6 +5,7 @@
 	debug.h \
 	gsm_04_08.h \
 	gsm_04_11.h \
+	gsm_04_11_gsup.h \
 	gsm_04_14.h \
 	gsm_04_80.h \
 	gsm_09_11.h \
diff --git a/include/osmocom/msc/gsm_04_11.h b/include/osmocom/msc/gsm_04_11.h
index 95098c9..b739918 100644
--- a/include/osmocom/msc/gsm_04_11.h
+++ b/include/osmocom/msc/gsm_04_11.h
@@ -2,6 +2,7 @@
 #define _GSM_04_11_H
 
 #include <osmocom/gsm/protocol/gsm_04_11.h>
+#include <osmocom/msc/gsm_04_11_gsup.h>
 
 struct vlr_subscr;
 struct ran_conn;
diff --git a/include/osmocom/msc/gsm_04_11_gsup.h b/include/osmocom/msc/gsm_04_11_gsup.h
new file mode 100644
index 0000000..94ff8f6
--- /dev/null
+++ b/include/osmocom/msc/gsm_04_11_gsup.h
@@ -0,0 +1,14 @@
+#pragma once
+
+#include <stdint.h>
+
+struct osmo_gsup_message;
+struct vlr_subscr;
+struct gsm_trans;
+struct msgb;
+
+int gsm411_gsup_mo_ready_for_sm_req(struct gsm_trans *trans, uint8_t sm_rp_mr);
+int gsm411_gsup_mo_fwd_sm_req(struct gsm_trans *trans, struct msgb *msg,
+	uint8_t sm_rp_mr, uint8_t *sm_rp_da, uint8_t sm_rp_da_len);
+int gsm411_gsup_mo_handler(struct vlr_subscr *vsub,
+	struct osmo_gsup_message *gsup_msg);