From d6ff9c8315dfc7137ea68a2d59b8fffcad138adf Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Fri, 1 Feb 2019 15:21:25 +0100 Subject: GSUP: deprecate osmo_gsup_get_err_msg_type() Replace osmo_gsup_get_err_msg_type() with a wrapper to OSMO_GSUP_TO_MSGT_ERROR(). This macro assumes, that all error messages are (request message | 0x000001). Add a big comment header for osmo_gsup_message_type, describing this already implicitly followed rule and therefore making it explicit. With this change, we don't need to maintain the request -> error message mapping in osmo_gsup_get_err_msg_type() anymore. Related: Iec1b4ce4b7d8eb157406f006e1c4241e8fba2cd6 (osmo-gsm-manuals) Change-Id: I46d9f2327791978710e2f90b4d28a3761d723d8f --- include/osmocom/gsm/gsup.h | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'include/osmocom/gsm') diff --git a/include/osmocom/gsm/gsup.h b/include/osmocom/gsm/gsup.h index 5dc2a821..29ea11aa 100644 --- a/include/osmocom/gsm/gsup.h +++ b/include/osmocom/gsm/gsup.h @@ -105,7 +105,18 @@ enum osmo_gsup_iei { _OSMO_GSUP_IEI_END_MARKER }; -/*! GSUP message type */ +/*! GSUP message type + * Make sure that new messages follow this scheme: + * .----------------------------. + * | Ending Bits | Category | + * |----------------------------| + * | 00 | Request | + * | 01 | Error | + * | 10 | Result | + * | 11 | Other | + * '----------------------------' + * Request, Error and Result messages must only differ in these last two bits. + */ enum osmo_gsup_message_type { OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST = 0b00000100, OSMO_GSUP_MSGT_UPDATE_LOCATION_ERROR = 0b00000101, @@ -280,6 +291,7 @@ struct osmo_gsup_message { 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); +int osmo_gsup_get_err_msg_type(enum osmo_gsup_message_type type_in) + OSMO_DEPRECATED("Use OSMO_GSUP_TO_MSGT_ERROR() instead"); /*! @} */ -- cgit v1.2.3