From cc27fa6479efd446065d691d888d1729bc1be2c8 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Mon, 18 Aug 2014 15:31:04 +0200 Subject: TLV: add TLVP_PRES_LEN() definition to check for existance + minimum length This is an import from osmo-bts where it was introduced in 6b561bb7ba5f10c5fd96542a7e42de2822352a67 --- include/osmocom/gsm/tlv.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include/osmocom/gsm') diff --git a/include/osmocom/gsm/tlv.h b/include/osmocom/gsm/tlv.h index fda1810e..d54ef1af 100644 --- a/include/osmocom/gsm/tlv.h +++ b/include/osmocom/gsm/tlv.h @@ -409,6 +409,9 @@ void tlv_def_patch(struct tlv_definition *dst, const struct tlv_definition *src) #define TLVP_LEN(x, y) (x)->lv[y].len #define TLVP_VAL(x, y) (x)->lv[y].val +#define TLVP_PRES_LEN(tp, tag, min_len) \ + (TLVP_PRESENT(tp, tag) && TLVP_LEN(tp, tag) >= min_len) + /*! \brief Align given TLV element with 16 bit value to an even address * \param[in] tp pointer to \ref tlv_parsed * \param[in] pos element to return -- cgit v1.2.3