initial skeleton
Change-Id: I706aa9e11a646aad71bb310fa552d0bdb5084d4b
diff --git a/include/osmocom/Makefile.am b/include/osmocom/Makefile.am
new file mode 100644
index 0000000..923cb50
--- /dev/null
+++ b/include/osmocom/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = \
+ smlc \
+ $(NULL)
diff --git a/include/osmocom/smlc/Makefile.am b/include/osmocom/smlc/Makefile.am
new file mode 100644
index 0000000..599651d
--- /dev/null
+++ b/include/osmocom/smlc/Makefile.am
@@ -0,0 +1,4 @@
+noinst_HEADERS = \
+ smlc_data.h \
+ smlc_sigtran.h \
+ $(NULL)
diff --git a/include/osmocom/smlc/smlc_data.h b/include/osmocom/smlc/smlc_data.h
new file mode 100644
index 0000000..2506fdc
--- /dev/null
+++ b/include/osmocom/smlc/smlc_data.h
@@ -0,0 +1,37 @@
+#pragma once
+
+#include <osmocom/core/linuxlist.h>
+#include <osmocom/core/logging.h>
+#include <osmocom/core/rate_ctr.h>
+#include <osmocom/core/stat_item.h>
+#include <osmocom/core/tdef.h>
+
+#include <osmocom/ctrl/control_if.h>
+
+#include <osmocom/sigtran/sccp_sap.h>
+
+struct smlc_state {
+ struct osmo_sccp_user *sccp_user;
+ struct ctrl_handle *ctrl;
+
+ struct rate_ctr_group *ctrs;
+ struct osmo_stat_item_group *statg;
+ struct osmo_tdef *T_defs;
+};
+
+extern struct smlc_state *g_smlc;
+
+
+enum {
+ DSMLC,
+ DLB, /* Lb interface */
+};
+
+
+int smlc_ctrl_node_lookup(void *data, vector vline, int *node_type,
+ void **node_data, int *i);
+
+enum smlc_ctrl_node {
+ CTRL_NODE_SMLC = _LAST_CTRL_NODE,
+ _LAST_CTRL_NODE_SMLC
+};
diff --git a/include/osmocom/smlc/smlc_sigtran.h b/include/osmocom/smlc/smlc_sigtran.h
new file mode 100644
index 0000000..aeaf2c5
--- /dev/null
+++ b/include/osmocom/smlc/smlc_sigtran.h
@@ -0,0 +1,3 @@
+#pragma once
+
+int smlc_sigtran_init(void);