core/defs.h: introduce and use OSMO_DEPRECATED_OUTSIDE

The new OSMO_DEPRECATED_OUTSIDE macro is similar to the existing
OSMO_DEPRECATED_OUTSIDE_LIBOSMOCORE, but allows to override the
deprecation message.

Let's use it to suspend deprecation warnings related to:

  - gsm48_decode_bcd_number(),
  - osmo_ecu_fr_conceal(),
  - osmo_ecu_fr_reset(),

as they're intentionally used in scope of the library.

Change-Id: I1b0eff1396776900c1286e41da3aee3ff78b326e
diff --git a/include/osmocom/codec/ecu.h b/include/osmocom/codec/ecu.h
index 99b1430..668df36 100644
--- a/include/osmocom/codec/ecu.h
+++ b/include/osmocom/codec/ecu.h
@@ -3,6 +3,7 @@
 #include <stdint.h>
 #include <stdbool.h>
 
+#include <osmocom/core/defs.h>
 #include <osmocom/codec/codec.h>
 
 /* ECU state for GSM-FR */
@@ -12,9 +13,9 @@
 };
 
 void osmo_ecu_fr_reset(struct osmo_ecu_fr_state *state, const uint8_t *frame)
-	OSMO_DEPRECATED("Use generic ECU abstraction layer instead");
+	OSMO_DEPRECATED_OUTSIDE("Use generic ECU abstraction layer instead");
 int osmo_ecu_fr_conceal(struct osmo_ecu_fr_state *state, uint8_t *frame)
-	OSMO_DEPRECATED("Use generic ECU abstraction layer instead");
+	OSMO_DEPRECATED_OUTSIDE("Use generic ECU abstraction layer instead");
 
 enum osmo_ecu_codec {
 	OSMO_ECU_CODEC_HR,
diff --git a/include/osmocom/core/defs.h b/include/osmocom/core/defs.h
index 5e5aa90..33ffb7b 100644
--- a/include/osmocom/core/defs.h
+++ b/include/osmocom/core/defs.h
@@ -43,8 +43,10 @@
 
 #if BUILDING_LIBOSMOCORE
 # define OSMO_DEPRECATED_OUTSIDE_LIBOSMOCORE
+# define OSMO_DEPRECATED_OUTSIDE(text)
 #else
 # define OSMO_DEPRECATED_OUTSIDE_LIBOSMOCORE OSMO_DEPRECATED("For internal use inside libosmocore only.")
+# define OSMO_DEPRECATED_OUTSIDE(text) OSMO_DEPRECATED(text)
 #endif
 
 #undef _OSMO_HAS_ATTRIBUTE_DEPRECATED_WITH_MESSAGE
diff --git a/include/osmocom/gsm/gsm48_ie.h b/include/osmocom/gsm/gsm48_ie.h
index 71050df..339aa13 100644
--- a/include/osmocom/gsm/gsm48_ie.h
+++ b/include/osmocom/gsm/gsm48_ie.h
@@ -7,6 +7,7 @@
 #include <errno.h>
 
 #include <osmocom/core/msgb.h>
+#include <osmocom/core/defs.h>
 #include <osmocom/gsm/tlv.h>
 #include <osmocom/gsm/mncc.h>
 #include <osmocom/gsm/protocol/gsm_04_08.h>
@@ -14,7 +15,7 @@
 /* decode a 'called/calling/connect party BCD number' as in 10.5.4.7 */
 int gsm48_decode_bcd_number(char *output, int output_len,
 			    const uint8_t *bcd_lv, int h_len)
-	OSMO_DEPRECATED("Use gsm48_decode_bcd_number2() for improved bounds checking");
+	OSMO_DEPRECATED_OUTSIDE("Use gsm48_decode_bcd_number2() for improved bounds checking");
 int gsm48_decode_bcd_number2(char *output, size_t output_len,
 			     const uint8_t *bcd_lv, size_t input_len,
 			     size_t h_len);