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/.
Harald Welte gerrit-no-reply at lists.osmocom.orgHarald Welte has submitted this change and it was merged. Change subject: add osmo_cgi_name() ...................................................................... add osmo_cgi_name() This will be used by cell idenitifier list code, like upcoming neighbor_ident VTY in osmo-bsc and regression tests. Change-Id: Iebc5cdf61b697b1603900993fc265af3eca0cedf --- M include/osmocom/gsm/gsm23003.h M src/gsm/gsm23003.c M src/gsm/libosmogsm.map 3 files changed, 31 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gsm/gsm23003.h b/include/osmocom/gsm/gsm23003.h index 02e7971..fd4f369 100644 --- a/include/osmocom/gsm/gsm23003.h +++ b/include/osmocom/gsm/gsm23003.h @@ -99,6 +99,8 @@ const char *osmo_plmn_name(const struct osmo_plmn_id *plmn); const char *osmo_plmn_name2(const struct osmo_plmn_id *plmn); const char *osmo_lai_name(const struct osmo_location_area_id *lai); +const char *osmo_cgi_name(const struct osmo_cell_global_id *cgi); +const char *osmo_cgi_name2(const struct osmo_cell_global_id *cgi); void osmo_plmn_to_bcd(uint8_t *bcd_dst, const struct osmo_plmn_id *plmn); void osmo_plmn_from_bcd(const uint8_t *bcd_src, struct osmo_plmn_id *plmn); diff --git a/src/gsm/gsm23003.c b/src/gsm/gsm23003.c index 574400d..2c3b21e 100644 --- a/src/gsm/gsm23003.c +++ b/src/gsm/gsm23003.c @@ -133,6 +133,33 @@ return buf; } +static const char *_cgi_name(const struct osmo_cell_global_id *cgi, char *buf, size_t buflen) +{ + snprintf(buf, buflen, "%s-%u", osmo_lai_name(&cgi->lai), cgi->cell_identity); + return buf; +} + +/*! Return MCC-MNC-LAC-CI as string, in a static buffer. + * \param[in] cgi CGI to encode. + * \returns Static string buffer. + */ +const char *osmo_cgi_name(const struct osmo_cell_global_id *cgi) +{ + static char buf[32]; + return _cgi_name(cgi, buf, sizeof(buf)); +} + +/*! Same as osmo_cgi_name(), but uses a different static buffer. + * Useful for printing two distinct CGIs in the same printf format. + * \param[in] cgi CGI to encode. + * \returns Static string buffer. + */ +const char *osmo_cgi_name2(const struct osmo_cell_global_id *cgi) +{ + static char buf[32]; + return _cgi_name(cgi, buf, sizeof(buf)); +} + static void to_bcd(uint8_t *bcd, uint16_t val) { bcd[2] = val % 10; diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 31717d5..a6ea47d 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -277,6 +277,8 @@ osmo_plmn_name2; osmo_lai_name; osmo_rai_name; +osmo_cgi_name; +osmo_cgi_name2; osmo_mnc_from_str; osmo_mnc_cmp; osmo_plmn_cmp; -- To view, visit https://gerrit.osmocom.org/7786 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: Iebc5cdf61b697b1603900993fc265af3eca0cedf Gerrit-PatchSet: 2 Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de> Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Jenkins Builder