USSD: Add Core USSD handling + VTY routing config to HLR

Change-Id: I3cfd7cd401ea32b7e92f1124d129099d9f7dc6e6
diff --git a/src/hlr_ussd.h b/src/hlr_ussd.h
new file mode 100644
index 0000000..05d2099
--- /dev/null
+++ b/src/hlr_ussd.h
@@ -0,0 +1,30 @@
+#include <stdint.h>
+#include <osmocom/core/linuxlist.h>
+
+struct hlr_euse_route {
+	/* hlr_euse.routes */
+	struct llist_head list;
+	struct hlr_euse *euse;
+	const char *prefix;
+};
+
+struct hlr_euse {
+	/* list in the per-hlr list of EUSEs */
+	struct llist_head list;
+	struct hlr *hlr;
+	/* name (must match the IPA ID tag) */
+	const char *name;
+	/* human-readable description */
+	const char *description;
+	/* list of hlr_euse_route */
+	struct llist_head routes;
+};
+
+
+struct hlr_euse *euse_find(struct hlr *hlr, const char *name);
+struct hlr_euse *euse_alloc(struct hlr *hlr, const char *name);
+void euse_del(struct hlr_euse *euse);
+
+struct hlr_euse_route *euse_route_find(struct hlr_euse *euse, const char *prefix);
+struct hlr_euse_route *euse_route_prefix_alloc(struct hlr_euse *euse, const char *prefix);
+void euse_route_del(struct hlr_euse_route *rt);