Change in osmo-bsc[master]: gsm_data: make cgi_for_msc available for other modules

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

dexter gerrit-no-reply at lists.osmocom.org
Tue Oct 30 16:34:06 UTC 2018


dexter has uploaded this change for review. ( https://gerrit.osmocom.org/11527


Change subject: gsm_data: make cgi_for_msc available for other modules
......................................................................

gsm_data: make cgi_for_msc available for other modules

The function cgi_for_msc() provides an easy way to get a cell global id
for an msc/bts combination. This function is currently statically
defined in gsm_08_08.c. Lets move it to gsm_data.c and make it publicly
available.

Change-Id: I301fac6e83a429ae59b5c586aa283ad7ba54053d
Related: OS#3645
---
M include/osmocom/bsc/gsm_data.h
M src/osmo-bsc/gsm_08_08.c
M src/osmo-bsc/gsm_data.c
3 files changed, 26 insertions(+), 16 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/27/11527/1

diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index 7c91e59..3779aaf 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -1603,4 +1603,6 @@
 
 int bts_count_free_ts(struct gsm_bts *bts, enum gsm_phys_chan_config pchan);
 
+struct osmo_cell_global_id *cgi_for_msc(struct bsc_msc_data *msc, struct gsm_bts *bts);
+
 #endif /* _GSM_DATA_H */
diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c
index 19c2598..062c878 100644
--- a/src/osmo-bsc/gsm_08_08.c
+++ b/src/osmo-bsc/gsm_08_08.c
@@ -58,22 +58,6 @@
 static bool complete_layer3(struct gsm_subscriber_connection *conn,
 			    struct msgb *msg, struct bsc_msc_data *msc);
 
-static struct osmo_cell_global_id *cgi_for_msc(struct bsc_msc_data *msc, struct gsm_bts *bts)
-{
-	static struct osmo_cell_global_id cgi;
-	cgi.lai.plmn = msc->network->plmn;
-	if (msc->core_plmn.mcc != GSM_MCC_MNC_INVALID)
-		cgi.lai.plmn.mcc = msc->core_plmn.mcc;
-	if (msc->core_plmn.mnc != GSM_MCC_MNC_INVALID) {
-		cgi.lai.plmn.mnc = msc->core_plmn.mnc;
-		cgi.lai.plmn.mnc_3_digits = msc->core_plmn.mnc_3_digits;
-	}
-	cgi.lai.lac = (msc->core_lac != -1) ? msc->core_lac : bts->location_area_code;
-	cgi.cell_identity = (msc->core_ci != -1) ? msc->core_ci : bts->cell_identity;
-
-	return &cgi;
-}
-
 static void bsc_maybe_lu_reject(struct gsm_subscriber_connection *conn, int con_type, int cause)
 {
 	struct msgb *msg;
diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c
index 08d5bcb..1ac3ce0 100644
--- a/src/osmo-bsc/gsm_data.c
+++ b/src/osmo-bsc/gsm_data.c
@@ -1682,3 +1682,27 @@
 	OSMO_VALUE_STRING(FOR_VTY),
 	{}
 };
+
+struct osmo_cell_global_id *cgi_for_msc(struct bsc_msc_data *msc, struct gsm_bts *bts)
+{
+	static struct osmo_cell_global_id cgi;
+
+	if (!msc)
+		return NULL;
+	if (!bts)
+		return NULL;
+	if (!msc->network)
+		return NULL;
+
+	cgi.lai.plmn = msc->network->plmn;
+	if (msc->core_plmn.mcc != GSM_MCC_MNC_INVALID)
+		cgi.lai.plmn.mcc = msc->core_plmn.mcc;
+	if (msc->core_plmn.mnc != GSM_MCC_MNC_INVALID) {
+		cgi.lai.plmn.mnc = msc->core_plmn.mnc;
+		cgi.lai.plmn.mnc_3_digits = msc->core_plmn.mnc_3_digits;
+	}
+	cgi.lai.lac = (msc->core_lac != -1) ? msc->core_lac : bts->location_area_code;
+	cgi.cell_identity = (msc->core_ci != -1) ? msc->core_ci : bts->cell_identity;
+
+	return &cgi;
+}

-- 
To view, visit https://gerrit.osmocom.org/11527
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I301fac6e83a429ae59b5c586aa283ad7ba54053d
Gerrit-Change-Number: 11527
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier at sysmocom.de>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20181030/423e32dc/attachment.htm>


More information about the gerrit-log mailing list