aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/a_iface.h
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/include/openbsc/a_iface.h')
-rw-r--r--openbsc/include/openbsc/a_iface.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/openbsc/include/openbsc/a_iface.h b/openbsc/include/openbsc/a_iface.h
index 34dfca67a..6da2715e9 100644
--- a/openbsc/include/openbsc/a_iface.h
+++ b/openbsc/include/openbsc/a_iface.h
@@ -18,6 +18,23 @@
*
*/
+#pragma once
+
+#include <openbsc/a_reset.h>
+
+/* A struct to keep a context information about the BSCs we are associated with */
+struct bsc_context {
+ struct llist_head list;
+
+ /* To be filled up by the user (VTY) */
+ struct osmo_sccp_addr called_addr; /* BSC (remote) */
+ struct osmo_sccp_addr calling_addr; /* MSC (local) */
+
+ /* Automatically filled up by a_init() */
+ struct a_reset_ctx reset; /* Reset FSM (one per BSC) */
+ struct osmo_sccp_user *sccp_user; /* SCCP user (the same for all) */
+};
+
/* Initalize A interface connection between to MSC and BSC */
int a_init(void *ctx, const char *name, uint32_t local_pc, const char *listen_addr,
const char *remote_addr, uint16_t local_port, struct gsm_network *network);
@@ -40,5 +57,3 @@ void a_clear_all(struct osmo_sccp_user *scu, struct osmo_sccp_addr *bsc_addr);
/* Delete info of a closed connection from the active connection list */
void a_delete_bsc_con(uint32_t conn_id);
-
-#pragma once