add osmo_bssap_tlv_parse2() for multiple identical T

In BSSMAP messages, at least the Cell Identifier IE can appear more than once.

We have tlv_parse2() which allows decoding into an array of tlv_parsed to
cleanly handle multiple occurences. Hence add osmo_bssap_tlv_parse2() which
supports multiple occurences.

An alternative would be to directly call tlv_parse2() with gsm0808_att_tlvdef()
when multiple T occurences are needed, and I'm not really sure why
osmo_bssap_tlv_parse() exists in the first place. But because it does, add a
similar definition that is capable of handling multiple IEs with identical Tag
discriminator.

Change-Id: Ib9a2095f7498dc2cda2a57154b2dbe4621df72f8
diff --git a/include/osmocom/gsm/gsm0808.h b/include/osmocom/gsm/gsm0808.h
index 2f19466..5b05dbc 100644
--- a/include/osmocom/gsm/gsm0808.h
+++ b/include/osmocom/gsm/gsm0808.h
@@ -282,6 +282,9 @@
 
 /*! Parse BSSAP TLV structure using \ref tlv_parse */
 #define osmo_bssap_tlv_parse(dec, buf, len) tlv_parse(dec, gsm0808_att_tlvdef(), buf, len, 0, 0)
+/*! Parse BSSAP TLV structure using \ref tlv_parse2 */
+#define osmo_bssap_tlv_parse2(dec, dec_multiples, buf, len) \
+	tlv_parse2(dec, dec_multiples, gsm0808_att_tlvdef(), buf, len, 0, 0)
 
 const char *gsm0808_bssmap_name(uint8_t msg_type);
 const char *gsm0808_bssap_name(uint8_t msg_type);