aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/bsc_msc.h
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/include/openbsc/bsc_msc.h')
-rw-r--r--openbsc/include/openbsc/bsc_msc.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/openbsc/include/openbsc/bsc_msc.h b/openbsc/include/openbsc/bsc_msc.h
index ddaad3ba7..e3653ac12 100644
--- a/openbsc/include/openbsc/bsc_msc.h
+++ b/openbsc/include/openbsc/bsc_msc.h
@@ -25,14 +25,22 @@
#include <osmocom/core/write_queue.h>
#include <osmocom/core/timer.h>
+struct bsc_msc_dest {
+ struct llist_head list;
+
+ char *ip;
+ int port;
+ int dscp;
+};
+
+
struct bsc_msc_connection {
struct write_queue write_queue;
int is_connected;
int is_authenticated;
int first_contact;
- const char *ip;
- int port;
- int prio;
+
+ struct llist_head *dests;
void (*connection_loss) (struct bsc_msc_connection *);
void (*connected) (struct bsc_msc_connection *);
@@ -40,7 +48,7 @@ struct bsc_msc_connection {
struct timer_list timeout_timer;
};
-struct bsc_msc_connection *bsc_msc_create(const char *ip, int port, int prio);
+struct bsc_msc_connection *bsc_msc_create(void *ctx, struct llist_head *dest);
int bsc_msc_connect(struct bsc_msc_connection *);
void bsc_msc_schedule_connect(struct bsc_msc_connection *);