Change in libosmocore[master]: gsup: Add osmo_gsup_get_err_msg_type() function

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.org
Mon Jun 11 18:28:27 UTC 2018


Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/9549


Change subject: gsup: Add osmo_gsup_get_err_msg_type() function
......................................................................

gsup: Add osmo_gsup_get_err_msg_type() function

This function can be used to resolve the error message type for
a given message type.  Can be used by generic error handlers that
work for any incoming message type.

Change-Id: Ic637bec53dd7fe3ec83da99b49b4eae34d5602b2
---
M include/osmocom/gsm/gsup.h
M src/gsm/gsup.c
M src/gsm/libosmogsm.map
3 files changed, 25 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/49/9549/1

diff --git a/include/osmocom/gsm/gsup.h b/include/osmocom/gsm/gsup.h
index dd27493..e246639 100644
--- a/include/osmocom/gsm/gsup.h
+++ b/include/osmocom/gsm/gsup.h
@@ -213,5 +213,6 @@
 int osmo_gsup_decode(const uint8_t *data, size_t data_len,
 		     struct osmo_gsup_message *gsup_msg);
 int osmo_gsup_encode(struct msgb *msg, const struct osmo_gsup_message *gsup_msg);
+int osmo_gsup_get_err_msg_type(enum osmo_gsup_message_type type_in);
 
 /*! @} */
diff --git a/src/gsm/gsup.c b/src/gsm/gsup.c
index b4b60b2..e3eef02 100644
--- a/src/gsm/gsup.c
+++ b/src/gsm/gsup.c
@@ -70,6 +70,29 @@
 	{ 0, NULL }
 };
 
+
+/*! return the error message type corresponding to \a type_in
+ *  \returns matching error message type; -1 on error */
+int osmo_gsup_get_err_msg_type(enum osmo_gsup_message_type type_in)
+{
+	switch (type_in) {
+	case OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST:
+		return OSMO_GSUP_MSGT_UPDATE_LOCATION_ERROR;
+	case OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST:
+		return OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR;
+	case OSMO_GSUP_MSGT_PURGE_MS_REQUEST:
+		return OSMO_GSUP_MSGT_PURGE_MS_ERROR;
+	case OSMO_GSUP_MSGT_INSERT_DATA_REQUEST:
+		return OSMO_GSUP_MSGT_INSERT_DATA_ERROR;
+	case OSMO_GSUP_MSGT_DELETE_DATA_REQUEST:
+		return OSMO_GSUP_MSGT_DELETE_DATA_ERROR;
+	case OSMO_GSUP_MSGT_LOCATION_CANCEL_REQUEST:
+		return OSMO_GSUP_MSGT_LOCATION_CANCEL_ERROR;
+	default:
+		return -1;
+	}
+}
+
 static int decode_pdp_info(uint8_t *data, size_t data_len,
 			  struct osmo_gsup_pdp_info *pdp_info)
 {
diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map
index 0a6742c..f98f7c9 100644
--- a/src/gsm/libosmogsm.map
+++ b/src/gsm/libosmogsm.map
@@ -469,6 +469,7 @@
 osmo_gsup_encode;
 osmo_gsup_decode;
 osmo_gsup_message_type_names;
+osmo_gsup_get_err_msg_type;
 
 osmo_oap_encode;
 osmo_oap_decode;

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

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic637bec53dd7fe3ec83da99b49b4eae34d5602b2
Gerrit-Change-Number: 9549
Gerrit-PatchSet: 1
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20180611/a1ad9d1d/attachment.htm>


More information about the gerrit-log mailing list