aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/gsm_data.h
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/include/openbsc/gsm_data.h')
-rw-r--r--openbsc/include/openbsc/gsm_data.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h
index b67b8c6b9..57bf9badc 100644
--- a/openbsc/include/openbsc/gsm_data.h
+++ b/openbsc/include/openbsc/gsm_data.h
@@ -243,6 +243,9 @@ struct gsm_network {
unsigned int num_bts;
struct llist_head bts_list;
+ unsigned int num_virt_net;
+ struct llist_head virt_net_list;
+
/* timer values */
int T3101;
int T3103;
@@ -286,6 +289,16 @@ struct gsm_network {
struct ctrl_handle *ctrl;
};
+#define GSM_IMSI_LENGTH 17
+struct gsm_virt_network {
+ struct llist_head list;
+ uint8_t nr;
+ struct gsm_network *network;
+ char imsi_prefix[GSM_IMSI_LENGTH];
+ char *name_long;
+ char *name_short;
+};
+
struct osmo_esme;
enum gsm_sms_source_id {
@@ -428,6 +441,9 @@ int gsm_bts_model_register(struct gsm_bts_model *model);
struct gsm_subscriber_connection *subscr_con_allocate(struct gsm_lchan *lchan);
void subscr_con_free(struct gsm_subscriber_connection *conn);
+struct gsm_virt_network *gsm_virt_net_alloc_register(struct gsm_network *net);
+struct gsm_virt_network *gsm_virt_net_num(struct gsm_network *net, int num);
+
struct gsm_bts *gsm_bts_alloc_register(struct gsm_network *net,
enum gsm_bts_type type,
uint8_t tsc, uint8_t bsic);