sgsn: Moved IMSI ACL management to sgsn_auth.c

Currently the ACL code is located in sgsn_vty.c.

This commit moves this to a new file sgsn_auth.c as a first step to
make authorization more flexible in order to implement remote
acquisition on subsciber data.

Sponsored-by: On-Waves ehf
diff --git a/openbsc/include/openbsc/gprs_sgsn.h b/openbsc/include/openbsc/gprs_sgsn.h
index 9226c23..5c82227 100644
--- a/openbsc/include/openbsc/gprs_sgsn.h
+++ b/openbsc/include/openbsc/gprs_sgsn.h
@@ -242,8 +242,17 @@
 /*
  * ACL handling
  */
-struct imsi_acl_entry;
-struct imsi_acl_entry *sgsn_acl_lookup(const char *imsi);
+struct imsi_acl_entry {
+	struct llist_head list;
+	char imsi[16+1];
+};
+struct sgsn_config;
+struct sgsn_instance;
+
+void sgsn_auth_init(struct sgsn_instance *sgi);
+struct imsi_acl_entry *sgsn_acl_lookup(const char *imsi, struct sgsn_config *cfg);
+int sgsn_acl_add(const char *imsi, struct sgsn_config *cfg);
+int sgsn_acl_del(const char *imsi, struct sgsn_config *cfg);
 
 int gprs_sndcp_vty_init(void);
 struct sgsn_instance;