nat: Move creation of the structs to a separate file
This way one can create the bsc_nat structure in unit tests..
diff --git a/openbsc/src/nat/bsc_nat.c b/openbsc/src/nat/bsc_nat.c
index 5846232..7d97086 100644
--- a/openbsc/src/nat/bsc_nat.c
+++ b/openbsc/src/nat/bsc_nat.c
@@ -61,44 +61,6 @@
static void bsc_write(struct bsc_connection *bsc, const u_int8_t *data, unsigned int length);
static void remove_bsc_connection(struct bsc_connection *connection);
-static struct bsc_nat *bsc_nat_alloc(void)
-{
- struct bsc_nat *nat = talloc_zero(tall_bsc_ctx, struct bsc_nat);
- if (!nat)
- return NULL;
-
- INIT_LLIST_HEAD(&nat->sccp_connections);
- INIT_LLIST_HEAD(&nat->bsc_connections);
- INIT_LLIST_HEAD(&nat->bsc_configs);
- return nat;
-}
-
-static struct bsc_connection *bsc_connection_alloc(void)
-{
- struct bsc_connection *con = talloc_zero(nat, struct bsc_connection);
- if (!con)
- return NULL;
-
- return con;
-}
-
-struct bsc_config *bsc_config_alloc(struct bsc_nat *nat, const char *token, unsigned int lac)
-{
- struct bsc_config *conf = talloc_zero(nat, struct bsc_config);
- if (!conf)
- return NULL;
-
- conf->token = talloc_strdup(conf, token);
- conf->lac = lac;
- conf->nr = nat->num_bsc;
- conf->nat = nat;
-
- llist_add(&conf->entry, &nat->bsc_configs);
- ++nat->num_bsc;
-
- return conf;
-}
-
struct bsc_config *bsc_config_num(struct bsc_nat *nat, int num)
{
struct bsc_config *conf;
@@ -574,7 +536,7 @@
/*
*
*/
- bsc = bsc_connection_alloc();
+ bsc = bsc_connection_alloc(nat);
if (!bsc) {
LOGP(DNAT, LOGL_ERROR, "Failed to allocate BSC struct.\n");
close(ret);