diff options
Diffstat (limited to 'include/osmocom')
-rw-r--r-- | include/osmocom/bsc/bsc_msc_data.h | 4 | ||||
-rw-r--r-- | include/osmocom/bsc/gsm_data.h | 16 |
2 files changed, 15 insertions, 5 deletions
diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index a3e0106f1..a04e632ac 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -39,6 +39,7 @@ #include <osmocom/sigtran/protocol/sua.h> #include <osmocom/sigtran/protocol/m3ua.h> #include <osmocom/core/fsm.h> +#include <osmocom/gsm/gsm23003.h> #include <regex.h> @@ -78,8 +79,7 @@ struct bsc_msc_data { struct osmo_timer_list pong_timer; int advanced_ping; struct bsc_msc_connection *msc_con; - int core_mnc; - int core_mcc; + struct osmo_plmn_id core_plmn; int core_lac; int core_ci; int rtp_base; diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 8692469b4..27aa2619e 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -13,6 +13,7 @@ #include <osmocom/core/stats.h> #include <osmocom/core/stat_item.h> #include <osmocom/gsm/protocol/gsm_08_08.h> +#include <osmocom/gsm/gsm48.h> #include <osmocom/crypt/auth.h> @@ -1197,9 +1198,8 @@ struct gsm_network { * these have in common, like country and network code, put in yet * separate structs and placed as members in osmo_bsc and osmo_msc. */ - /* global parameters */ - uint16_t country_code; - uint16_t network_code; + struct osmo_plmn_id plmn; + /* bit-mask of permitted encryption algorithms. LSB=A5/0, MSB=A5/7 */ uint8_t a5_encryption_mask; int neci; @@ -1275,6 +1275,16 @@ struct gsm_network { } mgw; }; +static inline const struct osmo_location_area_id *bts_lai(struct gsm_bts *bts) +{ + static struct osmo_location_area_id lai; + lai = (struct osmo_location_area_id){ + .plmn = bts->network->plmn, + .lac = bts->location_area_code, + }; + return &lai; +} + extern void talloc_ctx_init(void *ctx_root); int gsm_set_bts_type(struct gsm_bts *bts, enum gsm_bts_type type); |