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
This commit is contained in:
Vadim Yanitskiy 2019-11-07 22:15:13 +07:00 committed by laforge
parent 94cd4acef8
commit 87b51439c1
3 changed files with 7 additions and 3 deletions

View File

@ -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 @@ struct osmo_ecu_fr_state {
};
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,

View File

@ -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

View File

@ -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);