filter: Remove nat_sccp_connection from public API
diff --git a/openbsc/include/openbsc/bsc_msg_filter.h b/openbsc/include/openbsc/bsc_msg_filter.h
index a974195..6489050 100644
--- a/openbsc/include/openbsc/bsc_msg_filter.h
+++ b/openbsc/include/openbsc/bsc_msg_filter.h
@@ -11,9 +11,7 @@
 struct gsm48_hdr;
 
 /* TODO: remove */
-struct bsc_nat_parsed;
 struct bsc_connection;
-struct nat_sccp_connection;
 
 struct bsc_filter_reject_cause {
 	int lu_reject_cause;
@@ -58,6 +56,11 @@
 	int lu_reject_cause;
 };
 
+struct bsc_filter_state {
+	char *imsi;
+	int imsi_checked;
+};
+
 
 int bsc_filter_barr_adapt(void *ctx, struct rb_root *rbtree, const struct osmo_config_list *);
 int bsc_filter_barr_find(struct rb_root *root, const char *imsi, int *cm, int *lu);
@@ -71,7 +74,7 @@
 			struct bsc_filter_reject_cause *cause);
 int bsc_msg_filter_data(struct gsm48_hdr *hdr, size_t size,
 			struct bsc_connection *bsc,
-			struct nat_sccp_connection *con,
+			struct bsc_filter_state *state,
 			struct bsc_filter_reject_cause *cause);
 
 /* IMSI allow/deny handling */
diff --git a/openbsc/include/openbsc/bsc_nat_sccp.h b/openbsc/include/openbsc/bsc_nat_sccp.h
index 0561df1..d2490ca 100644
--- a/openbsc/include/openbsc/bsc_nat_sccp.h
+++ b/openbsc/include/openbsc/bsc_nat_sccp.h
@@ -22,6 +22,8 @@
 #ifndef BSC_NAT_SCCP_H
 #define BSC_NAT_SCCP_H
 
+#include "bsc_msg_filter.h"
+
 #include <osmocom/sccp/sccp_types.h>
 
 /*
@@ -80,8 +82,8 @@
 	int con_type;
 	int con_local;
 	int authorized;
-	int imsi_checked;
-	char *imsi;
+
+	struct bsc_filter_state filter_state;
 
 	uint16_t lac;
 	uint16_t ci;